perlemailsslsmtpbugzilla

Failed AUTH: Must issue a STARTTLS command first


I cannot for the life of me figure out how to setup Bugzilla to send email using TLS. I got the Bugzilla site running, however, when I try to change my Bugzilla account email, the system fails with the following (I setup my email parameters to use my Amazon AWS email server):

An unexpected error occurred. This could be a temporary problem, or some code is behaving incorrectly. If this problem persists, please email this page to ...@.....com with details of what you were doing at the time this message appeared.

URL: http://example.com/userprefs.cgi?new_password1=&new_password2=&tab=account&old_login=jdoe%40example.com&realname=John%20Doe&new_login_name=johndoe422%40example.net&dosave=1&token=...&old_password=...

There was an error sending mail from 'bugzilla@example.com' to 'johndoe422@example.com': failed AUTH: Must issue a STARTTLS command first

Traceback:

at Bugzilla/Mailer.pm line 186.
Bugzilla::Mailer::MessageToMTA(...) called at Bugzilla/Token.pm line 116
Bugzilla::Token::IssueEmailChangeToken(...) called at /srv/www/bugzilla/userprefs.cgi line 120
main::SaveAccount(...) called at /srv/www/bugzilla/userprefs.cgi line 608

So I proceeded to try to fix this problem by following the instructions in: Bugzilla Alerts Using Gmail

I managed to install the Email::Send::SMTP::TLS module using cpanm (Not sure why I just cannot install any module via CPAN at all), after installation, the SMTP::TLS option does not appear in the drop-down. I just ignored it and continue to update Mailer.pm as instructed.

After that, when I refresh my bugzilla page, I get the following error:

Software error:

Global symbol "@args" requires explicit package name at Bugzilla/Mailer.pm line 138.
Global symbol "@args" requires explicit package name at Bugzilla/Mailer.pm line 144.
Compilation failed in require at Bugzilla/Auth.pm line 22.
BEGIN failed--compilation aborted at Bugzilla/Auth.pm line 22.
Compilation failed in require at Bugzilla.pm line 23.
BEGIN failed--compilation aborted at Bugzilla.pm line 23.
Compilation failed in require at /srv/www/bugzilla/editparams.cgi line 15.
BEGIN failed--compilation aborted at /srv/www/bugzilla/editparams.cgi line 15.
For help, please send mail to this site's webmaster, giving this error message and the time and date of the error.

I've read that perhaps it is because Email::Send::SMTP::TLS requires Net::SSLeay package. So I proceed to try to install it using cpanm. However, cpanm fails with the following log:

