1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174
|
Revision history for Socket-GetAddrInfo
0.22 CHANGES:
* Move most exports into @EXPORT_OK
* Provide exception-throwing version of API in
Socket::GetAddrInfo::Strict
* Wrap lots more flag constants
+ AI_IDN, AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG
+ NI_IDN, NI_NOFQDN
+ EAI_SYSTEM, EAI_BADHINTS, EAI_PROTOCOL
* Implement NIx_NOHOST and NIx_NOSERV; flags to getnameinfo to
request only one of host or service name
* No longer supports API import tags
* Docs improvements - added some code examples
0.21 BUGFIXES:
* Exporter 5.57 is required - this has shipped with perl since 5.8.3,
but now explicitly declared for 5.6.2
* getservbyport() needs a protocol name on 5.6.2
0.20 CHANGES:
* Added bin/getaddrinfo and bin/getnameinfo script (replaces previous
examples/gai.pl)
* Split Socket6api into its own module
* Emulate AI_NUMERICSERV in PP emulation since most OSes in practice
support it, even though RFC 2553 doesn't define it
* Provide Exporter tags for named constants
* Don't even attempt to build XS code if no C compiler is available
* Try to use core's Socket::getaddrinfo if it exists; as it does on
Socket 1.93 (perl 5.13.9).
* Avoid Test::Exception and Test::Warn as they're non-core and pull
in Sub::UpLevel
* Use ExtUtils::CChecker 0.06's ability to write a config.h rather
than using C commandline -DFOO that might not be portable
* Moved legacy resolver emulation code into its own PP.pm for code
neatness
BUGFIXES:
* Bugfix for non-C99 compilers - avoid C99-style struct initialiser
* Bugfix for threaded perls - aTHX/pTHX in err_to_SV()
* More MSWin32 fixes [rurban]
* Use ppport.h
0.19 BUGFIXES:
* Can't store &PL_sv_undef in an HV; store newSV(0) instead
* Handle magic in getaddrinfo() args [chansen]
* Win32 build fixes [chansen]
0.18 BUGFIXES:
* Fix plain number passing for getaddrinfo()'s service on perl
versions <5.10.0
0.17 BUGFIXES:
* Fix 'protocol' hint to getaddrinfo()
0.16 CHANGES:
* Accept undef as absent host/service name, as well as ""
BUGFIXES:
* Need -lsocket on some OSes; hunt it using ExtUtils::CChecker
0.15 CHANGES:
* Use XSLoader instead of DynaLoader
* import Exporter::import instead of @ISAing it
* Use ExtUtils::CChecker for build checking
0.14 BUGFIXES:
* Don't leak memory on getnameinfo() failures
* Avoid possible sockaddr alignment errors by allocating/copying a
new buffer
(thanks to Zefram)
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.
|