Skip Menu |

This queue is for tickets about the libnet CPAN distribution.

Report information
The Basics
Id: 110617
Status: open
Priority: 0/
Queue: libnet

People
Owner: Nobody in particular
Requestors: dagolden [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Does not account for SSL-specific socket behaviors
IO::Socket::SSL can't be used as a drop in replacement for a socket. There are at least the following issues to consider: * selecting to read could block even though there is data already available from a previous SSL frame * SSL could renegotiate, interrupting operations I suggest reading https://metacpan.org/pod/distribution/IO-Socket-SSL/lib/IO/Socket/SSL.pod#Common-Usage-Errors You may wish to see how HTTP::Tiny deals with these issues: * https://github.com/chansen/p5-http-tiny/blob/master/lib/HTTP/Tiny.pm#L1401-L1403 * https://github.com/chansen/p5-http-tiny/blob/master/lib/HTTP/Tiny.pm#L1401-L1403 * Above requires newer IO::Socket::SSL and Net::SSLeay: https://github.com/chansen/p5-http-tiny/blob/master/lib/HTTP/Tiny.pm#L1401-L1403
On Fri Dec 25 22:36:01 2015, DAGOLDEN wrote: Show quoted text
> IO::Socket::SSL can't be used as a drop in replacement for a socket. > There are at least the following issues to consider: > > * selecting to read could block even though there is data already > available from a previous SSL frame > * SSL could renegotiate, interrupting operations > > I suggest reading https://metacpan.org/pod/distribution/IO-Socket- > SSL/lib/IO/Socket/SSL.pod#Common-Usage-Errors
Thanks for the heads-up on this. Show quoted text
> > You may wish to see how HTTP::Tiny deals with these issues: > > * https://github.com/chansen/p5-http- > tiny/blob/master/lib/HTTP/Tiny.pm#L1401-L1403 > * https://github.com/chansen/p5-http- > tiny/blob/master/lib/HTTP/Tiny.pm#L1401-L1403 > * Above requires newer IO::Socket::SSL and Net::SSLeay: > https://github.com/chansen/p5-http- > tiny/blob/master/lib/HTTP/Tiny.pm#L1401-L1403
Did you mean to include some different URLs there? You've cited the same URL three times.