From: pdahorek@... Date: 2018-11-19T10:52:42+00:00 Subject: [ruby-core:89872] [Ruby trunk Bug#15318] net/imap socket backward compatibility broken in ruby 2.5+ Issue #15318 has been updated by ahorek (Pavel Rosick��). ok, IMAP uses Socket.tcp instead of TCPSocket, so if you patch TCPSocket directly it won't work anymore. the intention was to get rid of Timeout.timeout {} and make these libraries fully async there are simmilar pending changes for POP3 and other protocols: https://bugs.ruby-lang.org/issues/12928 https://bugs.ruby-lang.org/issues/12435 I think the main blocker is that getaddrinfo isn't async and resolv.rb is much slower. ---------------------------------------- Bug #15318: net/imap socket backward compatibility broken in ruby 2.5+ https://bugs.ruby-lang.org/issues/15318#change-74937 * Author: karis10 (bug reporter) * Status: Feedback * Priority: Normal * Assignee: shugo (Shugo Maeda) * Target version: * ruby -v: * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN ---------------------------------------- Hi, I use net/pop and net/imap libraries and sometimes I need my pop/imap connections to be socksified or proxified (through TCPSocket initialize method modifications: https://github.com/Shopify/socksify-ruby). Upgrading to ruby 2.5.3 from 2.4.4 I've found that TCPSocket interface was changed in favor of raw sockets by this patch: https://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/58549/diff/lib/net/imap.rb the reason was this issue: https://bugs.ruby-lang.org/issues/13379 And after migrating from 2.4.4 to 2.5.3 and a bit of debugging I've found that standard library behavior was internally _silently_ broken. In 2.5.3 net/pop library still can be normally proxified, but not net/imap. -- https://bugs.ruby-lang.org/ Unsubscribe: