diff --git a/management/univention-directory-manager-modules/modules/univention/admin/syntax.py b/management/univention-directory-manager-modules/modules/univention/admin/syntax.py index 0e7fd0d..ef8695e 100644 --- a/management/univention-directory-manager-modules/modules/univention/admin/syntax.py +++ b/management/univention-directory-manager-modules/modules/univention/admin/syntax.py @@ -453,7 +453,15 @@ def tostring(self, value): @classmethod def parse(self, text): try: - raw = base64.b64decode(text) + try: + raw = base64.b64decode(text) + except (base64.binascii.Error, ValueError, TypeError): # already binary data + raw = text + if isinstance(raw, unicode): + try: + raw = raw.encode('latin1') + except UnicodeEncodeError: + raw = raw.encode('utf-8') if imghdr.what(None, raw) == 'png': # convert from PNG to JPEG try: