File: Changes

package info (click to toggle)
libio-socket-ip-perl 0.43-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 352 kB
  • sloc: perl: 1,511; makefile: 4
file content (287 lines) | stat: -rw-r--r-- 11,038 bytes parent folder | download
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
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
Revision history for IO-Socket-IP

0.43    2024-11-25
        [CHANGES]
         * Swapped unit tests from `Test::More` to `Test2::V0`
         * Fixed some documentation typoes
           (thanks Igor Sobrado Delgado) (RT157201)

0.42    2023-07-25
        [CHANGES]
         * Put error string in `$IO::Socket::errstr` as done by
           IO::Socket v1.45
         * Updated for Perl v5.14 - use `package NAME VERSION` syntax

        [BUGFIXES]
         * Fix typo 'behvior' (RT133467) (thanks ferivoz@riseup.net)
         * Fix for DragonflyBSD and IPV6_V6ONLY from core perl (RT148293)

0.41    2020-09-15 16:59
        [CHANGES]
         * Updated to `=head2 barename` documentation style

        [BUGFIXES]
         * Remember to declare configure_requires Module::Build

0.40    2020-09-15 16:41
        [CHANGES]
         * Don't ship a Makefile.PL
         * Updated docs about `-register` option

        [BUGFIXES]
         * Ensure safety under default-strict (RT133322)

0.39    2017/03/06 16:40:30
        [BUGFIXES]
         * Handle EOPNOTSUPP in response of efforts to disable V6ONLY
           (RT119780) (thanks XENU)

0.38    2016/08/02 18:33:50
        [CHANGES]
         * Support setting custom socket options with new 'Sockopts'
           constructor parameter

        [BUGFIXES]
         * Restore blocking mode after ->connect errors (RT112334)

0.37    2015/03/12 20:44:07
        [CHANGES]
         * Earlier detection/reporting of erroneous Listen + Peer* argument
           combination; don't rely on resolveable hostname to do it (RT92930)

        [BUGFIXES]
         * Skip t/16v6only.t on irix (RT102662)
         * Remember to eval() $IO::Socket::VERSION in case it's a devel
           release (RT101954)
         * s/Port/LocalPort/ in unit tests (RT96064)

0.36    2014/01/10 20:54:58
        [BUGFIXES]
         * Always bind() on MSWin32 because Windows doesn't like it if we
           listen() having not done so (RT101396)

0.35    2015/01/02 19:45:20
        [BUGFIXES]
         * Restore blocking mode after timeout connect immediate success
           (RT100947)
         * Avoid CORE:: prefixing so global override modules work (RT101174)
         * Ensure that ->peer{host,port,hostname,service} never die even when
           unconnected (RT98759)

0.34    2014/12/03 00:04:56
        [BUGFIXES]
         * Don't select() for read-readiness when waiting for non-blocking
           connect() because it upsets VMS (RT100654)

0.33    2014/11/21 16:17:39
        [BUGFIXES]
         * Use SOL_SOCKET/SO_ERROR sockopt rather than 2nd connect() error
           hoisting to detect nonblocking connect/failure when implementing
           Timeout (RT98976) (thanks Arthur Axel 'fREW' Schmidt)

0.32    2014/09/12 10:11:27
        [CHANGES]
         * Implementation of Timeout for ->connect (RT92075)

0.31    2014/07/11 01:24:49
        [BUGFIXES]
         * A better fix for subclassing ->connect (RT95983) because 0.30 broke
           the way IO::Socket::SSL works (RT97050)

0.30    2014/07/03 23:28:43
        [CHANGES]
         * Invoke $self->connect fully-qualified in case of subclasses with
           override (RT95983)
         * Added extra diag() call in t/15io-socket.t (RT96914)

0.29    2014/02/24 16:06:29
        [BUGFIXES]
         * Workaround for OSes that disobey AI_ADDRCONFIG and yield AIs on
           families the kernel will not support anyway (e.g. HPUX)
         * Workaround for OSes that lack getprotobyname() (e.g. Android)

0.28    2014/02/10 16:17:59
        [CHANGES]
         * Renamed internal _configure method to _io_socket_ip__configure to
           avoid clashes with modules that try to subclass IO::Socket::INET

        [BUGFIXES]
         * Disable AI_ADDRCONFIG during one-sided 'v6 tests as sometimes it
           would otherwise fail
         * Skip the SO_BROADCAST test on OSes that fail with EACCES (RT92502)

0.27    2014/01/20 18:08:31
        [BUGFIXES]
         * Apply a short timeout to unit tests that probe for internet
           connectivity, in case of bad firewalls, etc... (Perl RT121037)
         * Defend against machines with IN6ADDR_LOOPBACK not being "::1" in
           unit tests, similar to the INADDR_LOOPBACK case (RT92295)

0.26    2014/01/16 12:20:02
        [CHANGES]
         * Set $VERSION in BEGIN block before 'use base' so that
           Acme::Override::INET still works
         * Various minor improvements to documentation

0.25    2014/01/11 17:19:29
        [BUGFIXES]
         * Allow both *Host with port and *Port arguments, letting port from
           Host argument take precedence (INET compat)
         * Ensure that a Host/Family-less constructor still constructs a
           socket, by using gai()s AI_ADDRCONFIG hint

0.24    2013/09/19 14:17:22
        [BUGFIXES]
         * Defend against INADDR_LOOPBACK not being 127.0.0.1 on machines with
           odd networking (e.g. FreeBSD jails) during unit testing

0.23    2013/09/11 17:53:19
        [BUGFIXES]
         * Check that kernel actually supports SO_REUSEPORT before
           unit-testing it (RT86177)

0.22    BUGFIXES:
         * Always pass 'socktype' hint to getaddrinfo() in unit tests because
           some OSes get upset without it
         * Don't unit-test that sockaddr is updated with a local bind() on
           SOCK_DGRAM sockets because some OSes don't

0.21    CHANGES:
         * Provide a downgrade method to turn an AF_INET-domain socket into a
           real IO::Socket::INET instance
         * Ensure that IO::Socket->new( Domain => ... ) definitely returns a
           socket in the right family

0.20    CHANGES:
         * Skip the IPV6_V6ONLY tests on machines lacking that constant
         * Avoid Socket::inet_pton() in unit tests as Strawberry lacks it
         * Added ->join_addr
         * Respect subclassing argument to ->accept

0.19    CHANGES:
         * More IO::Socket::INET compatibility fixes:
            + Ensure ->connected is false after ->close
            + Ensure that IO::Socket::IP->new(Family => $family) still creates
              an unbound, unconnected socket filehandle

0.18    CHANGES:
         * Work around ->socktype being undef on IO::Socket versions before
           1.35 by fetching ->sockopt( SO_TYPE ) (RT81549)

        BUGFIXES:
         * Fix test skip counts in t/21nonblocking-connect-internet.t (RT79393)

0.17    CHANGES:
         * Only pass AI_ADDRCONFIG as getaddrinfo() flag if no other flags
           specified, so the caller can disable it if required.
        
        BUGFIXES:
         * Don't count select() invocations during nonblocking unit test
           because this is too unreliable and races with the kernel/TCP stack

0.16    BUGFIXES:
         * Don't ->close after all connect attempts fail, because
           IO::Socket::INET doesn't do that

0.15    BUGFIXES:
         * (Hopefully) improved ->connect logic for better MSWin32 support
         * Skip testing AI_NUMERICSERV on OSes that don't support it

0.14    BUGFIXES:
         * Second attempt at fixing test skip counts

0.13    BUGFIXES:
         * Updated test skip counts in unit tests so they match the number of
           tests actually skipped

0.12    CHANGES:
         * Ensure that all instances have a defined fileno after construction,
           even in non-blocking mode (RT77726)

0.11    CHANGES:
         * Ignore unrecognised constructor arguments rather than complaining
           about their presence (RT77536)
         * Call $self->connect during constructor because IO::Socket::SSL
           relies on this to happen (RT77536)

0.10    CHANGES:
         * Allow specifying other getaddrinfo flags using GetAddrInfoFlags
           constructor argument (RT75783)
         * Provide a convenient hostname+port string splitting utility method

0.09    CHANGES:
         * Attempt to implement IPV6_V6ONLY sockopt wrapper - not all OSes can
           disable it, so detect and skip those
         * Provide ->sockaddr and ->peeraddr convenience accessors, same as
           IO::Socket::INET (RT75071)
         * Use new NIx_NOHOST and NIx_NOSERV flags to avoid redundant
           getnameinfo() lookups when only one of host or service name is
           required
         * Ensure that errno gets set to EINVAL on getaddrinfo() failures

        BUGFIXES:
         * Ignore existing-but-undefined constructor arguments
         * Avoid locale-specific error message testing of $!
         * Updates to unit tests for cygwin

0.08    CHANGES:
         * Depend on Socket 1.95 now a full dual-life release has been made
         * Set the AI_ADDRCONFIG getaddrinfo hint
         * Fix some spelling mistakes/typoes
         * MSWin32 fixes:
            + MSWin32 uses select() exceptfds rather than writefds to report
              on nonblocking connect() failure
            + MSWin32 uses EWOULDBLOCK rather than EINPROGRESS to indicate
              nonblocking connect()

        BUGFIXES:
         * Ensure ->socket protocol argument is always defined
         * Bugfix for (e.g.) NetBSD, which gets upset at protocol hint without
           socktype hint to getaddrinfo()
         * Pass 'type' rather than 'proto' to constructor in t/11sockopts.t to
           avoid MSWin32 test failures
         * Localise $1/$2 to placate [perl #67962]

0.07    CHANGES:
         * Prepare for Socket::getaddrinfo() in core; prefer it to
           Socket::GetAddrInfo::getaddrinfo()
         * Implement Family constructor arg
         * Optional registration with IO::Socket
         * Documentation rewordings
         * Bugfix to local socket connect tests - test using blocking rather
           than nonblocking sockets to guarantee synchronous packet delivery
         * Bugfix to t/04, t/05 - skip if unable to bind ::1

0.06    CHANGES:
         * Implement nonblocking connect
         * Implement LocalAddrInfo and PeerAddrInfo args
         * Example of nonblocking usage, using Net::LibAsyncNS

0.05    CHANGES:
         * Implement combined ->bind and ->connect operations
         * Accept "host:service" as *Addr args, and PeerAddr as sole
           constructor argument
         * Accept "name(port)" as service arguments

0.04    CHANGES:
         * Try to yield the most appropriate connect/bind/socket error
         * Implement sockhost/peerhost methods to match ::INET, moved hostname
           methods to sockhostname/peerhostname
        
        BUGFIXES:
         * Work around IO::Socket bug where ->accept'ed sockets do not get
           ->sockdomain or ->socktype

0.03    CHANGES:
         * Set $@ to raise error messages from constructor

        BUGFIXES:
         * Correctly implement 'Type' constructor argument
         * Test SO_BROADCAST on udp instead of tcp as some OSes forbid it

0.02    BUGFIXES:
         * Not all OSes return true sockopts as 1; test simply for non-zero
         * Gracefully skip IPv6 tests if Socket6 unavailable

0.01    First version, released on an unsuspecting world.