23 *** Found OpenSSL-1.0.1f installed in /usr
 24 *** Be sure to use the same compiler and options to compile your OpenSSL, perl,
 25     and Net::SSLeay. Mixing and matching compilers is not supported.
 26 Do you want to run external tests?
 27 These tests *will* *fail* if you do not have network connectivity. [n] n
 28 Checking if your kit is complete...
 29 Looks good
 30 Generating a Unix-style Makefile
 31 Writing Makefile for Net::SSLeay
 32 Writing MYMETA.yml and MYMETA.json
 33 -> OK
 34 Checking dependencies from MYMETA.json ...
 35 Checking if you have Test::More 0.60_01 ... Yes (1.001014)
 36 Checking if you have MIME::Base64 0 ... Yes (3.13)
 37 Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.10)
 38 Building and testing Net-SSLeay-1.72
 39 cp lib/Net/SSLeay.pm blib/lib/Net/SSLeay.pm
 40 AutoSplitting blib/lib/Net/SSLeay.pm (blib/lib/auto/Net/SSLeay)
 41 blib/lib/Net/SSLeay.pm: some names are not unique when truncated to 8 characters:
 42  directory blib/lib/auto/Net/SSLeay:
 43   do_https3.al, do_https2.al, do_https4.al, do_https.al truncate to do_https
 44   do_httpx3.al, do_httpx2.al, do_httpx4.al truncate to do_httpx
 45   get_https.al, get_https3.al, get_https4.al, get_http.al, get_http3.al, get_http4.al, get_httpx.al, get_httpx3.al, get_httpx4.al truncate to get_http
 46   head_https.al, head_https3.al, head_https4.al, head_http.al, head_http3.al, head_http4.al, head_httpx.al, head_httpx3.al, head_httpx4.al truncate to head_htt
 47   post_https.al, post_https3.al, post_https4.al, post_http.al, post_http3.al, post_http4.al, post_httpx.al, post_httpx3.al, post_httpx4.al truncate to post_htt
 48   put_https.al, put_https3.al, put_https4.al, put_http.al, put_http3.al, put_http4.al, put_httpx.al, put_httpx3.al, put_httpx4.al truncate to put_http
 49   ssl_read_all.al, ssl_read_until.al, ssl_read_CRLF.al truncate to ssl_read
 50   ssl_write_all.al, ssl_write_CRLF.al truncate to ssl_writ
 51   tcp_read_all.al, tcp_read_until.al, tcp_read_CRLF.al truncate to tcp_read
 52   tcp_write_all.al, tcp_write_CRLF.al truncate to tcp_writ
 53 cp lib/Net/SSLeay/Handle.pm blib/lib/Net/SSLeay/Handle.pm
 54 cp lib/Net/SSLeay.pod blib/lib/Net/SSLeay.pod
 55 Running Mkbootstrap for Net::SSLeay ()
 56 chmod 644 "SSLeay.bs"
 57 "/usr/bin/perl" "-Iinc" "/usr/share/perl/5.18/ExtUtils/xsubpp"  -typemap "/usr/share/perl/5.18/ExtUtils/typemap" -typemap "typemap"  SSLeay.xs > SSLeay.xsc && mv SSLeay.xsc SSL    eay.c
 58 cc -c  -I/usr/include -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g       -DVERSION=\"1.72\" -DXS_VERSION=\"1.72\" -fPIC "-I/usr/lib/perl/5.18/CORE"   SSLeay.c
 59 {standard input}: Assembler messages:
 60 {standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
 61 cc: internal compiler error: Killed (program cc1)
 62 Please submit a full bug report,
 63 with preprocessed source if appropriate.
 64 See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
 65 make: *** [SSLeay.o] Error 4
 66 -> FAIL Installing Net::SSLeay failed. See /home/ubuntu/.cpanm/work/1443609644.32449/build.log for details. Retry with --force to force install it.

I do not know perl and cannot figure out why I'm getting errors left and right. I read in many places that I can simply install all available packages using command like:

/usr/bin/perl install-module.pl --all

However, this command does not work for me. (I can't install any modules using CPAN at all, not sure why) It pretty much just does nothing for me. This is the output I get when execute install-module.pl:

ubuntu@ip-10-130-10-107:/srv/www/bugzilla$ sudo /usr/bin/perl install-module.pl --all
Checking for                 CPAN (v1.81)     ok: found v2.10
Checking for                 YAML (any)       ok: found v1.15
Checking for   ExtUtils-MakeMaker (v6.31)     ok: found v7.1
defined(@array) is deprecated at /usr/share/perl5/Chart/Base.pm line 181.
        (Maybe you should just omit the defined()?)
defined(@array) is deprecated at /usr/share/perl5/Chart/Base.pm line 233.
        (Maybe you should just omit the defined()?)
Reading '/home/ubuntu/.cpan/Metadata'
Fetching with LWP:
http://cpan.mirror.vexxhost.com/authors/01mailrc.txt.gz
Reading '/home/ubuntu/.cpan/source/authors/01mailrc.txt.gz'
............................................................................DONE
Fetching with LWP:
http://cpan.mirror.vexxhost.com/modules/02packages.details.txt.gz
Reading '/home/ubuntu/.cpan/source/modules/02packages.details.txt.gz'
  Database was generated on Wed, 30 Sep 2015 09:53:42 GMT
..........ubuntu@ip-10-130-10-107:/srv/www/bugzilla$

I'm not sure why things just don't work for me. Do I have a faulty perl installation or what? Can some perl guru please help?

Thanks!


Solution

  • Solved the issue by killing my Bugzilla installation (5.0.1) and completely re-install an older version (4.4.10). Things just worked with the previous version.