From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from AM9PR08MB6163.eurprd08.prod.outlook.com (2603:10a6:20b:2de::5) by PAXPR08MB6942.eurprd08.prod.outlook.com with HTTPS; Mon, 31 Aug 2026 14:07:05 +0000 Received: from AS4P189CA0011.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:5d7::12) by AM9PR08MB6163.eurprd08.prod.outlook.com (2603:10a6:20b:2de::5) 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:07:00 +0000 Received: from DB5PEPF00014B96.eurprd02.prod.outlook.com (2603:10a6:20b:5d7:cafe::1c) by AS4P189CA0011.outlook.office365.com (2603:10a6:20b:5d7::12) 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:07:00 +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 DB5PEPF00014B96.mail.protection.outlook.com (10.167.8.234) 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:58 +0000 X-PERCEPTION-POINT-VERDICT: CLN X-PERCEPTION-POINT-SPF: X-PERCEPTION-POINT-SPAM: PASS X-PERCEPTION-POINT-SENDER-IP: 2a00:1450:4864:20::332 X-PP-Forefront-Antispam-Report: CIP:2a00:1450:4864:20::332;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wm1-x332.google.com;PTR:mail-wm1-x332.google.com;CAT:NONE;SFS:(13230040)(704160211799003)(82310400026)(6059299003)(2092899012)(3072899012)(43022699015)(12012899012)(6133799003)(19002099009)(3023799007)(10067099003)(5063699009)(5023799004)(22082099003)(55112099003)(18002099003)(16102099003)(57112099003);DIR:INB; Received: from DB6PR07CU003.outbound.protection.outlook.com (mail-db6pr07cu00306.outbound.protection.outlook.com [40.93.64.94]) by inbound-smtp.eu-west-1.amazonaws.com with SMTP id r1a9bs850doqaeev7bs4jpcnnddcc4fvt5kvjho1; Mon, 31 Aug 2026 14:06:56 +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.94 as permitted sender) client-ip=40.93.64.94; 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.94 as permitted sender) client-ip=40.93.64.94; 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: AEFBQUFBQUFBQUFHMi9IK0hlSzYzaS9EVUlnZEJYYU95RnBBRmIrcHhzSEhwa3lud0toMFkvN3pydHZibFlLcXk4bTZ2OGl4UG9uaENDdEtEdWxQZGFqd09rbmNqL2pwbnk2eDdZM3FvWXY2QkphQ3hIMGVJbm53c2R3aUFlY2hjOGF5VDlCc0xPMDVjV3djZzdVblNTbGFjdVkrMWs3dkxqVFJwT2JDclh2a0ZRZVBBZGRIN1NKVktNeGFOZy85NEdvZ1I3YVhsZjJ3UEFZWFI5Y3hldVBaTVJnbGRHNk9WdmRZRGpELzNQa3lsd1JPdmdIMklZTCtiTTE4dy9JVzl5L1JpalJSbU9jaXp3YlM3dVhYMWJNMVk5WGVma1hNQ25LMW9RODhMK0V5b05FVU5RMTAwcVE9PQ== X-SES-DKIM-SIGNATURE: a=rsa-sha256; q=dns/txt; b=yY2u87oPFyjQwjwfzX1Jv+KBCwMk8r1idsPBz3ZwP0bEsvPcLLv+cI/iGDSKzx46GuZwsQyBdkuGA3OeISB2DGUSBhroaVL1DVsNQDjWkt2vpXZqtXvwffGivmdWtiGp888XnJrSt7SOxr9IKEGuPfG26GIoOGCIbvkmf0/bqz0=; c=relaxed/simple; s=shh3fegwg5fppqsuzphvschd53n6ihuv; d=amazonses.com; t=1788185216; 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 PAZP264CA0054.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:1fc::6) by PA4PR08MB7409.eurprd08.prod.outlook.com (2603:10a6:102:2a1::8) 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:46 +0000 Received: from MI3PEPF00008480.eurprd02.prod.outlook.com (2603:10a6:102:1fc:cafe::7b) by PAZP264CA0054.outlook.office365.com (2603:10a6:102:1fc::6) 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:46 +0000 Authentication-Results-Original: spf=pass (sender IP is 2a00:1450:4864:20::332) 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::332 as permitted sender) receiver=protection.outlook.com; client-ip=2a00:1450:4864:20::332; helo=mail-wm1-x332.google.com; pr=C Received: from mail-wm1-x332.google.com (2a00:1450:4864:20::332) by MI3PEPF00008480.mail.protection.outlook.com (2603:10a6:298:1::67) 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:45 +0000 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-49954b88fffso24366395e9.0 for ; Mon, 31 Aug 2026 07:06:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=google; t=1788185205; x=1788790005; 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=mBNgG7D61+HF5ykfxtLzQdq7g2+RFkyEKYQdrg2sHIvBlyK0dd3yijg3SCkwL1rXy0 lz2PLUS2Gm30jVH5ynqjHW96S4QNVtcKDBT1eL+XCgURXMIhkFoAmWDj1NCzLS5kiBHC Az2IG5gITE7qHoDoaGXJO1K8QKZ6rtMB/9Y/PQ3nwfY19q1DEOc00gZoY0bEvKW8hbya cDdcbVCzI31vDGbjSfxoe3hd4JQmhSD2ipD5pHWopPOO1VO2AKMNDqgfDUwMPHYKemym 3qudaNsk3bOPuy+PMYhurw8sl4ndAw/za+XL8Oi79psvRtKgjHCRjClwNrp8uO5wb6Zx dryA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788185205; x=1788790005; 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=Kgu8mpcucYwEF1J5FECnPR/fQV5+N+3T/vY0n6oNKq8jdJ17+JcBJE8rOcbY7SmVPU zKksaXpxTH0w69SWpnXoaaDxjXZh4WMGKOoR1Mqa4+8Z8M+Mfp7DPMMzS9A0zPoVSome TEkumhbaWHIc2sBayVnqUwmCUVIiYdXfLdzcz4g/I0mN2xsURfcmwz7/jbRk+bcJkXrg ebuFQM0z0r4FwKiqaMWXhxY2zusEkodEuAqWf87d9b8ZegSNfSfurJxh7E1q6rBj7oS0 F1JqFPh7KSx1HrZvPyEcTA/RefqX/Sr+XKBtNE7Jt0pGgUA7JHGAGVaKuSgjCbIawlwe 1CNQ== X-Gm-Message-State: AFuF++kGE4Ap6hbdApm9ClFYvU/tkiuZJbruwh+STmJadc+wz08BuVaf ova453Uqs2rzdE1Gqmv2nNYxGGbyaEpD/6VOSMneCdPU2CfB1R2CkIHsyzd8X9hn1bcJZRpBFNg aNM3ZVew= X-Gm-Gg: AR+sD13CP04+n96QqS2I2TqAVLFRVTHMoceSTlkIJJ2bbq55Szb69NvfjkVTrMWdO+0 Q/NiauuQEQ0m8lnMhFvaDYMynq+Q+Tm1KCFhjZ2xfK045zjdCTH69RZU1kQdlse06tYCRuZbvmz k53eO446s9DL1BaE5Q0AbuLVq3bsaKf+AbXTTyzDCb4eJkSD/WJiQmqLCwcFc5yx0jNlDQPLMSN 3Hc4IkjN2zzJ+INh/NZXUmI/DzC1JlN8g9mq4e5I6DbtGzJiWh2wd4/I/F7bEMMJSotD9KqQgkZ isuczn9cIN7zkQw7TVyG5wThm9J9VhFCIbXScmoX7QxXvZKVZC9zcssX7+49j2WEGfq68yI9hJJ Mp0G3cal6+rnw1/eDtwI/wmBQC1qB1FDDwOxPI7gtAGNjLlvT71kz8UkFhmw0EEywdPVmeb0ggA lf+vvKCOlmjVwymXFrYo1LxZ9QE3odlDZN0qnkrjLYa26DxZ6ra2KY1uoA X-Received: by 2002:a05:600c:4e8d:b0:49c:dada:f581 with SMTP id 5b1f17b1804b1-49cdadaf6c7mr15359545e9.0.1788185205292; Mon, 31 Aug 2026 07:06:45 -0700 (PDT) Received: from athena.sw.ru ([2a06:5b06:b600:300:3bc1:c53b:30b:203e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cd2fa779esm133185495e9.2.2026.08.31.07.06.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Aug 2026 07:06:44 -0700 (PDT) From: "Denis V. Lunev" To: svt-core@virtuozzo.com Cc: andrey.drobyshev@virtuozzo.com, den@openvz.org Subject: [PATCH hci-8.1 2/6] io/channel-websock: send an HTTP 400 when the greeting has no space #VSTOR-143316 Date: Mon, 31 Aug 2026 16:06:33 +0200 Message-ID: <20260831140637.1204714-3-den@openvz.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260831140637.1204714-1-den@openvz.org> References: <20260831140637.1204714-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: MI3PEPF00008480:EE_|PA4PR08MB7409:EE_|DB5PEPF00014B96:EE_|AM9PR08MB6163:EE_|PAXPR08MB6942:EE_ X-MS-Office365-Filtering-Correlation-Id: d0b2c9f2-67a6-479d-91bb-08df07691f7c 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|82310400026|6059299003|2092899012|3072899012|43022699015|12012899012|6133799003|19002099009|3023799007|10067099003|5063699009|5023799004|22082099003|55112099003|18002099003|16102099003|57112099003; X-Microsoft-Antispam-Message-Info-Original: =?utf-8?B?UVBQNy82bEszNmRHMHpkOUk2bHQ3Z2hxZ2xScTlaMzQydEpSdDNaRzVoeEJk?= =?utf-8?B?anpMSXQ3NlFaR1Y3L09DeFlQYWs4a1F4L3VQZnhMYVJtbm1BcmVHTDVjVWVB?= =?utf-8?B?MHBJQ0htRUJXRXdkelZXMEg5MWhtYnR2dzZlS1hzWXNWNWQ5U1J3VDFyVmxK?= =?utf-8?B?UjhaVEl1bzBETkltYURuOFgxcVliMTRER204WG52cEZ6MTFHVmU4dXYvRUlO?= =?utf-8?B?bG11NEFLazlBWml1dVVYUTV0anNoTlRBZEhaV2FkZTkwM1pkelNYWVBsdmhm?= =?utf-8?B?ZUJhRlRpOWNRcFYwZmxKQ1lUdklWMG1ESE5qWmxKYVhHWkVKUTNGUUVuS2dS?= =?utf-8?B?OUJSdjJJTytpcVF6ZTJBY1lvTndwL3FkSDhMK0dKSUJ3Mnp2ZmN0eXgxU3Nl?= =?utf-8?B?aFBNMm82Y0lVUDdESXRDbGZrVzUweSsvN01nTnNrcVgySDhxdU5NT2JvOTJV?= =?utf-8?B?OW9vNHdiOFBuQlR1ZnRCRGxmSkZjYlhZSkx2RW9xVEFObW1BaXdWdFNWNXFY?= =?utf-8?B?VjJWSDVzczdXbm9JSm1wMmc3SGMxVGFNQmdmRmQ3aVRQZmVLcytHV0g4R1Jr?= =?utf-8?B?ZWxzQ0lPZmRRQTNZejUzeUFsT1ZCT0JGZDIyOFBqV0hQWjNvK1BOczNLOElZ?= =?utf-8?B?K3EyT2J2SG1YeDAxQ3VIcHRPM0Jsclg2V0tyRGJFcm5pa2VDYW9zc2gyTFFF?= =?utf-8?B?R0pia3ZQUWtIQUlLV0FESDFpZnhwcGd4c0ZXQ0lBZ054bE1NakFrOEF0S0J4?= =?utf-8?B?c21JUGc4MWJIVmFyRUIvOGlEcGp1c2tacVZIR3dEZ2FGSEZsUkhtTjZ4SHBo?= =?utf-8?B?SmZFTnJVQUJhSUNpam9oU2g2QVlZeVVBUFdyRTh6d21oUlh3OHR2YWxPTnlC?= =?utf-8?B?a3JBc3NqbUw1Y2c1TlRJWUloTkJrUCtVdDRDdVVGRW0ybnJFaVFrcjZsZUZy?= =?utf-8?B?MDgwMXFHZjgwajJsSVNXbnpHZEhKOWpPME9VeTZrdzFvQXRYek91a0JiR3Zq?= =?utf-8?B?MUxMa3A1V3QreEhsNGt5VUlpOG9FY3ZyRmFqQzloU24yR1poQ0lVNC94QkRj?= =?utf-8?B?ZkhCRXFVaWFDcktLUEwrcCtVWXZKQmVsbFlsSENQd1pJSWNYUnVoRTRSc2RP?= =?utf-8?B?RWVHUS9wdTRzdWJLSmtGQWNDUzA3cDl6VC8yUVFTc0c5c3YwNmw5bmxhbUFT?= =?utf-8?B?L0RISy9ZZXVjZzdqb2w1eFNZLy8wVlZOU1VHV1BXMkRrcnMvMi8yZHhPVjRN?= =?utf-8?B?dmtqYStiSjZiRGtMVGNXdmM5OG1sNmNsYzNnM1ZmSFV6TWF5RnJPbzZSaVl2?= =?utf-8?B?ZTFEWUhDNDJqYjhjZWIvdkgyd1lEbzlwRURwaVB3TmxKd1ZhV01yeWlOcGRu?= =?utf-8?B?K3E5NlpDNHZWVWhWVjA2MFB5emFQN2N4SjcvY3Z5VjRvNWYyY0RWbVVnM3dz?= =?utf-8?B?U2d0MW9NSk1JYUgxc3hzaUswYzVzTk1rOVFWSFZsTXZhdVl6a3gzd1VGTm40?= =?utf-8?B?bVJ4ZU5vYXB5SGViU2Z5ZVI4Mmw0OFpOM0xmWnNYUVg4bC95V25Oa0RjbC8y?= =?utf-8?B?anl5UU9MUmY4cCtsZmIvaG9hYmpRY0pHaWRKSzEwbjFyM0lrTGV5MjZOTCtW?= =?utf-8?B?c293M3VSYzFEcm1HMmFvTXRkSkxtZlBNOURnVFUvSHFYZGxGQ3ZWOUREREFw?= =?utf-8?B?Z2VzUnNFelltcnhYRkhnaU9UY3ErUmtFQTZKSzg3ZTVKVFBTVmRiWmszNFFG?= =?utf-8?B?ZmRYOE9PL0NUcm8zZUlyUjAwZVhxaTRoSlkxd0dFSjZva1JyR2VEYXhGNFAr?= =?utf-8?B?dDdRV0MxNzJvcUYxMStENGFWNUpURGFzTjNxcG1zNm1RWHJPNCsydWZhYnVB?= =?utf-8?B?QWQ4eU82SDN0RC9oTWN0ejlBYTlCL1Q1b3g2NDRQeTI0UkpmYTNZVmM1eGJy?= =?utf-8?B?VTM5MEoxSkFwbis3YVFTV1ZxajBOcW9tcndWa3ZRY3hWM1lmVmo4ODI2aUpv?= =?utf-8?B?a3dka3VRMkZpb0VtZm05ZkNqVmkyTjBVQVRGb0Q1akRhdDJyN2lLUEo2ZXdT?= =?utf-8?B?WDJKZEY1V01mUWdXRHN4ZjMwOFlVSGZSeHd4WDYzRUNKbkgzSDdxVEZNcElC?= =?utf-8?B?N09PUUJ3M3FRTU13RDJqdHd6WGdWbzM3SG82R0UyZ0dmZlZCWjJ6RTRuYkNN?= =?utf-8?B?MGNteWhRMGhXcXpmRFpkTXdKei9zRXZQTVpJQ3dSOS8xSVhYZnlERVlqbmJx?= =?utf-8?B?ZjA5eTdGNjlNVVZGbTFDWWlmZTl4OThNSGlRdGFURFExdnRkeFB0L3JLZkor?= =?utf-8?B?bEJxNjN2Y0ZtNUw3a09GSnRBWktESXVaUEtyR0t6YWxWZ081MkFmVUNUSVFa?= =?utf-8?B?Qm1PRUlYeG5lMWFDVktVSkNiaXlySzhlbEtYdFpVU0hjcG9LTENLdjg5SFgy?= =?utf-8?B?b3BnQnd6S2t3SkhrbWQ0Ykt1b1BiRE5jT3BGcTJPaWhiSVFIWms3TlByaElD?= =?utf-8?B?ajN0c1UzVGRERjB4U0plYlpHZjE3UzlQUThqc2lkMlBvL3BXcHh0bUxHME9v?= =?utf-8?B?ZW90WVdnTFdlMFVaWUJ1OW02MzBvS3haZFFzeWhDcklMaExSbFduZXdlSkx3?= =?utf-8?B?NmNOU1k0K0tQd1NKYzY5bTRpM21nclN3NnZ0SUdCeEtFQ3k3Q2gxK1ZjTzZF?= =?utf-8?B?Tks4VnhNNnJaWGR4VnI4V01qaUxBbW91UzFkcHVqakxEL3F2eUVNYVZDMnZn?= =?utf-8?B?UXoxek1MLzJ4TEhIQi8wQ1NMWnp6akt0ZGg0aE5sV3hFTU9uMGxVRk1LVUxu?= =?utf-8?B?MnVMdFM4WHJUVlNVaERSVW9reWV0cGwyNEhzR2piRVd2UW9OK1hZdHJmTFds?= =?utf-8?B?SmVmOXRyVGtZblpZS0pVeGZwdz09?= X-Forefront-Antispam-Report-Untrusted: CIP:2a00:1450:4864:20::332;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wm1-x332.google.com;PTR:mail-wm1-x332.google.com;CAT:NONE;SFS:(13230040)(704160211799003)(82310400026)(6059299003)(2092899012)(3072899012)(43022699015)(12012899012)(6133799003)(19002099009)(3023799007)(10067099003)(5063699009)(5023799004)(22082099003)(55112099003)(18002099003)(16102099003)(57112099003);DIR:INB; X-Auto-Response-Suppress: DR, OOF, AutoReply X-Exchange-RoutingPolicyChecked: kLqf8FdBYPG5+/H9QhWyF4Ve/YTc82pHN9kfU/lxU30+wlijKywlLZho6pLjQICdk6k0pfyIHAwlu1AitSvRyB4wBnDaDkVoe4z/PySNtpanRSyhprrL6IjHbKmbSwCRKuav2cHyZ9IAqNiZnFyUJgR3CWK6KBq8pNcrlssjLEifr4h9YzXw2l03E5nNs0P5L7XH05pj5QesOo0QfjbY4NAR+CNXVJEOjxsfoP9/r/yE0e/GvMnU9cO4zjmwNkyBf1qYWvQqi6f0przzOQqBWMZmA9nDXdNc3nBiWe27MyCgvWfUTKn1Y2WFYpEthm4JakGmjnILSYa8VQWXeQ6x6g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7409 X-MS-Exchange-Organization-ExpirationStartTime: 31 Aug 2026 14:06:59.1117 (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: d0b2c9f2-67a6-479d-91bb-08df07691f7c X-MS-Exchange-Organization-MessageDirectionality: Incoming X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5PEPF00014B96.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Exchange-Organization-AuthSource: DB5PEPF00014B96.eurprd02.prod.outlook.com X-MS-Exchange-Organization-AuthAs: Anonymous X-MS-Office365-Filtering-Correlation-Id-Prvs: 393da56b-67ad-4f13-77ae-08df076917b0 X-MS-Exchange-Organization-SCL: -1 X-Microsoft-Antispam: BCL:0;ARA:13230040|704160211799003|82310400026|6059299003|12012899012|3072899012|35042699022|43022699015|2092899012|5133699003|6133799003|55112099003|22082099003|16102099003|57112099003|18003699003|5063699009|3023799007|19002099009|5023799004|10067099003; 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)(82310400026)(6059299003)(12012899012)(3072899012)(35042699022)(43022699015)(2092899012)(5133699003)(6133799003)(55112099003)(22082099003)(16102099003)(57112099003)(18003699003)(5063699009)(3023799007)(19002099009)(5023799004)(10067099003);DIR:INB; X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2026 14:06:58.9538 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d0b2c9f2-67a6-479d-91bb-08df07691f7c X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: DB5PEPF00014B96.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6163 X-MS-Exchange-Transport-EndToEndLatency: 00:00:06.9678921 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?MDJmbGVheExpcWREYjJVYnJRQW1BRXBxYmU2UloyczZFOW9Mc0NzTXlQRE9J?= =?utf-8?B?SjQrdXdvL2g0MHF6L0hqQllseGRUWXFRWVo3Y2ZQTFFqMklVcXBKSWR3anRy?= =?utf-8?B?WE1Seng0eFBTUzlIVTN4alkvaENmSXQrYjN2UExibnhzd1d0MnM5LzBQekZx?= =?utf-8?B?eDY4MWRzS1FkMkd0cnlIN05vM2J6cE9Ya3R4UGg4M3ZKd2txckJUNDN2Mmpl?= =?utf-8?B?dzFOVWoyazN3RjBsd1NVVUFCWEE3ZW5rUUJUZFQzT0VhZmtCcEhValVIM2ww?= =?utf-8?B?bmdXNnhuQ3lHaTN5eFQvTWNTOTNkMkFLOXRCUXljREI5Tnp4WUxiRW1uTXMw?= =?utf-8?B?TzNwNzJkaTVtRjRVT3E2SmV0Z3p6aG9WUDZYNzFoNUhMRUlIZzBhVjlhRjMw?= =?utf-8?B?Ylp5bmYyak1CQUVlUzErTTNVMWdncFNZbTlkOXdTTzYranUvKytuUUZqMXpF?= =?utf-8?B?TWdyTkhyWVAycG5vZlV1d0FWVFRhaEd0Yk1ycVlqRUhMTDJPQStvaGszLzdk?= =?utf-8?B?dWxPNjJyTXR4ci9rK0NWckhzclNrbEFyVU9qRkIyM0hyQWordUlGY2doRHZY?= =?utf-8?B?dG9TQkNldWxwZ2grVEprNWJIY0F0UndaNlhmZWoxWlN2N3ZVRXUyVW9qaUMx?= =?utf-8?B?K3ErTWtocnp0UCs3dklyRC94bUZVSVRuOUd2aTNDUFF1Z1NTckp4bm9YYUNp?= =?utf-8?B?eTVwRCtqRzErQlRlaDdmekppVzBueUkycW5iUU9MejUvSmJQWUlNN2c3R2VO?= =?utf-8?B?MXdrbVg0UzRwM04rNWVYZGp3NjVwdWlyLzA0WklER25mRWpGeVlYdmxzRi9l?= =?utf-8?B?djB0bTljV1FLK3czN0xlalpMTjAyUlpSSXVNWExRZEFLQVBGOFI3UUxhMHlv?= =?utf-8?B?VEN4WWdxdGlIZEtDMEVCS05MRnJvUkVNbHdkRGo1d1VhRU9qWlRIUFRqODMv?= =?utf-8?B?ZDlkZWp2L09JU1FpUDd3dTZvN1FSbjc1OWk1bmJIUDd1NGx0a3B0NXZHUDNK?= =?utf-8?B?QWFRVHZoWFZvRk5sOEdYc29COWNmamlqNjdZeHpudFpicldjTGgxL0VIT3R4?= =?utf-8?B?STVxUVB2WDQza2JkbTQrblgyWkdSQmNnc2h2VVBVVHptV21jc052Sjlha1Zy?= =?utf-8?B?UHZBd0hIQlpzT0dldklkZ3paMXBaSXNFZGZGY2U5NTAySlV3UlN0b0pGYjh3?= =?utf-8?B?UjY3VG1ZTGE0TVYzYWZYdmU3d3J1c3JlQUlyQnR6WXFuL3B3NnlqVnU2SSth?= =?utf-8?B?dTlOY1JwRU1aSnlKbGRGeFloNThYUUpTby9KaUtzSFdWcko1WUNxNW9KK25a?= =?utf-8?B?N25xS2N3bFFGN1hQZEo5R1VWNzRIL0Iyb0k2N2pza1htZEJyTm1TZmJxRnNr?= =?utf-8?B?aXNIaUNnZjRLL20xS28zcVFheWd2U29YMy9JYWtINUlpRWpJc0NqUUF1L3A5?= =?utf-8?B?Y1hONkFqeFk5SEFFWlFkZk1FYzMzc3dscmFXT0JRdk5TUWFVeTZYM3FFby9y?= =?utf-8?B?QlRPRVBNVXdpdmE1MEtzd2d0VXF1QkxFWkxFbkJzQm5KSDdMSUczS0RJYmwy?= =?utf-8?B?SmFqUmhCT0xVWldDU0JYanNmaU9SbTk3V0J2eVI5cWxtc0JncnFRTFUzcEpI?= =?utf-8?B?bFpkdWZWcWRHRGNDK2N5em11RHMwYnFrNlNBV2hlT0had0VpTlZMc3VwVTNt?= =?utf-8?B?Kzd6TVR2bHkvTGswZm4xek0zVWtsU2dMYitXSTAzU1RBUm50VFlqaVFUNTVO?= =?utf-8?B?ZC9jY1pmSFNTMFQyOFNwNkR5aXVrdEFuekQ1Y0RjMEx3V2FkSkxMMk40TTRv?= =?utf-8?B?VTVBenpjMDhFcGZuazlxNHkwdWUrRHVwQWNKWm1UMTl0YnczZEl6STRzQ3Mv?= =?utf-8?B?RVdtRlNManlZME01VHo0RklQcDFLVlVGeWl0RFRnVnVoSzBDTXFESTJrUHo5?= =?utf-8?B?blRWNEtwVFQyZTE2MXQvdW0yUjgxNW0yTWpFcEVyNDc1aVlTZTY4TGpyQjhR?= =?utf-8?B?d3g5dENuZFk2eUUxUkFWeCsvT0JDMGcxbUwwRUthMnF6MjNBckZvSzVEb3ll?= =?utf-8?B?MWpYZWlYb1Zhb0dObkRGL0V3RTJNbXRNNzF1bEFoT1NKWnFTUlk5N056LzU5?= =?utf-8?B?MUpNMjl3Rkl0QlhNS2Z1MkN2MVhBTW80V0x1ZVN4OUhJSGUvNU11ZXZKeXlM?= =?utf-8?B?SVQvM3VKOFpvMHdMNEs4dGF1Y1pQQy9CQ2xZa0lSd1Vmalg3L3VhQ1lDWTV4?= =?utf-8?B?KytkeVZ3dTBlV3ZxUE9EL0M4bXgrL1dkbTFSUXc2Wk04djNCenBDS01ERjY3?= =?utf-8?B?UlNVanVvcXhIYnozSVlCemZsa2lmRkJtM3dkNlhySXA1SHpUZFVSZFljQzYv?= =?utf-8?B?WW4zOVV2SlljcWhKdTRJbFJtNG44VHYxWXhBTExPZXpnbkRKdXlid29seUZs?= =?utf-8?B?b1pNd1RvV3h3SGIvb0tYYmdsaEZFN3lKUjMwOEFnWThQQnJsSjQxcXlkOS9D?= =?utf-8?B?akx0cDJmemVDaHE3NEx1VWFaZGNZVDRCRTRhcWZvb1J3c3c4TkRCT3VnNjFH?= =?utf-8?B?VFhCNHErR0JRcFRJbEtOK3g3MDFmWVRHcnlkQWpKQzdsWWprMnpGUE82Q3kr?= =?utf-8?B?UzFSTGZWaFlGZ1dUdnZLY2ZkeHdtSHFFWTdjYitTVDgxOHpTYjdEUmlPeTlQ?= =?utf-8?B?SFZWc2UzcDhWd0ZiT05WZ0JUV2ViRUZzTHYrbFRWVEJWSXFSYTlLQlVzbTBa?= =?utf-8?B?UFZHdlV6TmRJbVh6NDJOM1NxbVZieWVUK1VJSjZ3UWxza09UbTdSMlZtQzln?= =?utf-8?B?d3ZkMDNuTGl1V2srMDlMRGVwYUJnNzY2bkpxbUxLVDFYczhYZnlkdmtXamxR?= =?utf-8?B?Ykw0UzlLb2dORDd1MEpFbmF3elUrRXE5NnhkNWlOYml5NGxieUFhLzdQUTlG?= =?utf-8?B?WnNST2FNYzcranlLYnJLVTFCSjhFS0tYWmI3ZHJDZDU1MEZ6bFEwaStYZHZX?= =?utf-8?B?RGdMemliYk53OUhXbml1cll0RW0zYTNWNWNhWUNZYktTSnBTT05vNHBnRmta?= =?utf-8?B?Wks1Vlh3ZWpmN09PYW1nRXFla0VBbHROSXFTTHl3WmFjK0VNRlBSRmQvMDlZ?= =?utf-8?B?c0hEZkpKVkpjZndOaGdVUEJmdXN3d3VJY1BxL0s1UXVvUTBvNWlJM3YyL0xM?= =?utf-8?B?WU9rY2o5b3prMHlBdDlBV1NtUFZlM3p3OGI1K0NZSVk0bVhwRVNtdkk5VXg4?= =?utf-8?B?N0Z0Y2sxWlA3NTlveHplbG1MQldyWDBIZUpYSDZkWUYxV2pqNWx2SThNRWtz?= =?utf-8?B?S2hNZFpuUGx6OXkyRHVFaldmSHNiUXR4d0hwL203MitYa1pHS2gwR2ppTDRa?= =?utf-8?B?STFxQXQzWlE4dDFsZXZtWkxOOVdUajI0cFZ6Q0thVHEvVDhOeGg2OTFMUGtO?= =?utf-8?Q?w0dnRH2TiKaaR8JvGvZ/uH/eNnkAATlljn6Y2iLV?= 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