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 A8F3F1FF15C for ; Fri, 14 Nov 2025 12:18:26 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 0EB28F5FF; Fri, 14 Nov 2025 12:18:44 +0100 (CET) From: Daniel Kral To: pve-devel@lists.proxmox.com Date: Fri, 14 Nov 2025 12:17:12 +0100 Message-ID: <20251114111828.160294-15-d.kral@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251114111828.160294-1-d.kral@proxmox.com> References: <20251114111828.160294-1-d.kral@proxmox.com> MIME-Version: 1.0 X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1763119087742 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.016 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 v4 14/21] 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 IHNyYy9QVkUvSEEvTWFuYWdlci5wbSB8IDMwICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQogc3JjL1BWRS9IQS9Ub29scy5wbSAgIHwgMjcgKysrKysrKysrKysrKysrKysrKysrKysrKysr CiAyIGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3NyYy9QVkUvSEEvTWFuYWdlci5wbSBiL3NyYy9QVkUvSEEvTWFuYWdlci5wbQpp bmRleCBlMTdlMzIwOS4uMzYwZWE4Y2IgMTAwNjQ0Ci0tLSBhL3NyYy9QVkUvSEEvTWFuYWdlci5w bQorKysgYi9zcmMvUFZFL0hBL01hbmFnZXIucG0KQEAgLTUxMSwzMyArNTExLDYgQEAgbXkgJGhh dmVfZ3JvdXBzX2JlZW5fbWlncmF0ZWQgPSBzdWIgewogICAgIHJldHVybiBrZXlzICRncm91cHMt PntpZHN9LT4lKiA8IDE7CiB9OwogCi1teSAkZ2V0X3ZlcnNpb25fcGFydHMgPSBzdWIgewotICAg IG15ICgkbm9kZV92ZXJzaW9uKSA9IEBfOwotCi0gICAgcmV0dXJuICRub2RlX3ZlcnNpb24gPX4g bS9eKFxkKylcLihcZCspKD86XC58LSkoXGQrKSg/On4oXGQrKSk/LzsKLX07Ci0KLW15ICRoYXNf bm9kZV9taW5fdmVyc2lvbiA9IHN1YiB7Ci0gICAgbXkgKCRub2RlX3ZlcnNpb24sICRtaW5fdmVy c2lvbikgPSBAXzsKLQotICAgIG15ICgkbWFqb3IsICRtaW5vciwgJHBhdGNoLCAkcmV2KSA9ICRn ZXRfdmVyc2lvbl9wYXJ0cy0+KCRub2RlX3ZlcnNpb24pOwotICAgIG15ICgkbWluX21ham9yLCAk bWluX21pbm9yLCAkbWluX3BhdGNoLCAkbWluX3JldikgPSAkZ2V0X3ZlcnNpb25fcGFydHMtPigk bWluX3ZlcnNpb24pOwotCi0gICAgcmV0dXJuIDAgaWYgJG1ham9yIDwgJG1pbl9tYWpvcjsKLSAg ICByZXR1cm4gMCBpZiAkbWFqb3IgPT0gJG1pbl9tYWpvciAmJiAkbWlub3IgPCAkbWluX21pbm9y OwotICAgIHJldHVybiAwIGlmICRtYWpvciA9PSAkbWluX21ham9yICYmICRtaW5vciA9PSAkbWlu X21pbm9yICYmICRwYXRjaCA8ICRtaW5fcGF0Y2g7Ci0KLSAgICAkbWluX3JldiAvLz0gMDsKLSAg ICByZXR1cm4gMAotICAgICAgICBpZiAkbWFqb3IgPT0gJG1pbl9tYWpvcgotICAgICAgICAmJiAk bWlub3IgPT0gJG1pbl9taW5vcgotICAgICAgICAmJiAkcGF0Y2ggPT0gJG1pbl9wYXRjaAotICAg ICAgICAmJiBkZWZpbmVkKCRyZXYpCi0gICAgICAgICYmICRyZXYgPCAkbWluX3JldjsKLQotICAg IHJldHVybiAxOwotfTsKLQogbXkgJGlzX2xybV9hY3RpdmVfb3JfaWRsZSA9IHN1YiB7CiAgICAg bXkgKCRzcywgJG5vZGUsICRscm1fc3RhdGUpID0gQF87CiAKQEAgLTU5NCw3ICs1NjcsOCBAQCBt eSAkYXNzZXJ0X2NsdXN0ZXJfY2FuX21pZ3JhdGVfaGFfZ3JvdXBzID0gc3ViIHsKICAgICAgICAg JGhhZW52LT5sb2coCiAgICAgICAgICAgICAnbm90aWNlJywgImhhIGdyb3VwcyBtaWdyYXRpb246 IG5vZGUgJyRub2RlJyBoYXMgdmVyc2lvbiAnJG5vZGVfdmVyc2lvbiciLAogICAgICAgICApOwot ICAgICAgICBteSAkaGFzX21pbl92ZXJzaW9uID0gJGhhc19ub2RlX21pbl92ZXJzaW9uLT4oJG5v ZGVfdmVyc2lvbiwgJEhBX1JVTEVTX01JTlZFUlNJT04pOworICAgICAgICBteSAkaGFzX21pbl92 ZXJzaW9uID0KKyAgICAgICAgICAgIFBWRTo6SEE6OlRvb2xzOjpoYXNfbWluX3ZlcnNpb24oJG5v ZGVfdmVyc2lvbiwgJEhBX1JVTEVTX01JTlZFUlNJT04pOwogICAgICAgICBkaWUgIm5vZGUgJyRu b2RlJyBuZWVkcyBhdCBsZWFzdCBwdmUtbWFuYWdlciB2ZXJzaW9uICckSEFfUlVMRVNfTUlOVkVS U0lPTidcbiIKICAgICAgICAgICAgIGlmICEkaGFzX21pbl92ZXJzaW9uOwogICAgIH0KZGlmZiAt LWdpdCBhL3NyYy9QVkUvSEEvVG9vbHMucG0gYi9zcmMvUFZFL0hBL1Rvb2xzLnBtCmluZGV4IDcx ZWI1ZDBiLi40N2I0YWEwMyAxMDA2NDQKLS0tIGEvc3JjL1BWRS9IQS9Ub29scy5wbQorKysgYi9z cmMvUFZFL0hBL1Rvb2xzLnBtCkBAIC0yMzcsNiArMjM3LDMzIEBAIHN1YiB1cGlkX3dhaXQgewog ICAgIFBWRTo6UHJvY0ZTVG9vbHM6OnVwaWRfd2FpdCgkdXBpZCwgJHdhaXRmdW5jLCA1KTsKIH0K IAorc3ViIGhhc19taW5fdmVyc2lvbiB7CisgICAgbXkgKCR2ZXJzaW9uLCAkbWluX3ZlcnNpb24p ID0gQF87CisKKyAgICBteSAkZ2V0X3ZlcnNpb25fcGFydHMgPSBzdWIgeworICAgICAgICBteSAo JHZlcnNpb25fc3RyKSA9IEBfOworCisgICAgICAgIHJldHVybiAkdmVyc2lvbl9zdHIgPX4gbS9e KFxkKylcLihcZCspKD86XC58LSkoXGQrKSg/On4oXGQrKSk/LzsKKyAgICB9OworCisgICAgbXkg KCRtYWpvciwgJG1pbm9yLCAkcGF0Y2gsICRyZXYpID0gJGdldF92ZXJzaW9uX3BhcnRzLT4oJHZl cnNpb24pOworICAgIG15ICgkbWluX21ham9yLCAkbWluX21pbm9yLCAkbWluX3BhdGNoLCAkbWlu X3JldikgPSAkZ2V0X3ZlcnNpb25fcGFydHMtPigkbWluX3ZlcnNpb24pOworCisgICAgcmV0dXJu IDAgaWYgJG1ham9yIDwgJG1pbl9tYWpvcjsKKyAgICByZXR1cm4gMCBpZiAkbWFqb3IgPT0gJG1p bl9tYWpvciAmJiAkbWlub3IgPCAkbWluX21pbm9yOworICAgIHJldHVybiAwIGlmICRtYWpvciA9 PSAkbWluX21ham9yICYmICRtaW5vciA9PSAkbWluX21pbm9yICYmICRwYXRjaCA8ICRtaW5fcGF0 Y2g7CisKKyAgICAkbWluX3JldiAvLz0gMDsKKyAgICByZXR1cm4gMAorICAgICAgICBpZiAkbWFq b3IgPT0gJG1pbl9tYWpvcgorICAgICAgICAmJiAkbWlub3IgPT0gJG1pbl9taW5vcgorICAgICAg ICAmJiAkcGF0Y2ggPT0gJG1pbl9wYXRjaAorICAgICAgICAmJiBkZWZpbmVkKCRyZXYpCisgICAg ICAgICYmICRyZXYgPCAkbWluX3JldjsKKworICAgIHJldHVybiAxOworfQorCiAjIGJhc2ggYXV0 byBjb21wbGV0aW9uIGhlbHBlcgogCiAjIE5PVEU6IHdlIHVzZSBQVkU6OkhBOjpDb25maWcgaGVy ZSB3aXRob3V0IGRlY2xhcmluZyBhbiAndXNlJyBjbGF1c2UgYWJvdmUgYXMKLS0gCjIuNDcuMwoK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwdmUtZGV2 ZWwgbWFpbGluZyBsaXN0CnB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3Rz LnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wdmUtZGV2ZWwK