From 04b673587dfd21e541e3702a016e48addeb6308c Mon Sep 17 00:00:00 2001 From: Maurus Decimus <11444311+mdecimus@users.noreply.github.com> Date: Tue, 21 Apr 2026 16:28:24 +0200 Subject: [PATCH] Fix base64 padding error in migration script --- resources/scripts/migrate_v016.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/resources/scripts/migrate_v016.py b/resources/scripts/migrate_v016.py index fd6b5977..39120759 100644 --- a/resources/scripts/migrate_v016.py +++ b/resources/scripts/migrate_v016.py @@ -1463,11 +1463,17 @@ class Converter: blob_b64 = sub.get("cert", "").strip() if not blob_b64: continue - try: - blob = base64.b64decode(blob_b64).decode("latin-1") - except Exception as exc: + padded = blob_b64 + "=" * (-len(blob_b64) % 4) + blob = None + for decoder in (base64.b64decode, base64.urlsafe_b64decode): + try: + blob = decoder(padded).decode("latin-1") + break + except Exception as exc: + last_err = exc + if blob is None: print( - f"warning: skipping acme.{sid}: base64 decode failed: {exc}", + f"warning: skipping acme.{sid}: base64 decode failed: {last_err}", file=sys.stderr, ) continue