Blame Changes

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