Revision history for Socket-GetAddrInfo 0.13 CHANGES: * Don't warn if only importing symbolic constants; test this * Added Test::Pod testing * Docs neatening in L<> links 0.12 CHANGES: * Added 'use warnings' * Added 'gai.pl' example 0.11 CHANGES: * Pass "socktype => SOCK_STREAM" hint in example * Use "return 1" rather than "exit(1)" in C code to avoid needing <unistd.h>; may improve builds on non-UNIX platforms BUGFIXES: * Declare ExtUtils::CBuilder as a configure_requires dependency, and fail gracefully if it still isn't installed when Build.PL runs 0.10 BUGFIXES: * Fixed a bug in getnameinfo() when handling IPv6 addresses, where a buffer overrun causes at least a failure from libc, but has the potential to cause a stack corruption or segfault. 0.09 CHANGES: * Conditionally skip the tests for missing hostnames if the legacy resolver finds an address anyway. This may mitigate test FAILs on smoke test machines with wildcard DNS servers. 0.08 CHANGES: * Declare as release 0.08_7 CHANGES: * Make sure to sv_2mortal() returned SV*s in XS code BUGFIXES: * Minor changes to test scripts that should reduce cornercase FAILs, or at least help debug them if they occur 0.08_6 BUGFIXES: * Set 'sa_len' member of sockaddr structure if platform needs it 0.08_5 BUGFIXES: * Better comparison of sockaddr returns - unpack and test components to avoid errors on platforms that use sin_len, since Socket doesn't * Use XSRETURN() in XS functions to ensure stack is correct height * Better diagnostic if $err tests fail - convert number to symbolic constant 0.08_4 BUGFIXES: * Define constants in XS code wrapped in #ifdef tests, to ensure only ones that the platform defines are attempted. * Print whether PP or XS implementation are being used in the t/00use.t file 0.08_3 BUGFIXES: * Use ExtUtils::CBuilder to compile the test .c file in the Configure() stage, to make it (hopefully) more portable * Some OSes return $err==0 but no results for invalid names - make sure the test script can cope. 0.08_2 BUGFIXES: * Declare variables in "PREINIT" XS section, not "INIT"; keeps non-C99 compilers happy * Skip tests that require internet connectivity unless the tester declares it possible * Declare test counts upfront in testing scripts * Renamed XS functions 'getaddrinfo' and 'getnameinfo'; no need to prefix with 'real_' * Folded Configure.pl inline into Build.PL, in case it has to make further decisions 0.08_1 CHANGES: * Complete rewrite to XS+PP emulation system. No longer uses Socket6 on account of API and error reporting issues. * Provided two styles of API at import time (:newapi and :Socket6api) to allow caller to choose between RFC2553-like or Socket6 styles 0.07 BUGFIXES: * Ensure that emulated getaddrinfo() copes with family=AF_UNSPEC (0) 0.06 BUGFIXES: * Avoid (harmless) "Constant subroutine .. redefined" warnings if 'use'd multiple times, when Socket6 is not available. 0.05 CHANGES: * Reworded DESCRIPTION section of documentation * Fixed some bugs in the SYNOPSIS example 0.04 BUGFIXES: * Declare dependency on Test::Exception * Fixed skip count in test in 01getaddrinfo-socket6.t 0.03 CHANGES: * Changed getnameinfo() to avoid needing sockaddr_family(), which avoids a version check, which means it works on perl 5.6.1 0.02 BUGFIXES: * Declare required version of Socket.pm sufficient to have sockaddr_family() 0.01 First version, released on an unsuspecting world.