I've faced a bug when a dot at the beginning of the line was duplicated.
That was caused by this line in SmtpServer#process_data_line:
ln.slice!(0...1) if ln == 46
In 1.8 String# indeed returns a character code, but for 1.9 it simply returns a character (String#getbyte can be used instead)
For compatibility with 1.8.7 String#start_with? used instead
String#ord used instead of String#start_with?
Very good point and 100% right. Unfortunatelly EM developers will ignore your good pull request (as they do always, this project is just DEAD).
Please, could you send the pull request to EventMachine-LE instead?:
in 1.9 String# returns character not a character code
This pull request fails (merged 83f9e90 into 9473a1b).
ruby 1.9 compat in smtpserver (fixes #349)
in 1.9 String# returns character not a character code (copied from e…