|
Packit Service |
64bc36 |
Revision history for IO-Socket-IP
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.39 2017/03/06 16:40:30
|
|
Packit Service |
64bc36 |
[BUGFIXES]
|
|
Packit Service |
64bc36 |
* Handle EOPNOTSUPP in resposne of efforts to disable V6ONLY
|
|
Packit Service |
64bc36 |
(RT119780) (thanks XENU)
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.38 2016/08/02 18:33:50
|
|
Packit Service |
64bc36 |
[CHANGES]
|
|
Packit Service |
64bc36 |
* Support setting custom socket options with new 'Sockopts'
|
|
Packit Service |
64bc36 |
constructor parameter
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
[BUGFIXES]
|
|
Packit Service |
64bc36 |
* Restore blocking mode after ->connect errors (RT112334)
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.37 2015/03/12 20:44:07
|
|
Packit Service |
64bc36 |
[CHANGES]
|
|
Packit Service |
64bc36 |
* Earlier detection/reporting of erroneous Listen + Peer* argument
|
|
Packit Service |
64bc36 |
combination; don't rely on resolveable hostname to do it (RT92930)
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
[BUGFIXES]
|
|
Packit Service |
64bc36 |
* Skip t/16v6only.t on irix (RT102662)
|
|
Packit Service |
64bc36 |
* Remember to eval() $IO::Socket::VERSION in case it's a devel
|
|
Packit Service |
64bc36 |
release (RT101954)
|
|
Packit Service |
64bc36 |
* s/Port/LocalPort/ in unit tests (RT96064)
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.36 2014/01/10 20:54:58
|
|
Packit Service |
64bc36 |
[BUGFIXES]
|
|
Packit Service |
64bc36 |
* Always bind() on MSWin32 because Windows doesn't like it if we
|
|
Packit Service |
64bc36 |
listen() having not done so (RT101396)
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.35 2015/01/02 19:45:20
|
|
Packit Service |
64bc36 |
[BUGFIXES]
|
|
Packit Service |
64bc36 |
* Restore blocking mode after timeout connect immediate success
|
|
Packit Service |
64bc36 |
(RT100947)
|
|
Packit Service |
64bc36 |
* Avoid CORE:: prefixing so global override modules work (RT101174)
|
|
Packit Service |
64bc36 |
* Ensure that ->peer{host,port,hostname,service} never die even when
|
|
Packit Service |
64bc36 |
unconnected (RT98759)
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.34 2014/12/03 00:04:56
|
|
Packit Service |
64bc36 |
[BUGFIXES]
|
|
Packit Service |
64bc36 |
* Don't select() for read-readiness when waiting for non-blocking
|
|
Packit Service |
64bc36 |
connect() because it upsets VMS (RT100654)
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.33 2014/11/21 16:17:39
|
|
Packit Service |
64bc36 |
[BUGFIXES]
|
|
Packit Service |
64bc36 |
* Use SOL_SOCKET/SO_ERROR sockopt rather than 2nd connect() error
|
|
Packit Service |
64bc36 |
hoisting to detect nonblocking connect/failure when implementing
|
|
Packit Service |
64bc36 |
Timeout (RT98976) (thanks Arthur Axel 'fREW' Schmidt)
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.32 2014/09/12 10:11:27
|
|
Packit Service |
64bc36 |
[CHANGES]
|
|
Packit Service |
64bc36 |
* Implementation of Timeout for ->connect (RT92075)
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.31 2014/07/11 01:24:49
|
|
Packit Service |
64bc36 |
[BUGFIXES]
|
|
Packit Service |
64bc36 |
* A better fix for subclassing ->connect (RT95983) because 0.30 broke
|
|
Packit Service |
64bc36 |
the way IO::Socket::SSL works (RT97050)
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.30 2014/07/03 23:28:43
|
|
Packit Service |
64bc36 |
[CHANGES]
|
|
Packit Service |
64bc36 |
* Invoke $self->connect fully-qualified in case of subclasses with
|
|
Packit Service |
64bc36 |
override (RT95983)
|
|
Packit Service |
64bc36 |
* Added extra diag() call in t/15io-socket.t (RT96914)
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.29 2014/02/24 16:06:29
|
|
Packit Service |
64bc36 |
[BUGFIXES]
|
|
Packit Service |
64bc36 |
* Workaround for OSes that disobey AI_ADDRCONFIG and yield AIs on
|
|
Packit Service |
64bc36 |
families the kernel will not support anyway (e.g. HPUX)
|
|
Packit Service |
64bc36 |
* Workaround for OSes that lack getprotobyname() (e.g. Android)
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.28 2014/02/10 16:17:59
|
|
Packit Service |
64bc36 |
[CHANGES]
|
|
Packit Service |
64bc36 |
* Renamed internal _configure method to _io_socket_ip__configure to
|
|
Packit Service |
64bc36 |
avoid clashes with modules that try to subclass IO::Socket::INET
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
[BUGFIXES]
|
|
Packit Service |
64bc36 |
* Disable AI_ADDRCONFIG during one-sided 'v6 tests as sometimes it
|
|
Packit Service |
64bc36 |
would otherwise fail
|
|
Packit Service |
64bc36 |
* Skip the SO_BROADCAST test on OSes that fail with EACCES (RT92502)
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.27 2014/01/20 18:08:31
|
|
Packit Service |
64bc36 |
[BUGFIXES]
|
|
Packit Service |
64bc36 |
* Apply a short timeout to unit tests that probe for internet
|
|
Packit Service |
64bc36 |
connectivity, in case of bad firewalls, etc... (Perl RT121037)
|
|
Packit Service |
64bc36 |
* Defend against machines with IN6ADDR_LOOPBACK not being "::1" in
|
|
Packit Service |
64bc36 |
unit tests, similar to the INADDR_LOOPBACK case (RT92295)
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.26 2014/01/16 12:20:02
|
|
Packit Service |
64bc36 |
[CHANGES]
|
|
Packit Service |
64bc36 |
* Set $VERSION in BEGIN block before 'use base' so that
|
|
Packit Service |
64bc36 |
Acme::Override::INET still works
|
|
Packit Service |
64bc36 |
* Various minor improvements to documentation
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.25 2014/01/11 17:19:29
|
|
Packit Service |
64bc36 |
[BUGFIXES]
|
|
Packit Service |
64bc36 |
* Allow both *Host with port and *Port arguments, letting port from
|
|
Packit Service |
64bc36 |
Host argument take precedence (INET compat)
|
|
Packit Service |
64bc36 |
* Ensure that a Host/Family-less constructor still constructs a
|
|
Packit Service |
64bc36 |
socket, by using gai()s AI_ADDRCONFIG hint
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.24 2013/09/19 14:17:22
|
|
Packit Service |
64bc36 |
[BUGFIXES]
|
|
Packit Service |
64bc36 |
* Defend against INADDR_LOOPBACK not being 127.0.0.1 on machines with
|
|
Packit Service |
64bc36 |
odd networking (e.g. FreeBSD jails) during unit testing
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.23 2013/09/11 17:53:19
|
|
Packit Service |
64bc36 |
[BUGFIXES]
|
|
Packit Service |
64bc36 |
* Check that kernel actually supports SO_REUSEPORT before
|
|
Packit Service |
64bc36 |
unit-testing it (RT86177)
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.22 BUGFIXES:
|
|
Packit Service |
64bc36 |
* Always pass 'socktype' hint to getaddrinfo() in unit tests because
|
|
Packit Service |
64bc36 |
some OSes get upset without it
|
|
Packit Service |
64bc36 |
* Don't unit-test that sockaddr is updated with a local bind() on
|
|
Packit Service |
64bc36 |
SOCK_DGRAM sockets because some OSes don't
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.21 CHANGES:
|
|
Packit Service |
64bc36 |
* Provide a downgrade method to turn an AF_INET-domain socket into a
|
|
Packit Service |
64bc36 |
real IO::Socket::INET instance
|
|
Packit Service |
64bc36 |
* Ensure that IO::Socket->new( Domain => ... ) definitely returns a
|
|
Packit Service |
64bc36 |
socket in the right family
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.20 CHANGES:
|
|
Packit Service |
64bc36 |
* Skip the IPV6_V6ONLY tests on machines lacking that constant
|
|
Packit Service |
64bc36 |
* Avoid Socket::inet_pton() in unit tests as Strawberry lacks it
|
|
Packit Service |
64bc36 |
* Added ->join_addr
|
|
Packit Service |
64bc36 |
* Respect subclassing argument to ->accept
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.19 CHANGES:
|
|
Packit Service |
64bc36 |
* More IO::Socket::INET compatibility fixes:
|
|
Packit Service |
64bc36 |
+ Ensure ->connected is false after ->close
|
|
Packit Service |
64bc36 |
+ Ensure that IO::Socket::IP->new(Family => $family) still creates
|
|
Packit Service |
64bc36 |
an unbound, unconnected socket filehandle
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.18 CHANGES:
|
|
Packit Service |
64bc36 |
* Work around ->socktype being undef on IO::Socket versions before
|
|
Packit Service |
64bc36 |
1.35 by fetching ->sockopt( SO_TYPE ) (RT81549)
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
BUGFIXES:
|
|
Packit Service |
64bc36 |
* Fix test skip counts in t/21nonblocking-connect-internet.t (RT79393)
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.17 CHANGES:
|
|
Packit Service |
64bc36 |
* Only pass AI_ADDRCONFIG as getaddrinfo() flag if no other flags
|
|
Packit Service |
64bc36 |
specified, so the caller can disable it if required.
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
BUGFIXES:
|
|
Packit Service |
64bc36 |
* Don't count select() invocations during nonblocking unit test
|
|
Packit Service |
64bc36 |
because this is too unreliable and races with the kernel/TCP stack
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.16 BUGFIXES:
|
|
Packit Service |
64bc36 |
* Don't ->close after all connect attempts fail, because
|
|
Packit Service |
64bc36 |
IO::Socket::INET doesn't do that
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.15 BUGFIXES:
|
|
Packit Service |
64bc36 |
* (Hopefully) improved ->connect logic for better MSWin32 support
|
|
Packit Service |
64bc36 |
* Skip testing AI_NUMERICSERV on OSes that don't support it
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.14 BUGFIXES:
|
|
Packit Service |
64bc36 |
* Second attempt at fixing test skip counts
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.13 BUGFIXES:
|
|
Packit Service |
64bc36 |
* Updated test skip counts in unit tests so they match the number of
|
|
Packit Service |
64bc36 |
tests actually skipped
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.12 CHANGES:
|
|
Packit Service |
64bc36 |
* Ensure that all instances have a defined fileno after construction,
|
|
Packit Service |
64bc36 |
even in non-blocking mode (RT77726)
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.11 CHANGES:
|
|
Packit Service |
64bc36 |
* Ignore unrecognised constructor arguments rather than complaining
|
|
Packit Service |
64bc36 |
about their presence (RT77536)
|
|
Packit Service |
64bc36 |
* Call $self->connect during constructor because IO::Socket::SSL
|
|
Packit Service |
64bc36 |
relies on this to happen (RT77536)
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.10 CHANGES:
|
|
Packit Service |
64bc36 |
* Allow specifying other getaddrinfo flags using GetAddrInfoFlags
|
|
Packit Service |
64bc36 |
constructor argument (RT75783)
|
|
Packit Service |
64bc36 |
* Provide a convenient hostname+port string splitting utility method
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.09 CHANGES:
|
|
Packit Service |
64bc36 |
* Attempt to implement IPV6_V6ONLY sockopt wrapper - not all OSes can
|
|
Packit Service |
64bc36 |
disable it, so detect and skip those
|
|
Packit Service |
64bc36 |
* Provide ->sockaddr and ->peeraddr convenience accessors, same as
|
|
Packit Service |
64bc36 |
IO::Socket::INET (RT75071)
|
|
Packit Service |
64bc36 |
* Use new NIx_NOHOST and NIx_NOSERV flags to avoid redundant
|
|
Packit Service |
64bc36 |
getnameinfo() lookups when only one of host or service name is
|
|
Packit Service |
64bc36 |
required
|
|
Packit Service |
64bc36 |
* Ensure that errno gets set to EINVAL on getaddrinfo() failures
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
BUGFIXES:
|
|
Packit Service |
64bc36 |
* Ignore existing-but-undefined constructor arguments
|
|
Packit Service |
64bc36 |
* Avoid locale-specific error message testing of $!
|
|
Packit Service |
64bc36 |
* Updates to unit tests for cygwin
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.08 CHANGES:
|
|
Packit Service |
64bc36 |
* Depend on Socket 1.95 now a full dual-life release has been made
|
|
Packit Service |
64bc36 |
* Set the AI_ADDRCONFIG getaddrinfo hint
|
|
Packit Service |
64bc36 |
* Fix some spelling mistakes/typoes
|
|
Packit Service |
64bc36 |
* MSWin32 fixes:
|
|
Packit Service |
64bc36 |
+ MSWin32 uses select() exceptfds rather than writefds to report
|
|
Packit Service |
64bc36 |
on nonblocking connect() failure
|
|
Packit Service |
64bc36 |
+ MSWin32 uses EWOULDBLOCK rather than EINPROGRESS to indicate
|
|
Packit Service |
64bc36 |
nonblocking connect()
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
BUGFIXES:
|
|
Packit Service |
64bc36 |
* Ensure ->socket protocol argument is always defined
|
|
Packit Service |
64bc36 |
* Bugfix for (e.g.) NetBSD, which gets upset at protocol hint without
|
|
Packit Service |
64bc36 |
socktype hint to getaddrinfo()
|
|
Packit Service |
64bc36 |
* Pass 'type' rather than 'proto' to constructor in t/11sockopts.t to
|
|
Packit Service |
64bc36 |
avoid MSWin32 test failures
|
|
Packit Service |
64bc36 |
* Localise $1/$2 to placate [perl #67962]
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.07 CHANGES:
|
|
Packit Service |
64bc36 |
* Prepare for Socket::getaddrinfo() in core; prefer it to
|
|
Packit Service |
64bc36 |
Socket::GetAddrInfo::getaddrinfo()
|
|
Packit Service |
64bc36 |
* Implement Family constructor arg
|
|
Packit Service |
64bc36 |
* Optional registration with IO::Socket
|
|
Packit Service |
64bc36 |
* Documentation rewordings
|
|
Packit Service |
64bc36 |
* Bugfix to local socket connect tests - test using blocking rather
|
|
Packit Service |
64bc36 |
than nonblocking sockets to guarantee synchronous packet delivery
|
|
Packit Service |
64bc36 |
* Bugfix to t/04, t/05 - skip if unable to bind ::1
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.06 CHANGES:
|
|
Packit Service |
64bc36 |
* Implement nonblocking connect
|
|
Packit Service |
64bc36 |
* Implement LocalAddrInfo and PeerAddrInfo args
|
|
Packit Service |
64bc36 |
* Example of nonblocking usage, using Net::LibAsyncNS
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.05 CHANGES:
|
|
Packit Service |
64bc36 |
* Implement combined ->bind and ->connect operations
|
|
Packit Service |
64bc36 |
* Accept "host:service" as *Addr args, and PeerAddr as sole
|
|
Packit Service |
64bc36 |
constructor argument
|
|
Packit Service |
64bc36 |
* Accept "name(port)" as service arguments
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.04 CHANGES:
|
|
Packit Service |
64bc36 |
* Try to yield the most appropriate connect/bind/socket error
|
|
Packit Service |
64bc36 |
* Implement sockhost/peerhost methods to match ::INET, moved hostname
|
|
Packit Service |
64bc36 |
methods to sockhostname/peerhostname
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
BUGFIXES:
|
|
Packit Service |
64bc36 |
* Work around IO::Socket bug where ->accept'ed sockets do not get
|
|
Packit Service |
64bc36 |
->sockdomain or ->socktype
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.03 CHANGES:
|
|
Packit Service |
64bc36 |
* Set $@ to raise error messages from constructor
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
BUGFIXES:
|
|
Packit Service |
64bc36 |
* Correctly implement 'Type' constructor argument
|
|
Packit Service |
64bc36 |
* Test SO_BROADCAST on udp instead of tcp as some OSes forbid it
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.02 BUGFIXES:
|
|
Packit Service |
64bc36 |
* Not all OSes return true sockopts as 1; test simply for non-zero
|
|
Packit Service |
64bc36 |
* Gracefully skip IPv6 tests if Socket6 unavailable
|
|
Packit Service |
64bc36 |
|
|
Packit Service |
64bc36 |
0.01 First version, released on an unsuspecting world.
|
|
Packit Service |
64bc36 |
|