From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 8E80E1FF15C for ; Fri, 3 Oct 2025 17:01:00 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id CC0A572B7; Fri, 3 Oct 2025 17:00:55 +0200 (CEST) From: Aaron Lauterer To: pve-devel@lists.proxmox.com Date: Fri, 3 Oct 2025 17:00:44 +0200 Message-ID: <20251003150045.3359961-4-a.lauterer@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251003150045.3359961-1-a.lauterer@proxmox.com> References: <20251003150045.3359961-1-a.lauterer@proxmox.com> MIME-Version: 1.0 X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1759503627372 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.011 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH manager v8 3/4] fix #1926 ui: vm console: autodetect novnc or xtermjs X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" U29tZSB1c2VycyBjb25maWd1cmUgdGhlaXIgVk1zIHRvIHVzZSBzZXJpYWwgYXMgdGhlaXIgZGlz cGxheS4gVGhlIGJpZwpiZW5lZml0IGlzIHRoYXQgaW4gY29tYmluYXRpb24gd2l0aCB0aGUgeHRl cm1qcyByZW1vdGUgY29uc29sZSwgY29weSAmCnBhc3RlIHdvcmtzIGEgbG90IGJldHRlciB0aGFu IHZpYSBub3ZuYy4KCldoaWxlIHRoZSBjb25zb2xlIGJ1dHRvbiBpbiB0aGUgdG9wIHJpZ2h0IGFs bG93cyB0byBtYW51YWxseSBjaG9vc2UgdGhlCmNvbnNvbGUgdHlwZSwgdGhlIENvbnNvbGUgaW4g dGhlIG1haW4gc3VibWVudSBvZiBhIFZNIGRvZXMgbm90LgoKVGhpcyBwYXRjaCBjaGFuZ2VzIHRo ZSBiZWhhdmlvciB0byBub3QgbG9hZCB0aGUgY29uc29sZSByaWdodCBhd2F5IGlmCnNldCB0byAn a3ZtJy4gSW5zdGVhZCwgdGhlIGNhbGxiYWNrIGZyb20gdGhlIFZNJ3Mgc3RhdHVzL2N1cnJlbnQg Y2FsbAp3aWxsIHJ1biB0aGUgZmluYWwgc3RlcHMgdG8gbG9hZCB0aGUgY29uc29sZS4gQmVjYXVz ZSB0aGVuIHdlIGtub3cgaWYgaXQKc2hvdWxkIGJlIG5vVk5DIG9yIHh0ZXJtanMuCgpUaGF0IG1l YW5zIHRoYXQgaW4gdGhlIFZOQ0NvbnNvbGUgY29tcG9uZW50IHdlIG5lZWQgdG8ga2VlcCB0cmFj ayBpZiB0aGUKY29uc29sZSBoYXMgYmVlbiBmdWxseSBzZXQgdXAgYW5kIGlzIHJ1bm5pbmcuIFRo ZSBhY3R1YWwgY29kZSB0aGF0IGxvYWRzCnRoZSBjb25zb2xlIGludG8gdGhlIGlmcmFtZSBpcyBt b3ZlZCBpbnRvIGEgZnVuY3Rpb24sIHNvIHdlIGNhbm4gY2FsbCBpdApmcm9tIHRoZSBBUEkgY2Fs bGJhY2suCgpPbmUgcmVzdWx0IGlzIHRoYXQgdGhlIGJlaGF2aW9yIGNoYW5nZXMuIExvYWRpbmcg dGhlIGNvbnNvbGUgb24gYSBWTQp3aWxsIHRha2UgYSBsaXR0bGUgYml0IGxvbmdlcjoKKiBXaGVu IHRoZW4gQ29uc29sZSBpcyB0aGUgc2VsZWN0ZWQgYW5kIG9uZSBzd2l0Y2hlcyBiZXR3ZWVuIFZN cywgYSBuZXcKICBzdGF0dXMvY3VycmVudCBjYWxsIGlzIG1hZGUgYW5kIG9uIGEgZ29vZCBjb25u ZWN0aW9uLCB0aGUgY29uc29sZQogIHNob3VsZCBsb2FkIGp1c3QgYSBmZXcgbW9tZW50cyBsYXRl ci4KKiBXaGVuIG9uZSBzd2l0Y2hlcyB0byB0aGUgY29uc29sZSBmcm9tIGFub3RoZXIgc3VibWVu dSBvZiB0aGUgVk0sIHRoZQogIGNvbnNvbGUgd2lsbCBsb2FkIG9uY2UgdGhlIG5leHQgQVBJIGNh bGwgdG8gc3RhdHVzL2N1cnJlbnQgZmluaXNoZWQuCgpTaWduZWQtb2ZmLWJ5OiBBYXJvbiBMYXV0 ZXJlciA8YS5sYXV0ZXJlckBwcm94bW94LmNvbT4KUmV2aWV3ZWQtYnk6IERvbWluaWsgQ3NhcGFr IDxkLmNzYXBha0Bwcm94bW94LmNvbT4KVGVzdGVkLWJ5OiBIYW5uZXMgRHVlcnIgPGguZHVlcnJA cHJveG1veC5jb20+ClJldmlld2VkLWJ5OiBNaWNoYWVsIEvDtnBwbCA8bS5rb2VwcGxAcHJveG1v eC5jb20+ClRlc3RlZC1ieTogTWljaGFlbCBLw7ZwcGwgPG0ua29lcHBsQHByb3htb3guY29tPgot LS0KY2hhbmdlcyBzaW5jZToKdjc6CiogcmViYXNlZAp2Njogbm9uZQp2NToKKiBpbnRyb2R1Y2Ug UFZFLlV0aWxzLmlzU2VyaWFsRGlzcGxheSBoZWxwZXIKKiBhdm9pZCAncmVjJyBhc3NpZ25tZW50 IGluIGNhbGxiYWNrIHdoZW4gc2V0dGluZyB0aGUgJ3h0ZXJtanMnIHZhcmlhYmxlCnY0OgoqIHVz ZSBuZXcgc3RhdHVzL2N1cnJlbnQgZGlzcGxheSBwcm9wZXJ0eQoKdjM6CiogZml4ZWQgc3BhY2lu ZyBpc3N1ZXMKKiBhZGQgJ2N1cnJlbnQnIHBhcmFtZXRlciB3aGVuIGZldGNoaW5nIGNvbmZpZyBh cyB0aGUgcGVuZGluZyBtaWdodCBoYXZlCiAgYSBkaWZmZXJlbnQgZGlzcGxheSBzZXQKCnYyOgoq IGNoYW5nZSBhcHByb2FjaCBhbmQgZG8gaXQgaW4gdGhlIFVJIGFsb25lIGJ5IGZldGNoaW5nIHRo ZSBWTQogIGNvbmZpZyBiZWZvcmUgZGVjaWRpbmcgd2hpY2ggY29uc29sZSB0byB1c2UKCnYxOgoq IHNldCAnYXV0b2RldGVjdCcgdG8gYWx3YXlzIHRydWUgaW4gJ1ZOQ0NvbnNvbGUuanMnCiogYWRk IGFkZGl0aW9uYWwgY2hlY2tzIGluIHB2ZXByb3h5CiAgKiBvbmx5IGlmIGF1dG9kZXRlY3QgaXMg ZW5hYmxlZCBhbmQgY29uc29sZSBpcyBzZXQgdG8gJ2t2bScKICAqIHVzZXJuYW1lIGV4aXN0cyBh bmQgaGFzIFZNLkNvbnNvbGUgcGVybWlzc2lvbnMgZm9yIHRoZSBndWVzdAoKCiB3d3cvbWFuYWdl cjYvVXRpbHMuanMgICAgICAgfCAgNCArKysKIHd3dy9tYW5hZ2VyNi9WTkNDb25zb2xlLmpzICB8 IDUxICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KIHd3dy9tYW5hZ2VyNi9x ZW11L0NvbmZpZy5qcyB8ICA5ICsrKysrKy0KIDMgZmlsZXMgY2hhbmdlZCwgNDYgaW5zZXJ0aW9u cygrKSwgMTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvd3d3L21hbmFnZXI2L1V0aWxzLmpz IGIvd3d3L21hbmFnZXI2L1V0aWxzLmpzCmluZGV4IGM0OGVlMGIyLi4wM2VjYTIyZCAxMDA2NDQK LS0tIGEvd3d3L21hbmFnZXI2L1V0aWxzLmpzCisrKyBiL3d3dy9tYW5hZ2VyNi9VdGlscy5qcwpA QCAtMjA1MSw2ICsyMDUxLDEwIEBAIEV4dC5kZWZpbmUoJ1BWRS5VdGlscycsIHsKICAgICAgICAg fSwKICAgICB9LAogCisgICAgaXNTZXJpYWxEaXNwbGF5OiBmdW5jdGlvbiAoZGlzcGxheSkgewor ICAgICAgICByZXR1cm4gZGlzcGxheT8uc3RhcnRzV2l0aCgnc2VyaWFsJykgPz8gZmFsc2U7Cisg ICAgfSwKKwogICAgIHNpbmdsZXRvbjogdHJ1ZSwKICAgICBjb25zdHJ1Y3RvcjogZnVuY3Rpb24g KCkgewogICAgICAgICB2YXIgbWUgPSB0aGlzOwpkaWZmIC0tZ2l0IGEvd3d3L21hbmFnZXI2L1ZO Q0NvbnNvbGUuanMgYi93d3cvbWFuYWdlcjYvVk5DQ29uc29sZS5qcwppbmRleCBlNGYyMmNmOS4u ZDkwM2YyZDUgMTAwNjQ0Ci0tLSBhL3d3dy9tYW5hZ2VyNi9WTkNDb25zb2xlLmpzCisrKyBiL3d3 dy9tYW5hZ2VyNi9WTkNDb25zb2xlLmpzCkBAIC0xMiw2ICsxMiwzNiBAQCBFeHQuZGVmaW5lKCdQ VkUubm9WbmNDb25zb2xlJywgewogICAgIGxheW91dDogJ2ZpdCcsCiAgICAgYm9yZGVyOiBmYWxz ZSwKIAorICAgIHNldHVwRG9uZTogZmFsc2UsIC8vIGluaXRpYWwgc2V0dXAgaXMgZG9uZSBhbmQg dGhlIHNlc3Npb24gaXMgcnVubmluZworCisgICAgbG9hZENvbnNvbGU6IGZ1bmN0aW9uICh4dGVy bWpzLCBjb25zb2xlVHlwZSkgeworICAgICAgICBsZXQgbWUgPSB0aGlzOworICAgICAgICBpZiAo bWUuc2V0dXBEb25lKSB7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAg ICBsZXQgdHlwZSA9IHh0ZXJtanMgPyAneHRlcm1qcycgOiAnbm92bmMnOworICAgICAgICBsZXQg c3AgPSBFeHQuc3RhdGUuTWFuYWdlci5nZXRQcm92aWRlcigpOworICAgICAgICBpZiAoRXh0Lmlz RnVuY3Rpb24obWUuYmVmb3JlTG9hZCkpIHsKKyAgICAgICAgICAgIG1lLmJlZm9yZUxvYWQoKTsK KyAgICAgICAgfQorICAgICAgICBsZXQgcXVlcnlEaWN0ID0geworICAgICAgICAgICAgY29uc29s ZTogY29uc29sZVR5cGUsIC8vIGt2bSwgbHhjLCB1cGdyYWRlIG9yIHNoZWxsCisgICAgICAgICAg ICB2bWlkOiBtZS52bWlkLAorICAgICAgICAgICAgbm9kZTogbWUubm9kZW5hbWUsCisgICAgICAg ICAgICBjbWQ6IG1lLmNtZCwKKyAgICAgICAgICAgICdjbWQtb3B0cyc6IG1lLmNtZE9wdHMsCisg ICAgICAgICAgICByZXNpemU6IHNwLmdldCgnbm92bmMtc2NhbGluZycsICdzY2FsZScpLAorICAg ICAgICB9OworICAgICAgICBsZXQgYm94ID0gdGhpcy5kb3duKCdbaXRlbWlkPXZuY2NvbnNvbGVd Jyk7CisgICAgICAgIHF1ZXJ5RGljdFt0eXBlXSA9IDE7CisgICAgICAgIFBWRS5VdGlscy5jbGVh bkVtcHR5T2JqZWN0S2V5cyhxdWVyeURpY3QpOworICAgICAgICBsZXQgdXJsID0gJy8/JyArIEV4 dC5PYmplY3QudG9RdWVyeVN0cmluZyhxdWVyeURpY3QpOworICAgICAgICBQcm94bW94LlV0aWxz LnNldEVycm9yTWFzayhtZSk7CisgICAgICAgIGJveC5sb2FkKHVybCk7CisgICAgICAgIG1lLnNl dHVwRG9uZSA9IHRydWU7CisgICAgfSwKKwogICAgIGluaXRDb21wb25lbnQ6IGZ1bmN0aW9uICgp IHsKICAgICAgICAgdmFyIG1lID0gdGhpczsKIApAQCAtMjksMjkgKzU5LDE1IEBAIEV4dC5kZWZp bmUoJ1BWRS5ub1ZuY0NvbnNvbGUnLCB7CiAKICAgICAgICAgLy8gYWx3YXlzIHVzZSBzYW1lIGlm cmFtZSwgdG8gYXZvaWQgcnVubmluZyBzZXZlcmFsIG5vVm5jIGNsaWVudHMKICAgICAgICAgLy8g YXQgc2FtZSB0aW1lICh0byBhdm9pZCBwZXJmb3JtYW5jZSBwcm9ibGVtcykKLSAgICAgICAgdmFy IGJveCA9IEV4dC5jcmVhdGUoJ0V4dC51eC5JRnJhbWUnLCB7IGl0ZW1pZDogJ3ZuY2NvbnNvbGUn IH0pOworICAgICAgICBsZXQgYm94ID0gRXh0LmNyZWF0ZSgnRXh0LnV4LklGcmFtZScsIHsgaXRl bWlkOiAndm5jY29uc29sZScgfSk7CiAKLSAgICAgICAgdmFyIHR5cGUgPSBtZS54dGVybWpzID8g J3h0ZXJtanMnIDogJ25vdm5jJzsKICAgICAgICAgRXh0LmFwcGx5KG1lLCB7CiAgICAgICAgICAg ICBpdGVtczogYm94LAogICAgICAgICAgICAgbGlzdGVuZXJzOiB7CiAgICAgICAgICAgICAgICAg YWN0aXZhdGU6IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHNwID0gRXh0 LnN0YXRlLk1hbmFnZXIuZ2V0UHJvdmlkZXIoKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKEV4 dC5pc0Z1bmN0aW9uKG1lLmJlZm9yZUxvYWQpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBt ZS5iZWZvcmVMb2FkKCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChtZS5jb25zb2xlVHlwZSAh PT0gJ2t2bScpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIG1lLmxvYWRDb25zb2xlKG1lLnh0 ZXJtanMsIG1lLmNvbnNvbGVUeXBlKTsKICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg ICAgICAgICAgICBsZXQgcXVlcnlEaWN0ID0gewotICAgICAgICAgICAgICAgICAgICAgICAgY29u c29sZTogbWUuY29uc29sZVR5cGUsIC8vIGt2bSwgbHhjLCB1cGdyYWRlIG9yIHNoZWxsCi0gICAg ICAgICAgICAgICAgICAgICAgICB2bWlkOiBtZS52bWlkLAotICAgICAgICAgICAgICAgICAgICAg ICAgbm9kZTogbWUubm9kZW5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICBjbWQ6IG1lLmNt ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICdjbWQtb3B0cyc6IG1lLmNtZE9wdHMsCi0gICAg ICAgICAgICAgICAgICAgICAgICByZXNpemU6IHNwLmdldCgnbm92bmMtc2NhbGluZycsICdzY2Fs ZScpLAotICAgICAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgICAgICBxdWVyeURp Y3RbdHlwZV0gPSAxOwotICAgICAgICAgICAgICAgICAgICBQVkUuVXRpbHMuY2xlYW5FbXB0eU9i amVjdEtleXMocXVlcnlEaWN0KTsKLSAgICAgICAgICAgICAgICAgICAgdmFyIHVybCA9ICcvPycg KyBFeHQuT2JqZWN0LnRvUXVlcnlTdHJpbmcocXVlcnlEaWN0KTsKLSAgICAgICAgICAgICAgICAg ICAgYm94LmxvYWQodXJsKTsKICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgfSwKICAg ICAgICAgfSk7CkBAIC02MCw2ICs3Niw3IEBAIEV4dC5kZWZpbmUoJ1BWRS5ub1ZuY0NvbnNvbGUn LCB7CiAKICAgICAgICAgbWUub24oJ2FmdGVycmVuZGVyJywgZnVuY3Rpb24gKCkgewogICAgICAg ICAgICAgbWUuZm9jdXMoKTsKKyAgICAgICAgICAgIFByb3htb3guVXRpbHMuc2V0RXJyb3JNYXNr KG1lLCB0cnVlKTsKICAgICAgICAgfSk7CiAgICAgfSwKIApkaWZmIC0tZ2l0IGEvd3d3L21hbmFn ZXI2L3FlbXUvQ29uZmlnLmpzIGIvd3d3L21hbmFnZXI2L3FlbXUvQ29uZmlnLmpzCmluZGV4IDg0 MmQzNWRlLi5mZmVjMTRkZSAxMDA2NDQKLS0tIGEvd3d3L21hbmFnZXI2L3FlbXUvQ29uZmlnLmpz CisrKyBiL3d3dy9tYW5hZ2VyNi9xZW11L0NvbmZpZy5qcwpAQCAtNSw2ICs1LDggQEAgRXh0LmRl ZmluZSgnUFZFLnFlbXUuQ29uZmlnJywgewogICAgIG9ubGluZUhlbHA6ICdjaGFwdGVyX3ZpcnR1 YWxfbWFjaGluZXMnLAogICAgIHVzZXJDbHM6ICdwcm94bW94LXRhZ3MtZnVsbCcsCiAKKyAgICBy ZWZlcmVuY2VIb2xkZXI6IHRydWUsCisKICAgICBpbml0Q29tcG9uZW50OiBmdW5jdGlvbiAoKSB7 CiAgICAgICAgIHZhciBtZSA9IHRoaXM7CiAgICAgICAgIHZhciB2bSA9IG1lLnB2ZVNlbE5vZGUu ZGF0YTsKQEAgLTMxMSw2ICszMTMsNyBAQCBFeHQuZGVmaW5lKCdQVkUucWVtdS5Db25maWcnLCB7 CiAgICAgICAgICAgICAgICAgdm1pZDogdm1pZCwKICAgICAgICAgICAgICAgICBjb25zb2xlVHlw ZTogJ2t2bScsCiAgICAgICAgICAgICAgICAgbm9kZW5hbWU6IG5vZGVuYW1lLAorICAgICAgICAg ICAgICAgIHJlZmVyZW5jZTogJ3N1Ym1lbnVDb25zb2xlQnRuJywKICAgICAgICAgICAgIH0pOwog ICAgICAgICB9CiAKQEAgLTQ3NCw3ICs0NzcsNyBAQCBFeHQuZGVmaW5lKCdQVkUucWVtdS5Db25m aWcnLCB7CiAgICAgICAgICAgICAgICAgbG9jayA9IHJlYyA/IHJlYy5kYXRhLnZhbHVlIDogdW5k ZWZpbmVkOwogCiAgICAgICAgICAgICAgICAgc3BpY2UgPSAhIXMuZGF0YS5nZXQoJ3NwaWNlJyk7 Ci0gICAgICAgICAgICAgICAgeHRlcm1qcyA9ICEhcy5kYXRhLmdldCgnc2VyaWFsJyk7CisgICAg ICAgICAgICAgICAgeHRlcm1qcyA9IFBWRS5VdGlscy5pc1NlcmlhbERpc3BsYXkocy5kYXRhLmdl dCgnZGlzcGxheScpPy5kYXRhLnZhbHVlLnR5cGUpOwogICAgICAgICAgICAgfQogCiAgICAgICAg ICAgICByZWMgPSBzLmRhdGEuZ2V0KCd0YWdzJyk7CkBAIC00ODYsNiArNDg5LDEwIEBAIEV4dC5k ZWZpbmUoJ1BWRS5xZW11LkNvbmZpZycsIHsKIAogICAgICAgICAgICAgdmFyIHJlc3VtZSA9IFsn cHJlbGF1bmNoJywgJ3BhdXNlZCcsICdzdXNwZW5kZWQnXS5pbmRleE9mKHFtcHN0YXR1cykgIT09 IC0xOwogCisgICAgICAgICAgICBtZS5sb29rdXAoJ3N1Ym1lbnVDb25zb2xlQnRuJyk/LmxvYWRD b25zb2xlKHh0ZXJtanMsICdrdm0nKTsKKworICAgICAgICAgICAgc3RhdHVzVHh0LnVwZGF0ZSh7 IGxvY2s6IGxvY2sgfSk7CisKICAgICAgICAgICAgIGlmIChyZXN1bWUgfHwgbG9jayA9PT0gJ3N1 c3BlbmRlZCcpIHsKICAgICAgICAgICAgICAgICBzdGFydEJ0bi5zZXRWaXNpYmxlKGZhbHNlKTsK ICAgICAgICAgICAgICAgICByZXN1bWVCdG4uc2V0VmlzaWJsZSh0cnVlKTsKLS0gCjIuNDcuMwoK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwdmUtZGV2 ZWwgbWFpbGluZyBsaXN0CnB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3Rz LnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wdmUtZGV2ZWwK