Comment 12 for bug 1835968

Revision history for this message
Bryce Harrington (bryce) wrote :

Running the test case I ran into the same error Christian did, mentioned in comment #8, but after hacking on the testcase a bit (I don't know Ruby, but studying the code in /usr/lib/ruby/2.5.0/net/smtp.rb gave enough clues) I was able to reproduce:

$ ./testcase-ruby-ssl.rb
1
2
3
4
5
6
6.1Traceback (most recent call last):
 26: from ./testcase-ruby-ssl.rb:46:in `<main>'
 25: from /usr/lib/ruby/2.5.0/net/smtp.rb:519:in `start'
 24: from ./testcase-ruby-ssl.rb:48:in `block in <main>'
 23: from /usr/lib/ruby/2.5.0/net/smtp.rb:659:in `send_message'
 22: from /usr/lib/ruby/2.5.0/net/smtp.rb:854:in `rcptto_list'
 21: from /usr/lib/ruby/2.5.0/net/smtp.rb:659:in `block in send_message'
 20: from /usr/lib/ruby/2.5.0/net/smtp.rb:898:in `data'
 19: from /usr/lib/ruby/2.5.0/net/smtp.rb:960:in `critical'
 18: from /usr/lib/ruby/2.5.0/net/smtp.rb:904:in `block in data'
 17: from /usr/lib/ruby/2.5.0/net/protocol.rb:304:in `write_message'
 16: from /usr/lib/ruby/2.5.0/net/protocol.rb:224:in `writing'
 15: from /usr/lib/ruby/2.5.0/net/protocol.rb:305:in `block in write_message'
 14: from /usr/lib/ruby/2.5.0/net/protocol.rb:339:in `using_each_crlf_line'
 13: from /usr/lib/ruby/2.5.0/net/protocol.rb:306:in `block (2 levels) in write_message'
 12: from /usr/lib/ruby/2.5.0/net/protocol.rb:291:in `write_message_0'
 11: from /usr/lib/ruby/2.5.0/net/protocol.rb:350:in `each_crlf_line'
 10: from /usr/lib/ruby/2.5.0/net/protocol.rb:360:in `buffer_filling'
  9: from /usr/lib/ruby/2.5.0/net/protocol.rb:360:in `step'
  8: from /usr/lib/ruby/2.5.0/net/protocol.rb:362:in `block in buffer_filling'
  7: from /usr/lib/ruby/2.5.0/net/protocol.rb:352:in `block in each_crlf_line'
  6: from /usr/lib/ruby/2.5.0/net/protocol.rb:292:in `block in write_message_0'
  5: from /usr/lib/ruby/2.5.0/net/protocol.rb:233:in `write0'
  4: from /usr/lib/ruby/2.5.0/openssl/buffering.rb:338:in `write'
  3: from /usr/lib/ruby/2.5.0/openssl/buffering.rb:338:in `inject'
  2: from /usr/lib/ruby/2.5.0/openssl/buffering.rb:338:in `each'
  1: from /usr/lib/ruby/2.5.0/openssl/buffering.rb:339:in `block in write'
/usr/lib/ruby/2.5.0/openssl/buffering.rb:316:in `do_write': incompatible character encodings: ASCII-8BIT and UTF-8 (Encoding::CompatibilityError)

At least, this seems to match the original reported error string, so presumably it's a positive.

Next I'll start patch testing.