Defect #31834

redmine:email:receive_imap broken with ruby < 1.6.3 and Google Imap

Added by Francesco Moro 3 months ago.

Status:NewStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:Email receiving
Target version:-
Resolution: Affected version:4.0.4

Description

Hello,

referring to this message I opened in the forum
http://www.redmine.org/boards/2/topics/57726

Hello,

I'm on the latest Redmine 4.0.4 on my Ubuntu 18.04;
Rails 5.2.3
Ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]
Apache/2.4.29 (Ubuntu)
Phusion Passenger 5.0.30

Since a couple of days I've always used to generate new Issues from email, fetching from several gsuite (gmail) accounts.
Here is a sample of one of my many crons:

/8 * * * * /usr/local/bin/rake -f /usr/share/redmine/Rakefile redmine:email:receive_imap RAILS_ENV="production" host=imap.gmail.com port=993 username=my_email@mydomain.com password=my_password ssl=1 folder=issues_folder project=my_project priority=Normal tracker=MyTracker move_on_success=read move_on_failure=failed unknown_user=create default_group=default_group no_permission_check=1

It has been working since a couple of years but starting from Wednesday (probably) it stopped.
Here is the error I get with a --trace:

** Invoke redmine:email:receive_imap (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute redmine:email:receive_imap
rake aborted!
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=error: certificate verify failed (self signed certificate)
/usr/lib/ruby/2.5.0/net/protocol.rb:44:in `connect_nonblock'
/usr/lib/ruby/2.5.0/net/protocol.rb:44:in `ssl_socket_connect'
/usr/lib/ruby/2.5.0/net/imap.rb:1531:in `start_tls_session'
/usr/lib/ruby/2.5.0/net/imap.rb:1092:in `initialize'
/usr/share/redmine-4.0.4/lib/redmine/imap.rb:30:in `new'
/usr/share/redmine-4.0.4/lib/redmine/imap.rb:30:in `check'
/usr/share/redmine-4.0.4/lib/tasks/email.rake:121:in `block (4 levels) in <top (required)>'
/usr/share/redmine-4.0.4/app/models/mailer.rb:612:in `with_synched_deliveries'
/usr/share/redmine-4.0.4/lib/tasks/email.rake:120:in `block (3 levels) in <top (required)>'
/var/lib/gems/2.5.0/gems/rake-12.3.3/lib/rake/task.rb:273:in `block in execute'
/var/lib/gems/2.5.0/gems/rake-12.3.3/lib/rake/task.rb:273:in `each'
/var/lib/gems/2.5.0/gems/rake-12.3.3/lib/rake/task.rb:273:in `execute'
/var/lib/gems/2.5.0/gems/rake-12.3.3/lib/rake/task.rb:214:in `block in invoke_with_call_chain'
/usr/lib/ruby/2.5.0/monitor.rb:226:in `mon_synchronize'
/var/lib/gems/2.5.0/gems/rake-12.3.3/lib/rake/task.rb:194:in `invoke_with_call_chain'
/var/lib/gems/2.5.0/gems/rake-12.3.3/lib/rake/task.rb:183:in `invoke'
/var/lib/gems/2.5.0/gems/rake-12.3.3/lib/rake/application.rb:160:in `invoke_task'
/var/lib/gems/2.5.0/gems/rake-12.3.3/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/var/lib/gems/2.5.0/gems/rake-12.3.3/lib/rake/application.rb:116:in `each'
/var/lib/gems/2.5.0/gems/rake-12.3.3/lib/rake/application.rb:116:in `block in top_level'
/var/lib/gems/2.5.0/gems/rake-12.3.3/lib/rake/application.rb:125:in `run_with_threads'
/var/lib/gems/2.5.0/gems/rake-12.3.3/lib/rake/application.rb:110:in `top_level'
/var/lib/gems/2.5.0/gems/rake-12.3.3/lib/rake/application.rb:83:in `block in run'
/var/lib/gems/2.5.0/gems/rake-12.3.3/lib/rake/application.rb:186:in `standard_exception_handling'
/var/lib/gems/2.5.0/gems/rake-12.3.3/lib/rake/application.rb:80:in `run'
/var/lib/gems/2.5.0/gems/rake-12.3.3/exe/rake:27:in `<top (required)>'
/usr/local/bin/rake:23:in `load'
/usr/local/bin/rake:23:in `<main>'
Tasks: TOP => redmine:email:receive_imap

I found out the problem has been patched in ruby 1.6.3
https://github.com/ruby/openssl/issues/238

maybe redmine should be "fixed"? In my ubuntu 18.04 I needed a manual patch (ruby 2.6.3 not available as update, and I did not want to install it manually)

if you need further information just ask.
thank you

Also available in: Atom PDF