diff --git management/univention-management-console-module-adtakeover/umc/python/adtakeover/takeover.py management/univention-management-console-module-adtakeover/umc/python/adtakeover/takeover.py index 4e6f766ff4..5d44862ef2 100644 --- management/univention-management-console-module-adtakeover/umc/python/adtakeover/takeover.py +++ management/univention-management-console-module-adtakeover/umc/python/adtakeover/takeover.py @@ -31,6 +31,8 @@ # /usr/share/common-licenses/AGPL-3; if not, see # . +import chardet +import codecs import os import re import sys @@ -1917,9 +1919,12 @@ def check_gpo_presence(): gpcversion = obj["versionNumber"][0] config = ConfigParser.ConfigParser() try: - with open(os.path.join(gpo_path, 'GPT.INI')) as f: + gpo_filepath = os.path.join(gpo_path, 'GPT.INI') + with open(gpo_filepath) as f: + encoding = chardet.detect(f.read())['encoding'] + with codecs.open(gpo_filepath, 'rb', encoding) as f: try: - config.readfp(f) + config.read_file(f) fileversion = config.get('General', 'version') if fileversion < gpcversion: log.error("File version %s of GPO %s is lower than GPO container versionNumber (%s)" % (fileversion, name, gpcversion))