From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from AM8PR08MB5777.eurprd08.prod.outlook.com (2603:10a6:20b:1c5::15) by PAXPR08MB6942.eurprd08.prod.outlook.com with HTTPS; Mon, 31 Aug 2026 14:06:43 +0000 Received: from VIVP296CA0070.AUTP296.PROD.OUTLOOK.COM (2603:10a6:800:35a::16) by AM8PR08MB5777.eurprd08.prod.outlook.com (2603:10a6:20b:1c5::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.10; Mon, 31 Aug 2026 14:06:39 +0000 Received: from WA1PEPF000099D1.eurprd04.prod.outlook.com (2603:10a6:800:35a:cafe::2a) by VIVP296CA0070.outlook.office365.com (2603:10a6:800:35a::16) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.360.13 via Frontend Transport; Mon, 31 Aug 2026 14:06:39 +0000 Authentication-Results: spf=softfail (sender IP is 99.81.216.78) smtp.mailfrom=openvz.org; dkim=pass (signature was verified) header.d=openvz.org;dmarc=pass action=none header.from=openvz.org;compauth=pass reason=100 Received-SPF: SoftFail (protection.outlook.com: domain of transitioning openvz.org discourages use of 99.81.216.78 as permitted sender) Received: from nat.eu.perception-point.io (99.81.216.78) by WA1PEPF000099D1.mail.protection.outlook.com (10.167.242.25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.382.8 via Frontend Transport; Mon, 31 Aug 2026 14:06:37 +0000 X-PERCEPTION-POINT-VERDICT: CLN X-PERCEPTION-POINT-SPF: X-PERCEPTION-POINT-SPAM: PASS X-PERCEPTION-POINT-SENDER-IP: 2a00:1450:4864:20::436 X-PP-Forefront-Antispam-Report: CIP:2a00:1450:4864:20::436;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wr1-x436.google.com;PTR:mail-wr1-x436.google.com;CAT:NONE;SFS:(13230040)(704160211799003)(2092899012)(6059299003)(82310400026)(43022699015)(12012899012)(3072899012)(55112099003)(22082099003)(16102099003)(18002099003)(6133799003)(5063699009)(56012099006)(3023799007)(5023799004)(19002099009)(10067099003);DIR:INB; Received: from DB6PR07CU003.outbound.protection.outlook.com (mail-db6pr07cu00301.outbound.protection.outlook.com [40.93.64.89]) by inbound-smtp.eu-west-1.amazonaws.com with SMTP id lmaak9ubsbs9lcivufeqet473rvm7d2rvbjnei81; Mon, 31 Aug 2026 14:06:34 +0000 (UTC) X-SES-Spam-Verdict: PASS X-SES-Virus-Verdict: PASS Received-SPF: softfail (spfCheck: transitioning domain of openvz.org does not designate 40.93.64.89 as permitted sender) client-ip=40.93.64.89; envelope-from=den@openvz.org; helo=DB6PR07CU003.outbound.protection.outlook.com; Authentication-Results-Original: amazonses.com; spf=softfail (spfCheck: transitioning domain of openvz.org does not designate 40.93.64.89 as permitted sender) client-ip=40.93.64.89; envelope-from=den@openvz.org; helo=DB6PR07CU003.outbound.protection.outlook.com; dkim=pass header.i=@openvz.org; dmarc=pass header.from=openvz.org; X-SES-RECEIPT: AEFBQUFBQUFBQUFITmdrNWpWVWxZc3Z2TUhYY1BkVzh6R2xIY1JjV1MyWi83cVRya2sreVhnV2R6WmVDVmpzSjUxaE1HVWFxejhEWHYvbUxKRWVlek00Y3A0dW15VHh2SzQvZjQ4UnpuR2I2endVcW1EQWdHbFNpMlh3cURXeWRmN0pXdkJuOG40Rk5haExLZ0wvVXQ5S1JRNDNvc1hBZGJxeWY4b3JaY3gzNkxXa0F1OWFzaHl5WWs1YlJ5NXpUY0phK3BTdE1LQjBtS25FZFdUYWNQTzNxNmlXZDB3d2lLcTlMamFMVXZCVi9wQmZzVkRwM1g3dnNJVTlqUnRwMlFvSjEvWncxL2xzYmRVYVdMWFVCZzJidTh6eFUvMUJDankzYXByQ2gxQk9uRVhvUk13OHZnY1E9PQ== X-SES-DKIM-SIGNATURE: a=rsa-sha256; q=dns/txt; b=dlm3E0y62s5c1YjMNXrGZU00sl4T+GZMDOqdvxJ2U8WsOiHkXJekHfziCFpznpbi0ITrYDZQ2AWq/3RZUXiZ7K/wes1GqY+J512xJZlKd+U9LcNNW409wmxN5DXtQyzdVQgYGYfxFk8tgBGzj+9rqaIP5yreXpQlafcdPQE9Wrk=; c=relaxed/simple; s=shh3fegwg5fppqsuzphvschd53n6ihuv; d=amazonses.com; t=1788185195; v=1; bh=/zPw6ZK9GkN56HSY+HNB/z6CKP6ArSwMuULI+cx4+6A=; h=From:To:Cc:Bcc:Subject:Date:Message-ID:MIME-Version:Content-Type:X-SES-RECEIPT; Received: from AM9P195CA0012.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:21f::17) by DB9PR08MB6652.eurprd08.prod.outlook.com (2603:10a6:10:2ab::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.382.9; Mon, 31 Aug 2026 14:06:28 +0000 Received: from AM3PEPF0000A796.eurprd04.prod.outlook.com (2603:10a6:20b:21f:cafe::29) by AM9P195CA0012.outlook.office365.com (2603:10a6:20b:21f::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.360.13 via Frontend Transport; Mon, 31 Aug 2026 14:06:27 +0000 Authentication-Results-Original: spf=pass (sender IP is 2a00:1450:4864:20::436) smtp.mailfrom=openvz.org; dkim=pass (signature was verified) header.d=openvz.org;dmarc=pass action=none header.from=openvz.org;compauth=pass reason=100 Received-SPF: Pass (protection.outlook.com: domain of openvz.org designates 2a00:1450:4864:20::436 as permitted sender) receiver=protection.outlook.com; client-ip=2a00:1450:4864:20::436; helo=mail-wr1-x436.google.com; pr=C Received: from mail-wr1-x436.google.com (2a00:1450:4864:20::436) by AM3PEPF0000A796.mail.protection.outlook.com (2603:10a6:20f:fff4:0:6:0:5) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.382.8 via Frontend Transport; Mon, 31 Aug 2026 14:06:26 +0000 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-482e067e908so2602759f8f.2 for ; Mon, 31 Aug 2026 07:06:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=google; t=1788185186; x=1788789986; darn=virtuozzo.com; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=CwSDLtxNDxZd6sb3VbJuq5TmLg1HSfPRKfcYm9tVbQ4=; b=pKqsZWYDOb0XZv1iyVT/5jnICyLHDosDRtfdfgCUfz4FEhiXrfaw6dar2Xt7ElIQSw 4tVPO6ZfaioSmRbiXTRPEcWzvpmng1+3YmGt/7LMmcgrK9fwo3jjLAiQzbyzFyBVA+EC rvpotxk2EqotNBpypYVFDCDRdHfSgfF1y7co1tRsyIxtsO5w5ddkyTR8nqRTf/9oCsDS f/ujwfE3y+wBzPjZ6hbLRGNCRRUJmgbeOEhzrqmSwP3dGwIq6JT7EDIZCBJHeWnbDB4N 8xmN9fnaUGWjtmJWwq0PmB6korbDvQ7/j2MUnjXymcKVWL7JECTxgurmKnV2JwrlobXZ nSMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788185186; x=1788789986; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=CwSDLtxNDxZd6sb3VbJuq5TmLg1HSfPRKfcYm9tVbQ4=; b=nxYbPkZz019TEXOqdclf0KyyECG2kjQTtJPUQiV+7mQS4XXYHuIUrJgKXmkQYdrglv iqIm/TVnlxICoaEmP81sBsy4hWx9+xsYg4Eog/lV+0yErY4ZFoX6qALT+HnOLAX0nIZw R1At42JXx6qpiBrytXKMq/3ZKP2DOEUHEAze1w9YZ6Tgxi7uiBlXURUu/3kqcGFyNwoD BoUYnAXqSJXWFkFHAiVqJUlBlsbSgyC3qfMIWlR0kdaKUAiJM3EHg9o9IA4auLQIInSa 0cU91mvojM6TMPayfYaNTn8JlhGDXkYnaNAqJET7c0ojFRhx+5Vbgi0FKRSkbI2IyNni YehQ== X-Gm-Message-State: AFuF++k/a1Om4GMuN8AVX41xLd7NVTdkpH2lmd9YamlhyVuNrp3dPx8g CStljqfhtjvziurhOEOkDZCM1L95SMKETFKfS6gn8KgHLXl8OL5WJosk3OdLuejgx2ZjmuBODV/ JgjbbUJ0= X-Gm-Gg: AYBFou2pcbkuPtZKhaUoeHgLd9krUoetvzFfpauclFoyfbDAawJGViJxD5PCaQg+UXz EPSuT6DqPhBogP9tXYFrJaEwLEbfKKfBuIv5cFPU4VsgzFddB/23wZ2Rv5EGxE2vgutdm3Dz/Q+ oiPlh6GUxCK6+72MDfvCC9JxEkjb0g5nn65kXvAp6GaytqNGSDeBloMAUC4b9NlhlCxEhovYkGt 7vejCZr7EiKmFtIam2NADaOM0Q0VBO2Sdlv12UTh1Vxhzmxmcx0oGlsJikiqLiSjRXdXGPvOgYu chRbLG/ffQqZpl6D/NUxhewGS1kd88KLMUJO/vhBfWuferISWR3Uj6Zguc3Dth64r+B6m8ismk1 tP5AMN/YT6dDrU0tC9i4RK8TwNCgMJJympTs15VvbmLSLwQcVul3reunNJ1yfmx3Hf72TUNHJMZ ORYhSuFi6eJ3sMODMC+E+SIXDlTNMi4DtDUs+wzGj6d9rCgK+y66SsfIAwI64eUvJ3ajHt X-Received: by 2002:a05:6000:4613:b0:482:e64d:a1f7 with SMTP id ffacd0b85a97d-482f79db612mr50830008f8f.11.1788185185900; Mon, 31 Aug 2026 07:06:25 -0700 (PDT) Received: from athena.sw.ru ([2a06:5b06:b600:300:3bc1:c53b:30b:203e]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-482fbb33070sm23644536f8f.36.2026.08.31.07.06.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Aug 2026 07:06:25 -0700 (PDT) From: "Denis V. Lunev" To: svt-core@virtuozzo.com Cc: andrey.drobyshev@virtuozzo.com, den@openvz.org Subject: [PATCH hci-8.0 2/6] io/channel-websock: send an HTTP 400 when the greeting has no space #VSTOR-143316 Date: Mon, 31 Aug 2026 16:06:16 +0200 Message-ID: <20260831140620.1204363-3-den@openvz.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260831140620.1204363-1-den@openvz.org> References: <20260831140620.1204363-1-den@openvz.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 1 X-EOPTenantAttributedMessage: 0bc7f26d-0264-416e-a6fc-8352af79c58f:1 X-MS-TrafficTypeDiagnostic: AM3PEPF0000A796:EE_|DB9PR08MB6652:EE_|WA1PEPF000099D1:EE_|AM8PR08MB5777:EE_|PAXPR08MB6942:EE_ X-MS-Office365-Filtering-Correlation-Id: b39814b3-ddf9-4237-3b28-08df0769135e X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr X-MS-Exchange-AtpMessageProperties: SA|SL X-PERCEPTION-POINT-CUSTOM: vzpp X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|704160211799003|2092899012|6059299003|82310400026|43022699015|12012899012|3072899012|55112099003|22082099003|16102099003|18002099003|6133799003|5063699009|56012099006|3023799007|5023799004|19002099009|10067099003; X-Microsoft-Antispam-Message-Info-Original: =?utf-8?B?RXp3QlZaSGdhTnpSNmxqWkptS3NvVko2TWs5OG1mWUYxNFRDQ21yNmcxRkw4?= =?utf-8?B?MFhSK0ErNFVma2hoTUVzR0p5M3lDN0d2N3NsOUdqOVNXempqVndXUURjcEZo?= =?utf-8?B?dEtNRkRKREtwM1B5TjdBaDVjWWc0WFJBWmJmOEE2Ym5ZWTJkeU5UbnRFWmRO?= =?utf-8?B?UXN4enRReFVZeHM1NTN2MjBITjRBTDJka3M1dXZ3RnVZQkRvTFZkUEdSc0ll?= =?utf-8?B?Z25tWDVzWFRsVnc4MTBwczNCODFPbWJsZk83ZTZOeDZSbHZIdnUrK1g2ejR1?= =?utf-8?B?VklpQlhKNzhDSC9IVTNXVDgrS2xySDlYYU9DMDVyVndJYTVGMlRiZnVXZXZx?= =?utf-8?B?bjZSdUMrTVZQamZzajNDek9ERlp2NTJNdWJXN3R1K1doSTgwWmV1KytMbXBn?= =?utf-8?B?bmZpZVZuVGJQaUs0Nis1eVNHb2hibzdxRjkzUUU5cHdPRWR3a0NyVUNKMGNp?= =?utf-8?B?ZVRlWnBzb1BCNXQyOHVSRmJSaGpUeTY5cnJ3UGJ1V1FVOXFrZUo2RHhBaHNQ?= =?utf-8?B?N1dlUXZUcVJ3MDVURmNkVnFOQnZBSVd4UnZaK0tOaHJXa056dFlHUTlyS0ND?= =?utf-8?B?aDdVTktTbUhKRldPOEVHdGxpTXM5ZWl0NTFNMTN5S1pXNUhrUnR6SkZvaS8x?= =?utf-8?B?TGVwbFBzT2phZkROQVlDbkxxTjF5ejNuTlo2dk01QnV3bXFiak1MWjUwMW1O?= =?utf-8?B?VjU2TWFGa1NmSldyWlA3YTkxSldpQTVFSW5HZUUwVHRYRGZTMmIxdm56UThF?= =?utf-8?B?d3E2THUzMGNFRENxRlNVeUMzdGxRakxZeGthMVBma1lPYVJ5TUNCQXAyTnUx?= =?utf-8?B?SU9qU0taMDNFc0dZVE1oWXV6cEFvTUw5MlFUZVVhQzVGVGlBdGJzWHBHMnVT?= =?utf-8?B?TlVCVjhNcS9CWGlad1diNGh4LzhNS3NoTk1ORC9lRzE3a1VpUUZ6V1dSQ29z?= =?utf-8?B?UnA5NlFBMWhuYkd6b1JpUzR0MncrWWV5Q0pQUmVkSEJTdC9adSsxZzZOTzBY?= =?utf-8?B?dUJnVEpFaHpNaURjdDN1SUNqTGhwZDA4M1VMMmZVRmN3S21mN0p1VG5veWJW?= =?utf-8?B?ZnN4WVN6dUVZN0Rmb0VQTE5BNVpOYVM4UmJJZDFxaEpJSXptNHE2VlFpWGhK?= =?utf-8?B?Q2xEcVFaWEIwWjdxZnZxdEFZUlROMFJ1c2lZSlIvTG40SUlyOEs4dFNpRnox?= =?utf-8?B?cmkrM084YzM4T081MHNuNXQxVzRPdzd2ZjRzR1RiM1FLeWZpYlhTSXREaXdO?= =?utf-8?B?OUZ3Q1N4SWlxZ3ROM0w1bld5V1pZOXc3eEZtUGZydlVTZDltZjB4RXZGQlAr?= =?utf-8?B?TkpwalAyYjhYRDNyWUx3Um1Sb3RCSmtqQ1VoSUtiWUtOdkxEZGU0YjNJcEM0?= =?utf-8?B?eFZzTCtzYmZ6WkdFcWkvSFdCQ3dldnB3VU5wL25Rczl3M0hHNVhJcW5NcU5U?= =?utf-8?B?THBvZkdnWGNrN25ReHJRazFjVEtqcDlDRmFrRnRoSDE4ZExDZUJEMjdlaEph?= =?utf-8?B?WkwyZ0FmaHNVZXV3YVFlUzJTWEFRcUh2dWp3YVorTUNSM2tOamFKMUlXaEFz?= =?utf-8?B?SzZuckFEaHd4VFhVR09zSXBZN0pLYk1idkxPcU5KbDF3MlUxVVBDTzJmQ1ZF?= =?utf-8?B?aWhEKzFRb3pqUnk1M2xSd3ZLbVVWaENERW5qTXptdTJ5YmxjMVJBUzN5SEh5?= =?utf-8?B?WjFpdFJrWUU1bHNzdHBhY3M5SjNQb2E1SXFIbkI4b3c0d2NDblVIUFZpQnNz?= =?utf-8?B?VlBHVVJnbWt2NU9vb2pDYW5qK3NCcElXcE9KdVg2L0NVZGFtNnlObEo4bkVs?= =?utf-8?B?Ly9ieEZ3NDRyZnpNVFpjVUd0VjUzRFhlNHNrM1JIVndHUk8wamNybkFwMFRK?= =?utf-8?B?SytoMDZITmlzYm0ycXErcmRLMWROZ3QxYXFJSFBpZDdKaDBZUmd6SC9QR29z?= =?utf-8?B?eGNpSkVZaU42Q2RUdFFMa3FGSWowS0cyUzYvYVExR2phQnl5VkNSU1g2L0hT?= =?utf-8?B?eWs2MU1JcWVNWDN0Zk4zRmg5S3NBT0YvZmt1VkcwTXI4K2JMTTkvWG9GVmdE?= =?utf-8?B?cVRDVDNwUUhqUm1RQ2xuejg0NWo1ejN0L0RjN0FGU3dTMlVnR2ZaWjdsalVo?= =?utf-8?B?L0NIYktCcHBJRVB2ek93aVJOcVNoY1FReC9hRDd1bytnREt2c3Z6VkZZRi9G?= =?utf-8?B?dTBmd2dsa3hZdWtXVGExWUZEOEQ3N2ZjbGtpT2lpT29tV0NsMHp5K0lER0NH?= =?utf-8?B?a3RybWNhMXFMbWhOb1kyekpPLzhqbTZsWGVHci93WVRNWTk0aXV2MWJpRFFM?= =?utf-8?B?a0E5ekdSa1lIaytCaGpNYUsxUWpBUHdmZURaenpVeFpGVlRpWVZEN2NlZVlz?= =?utf-8?B?dURvelJHSWJ0RUpPR1ljcjc1VmlLb2ZkNEtsak1XMGFvM3Fvbnl0VzZtQ2RW?= =?utf-8?B?bnVnS3ZSbXJjVWhZZndFSTJaNlQ3V2VyYm9nODh0a2sxVHFqL2pqVE5GNXF0?= =?utf-8?B?OVRCMVExUVFaK2lhOHRmVmxLQmN1M2lDQ0s3T0NBTnZiYVFFSXBUN2M3Mkor?= =?utf-8?B?aGMwRjNZTUJ1cERvY3dLRVFYU3JHUkhEbjQ1S25NWmRFQmY2Ry9KRzZRUjVt?= =?utf-8?B?WDMrUkhqN0VaS1hZY1puU0NwMWN2TmJjV1pXQ241Y2NSYkNQaFhrdlBrbER1?= =?utf-8?B?R21Kb2d6RUYrRFM4KzdPajd4N3BJZmsxejlnME9hYnlpRmVvN3cydGUveW03?= =?utf-8?B?a1JtTllKR3E2TytUNFZidHU4TXFnVDlEZ05YNjcyZERnZkwrVnJiMGMyK2l3?= =?utf-8?B?V0V5REZFSVU4RjNhR0dBd2c3cEtxV0pHQ1dNTzJRODFEeUJZQW91eUFOcERy?= =?utf-8?B?U2h2YVhtdmlXODZ3b1I1cWlaSDg2ZjNwc0taZ0FSMnNlK3IrVnU3R212ZTYw?= =?utf-8?B?Z2VhdkFIdzRGVTBxeTVrS2d2YWJ0YURFNkxtcGZRSHJrd3VtMUZpTmxsMnBC?= =?utf-8?B?TWN4MGEzL0FZVWZNck5ublZEUzFiLzhEbEpOd0VxbGhnaXlnZmJYSy9KZHFs?= =?utf-8?B?STVTMmtFYUg3V1JaemY3M1ExVmZBQlA1SEFNQ0J2THFrYmpweWxMMzEyMnFG?= =?utf-8?Q?QU46rCLBL?= X-Forefront-Antispam-Report-Untrusted: CIP:2a00:1450:4864:20::436;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wr1-x436.google.com;PTR:mail-wr1-x436.google.com;CAT:NONE;SFS:(13230040)(704160211799003)(2092899012)(6059299003)(82310400026)(43022699015)(12012899012)(3072899012)(55112099003)(22082099003)(16102099003)(18002099003)(6133799003)(5063699009)(56012099006)(3023799007)(5023799004)(19002099009)(10067099003);DIR:INB; X-Auto-Response-Suppress: DR, OOF, AutoReply X-Exchange-RoutingPolicyChecked: 3hoxKNk/GOlrA6xCai6P/LkS0u7d3t/YJXuSwh2s0yesv4YId/JrOhAt65ZYEnK02GOnD09HHNY6djyWtUIrXoZdAvk5pnM4HcADCFwXJHLTKf7TnwhTV2JEslYV/wsykKhWUm2drKlSIFqdCSLNx7FNGXw8M/LAMx88Mw7sF43PyoS4xMz6ukuI+ld1YdUSV/jpP4e0nUE/KaHlsdwKnHqEMi8NsXckc5LnR4maNDDdFNP/SFpdykh1XePIwlWfHPPCn6bpH0/DEFkT2IdVeY3TZ/OlNQSh+eTuI9az8Wz7NlOi3ojBVPqapoDyJV82nrz3IByCEojj9yaN2zpvJA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6652 X-MS-Exchange-Organization-ExpirationStartTime: 31 Aug 2026 14:06:38.7802 (UTC) X-MS-Exchange-Organization-ExpirationStartTimeReason: OriginalSubmit X-MS-Exchange-Organization-ExpirationInterval: 1:00:00:00.0000000 X-MS-Exchange-Organization-ExpirationIntervalReason: OriginalSubmit X-MS-Exchange-Organization-Network-Message-Id: b39814b3-ddf9-4237-3b28-08df0769135e X-MS-Exchange-Organization-MessageDirectionality: Incoming X-MS-Exchange-Transport-CrossTenantHeadersStripped: WA1PEPF000099D1.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Exchange-Organization-AuthSource: WA1PEPF000099D1.eurprd04.prod.outlook.com X-MS-Exchange-Organization-AuthAs: Anonymous X-MS-Office365-Filtering-Correlation-Id-Prvs: 99a9186a-3b6e-4602-14a2-08df07690c12 X-MS-Exchange-Organization-SCL: -1 X-Microsoft-Antispam: BCL:0;ARA:13230040|704160211799003|12012899012|3072899012|35042699022|2092899012|6059299003|82310400026|43022699015|19002099009|6133799003|5023799004|10067099003|5063699009|57112099003|5133699003|16102099003|22082099003|55112099003|3023799007|18003699003; X-Forefront-Antispam-Report: CIP:99.81.216.78;CTRY:IE;LANG:en;SCL:-1;SRV:;IPV:CAL;SFV:SKN;H:nat.eu.perception-point.io;PTR:nat2.eu.perception-point.io;CAT:NONE;SFS:(13230040)(704160211799003)(12012899012)(3072899012)(35042699022)(2092899012)(6059299003)(82310400026)(43022699015)(19002099009)(6133799003)(5023799004)(10067099003)(5063699009)(57112099003)(5133699003)(16102099003)(22082099003)(55112099003)(3023799007)(18003699003);DIR:INB; X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2026 14:06:37.5384 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b39814b3-ddf9-4237-3b28-08df0769135e X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: WA1PEPF000099D1.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5777 X-MS-Exchange-Transport-EndToEndLatency: 00:00:06.3357811 X-MS-Exchange-Processed-By-BccFoldering: 15.21.0382.004 X-Microsoft-Antispam-Mailbox-Delivery: ucf:0;jmr:0;auth:0;dest:I;ENG:(910005)(944506478)(944626604)(920097)(930201)(20251009189)(140003); X-Microsoft-Antispam-Message-Info: =?utf-8?B?b3REdGxmZSsrZzJkUGp6b3J2clljZDkzcUg5OVFBM0V6UDRDVUM2TE9HdFU4?= =?utf-8?B?eHNvL29uY1U0SC9yZXMyMVkyZHRIc0M2YkMyTHVGTmthL1lQaUY1Mkpmb0NG?= =?utf-8?B?ZEJ2MHgzdlU1WEp1RTdyM3BuKzJwQTRtZlVaVDg2cFpEa1FPaEZEL3BoT0lw?= =?utf-8?B?N0RFME84MU01VEZDZXFHL3BVTmFNVFBOdXFzY2Mwd2xtOXBhNHdpakR0cXpV?= =?utf-8?B?SmFRZ2lBN0lQZEhkN2pleTJyNmhJNkVWZ29GTDBNNFlrSXVra3g5VkY1b1pl?= =?utf-8?B?VlovbUcrMCtTVW1WZkdnazEyVG53UWdybzNsMzQwVDFsak1nZ1BnY2I1eDlK?= =?utf-8?B?a3FLVkwza3BTdW5MUHlXUDk0L2JuRHZaOFp5UTVMMVRhbFdvSEhCc0tscS84?= =?utf-8?B?bm8wL3BBVExSZ0lWMXlGV0s0YS9VaXYyVDRPb2E4NW5jbW1GOVZqMUJZU2pY?= =?utf-8?B?MU5hYWNNN3RDTTZ6c2xYYjFxalpTazB4UkhFK20wNjJINzlGVFlIUGh6dldK?= =?utf-8?B?OU5zL1FBRDBCKzBzZ1lTam5YZU5HWkhSdkVJUEhiTEszTzhoRlRsVkYxK25P?= =?utf-8?B?ZW5uUFp0VmQzRXNlb3BxUitRckcxL2NLTjlEck1UUFpnRjVCR21oWlk4WG5y?= =?utf-8?B?UDR3NXZmU2txQ04wL3RaRkFERkIrbnk0K1Y2QnBpSGZvcnoxNnQwL1RPRnk5?= =?utf-8?B?dW5Pa0ZmRXBmSkl6VUhVSDNzcS9ReS9UR0tXZ3lseFZ3SE5McjBkYXRQQVV4?= =?utf-8?B?TS9YL08rTFdZT2dwNTUwYUh3eEV0T09FL0RTVjM5M2pWekJCVTZkZWJPVTZU?= =?utf-8?B?VnRIbmNGZ2VIdU9sYXdFdGJKUmd2VjQvTUI4QXJ2S1Y3UUI2Y2VSd0dONElj?= =?utf-8?B?b005MGo5SzFXRE5QY3RQUmd1eCsyQml0dXlkb24xUHdoNmhSTkJYbS9wUVlz?= =?utf-8?B?N2xQSkgyMEN0ekNua1FGajM0MEtoUlliak0yN1BINGl0WUxBRm5YWTZpc3pE?= =?utf-8?B?T2xsaU1qWGRQQkIrZUYyazJFMDdrczBMTGtPaW56amFoUU1LbzNTSkp3eklp?= =?utf-8?B?cnkvQVM2N1hBaG9lb0pIOWdOTXVmaHpXRnBLOFdkUmFTSEVQYXh5TW5PK0xX?= =?utf-8?B?dVVBVVRLS1ZSMXhZTWVJWTVUWFBUVkcvMkFoenZoUHNxQnJNODdpS01SbDN5?= =?utf-8?B?dzkrUTAxM0paZ1FKS0VuaVRjMEQxQkxaa1BCa3hkYklnUGJKQzVzcThLQkRk?= =?utf-8?B?TkQ3RFpiM2h2bFpRU21GSEl1TVdYZ3QySG84V3JkYVRXbkZWeFNLSk0rZWxD?= =?utf-8?B?c2VReVFPZ0FEMGk0d2ZYRnZnNHU1ZlNrZlBtWXFmalZjRzRCd3ZPb09Gb1pS?= =?utf-8?B?TUhwS3l5Vyt3VjZneTdnUmx2bXdrQjVSd1luK3NTRk5CSllVN3hCQk1oNWly?= =?utf-8?B?elNZcCtkc0F1ZHdrdXJqK09iUjdUZ3c3eVBjOS84VStFcmJsT0JXT2VYd1Ev?= =?utf-8?B?S1JBM0wvQy9YWlZlSkJqa3FnOWRKeXV5OXJ3ckhxeElVNUNEK3EvemxuR3dD?= =?utf-8?B?OFh1Nk5mdE9KMDlFNDJyejRWVlJ4ZGlieDZFZkxXL0RUb3BxcGVoakc2NHR6?= =?utf-8?B?QmNCNkRsL2JVZHZGVUhOTVZaKzdWTmJiYTExeDVGK0VwaEcrN3VuSUdOVFFr?= =?utf-8?B?aGI3RjdhZVdRdDgya3hzckNzSWNEaU44aVlHcDkwbXk4QzdPVXVOZllPYkRP?= =?utf-8?B?S05SSGU0Ujl0OXRUTFhZTnhwaW5zQms2d2VBZ3Q5c0hhVzB1ck1ndGJ0bE5J?= =?utf-8?B?N25KT3h4dWJFb0VIcE5wcXgycm1kbG1RYVFXMjh6d2Nxanozdnc1V3VTMTNt?= =?utf-8?B?aEROK1pndE1id0c5UW5lOEkyQ1h5Z3ZhSTZxWWRZSmdYbXcvc3Q0MEpvbGdQ?= =?utf-8?B?cE9CcXJPNXJUYkRGMjZVdFU3a25XTjJuV2d6U1JEQTJvdXArUXl6OXNmRjhn?= =?utf-8?B?SmtuTVdGTlpOWklNZXc5NE05N0lRUk1PNEZ6ZnR6OEpPN0p5aVhLQkFNY1Ro?= =?utf-8?B?T0FPc0lHbmxlZ2lUdDE4MVNRQitJb2JWL1BCblFnSTJ3NC9FOUxibGg2Y1kz?= =?utf-8?B?bXJNSThJK1R1dmw4TDFxWlcrRHRaUEQ2NGRKMU81eUtTQ3lEV0pJa2p1dEk0?= =?utf-8?B?bTZLSFJhNDk5YW9wOHZiYWQ2ZFdjVDdNQUNYWWtTZ0VhaElnalJBWG91N3ls?= =?utf-8?B?UjB1dlB3UVpiemRIVmkwVjI1T29UUzlNWTBFZ1RJV29wdktLUkl4V05CMGFW?= =?utf-8?B?YmFxUTIyYkFJdnlsMUZJUEdMSGJlRUVCd1prR3EvTXczMXVKYjZpcHZhOWdI?= =?utf-8?B?L2lqMHlNRnRnbEtzZnZJWnRsaWRTeXErTVUvWmpOVDIyUXpXYTVBWmVIcmZv?= =?utf-8?B?NTlqamZoTTFSWGJxZHNHSlJmUERKaGI3QXBEdTg2Wml5emZiVjAwRmRQVHN3?= =?utf-8?B?NHhEUTFRcmhlcG1xOFNOc09Qb1BvRWdHQ000NlNNSkJGNkF4bzlPbWRSQ2Zt?= =?utf-8?B?Z1MrQXVOSnk0Q216VEJJeG9rOGx2bUx0M0c1T2VCZUN1dE5wenI0SFlTejNh?= =?utf-8?B?amMxdHF2QWtFMXFSYlNmVmVaZ0ZrTTFVM05PcTZVRE41V09SN1c2Z1Zsa2Fo?= =?utf-8?B?aTRXQ0FmUVhqSzV2MVhFSDRvcnBtK2E0QWtFdHRLMGtib2VZSWdSZjhlVWFS?= =?utf-8?B?RW9pYVgwNUFDdkJqS05wK2lWTVdINjQ0ZjBJNjhwZW9aRC8xYTBVYXBvUERD?= =?utf-8?B?UWpXNTJHZnk3cXBLSFZJK3RjdDFucjFXc0JiT1lXTWJKbHUza0VEVndPTzUy?= =?utf-8?B?TDIvZXViWEpCSU9rTVFzcDdFc1R3VHJ3bXVSVWtrc2U1eGhhWXhLYmh4c0hz?= =?utf-8?B?VGdDWVhBdXBzdWRCTmw0QWdOdXNEYlRjMEozd3gvZzg3TGNmRjFnYW9CVVlF?= =?utf-8?B?SVYyeHQ0eEx5VUZCTkdleEVHT21jZTNvd3hFb3NtQytzY3JOSndzMFk5Vndp?= =?utf-8?B?Z1JkOEY1dFZjUFhYekVWTjBldHpYYXJOWWNod080dHN4UzUvTE9HOE5iY2tH?= =?utf-8?B?Q09RQjR6TGVldEpsdkVnbGFjdWdYQlpuQVZqc1VBZE9ZNGl0RmxFTFRwU3g1?= =?utf-8?B?VFN4dXljNnRMSnQwVVkzZlVBR0kvRzBYSm9PQmdGRndsb1YvN2JCQjlXZk1y?= =?utf-8?B?RjluZ2VxUjA1UUFqRzExOEU5MTExTjFVaFkvRkhJY1hhWERMeEpIQUdUekty?= =?utf-8?B?bENINlRZVXlJc09SUkJrOE9GSkVtMmJMUTlKR25sRmxzb3hTM0llbGc3allt?= =?utf-8?B?TDJFYjZUR2NIUG51UDROVHlrMEN1RlM3NHpJNGJ2R1h5RG1UYVk5WGlPZ05p?= =?utf-8?Q?2eucK0oTC13FjhEVyZEJFAGUvyN2gnPr2AAoYr9n?= MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: QEMU List-Id: From: Denis V. Lunev qio_channel_websock_extract_headers() returns 0 without queueing a response when the request line contains no space, unlike every sibling check which jumps to bad_request. encoutput stays empty, yet qio_channel_websock_handshake_read() still reports success and the caller arms a G_IO_OUT watch to flush nothing. Flushing that empty buffer is where QEMU crashes. Any client can trigger it before authentication on a VNC websocket port: printf 'stats\r\nx\r\n\r\n' | nc $host $port Fixes: 07e95cd529af ("io: fully parse & validate HTTP headers for websocket protocol handshake") Cc: qemu-stable@nongnu.org Cc: Daniel P. Berrangé Message-ID: <20260831100151.914178-3-den@openvz.org> Reviewed-by: Marc-André Lureau Signed-off-by: Denis V. Lunev --- io/channel-websock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/io/channel-websock.c b/io/channel-websock.c index cb4dafdebb3..806f7ea4935 100644 --- a/io/channel-websock.c +++ b/io/channel-websock.c @@ -230,7 +230,7 @@ qio_channel_websock_extract_headers(QIOChannelWebsock *ioc, tmp = strchr(buffer, ' '); if (!tmp) { error_setg(errp, "Missing HTTP path delimiter"); - return 0; + goto bad_request; } *tmp = '\0'; -- 2.53.0