Your message dated Wed, 19 Apr 2017 09:12:00 +0000
with message-id <[email protected]>
and subject line Re: Bug#860593: unblock: reportbug/7.1.6
has caused the Debian Bug report #860593,
regarding unblock: reportbug/7.1.6
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
860593: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=860593
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: [email protected]
Usertags: unblock

Please unblock package reportbug

This upload fixes 2 crashes (one of which pinged by a RT member)

unblock reportbug/7.1.6

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64
 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.2.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru reportbug-7.1.5/debian/changelog reportbug-7.1.6/debian/changelog
--- reportbug-7.1.5/debian/changelog    2017-02-12 12:07:18.000000000 -0500
+++ reportbug-7.1.6/debian/changelog    2017-04-18 21:12:02.000000000 -0400
@@ -1,3 +1,15 @@
+reportbug (7.1.6) unstable; urgency=medium
+
+  * reportbug/utils.py
+    - wrap every command execution in a helper function to (eventually) decode
+      the command output, this will prevent non-UTF-8 output to crash 
reportbug;
+      patch by Nis Martensen; Closes: #857794
+  * reportbug/submit.py
+    - handle text attachments in different encodings, currently making 
reportbug
+      crash; patch by Nis Martensen; Follow up for #848729
+
+ -- Sandro Tosi <[email protected]>  Tue, 18 Apr 2017 21:12:02 -0400
+
 reportbug (7.1.5) unstable; urgency=medium
 
   * reportbug/utils.py
diff -Nru reportbug-7.1.5/reportbug/__init__.py 
reportbug-7.1.6/reportbug/__init__.py
--- reportbug-7.1.5/reportbug/__init__.py       2017-02-12 12:07:18.000000000 
-0500
+++ reportbug-7.1.6/reportbug/__init__.py       2017-04-18 21:12:02.000000000 
-0400
@@ -25,7 +25,7 @@
 __all__ = ['bugreport', 'utils', 'urlutils', 'checkbuildd', 'checkversions',
            'debbugs', 'exceptions', 'submit', 'tempfile']
 
-VERSION_NUMBER = "7.1.5"
+VERSION_NUMBER = "7.1.6"
 
 VERSION = "reportbug " + VERSION_NUMBER
 COPYRIGHT = VERSION + '\nCopyright (C) 1999-2008 Chris Lawrence 
<[email protected]>' + \
Binary files 
/tmp/1bRAXcxzCa/reportbug-7.1.5/reportbug/__pycache__/__init__.cpython-35.pyc 
and 
/tmp/snN27qW4Zs/reportbug-7.1.6/reportbug/__pycache__/__init__.cpython-35.pyc 
differ
Binary files 
/tmp/1bRAXcxzCa/reportbug-7.1.5/reportbug/__pycache__/utils.cpython-35.pyc and 
/tmp/snN27qW4Zs/reportbug-7.1.6/reportbug/__pycache__/utils.cpython-35.pyc 
differ
diff -Nru reportbug-7.1.5/reportbug/submit.py 
reportbug-7.1.6/reportbug/submit.py
--- reportbug-7.1.5/reportbug/submit.py 2017-02-12 12:07:18.000000000 -0500
+++ reportbug-7.1.6/reportbug/submit.py 2017-04-18 21:12:02.000000000 -0400
@@ -153,9 +153,15 @@
 
         maintype, subtype = ctype.split('/', 1)
         if maintype == 'text':
