From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 4E5B61FF16B for ; Tue, 9 Sep 2025 10:37:55 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 20EA22C89; Tue, 9 Sep 2025 10:36:25 +0200 (CEST) From: Daniel Kral To: pve-devel@lists.proxmox.com Date: Tue, 9 Sep 2025 10:33:51 +0200 Message-ID: <20250909083539.39675-15-d.kral@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20250909083539.39675-1-d.kral@proxmox.com> References: <20250909083539.39675-1-d.kral@proxmox.com> MIME-Version: 1.0 X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1757406920987 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.015 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 ha-manager v2 14/18] move minimum version check helper to ha tools 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" RGVibG9hdHMgdGhlIGFscmVhZHkgcXVpdGUgYmlnIE1hbmFnZXIgcGFja2FnZSBmcm9tIGFuIGlu ZGVwZW5kZW50CmhlbHBlci4KClNpZ25lZC1vZmYtYnk6IERhbmllbCBLcmFsIDxkLmtyYWxAcHJv eG1veC5jb20+ClJldmlld2VkLWJ5OiBNaWNoYWVsIEvDtnBwbCA8bS5rb2VwcGxAcHJveG1veC5j b20+ClRlc3RlZC1ieTogTWljaGFlbCBLw7ZwcGwgPG0ua29lcHBsQHByb3htb3guY29tPgotLS0K bm8gY2hhbmdlcyBzaW5jZSB2MQoKIHNyYy9QVkUvSEEvTWFuYWdlci5wbSB8IDMwICsrLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogc3JjL1BWRS9IQS9Ub29scy5wbSAgIHwgMjcgKysrKysr KysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyks IDI4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9QVkUvSEEvTWFuYWdlci5wbSBiL3Ny Yy9QVkUvSEEvTWFuYWdlci5wbQppbmRleCBmNjNjZGFlMS4uYTg3NDcwOGQgMTAwNjQ0Ci0tLSBh L3NyYy9QVkUvSEEvTWFuYWdlci5wbQorKysgYi9zcmMvUFZFL0hBL01hbmFnZXIucG0KQEAgLTU0 MCwzMyArNTQwLDYgQEAgbXkgJGhhdmVfZ3JvdXBzX2JlZW5fbWlncmF0ZWQgPSBzdWIgewogICAg IHJldHVybiBrZXlzICRncm91cHMtPntpZHN9LT4lKiA8IDE7CiB9OwogCi1teSAkZ2V0X3ZlcnNp b25fcGFydHMgPSBzdWIgewotICAgIG15ICgkbm9kZV92ZXJzaW9uKSA9IEBfOwotCi0gICAgcmV0 dXJuICRub2RlX3ZlcnNpb24gPX4gbS9eKFxkKylcLihcZCspKD86XC58LSkoXGQrKSg/On4oXGQr KSk/LzsKLX07Ci0KLW15ICRoYXNfbm9kZV9taW5fdmVyc2lvbiA9IHN1YiB7Ci0gICAgbXkgKCRu b2RlX3ZlcnNpb24sICRtaW5fdmVyc2lvbikgPSBAXzsKLQotICAgIG15ICgkbWFqb3IsICRtaW5v ciwgJHBhdGNoLCAkcmV2KSA9ICRnZXRfdmVyc2lvbl9wYXJ0cy0+KCRub2RlX3ZlcnNpb24pOwot ICAgIG15ICgkbWluX21ham9yLCAkbWluX21pbm9yLCAkbWluX3BhdGNoLCAkbWluX3JldikgPSAk Z2V0X3ZlcnNpb25fcGFydHMtPigkbWluX3ZlcnNpb24pOwotCi0gICAgcmV0dXJuIDAgaWYgJG1h am9yIDwgJG1pbl9tYWpvcjsKLSAgICByZXR1cm4gMCBpZiAkbWFqb3IgPT0gJG1pbl9tYWpvciAm JiAkbWlub3IgPCAkbWluX21pbm9yOwotICAgIHJldHVybiAwIGlmICRtYWpvciA9PSAkbWluX21h am9yICYmICRtaW5vciA9PSAkbWluX21pbm9yICYmICRwYXRjaCA8ICRtaW5fcGF0Y2g7Ci0KLSAg ICAkbWluX3JldiAvLz0gMDsKLSAgICByZXR1cm4gMAotICAgICAgICBpZiAkbWFqb3IgPT0gJG1p bl9tYWpvcgotICAgICAgICAmJiAkbWlub3IgPT0gJG1pbl9taW5vcgotICAgICAgICAmJiAkcGF0 Y2ggPT0gJG1pbl9wYXRjaAotICAgICAgICAmJiBkZWZpbmVkKCRyZXYpCi0gICAgICAgICYmICRy ZXYgPCAkbWluX3JldjsKLQotICAgIHJldHVybiAxOwotfTsKLQogbXkgJGlzX2xybV9hY3RpdmVf b3JfaWRsZSA9IHN1YiB7CiAgICAgbXkgKCRzcywgJG5vZGUsICRscm1fc3RhdGUpID0gQF87CiAK QEAgLTYyMyw3ICs1OTYsOCBAQCBteSAkYXNzZXJ0X2NsdXN0ZXJfY2FuX21pZ3JhdGVfaGFfZ3Jv dXBzID0gc3ViIHsKICAgICAgICAgJGhhZW52LT5sb2coCiAgICAgICAgICAgICAnbm90aWNlJywg ImhhIGdyb3VwcyBtaWdyYXRpb246IG5vZGUgJyRub2RlJyBoYXMgdmVyc2lvbiAnJG5vZGVfdmVy c2lvbiciLAogICAgICAgICApOwotICAgICAgICBteSAkaGFzX21pbl92ZXJzaW9uID0gJGhhc19u b2RlX21pbl92ZXJzaW9uLT4oJG5vZGVfdmVyc2lvbiwgJEhBX1JVTEVTX01JTlZFUlNJT04pOwor ICAgICAgICBteSAkaGFzX21pbl92ZXJzaW9uID0KKyAgICAgICAgICAgIFBWRTo6SEE6OlRvb2xz OjpoYXNfbWluX3ZlcnNpb24oJG5vZGVfdmVyc2lvbiwgJEhBX1JVTEVTX01JTlZFUlNJT04pOwog ICAgICAgICBkaWUgIm5vZGUgJyRub2RlJyBuZWVkcyBhdCBsZWFzdCBwdmUtbWFuYWdlciB2ZXJz aW9uICckSEFfUlVMRVNfTUlOVkVSU0lPTidcbiIKICAgICAgICAgICAgIGlmICEkaGFzX21pbl92 ZXJzaW9uOwogICAgIH0KZGlmZiAtLWdpdCBhL3NyYy9QVkUvSEEvVG9vbHMucG0gYi9zcmMvUFZF L0hBL1Rvb2xzLnBtCmluZGV4IDcxZWI1ZDBiLi40N2I0YWEwMyAxMDA2NDQKLS0tIGEvc3JjL1BW RS9IQS9Ub29scy5wbQorKysgYi9zcmMvUFZFL0hBL1Rvb2xzLnBtCkBAIC0yMzcsNiArMjM3LDMz IEBAIHN1YiB1cGlkX3dhaXQgewogICAgIFBWRTo6UHJvY0ZTVG9vbHM6OnVwaWRfd2FpdCgkdXBp ZCwgJHdhaXRmdW5jLCA1KTsKIH0KIAorc3ViIGhhc19taW5fdmVyc2lvbiB7CisgICAgbXkgKCR2 ZXJzaW9uLCAkbWluX3ZlcnNpb24pID0gQF87CisKKyAgICBteSAkZ2V0X3ZlcnNpb25fcGFydHMg PSBzdWIgeworICAgICAgICBteSAoJHZlcnNpb25fc3RyKSA9IEBfOworCisgICAgICAgIHJldHVy biAkdmVyc2lvbl9zdHIgPX4gbS9eKFxkKylcLihcZCspKD86XC58LSkoXGQrKSg/On4oXGQrKSk/ LzsKKyAgICB9OworCisgICAgbXkgKCRtYWpvciwgJG1pbm9yLCAkcGF0Y2gsICRyZXYpID0gJGdl dF92ZXJzaW9uX3BhcnRzLT4oJHZlcnNpb24pOworICAgIG15ICgkbWluX21ham9yLCAkbWluX21p bm9yLCAkbWluX3BhdGNoLCAkbWluX3JldikgPSAkZ2V0X3ZlcnNpb25fcGFydHMtPigkbWluX3Zl cnNpb24pOworCisgICAgcmV0dXJuIDAgaWYgJG1ham9yIDwgJG1pbl9tYWpvcjsKKyAgICByZXR1 cm4gMCBpZiAkbWFqb3IgPT0gJG1pbl9tYWpvciAmJiAkbWlub3IgPCAkbWluX21pbm9yOworICAg IHJldHVybiAwIGlmICRtYWpvciA9PSAkbWluX21ham9yICYmICRtaW5vciA9PSAkbWluX21pbm9y ICYmICRwYXRjaCA8ICRtaW5fcGF0Y2g7CisKKyAgICAkbWluX3JldiAvLz0gMDsKKyAgICByZXR1 cm4gMAorICAgICAgICBpZiAkbWFqb3IgPT0gJG1pbl9tYWpvcgorICAgICAgICAmJiAkbWlub3Ig PT0gJG1pbl9taW5vcgorICAgICAgICAmJiAkcGF0Y2ggPT0gJG1pbl9wYXRjaAorICAgICAgICAm JiBkZWZpbmVkKCRyZXYpCisgICAgICAgICYmICRyZXYgPCAkbWluX3JldjsKKworICAgIHJldHVy biAxOworfQorCiAjIGJhc2ggYXV0byBjb21wbGV0aW9uIGhlbHBlcgogCiAjIE5PVEU6IHdlIHVz ZSBQVkU6OkhBOjpDb25maWcgaGVyZSB3aXRob3V0IGRlY2xhcmluZyBhbiAndXNlJyBjbGF1c2Ug YWJvdmUgYXMKLS0gCjIuNDcuMwoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpwdmUtZGV2ZWwgbWFpbGluZyBsaXN0CnB2ZS1kZXZlbEBsaXN0cy5wcm94 bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5m by9wdmUtZGV2ZWwK