From 8b74cf89795ad9f90781e324013247e151e49e97 Mon Sep 17 00:00:00 2001 From: Mike McLean Date: May 20 2020 14:55:45 +0000 Subject: [PATCH 1/2] don't decode signature headers Fixes https://pagure.io/koji/issue/2221 some headers, like sigmd5, are inherently binary --- diff --git a/koji/__init__.py b/koji/__init__.py index 27536b2..7f2df8b 100644 --- a/koji/__init__.py +++ b/koji/__init__.py @@ -1012,6 +1012,11 @@ def get_header_field(hdr, name, src_arch=False): # no such header pass + # some string results are binary and should not be decoded + if name.startswith('SIG'): + return result + + # otherwise we decode any strings return _decode_item(result) From 805f961c196d9f0eaedd0921a430d286abcb8c1c Mon Sep 17 00:00:00 2001 From: Mike McLean Date: May 20 2020 16:59:47 +0000 Subject: [PATCH 2/2] clarify reason for decoding in comment --- diff --git a/koji/__init__.py b/koji/__init__.py index 7f2df8b..fb99e37 100644 --- a/koji/__init__.py +++ b/koji/__init__.py @@ -1016,7 +1016,8 @@ def get_header_field(hdr, name, src_arch=False): if name.startswith('SIG'): return result - # otherwise we decode any strings + # Some older versions of rpm return string header values as bytes. Newer + # versions return strings, so this is a workaround for those older versions return _decode_item(result)