-            fp = open(attachment, 'rU')
-            part = MIMEText(fp.read())
-            fp.close()
+            try:
+                with open(attachment, 'rU') as fp:
+                    part = MIMEText(fp.read())
+            except UnicodeDecodeError:
+                fp = open(attachment, 'rb')
+                part = MIMEBase(maintype, subtype)
+                part.set_payload(fp.read())
+                fp.close()
+                email.encoders.encode_base64(part)
         elif maintype == 'message':
             fp = open(attachment, 'rb')
             part = MIMEMessage(email.message_from_file(fp),
diff -Nru reportbug-7.1.5/reportbug/utils.py reportbug-7.1.6/reportbug/utils.py
--- reportbug-7.1.5/reportbug/utils.py  2017-02-12 12:07:18.000000000 -0500
+++ reportbug-7.1.6/reportbug/utils.py  2017-04-18 21:12:02.000000000 -0400
@@ -180,6 +180,13 @@
     return (pipe, use_dlocate)
 
 
+def get_command_output(cmd):
+    use_shell = False
+    if isinstance(cmd, str) and ' ' in cmd:
+        use_shell = True
+    return subprocess.run(cmd, shell=use_shell, 
stdout=subprocess.PIPE).stdout.decode(errors='backslashreplace')
+
+
 def query_dpkg_for(filename, use_dlocate=True):
     try:
         x = os.getcwd()
@@ -353,10 +360,10 @@
 
     packarg = pipes.quote(package)
     if avail:
-        output = subprocess.getoutput(
+        output = get_command_output(
             "COLUMNS=79 dpkg --print-avail %s 2>/dev/null" % packarg)
     else:
-        output = subprocess.getoutput(
+        output = get_command_output(
             "COLUMNS=79 dpkg --status %s 2>/dev/null" % packarg)
 
     for line in output.split(os.linesep):
@@ -511,7 +518,7 @@
 
 
 def available_package_description(package):
-    data = subprocess.getoutput('apt-cache show ' + pipes.quote(package))
+    data = get_command_output('apt-cache show ' + pipes.quote(package))
     descre = re.compile('^Description(?:-.*)?: (.*)$')
     for line in data.split('\n'):
         m = descre.match(line)
@@ -523,7 +530,7 @@
 def get_source_name(package):
     packages = []
 
-    data = subprocess.getoutput('apt-cache showsrc ' + pipes.quote(package))
+    data = get_command_output('apt-cache showsrc ' + pipes.quote(package))
     packre = re.compile(r'^Package: (.*)$')
     for line in data.split('\n'):
         m = packre.match(line)
@@ -537,7 +544,7 @@
     retlist = []
     found = {}
 
-    data = subprocess.getoutput('apt-cache showsrc ' + pipes.quote(package))
+    data = get_command_output('apt-cache showsrc ' + pipes.quote(package))
     binre = re.compile(r'^Binary: (.*)$')
     for line in data.split('\n'):
         m = binre.match(line)
@@ -704,7 +711,7 @@
             confinfo[filename] = msg
             continue
 
-        filemd5 = subprocess.getoutput('md5sum ' + 
pipes.quote(filename)).split()[0]
+        filemd5 = get_command_output('md5sum ' + 
pipes.quote(filename)).split()[0]
         if filemd5 == md5sum:
             continue
 
@@ -732,7 +739,7 @@
 def get_debian_release_info():
     debvers = debinfo = verfile = warn = ''
     dists = []
-    output = subprocess.getoutput('apt-cache policy 2>/dev/null')
+    output = get_command_output('apt-cache policy 2>/dev/null')
     if output:
         mre = re.compile('\s+(\d+)\s+.*$\s+release\s.*o=(Ubuntu|Debian|Debian 
Ports),a=([^,]+),', re.MULTILINE)
         found = {}
@@ -776,11 +783,11 @@
 
 
 def lsb_release_info():
-    return subprocess.getoutput('lsb_release -a 2>/dev/null') + '\n'
+    return get_command_output('lsb_release -a 2>/dev/null') + '\n'
 
 
 def get_arch():
-    arch = subprocess.getoutput('COLUMNS=79 dpkg --print-architecture 
2>/dev/null')
+    arch = get_command_output('COLUMNS=79 dpkg --print-architecture 
2>/dev/null')
     if not arch:
         un = os.uname()
         arch = un[4]
@@ -791,7 +798,7 @@
 
 
 def get_multiarch():
-    out = subprocess.getoutput('COLUMNS=79 dpkg --print-foreign-architectures 
2>/dev/null')
+    out = get_command_output('COLUMNS=79 dpkg --print-foreign-architectures 
2>/dev/null')
     return ', '.join(out.splitlines())
 
 
Binary files 
/tmp/1bRAXcxzCa/reportbug-7.1.5/test/__pycache__/__init__.cpython-35.pyc and 
/tmp/snN27qW4Zs/reportbug-7.1.6/test/__pycache__/__init__.cpython-35.pyc differ
Binary files 
/tmp/1bRAXcxzCa/reportbug-7.1.5/test/__pycache__/test_bugreport.cpython-35.pyc 
and 
/tmp/snN27qW4Zs/reportbug-7.1.6/test/__pycache__/test_bugreport.cpython-35.pyc 
differ
Binary files 
/tmp/1bRAXcxzCa/reportbug-7.1.5/test/__pycache__/test_checkbuildd.cpython-35.pyc
 and 
/tmp/snN27qW4Zs/reportbug-7.1.6/test/__pycache__/test_checkbuildd.cpython-35.pyc
 differ
Binary files 
/tmp/1bRAXcxzCa/reportbug-7.1.5/test/__pycache__/test_checkversions.cpython-35.pyc
 and 
/tmp/snN27qW4Zs/reportbug-7.1.6/test/__pycache__/test_checkversions.cpython-35.pyc
 differ
Binary files 
/tmp/1bRAXcxzCa/reportbug-7.1.5/test/__pycache__/test_debbugs.cpython-35.pyc 
and 
/tmp/snN27qW4Zs/reportbug-7.1.6/test/__pycache__/test_debbugs.cpython-35.pyc 
differ
Binary files 
/tmp/1bRAXcxzCa/reportbug-7.1.5/test/__pycache__/test_exception.cpython-35.pyc 
and 
/tmp/snN27qW4Zs/reportbug-7.1.6/test/__pycache__/test_exception.cpython-35.pyc 
differ
Binary files 
/tmp/1bRAXcxzCa/reportbug-7.1.5/test/__pycache__/test_hiermatch.cpython-35.pyc 
and 
/tmp/snN27qW4Zs/reportbug-7.1.6/test/__pycache__/test_hiermatch.cpython-35.pyc 
differ
Binary files 
/tmp/1bRAXcxzCa/reportbug-7.1.5/test/__pycache__/test_tempfiles.cpython-35.pyc 
and 
/tmp/snN27qW4Zs/reportbug-7.1.6/test/__pycache__/test_tempfiles.cpython-35.pyc 
differ
Binary files 
/tmp/1bRAXcxzCa/reportbug-7.1.5/test/__pycache__/test_ui.cpython-35.pyc and 
/tmp/snN27qW4Zs/reportbug-7.1.6/test/__pycache__/test_ui.cpython-35.pyc differ
Binary files 
/tmp/1bRAXcxzCa/reportbug-7.1.5/test/__pycache__/test_ui_gtk2.cpython-35.pyc 
and 
/tmp/snN27qW4Zs/reportbug-7.1.6/test/__pycache__/test_ui_gtk2.cpython-35.pyc 
differ
Binary files 
/tmp/1bRAXcxzCa/reportbug-7.1.5/test/__pycache__/test_urlutils.cpython-35.pyc 
and 
/tmp/snN27qW4Zs/reportbug-7.1.6/test/__pycache__/test_urlutils.cpython-35.pyc 
differ
Binary files 
/tmp/1bRAXcxzCa/reportbug-7.1.5/test/__pycache__/test_utils.cpython-35.pyc and 
/tmp/snN27qW4Zs/reportbug-7.1.6/test/__pycache__/test_utils.cpython-35.pyc 
differ

--- End Message ---
--- Begin Message ---
Sandro Tosi:
> Package: release.debian.org
> Severity: normal
> User: [email protected]
> Usertags: unblock
> 
> Please unblock package reportbug
> 
> This upload fixes 2 crashes (one of which pinged by a RT member)
> 
> unblock reportbug/7.1.6
> 
> [...]

Unblocked, thanks. :)

~Niels

--- End Message ---

Reply via email to