Subject: | IO::Socket::IP should not call $self->connect when retrying connect |
Hi,
currently IO::Socket::IP implements multi-homing by calling $self->connect for all possible combinations of source and destination until it succeeds.
But, if IO::Socket::IP is used as a base class for another module, like done with IO::Socket::SSL, this will not result in retrying until it gets an successful connection to an IP, but until the connect of the derived class returns success.
In the case of IO::Socket::SSL successful connect will not only mean connection to the IP address, but also SSL handshake, verification of the certificate etc. And in my opinion it should not be the behavior of the IP layer to retry a connection if the SSL layer failed because of certificate validation errors.
So I would suggest, that any $self->connect should be changed to $self->IO::Socket::IP::connect, so that the class deals only about successful connection on the IP level.
Regards,
Steffen