1
2
Revision history for Net::DNS -*-text-*-
2
3
=============================
5
*** 0.57 February 24, 2006
9
The inet6 tests do not skip enough tests when ipv6 is not available.
10
I did not catch this in my setup since IPv6 is available on all my
13
Since this breaks automatic CPAN installs a new release is
17
*** 0.56 February 20, 2006
21
Net::DNS::typesbyval() now confesses on undefined
22
args. Acknowledgements to Dean Serenevy.
24
Feature Implemented SPF (typecode 99).
26
The class completely inherits from Net::DNS::RR::TXT (the easiest
27
RR to implement ever).
29
Feature added rrsort() function.
30
Feature was requested by Eric Hall in rt.cpan.org 13392
32
This was a little tricky as I think that the sort functions are in
33
fact RR specific class attributes that should be accessed through
34
class methods. This is difficult to implement. I do think I found a
35
fairly clean manner. It does require a global variable in Net::DNS
36
to store the functions and some trickery when the sorting functions
39
See Net::DNS and Net::DNS::RR documentation for details.
41
Defaults sorting functions are currently implemented in
42
SRV: default sort: low prioirity to high priority and for
43
same preference highest weight first.
44
weight: sort all RRs based on weight, highest first
45
priority: see default sort
47
MX: default sort: lowest preference first.
48
preference: see default sort
50
NAPTR: default sort: lowest to highest order, for same order lowest
52
order: see default sort
53
preference: order on preference, lowest first
59
Fix rt.cpan.org 14653 and 14049
60
TCP fallback after V6 socket failure
62
Reworked Net::DNS::Base::Nameserver::send_tcp() to fallback to IPv4 when
63
possible. (change applied to SVN Revision 538).
66
Feature Cleanup duplicated code
68
axfr_send() and send_tcp() contained some duplicated code. I merged
69
this in one "helper" method _create_tcp_socket()
73
Fix AXFR persistent sockets coliding with query sockets.
75
I think that using the same persistent sockets for AXFR and
76
'ordinary' queries could lead to race conditions. Better safe than
77
sorry. For axfrs we create a different set of persitent sockets.
79
Note that this prevents performing a SOA query first and then using
80
the same socket for the zone transfer itself(in Net::DNS these are
81
different code paths). This behavior 00 SOA and transfer on the
82
same socket-- seems to be suggested by 1035 section 4.2.2:
84
"In particular, the server should allow the SOA and AXFR request
85
sequence (which begins a refresh operation) to be made on a
88
Obviously, on the client side this behavior is not mandatory.
93
The fixes and features above also fixed the timeout problem reported by
99
It turned out that each time we were calling
100
Net::DNS::Resolver::Base::nameserver(); We were creating a
101
resolver object. Now a resolver object is only called when a
102
domain name is given as argument.
105
**** 0.55 December 14, 2005
107
Fix Inconsistency in test
109
There was an inconsistency in the t/05-rr.t that got triggered by
110
the release of Net::DNS::SEC version 0.13 (when installed). That
113
Feature Net::DNS::Nameserver loop_once()
115
Uncommented the documentation of the loop_once() function and introduced
116
get_open_tcp() that reports if there are any open TCP sockets (useful
117
when using loop_once().
119
loop_once() itself was introduced in version 0.53_02
122
Fix rt.cpan.org 16392
124
TCP Sockets stayed open even if not requested. This may cause the kernel
125
to run out of TCP slots.
127
This bug is the reason for releasing version 0.55 shortly after 0.54.
129
Spotted and patched by Robert Felber.
132
*** 0.54 December 7, 2005
135
Fix rt.cpan.org 15947
137
Failure to bind a nameserver when specifying an IPv6 address.
139
Fix rt.cpan.org 11931
141
Using Net-DNS 0.53 on Win XP, it is unable to retrieve the
142
nameservers when the IP address of the interface is assigned by
143
DHCP. This is due to the DHCP assigned IP address being stored in
144
DhcpIPAddress rather than IPAddress (which is then 0.0.0.0). Adding
145
a check of DhcpIPAddress existance and not being 0.0.0.0 fixes the
146
problem. Applied the patch submitted by "orjan".
148
Fix rt.cpan.org 15119
150
main_loop() consumed 100% of memory, because of a bug that
151
couced loop_once() to loop ad infinitum.
153
Fix rt.cpan.org 15299
155
Defining multiple constants with 'use constant { BLA => 1, FOO =>2 };
156
is a backwards incompatible feature. Thanks to Ian White for spotting and
159
*** 0.53_02 Oct 18, 2005
163
Fix rt.cpan.org 14046
165
RRSIGs verify and create failed fror a number of RR types. The
166
error message showed something like:
167
Can't call method "dn_comp" on an undefined value
168
This was caused by an ommission in the _canonicalRdata() method
169
in Net::DNS::RR that was inherited by all failing RR types.
171
Code was added to t/05-rr.t that will test signature creation
172
if Net::DNS::SEC is available and can be loaded.
175
Feature async nameserver behaviour.
177
In rt.cpan.org 14622 Robert Stone suggested:
179
The fact that it needs to take over the main runnning thread
180
limits its audience. Since many daemon programs are already
181
driven by a top level select loop, it seems useful to provide an
182
API for the user to integrate Net::DNS::Nameserver processing to
183
their own select loop.
185
He also supplied example code for which he is hereby acknowledged.
186
The patch was not used because simultaneously Robert Martin-Legene
187
supplied a patch to Nameservers.pm that allowed the same async
188
functionality through the use of loop_once method. Robert M-L's
189
code also carefully manages the TCP sockets, so that they can
192
Robert S. has been so kind to review Robert M-L's code and is hereby
195
NB. Since the code may be subject to change the documentation of the
196
loop_once method has been commented out.
199
Fix bgsend srcaddr for IPv6 Achim Adam previously noticed that the
200
source address wildard "::" works provides better portability than
201
"0". We forgot to fix the bgsend() part earlier.
205
Fix rt.cpan.org 14624
207
Fixed documentation of Nameserver.pm Replyhandler and fixed a bug
208
that prevented the peerhost to be set.
210
Fix rt.cpan.org 14700
212
mistyped _name2wire helper function name. Noticed and patched by Simon
215
Fix rt.cpan.org 13944
217
Terminating dot not printed when printing SRV record. The SRV dname should
218
be printed as FQDN, that is, including the dot at the end.
219
Acknowledgements Jakob Schlyter.
221
While adding the "dot" I noticed that in the fileformat parsing code
222
there might be theoretical corner cases where rdata elements are not
223
properly read. The code needs an audit for this.
225
Fix srcport for socket creation in bgsend method
227
Lionel Cons noted and patched a small bug in bgsocket creation code for
228
lib/Net/DNS/Resolver/Base.pm
231
*** 0.53_01 July 31, 2005
233
Fix rt.cpan.org 13809
235
"Phar" noted that the peerhost is never passed to the make_reply function
236
in nameserver.pm and provided the trivial patch.
238
Fix rt.cpan.org 13922
240
Fixed a problem with persistent TCP sockets which was introdcuced
241
because of using the address family as an index to the array of
244
Used AF_UNSPEC for the array index for the TCP socket; just to choose
245
a number. The key to the persistent sockets is the remote nameserver:port
248
Acknowledgements to Mike Mitchell for reporting the bug and testing
251
Feat t/01-resolve will not try to do tests from private IP space; hopefully
252
that cuts down on the number of false positives.
4
255
*** 0.53 July 22, 2005
6
257
Fix rt.cpan.org 13669