From 7992ee0ffc6a546ae067c90dd3e56e7ded0ee436 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pavel=20K=C3=A1cha?= <ph@cesnet.cz>
Date: Tue, 26 Apr 2022 17:03:30 +0200
Subject: [PATCH] Fix Py3 suds compatibility

---
 warden_ra/warden_ra.py | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/warden_ra/warden_ra.py b/warden_ra/warden_ra.py
index 8d629f1..99fa15e 100755
--- a/warden_ra/warden_ra.py
+++ b/warden_ra/warden_ra.py
@@ -272,6 +272,14 @@ class EjbcaRegistry(OpenSSLRegistry):
         return self.ejbca.get_version()
 
 
+def relaxed_ord(c):
+    # Compatibility wrapper for py2/py3
+    try:
+        return ord(c)
+    except TypeError:
+        return c
+
+
 def format_cert(cert):
     return (
         "Subject:     %s\n"
@@ -283,7 +291,7 @@ def format_cert(cert):
         cert.get_subject().as_text(),
         cert.get_not_before().get_datetime().isoformat(),
         cert.get_not_after().get_datetime().isoformat(),
-        ":".join(["%02x" % ord(c) for c in struct.pack('!Q', cert.get_serial_number())]),
+        ":".join(["%02x" % relaxed_ord(c) for c in struct.pack('!Q', cert.get_serial_number())]),
         cert.get_fingerprint("md5"),
         cert.get_fingerprint("sha1"),
         cert.get_issuer().as_text()
-- 
GitLab