diff mbox series

UnicodeDecodeError: utf-8 on python semanage -i import

Message ID CAEeCnGzRMiiDZKaDgnX_dqpeK5rM=aO5zBZ6frWJT4WQj5cVEQ@mail.gmail.com (mailing list archive)
State New
Delegated to: Petr Lautrbach
Headers show
Series UnicodeDecodeError: utf-8 on python semanage -i import | expand

Commit Message

Allan Oepping July 1, 2024, 5:18 p.m. UTC
Importing a .pp file with the python semanage -i option generates a
"UnicodeDecodeError: utf-8" on an up to date Rocky 9 distribution.

packages:

policycoreutils-python-utils-3.6-2.1.el9.noarch
python-unversioned-command-3.9.18-3.el9.noarch

The open() in SetImportFile needs the binary "b" option to open the file in
binary mode, as the .pp file is not in utf-8 format:


patch also attached.

Thanks,

Allan Oepping
diff mbox series

Patch

--- /semanage~	2024-07-01 10:29:20.000000000 -0600
+++ /semanage	2024-07-01 10:54:30.520312298 -0600
@@ -122,11 +122,11 @@ 
 class SetImportFile(argparse.Action):
 
     def __call__(self, parser, namespace, values, option_string=None):
         if values and values != "-":
             try:
-                sys.stdin = open(values, 'r')
+                sys.stdin = open(values, 'rb')
             except IOError as e:
                 sys.stderr.write("%s: %s\n" % (e.__class__.__name__, str(e)))
                 sys.exit(1)
         setattr(namespace, self.dest, values)