[Reportbug-maint] Bug#736214: reportbug: SMTP transmission issues can cause complete loss of bug report

Matthew Hall mhall at mhcomputing.net
Tue Jan 21 05:11:28 UTC 2014

Package: reportbug
Version: 6.4.4
Severity: grave


I am marking this as more severe than normal because it causes data loss.

1) The right way to specify the SMTP port number is not documented. I had to 
use search engines to figure out that you should use host:port during the 
setup wizard.

2) The bug reports are not stashed in a temporary file before SMTP 
transmission is attempted. reportbug does not reread its configuration in 
between SMTP attempts. Thus if an error is discovered and corrected, it must 
be interrupted with Ctrl-C and restarted.

Since this is not handled, the bug report is completely lost. Successfully 
written, and/or intermediate bug reports should be stashed somewhere so they 
can be used to recover from a failure without completely losing a user's hard 
work, just as they are in almost all popular mail clients (mutt, kmail, Gmail 
Drafts, etc.).

Entering Ctrl-C at later points in the process, when the bug report has been 
written by the user, should not be able to cause complete data loss.

3) There is a bug in the SMTP authentication user ID and password handling, 
which can cause the bug report to be completely lost. A Python exception base 
class of some sort should be caught if it occurs during SMTP transmission, and 
then it should be logged, and eligible for a retransmission.

Traceback (most recent call last):
  File "/usr/bin/reportbug", line 2206, in <module>
  File "/usr/bin/reportbug", line 1080, in main
    return iface.user_interface()
  File "/usr/bin/reportbug", line 2198, in user_interface
  File "/usr/lib/pymodules/python2.7/reportbug/submit.py", line 384, in send_report
    conn.login(smtpuser, smtppasswd)
  File "/usr/lib/python2.7/smtplib.py", line 600, in login
    (code, resp) = self.docmd(encode_cram_md5(resp, user, password))
  File "/usr/lib/python2.7/smtplib.py", line 563, in encode_cram_md5
    challenge = base64.decodestring(challenge)
  File "/usr/lib/python2.7/base64.py", line 321, in decodestring
    return binascii.a2b_base64(s)
binascii.Error: Incorrect padding


-- Package-specific info:
** Environment settings:

** /home/mhall/.reportbugrc:
reportbug_version "6.4"
mode advanced
ui text
email "mhall at mhcomputing.net"
smtphost "mail.mhcomputing.net:587"
smtpuser "mhall"

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

Kernel: Linux 3.10.24 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages reportbug depends on:
ii  apt     
ii  python            2.7.5-5
ii  python-reportbug  6.4.4

reportbug recommends no packages.

Versions of packages reportbug suggests:
pn  claws-mail                               <none>
pn  debconf-utils                            <none>
pn  debsums                                  <none>
pn  dlocate                                  <none>
pn  emacs22-bin-common | emacs23-bin-common  <none>
ii  file                                     1:5.14-2
ii  gnupg                                    1.4.16-1
ii  postfix [mail-transport-agent]           2.10.2-1
ii  python-gtk2                              2.24.0-3+b1
pn  python-gtkspell                          <none>
pn  python-urwid                             <none>
pn  python-vte                               <none>
ii  xdg-utils                                1.1.0~rc1+git20111210-7

Versions of packages python-reportbug depends on:
ii  apt     
ii  python            2.7.5-5
ii  python-debian     0.1.21+nmu2
ii  python-debianbts  1.11
ii  python-support    1.0.15

python-reportbug suggests no packages.

-- no debconf information

More information about the Reportbug-maint mailing list