Subject: | Fatal flaw? Net::POP3 incompatible with IO::Socket::SSL |
Date: | Tue, 15 Jan 2013 11:51:27 -0800 |
To: | bug-Net-POP3-SSLWrapper [...] rt.cpan.org |
From: | Joe Pallas <joseph.pallas [...] oracle.com> |
This problem was found using version 0.04 with perl v5.10.1 running on multiple platforms (Solaris 10, Solaris 11, RedHat EL5, RedHat EL6).
The problem manifests as a hang and timeout while retrieving messages. I found a message at <http://www.perlmonks.org/bare/?node_id=451080> which seems to describe the underlying problem. Net::POP3 uses Net::Cmd, and Net::Cmd uses sysread and select just like the code in the message cited.
It looks like transparently replacing the socket used by Net::Cmd with an IO::Socket::SSL socket causes problems because of buffering at the SSL layer.
I don't see any simple way to work around this. The message I found called for changing the buffer size, but the buffer size used by Net::Cmd does not seem to be adjustable.
joe