2022-08-02 11:25:56 +02:00
|
|
|
# $NetBSD: Makefile,v 1.100 2022/08/02 09:25:56 ast Exp $
|
1999-11-08 02:06:49 +01:00
|
|
|
|
2022-08-02 11:25:56 +02:00
|
|
|
DISTNAME= Net-DNS-1.34
|
2000-08-27 09:10:59 +02:00
|
|
|
PKGNAME= p5-${DISTNAME}
|
1999-11-08 02:06:49 +01:00
|
|
|
CATEGORIES= net perl5
|
2017-01-19 19:52:01 +01:00
|
|
|
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=Net/}
|
|
|
|
MASTER_SITES+= http://www.net-dns.org/download/
|
1999-11-08 02:06:49 +01:00
|
|
|
|
2013-03-02 11:44:33 +01:00
|
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
2020-01-26 18:30:40 +01:00
|
|
|
HOMEPAGE= https://www.net-dns.org/
|
2003-11-26 06:59:50 +01:00
|
|
|
COMMENT= Perl5 module for DNS resolution
|
2010-01-16 20:27:17 +01:00
|
|
|
LICENSE= ${PERL5_LICENSE}
|
1999-11-08 02:06:49 +01:00
|
|
|
|
2002-09-09 02:22:22 +02:00
|
|
|
DEPENDS+= p5-Digest-HMAC>=1.0:../../security/p5-Digest-HMAC
|
Updated to version 0.55.
Pkgsrc changes:
- Removed hacks.mk. Net::DNS should work on Mac OS 10.4 withouth this
workaround.
- The package has two options now: "inet6" and "online-tests".
- p5-Net-DNS requires an additional package, p5-Net-IP.
Relevant changes since version 0.49:
====================================
- many bug fixes (see Changes and rt.cpan.org)
Feature Net::DNS::Nameserver loop_once()
Uncommented the documentation of the loop_once() function and introduced
get_open_tcp() that reports if there are any open TCP sockets (useful
when using loop_once().
loop_once() itself was introduced in version 0.53_02
Feature async nameserver behaviour.
Fix IPv6 on AIX
Binding to the local interface did not work when local address was
specified as "0" instead of "::". The problem was identified,
reported and fixed by Achim Adam.
Feature
Net::DNS::RR::OPT
added the the size(), do(),set_do() and clear_do() methods.
Feature:
Added "ignqrid" as an attribute to the Resolver.
use as:
ok (my $res=Net::DNS::Resolver->new(nameservers => ['127.0.0.1'],
port => 5354,
recurse => 0,
igntc => 1,
ignqrid => 1,
),
When the attribute is set to a non-zero value replies with the
qr bit clear and replies with non-matching query ids are
happily accepted. This opens the possibility to accept spoofed
answers. YOU CAN BURN YOURSELF WITH THIS FEATURE.
It is set to 0 per default and remains, except for this changes file
an undocumented feature.
Fix: Makefile.PL: Minor tweak to recognize Mac OS X 10.4 not so relevant
since netdnslib is distributed with the code.
Feature: Calling the Net::DNS::Resolver::dnssec method with a non-zero
argument will set the udppacketsize to 2048. The method will
also carp a warning if you pass a non-zero argument when
Net::DNS::SEC is not installed.
Feature: IPv6 transport support
IPv6 transport has been added to the resolver and to the
nameserver code.
To use IPv6 please make sure that you have IO::Socket::INET6 version
2.01 or later installed.
If IPv6 transport is available Net::DNS::Resolver::Recurse will make
use of it (picking randomly between IPv4 and IPv6 transport) use
the force_v4() method to only force IPv4.
Feature: Binary characters in labels
RFC 1035 3.1:
Domain names in messages are expressed in terms of a sequence of
labels. Each label is represented as a one octet length field
followed by that number of octets. Since every domain name ends
with the null label of the root, a domain name is terminated by a
length byte of zero. The high order two bits of every length octet
must be zero, and the remaining six bits of the length field limit
the label to 63 octets or less.
Unfortunatelly dname attributes are stored strings throughout
Net::DNS. (With hindsight dnames should have had their own class
in which one could have preserved the wire format.).
To be able to represent all octets that are allowed in domain
names I took the approach to use the "presentation format" for
the attributes. This presentation format is defined in RFC 1035
5.1.
I added code to parse presentation format domain names that has
escpaped data such as \ddd and \X (where X is not a number) to
wireformat and vice verse. In the conversion from wire format to
presentation format the characters that have special meaning in a
zone file are escaped (so that they can be cut-n-pasted without
pain).
These are " (0x22), $ (0x24), (0x28), ) (0x29), . (0x2e) , ;
(0x3b), @ (ox40) and \ (0x5c). The number between brackets
representing the ascii code in hex.
Note that wherever a name occurs as a string in Net::DNS it is
now in presentation format.
For those that dealth with 'hostnames' (subset of all possible
domain names) this will be a completely transparent change.
Details:
I added netdnslib wich contains Net::DNS's own dn_expand. Its
implemented in C and the source is a hodgepodge of Berkeley based
code and sniplets from ISC's bind9 distribution. The behavior, in
terms of which chars are escaped, is similare to bind9.
There are some functions added to DNS.pm that do conversion from
presentation and wire format and back. They should only be used
internally (although they live in EXPORT_OK.)
For esotheric test cases see t/11-escapedchars.t.
2006-02-09 22:35:46 +01:00
|
|
|
DEPENDS+= p5-Net-IP>=1.20:../../net/p5-Net-IP
|
2002-09-09 02:22:22 +02:00
|
|
|
|
2019-11-08 15:26:34 +01:00
|
|
|
TEST_DEPENDS+= p5-Net-DNS-SEC-[0-9]*:../../security/p5-Net-DNS-SEC
|
|
|
|
|
Updated to version 0.55.
Pkgsrc changes:
- Removed hacks.mk. Net::DNS should work on Mac OS 10.4 withouth this
workaround.
- The package has two options now: "inet6" and "online-tests".
- p5-Net-DNS requires an additional package, p5-Net-IP.
Relevant changes since version 0.49:
====================================
- many bug fixes (see Changes and rt.cpan.org)
Feature Net::DNS::Nameserver loop_once()
Uncommented the documentation of the loop_once() function and introduced
get_open_tcp() that reports if there are any open TCP sockets (useful
when using loop_once().
loop_once() itself was introduced in version 0.53_02
Feature async nameserver behaviour.
Fix IPv6 on AIX
Binding to the local interface did not work when local address was
specified as "0" instead of "::". The problem was identified,
reported and fixed by Achim Adam.
Feature
Net::DNS::RR::OPT
added the the size(), do(),set_do() and clear_do() methods.
Feature:
Added "ignqrid" as an attribute to the Resolver.
use as:
ok (my $res=Net::DNS::Resolver->new(nameservers => ['127.0.0.1'],
port => 5354,
recurse => 0,
igntc => 1,
ignqrid => 1,
),
When the attribute is set to a non-zero value replies with the
qr bit clear and replies with non-matching query ids are
happily accepted. This opens the possibility to accept spoofed
answers. YOU CAN BURN YOURSELF WITH THIS FEATURE.
It is set to 0 per default and remains, except for this changes file
an undocumented feature.
Fix: Makefile.PL: Minor tweak to recognize Mac OS X 10.4 not so relevant
since netdnslib is distributed with the code.
Feature: Calling the Net::DNS::Resolver::dnssec method with a non-zero
argument will set the udppacketsize to 2048. The method will
also carp a warning if you pass a non-zero argument when
Net::DNS::SEC is not installed.
Feature: IPv6 transport support
IPv6 transport has been added to the resolver and to the
nameserver code.
To use IPv6 please make sure that you have IO::Socket::INET6 version
2.01 or later installed.
If IPv6 transport is available Net::DNS::Resolver::Recurse will make
use of it (picking randomly between IPv4 and IPv6 transport) use
the force_v4() method to only force IPv4.
Feature: Binary characters in labels
RFC 1035 3.1:
Domain names in messages are expressed in terms of a sequence of
labels. Each label is represented as a one octet length field
followed by that number of octets. Since every domain name ends
with the null label of the root, a domain name is terminated by a
length byte of zero. The high order two bits of every length octet
must be zero, and the remaining six bits of the length field limit
the label to 63 octets or less.
Unfortunatelly dname attributes are stored strings throughout
Net::DNS. (With hindsight dnames should have had their own class
in which one could have preserved the wire format.).
To be able to represent all octets that are allowed in domain
names I took the approach to use the "presentation format" for
the attributes. This presentation format is defined in RFC 1035
5.1.
I added code to parse presentation format domain names that has
escpaped data such as \ddd and \X (where X is not a number) to
wireformat and vice verse. In the conversion from wire format to
presentation format the characters that have special meaning in a
zone file are escaped (so that they can be cut-n-pasted without
pain).
These are " (0x22), $ (0x24), (0x28), ) (0x29), . (0x2e) , ;
(0x3b), @ (ox40) and \ (0x5c). The number between brackets
representing the ascii code in hex.
Note that wherever a name occurs as a string in Net::DNS it is
now in presentation format.
For those that dealth with 'hostnames' (subset of all possible
domain names) this will be a completely transparent change.
Details:
I added netdnslib wich contains Net::DNS's own dn_expand. Its
implemented in C and the source is a hodgepodge of Berkeley based
code and sniplets from ISC's bind9 distribution. The behavior, in
terms of which chars are escaped, is similare to bind9.
There are some functions added to DNS.pm that do conversion from
presentation and wire format and back. They should only be used
internally (although they live in EXPORT_OK.)
For esotheric test cases see t/11-escapedchars.t.
2006-02-09 22:35:46 +01:00
|
|
|
PKG_OPTIONS_VAR= PKG_OPTIONS.p5-Net-DNS
|
|
|
|
PKG_SUPPORTED_OPTIONS= inet6 online-tests
|
|
|
|
PKG_SUGGESTED_OPTIONS= inet6
|
|
|
|
|
|
|
|
.include "../../mk/bsd.options.mk"
|
|
|
|
|
|
|
|
.if !empty(PKG_OPTIONS:Minet6)
|
2009-03-07 16:34:40 +01:00
|
|
|
DEPENDS+= p5-IO-Socket-INET6>=2.01:../../net/p5-IO-Socket-INET6
|
Updated to version 0.55.
Pkgsrc changes:
- Removed hacks.mk. Net::DNS should work on Mac OS 10.4 withouth this
workaround.
- The package has two options now: "inet6" and "online-tests".
- p5-Net-DNS requires an additional package, p5-Net-IP.
Relevant changes since version 0.49:
====================================
- many bug fixes (see Changes and rt.cpan.org)
Feature Net::DNS::Nameserver loop_once()
Uncommented the documentation of the loop_once() function and introduced
get_open_tcp() that reports if there are any open TCP sockets (useful
when using loop_once().
loop_once() itself was introduced in version 0.53_02
Feature async nameserver behaviour.
Fix IPv6 on AIX
Binding to the local interface did not work when local address was
specified as "0" instead of "::". The problem was identified,
reported and fixed by Achim Adam.
Feature
Net::DNS::RR::OPT
added the the size(), do(),set_do() and clear_do() methods.
Feature:
Added "ignqrid" as an attribute to the Resolver.
use as:
ok (my $res=Net::DNS::Resolver->new(nameservers => ['127.0.0.1'],
port => 5354,
recurse => 0,
igntc => 1,
ignqrid => 1,
),
When the attribute is set to a non-zero value replies with the
qr bit clear and replies with non-matching query ids are
happily accepted. This opens the possibility to accept spoofed
answers. YOU CAN BURN YOURSELF WITH THIS FEATURE.
It is set to 0 per default and remains, except for this changes file
an undocumented feature.
Fix: Makefile.PL: Minor tweak to recognize Mac OS X 10.4 not so relevant
since netdnslib is distributed with the code.
Feature: Calling the Net::DNS::Resolver::dnssec method with a non-zero
argument will set the udppacketsize to 2048. The method will
also carp a warning if you pass a non-zero argument when
Net::DNS::SEC is not installed.
Feature: IPv6 transport support
IPv6 transport has been added to the resolver and to the
nameserver code.
To use IPv6 please make sure that you have IO::Socket::INET6 version
2.01 or later installed.
If IPv6 transport is available Net::DNS::Resolver::Recurse will make
use of it (picking randomly between IPv4 and IPv6 transport) use
the force_v4() method to only force IPv4.
Feature: Binary characters in labels
RFC 1035 3.1:
Domain names in messages are expressed in terms of a sequence of
labels. Each label is represented as a one octet length field
followed by that number of octets. Since every domain name ends
with the null label of the root, a domain name is terminated by a
length byte of zero. The high order two bits of every length octet
must be zero, and the remaining six bits of the length field limit
the label to 63 octets or less.
Unfortunatelly dname attributes are stored strings throughout
Net::DNS. (With hindsight dnames should have had their own class
in which one could have preserved the wire format.).
To be able to represent all octets that are allowed in domain
names I took the approach to use the "presentation format" for
the attributes. This presentation format is defined in RFC 1035
5.1.
I added code to parse presentation format domain names that has
escpaped data such as \ddd and \X (where X is not a number) to
wireformat and vice verse. In the conversion from wire format to
presentation format the characters that have special meaning in a
zone file are escaped (so that they can be cut-n-pasted without
pain).
These are " (0x22), $ (0x24), (0x28), ) (0x29), . (0x2e) , ;
(0x3b), @ (ox40) and \ (0x5c). The number between brackets
representing the ascii code in hex.
Note that wherever a name occurs as a string in Net::DNS it is
now in presentation format.
For those that dealth with 'hostnames' (subset of all possible
domain names) this will be a completely transparent change.
Details:
I added netdnslib wich contains Net::DNS's own dn_expand. Its
implemented in C and the source is a hodgepodge of Berkeley based
code and sniplets from ISC's bind9 distribution. The behavior, in
terms of which chars are escaped, is similare to bind9.
There are some functions added to DNS.pm that do conversion from
presentation and wire format and back. They should only be used
internally (although they live in EXPORT_OK.)
For esotheric test cases see t/11-escapedchars.t.
2006-02-09 22:35:46 +01:00
|
|
|
DEPENDS+= p5-Socket6-[0-9]*:../../net/p5-Socket6
|
Update to 0.65:
**** 0.65 January 26, 2009
Fix rt.cpan.org #41076
When the AAAA object was constructed with new_from_hash with an
address containing the "::" shorthand notation normalization was
not done properly.
Fix rt.cpan.org #42375
Typo in Win32.pm Registry root.
**** 0.64 December 30, 2008
Feature rt.cpan.org #36656
Added support for the APL record (RFC 3123)
The module consists of a list of Address Prefix Item objects
as defined in the Net::DNS::RR::APL::ApItem class.
NOTE: Class and its interface may be subject to change.
Fix rt.cpan.org #11931 Wrong nameserver list handling in
Net::DNS::Resolver::Win32
The init method has been rewritten to be based on WIN32::IPhelper for
the selection of the domain and the IP addresses. This is believed to
be more portable than trying to fetch the data from the registry.
We still trying to get the searchlist from the registry.
WARNING: If you use Perl under WIN32 (eg ActivePerl or Strawberry Perl)
then your module dependency graph has changed drastically
Fix IPv6 modules
When IO::Socket::INET6 was available but Socket6 was not the code would
recurse to infinity.
Fix rt.cpan.org #21757 and Feature: Connectivity during test
Addition of --no-IPv6-tests and --IPv6-tests option in Makefile.PL.
Note: This causes two questions to be asked when building the
Makefile instead of one.
Besides the test suites are constructed so that all the connectivity testing
happen in 001-connectivity.t and inavailability of connectivity over a certain
transport is signalled over files t/online.disabled and t/IPv6.disabled respectivly.
Both files are removed by t/99-cleanup
Fix rt.cpan.org #34511
Priming query logic contained unneeded recursion.
Now also fals back to hardcoded hints if there are no nameservers whatsoever.
Fix rt.cpan.org #38390 and 37089
Added CD and AD bit control to the resolver.
The CD flag defaults to being unset and the AD flags is set by default
whenever DNSSEC is available.
Both flags default to unset in absence of DNSSEC.
Fix rt.cpan.org #37282
Improved error reporting during client disconnect from the nameserver
NOTE rt.cpan.org # 40249
Release 0.62 introduced a feature to parse data inside a packet only
when needed. This can the following to happen:
Eception: corrupt or incomplete data at
/usr/lib/perl5/Net/DNS/RR.pm line 510.
caught at -e line 1
This may happen when you have undefined your packet data before all the
sections have been fully parsed. Such as in:
$packet = Net::DNS::Packet->new(\$data);
undef($data);
The workaround is to force parcing by calling the methods that
parse the data. e.g.
$packet = Net::DNS::Packet->new(\$data);
$packet->answer; $packet->additional; $packet->authority;
undef ($data)
Fix rt.cpan.org # 41076 and # 41071
Net::DNS::RR->new_from_hash function would not normalize the content
of the data so that a method getting a string representation would
get inconsistent results depending on whether a RR was created from
a string of from a hash.
Fix rt.cpan.org # 41296
Compression buggy for large packets. Fix by Kim Minh.
Fix rt.cpan.org # 35752
Perl 5.10.0 gave a number of issues on several platforms, prefering
XSLoader over Dynaloader seemed to fix those.
Bug rt.cpan.org #34510
Buggy setting of "Recursion too deep, aborted" corrected.
Feature (rt.cpan.org #39284)
The ReplyHandler now also receives a variable with an annonymous has with the connection details. Variables
supplied to the Reply handler are: $qname, $qclass, $qtype, $peerhost, $query, $conn
The hash referenced by $conn contains the following buckets: sockhost, sockport, peerhost, and peerport.
Feature t/08-online.t and t/10-recurse.t
In particular environments a query for a.t. will resolve and or
middleboxes will replace DNS packet content for queries to the root.
A bunch of test is skipped when this (broken) environment is
detected.
Feature/Bug rt.cpan.org #22019
The initial fix for rt 22019 was to strip a trailing dot from all
attributes that where povided as argument for the
Net::DNS::RR::new_from_hash function. We have introduced
Net::DNS::stripdot, a function that will strip the dots of domain
names, taking into account possible escapes (e.g. labels like
foo\\\..). As a side effect the new_from_string method will now
convert possible spaces that are not trapped by some of the
new_from_string functions and convert them to \032 escapes.
For information: The internal storage of domain names is using
presentation format without trailing dots.
Bug
@EXPORT and @EXPORT_OK moved to a BEGIN block so that Net::DNS::SEC
can make use of exported functions
Feature/Bug
The Notify handler introduced in 0.63 did not set the OPCODE on the
reply appropriately. This has been solved generically by allowing the
"Headermask" that is returned as 4th element by the reply or notify
handler in the nameserver also allows for the opcode to be set.
e.g. as in return ("NXDOMAIN",[],[],[],{ opcode => "NS_NOTIFY_OP" }
);
2009-02-22 17:38:46 +01:00
|
|
|
MAKE_PARAMS+= --IPv6-tests
|
|
|
|
.else
|
|
|
|
MAKE_PARAMS+= --no-IPv6-tests
|
Updated to version 0.55.
Pkgsrc changes:
- Removed hacks.mk. Net::DNS should work on Mac OS 10.4 withouth this
workaround.
- The package has two options now: "inet6" and "online-tests".
- p5-Net-DNS requires an additional package, p5-Net-IP.
Relevant changes since version 0.49:
====================================
- many bug fixes (see Changes and rt.cpan.org)
Feature Net::DNS::Nameserver loop_once()
Uncommented the documentation of the loop_once() function and introduced
get_open_tcp() that reports if there are any open TCP sockets (useful
when using loop_once().
loop_once() itself was introduced in version 0.53_02
Feature async nameserver behaviour.
Fix IPv6 on AIX
Binding to the local interface did not work when local address was
specified as "0" instead of "::". The problem was identified,
reported and fixed by Achim Adam.
Feature
Net::DNS::RR::OPT
added the the size(), do(),set_do() and clear_do() methods.
Feature:
Added "ignqrid" as an attribute to the Resolver.
use as:
ok (my $res=Net::DNS::Resolver->new(nameservers => ['127.0.0.1'],
port => 5354,
recurse => 0,
igntc => 1,
ignqrid => 1,
),
When the attribute is set to a non-zero value replies with the
qr bit clear and replies with non-matching query ids are
happily accepted. This opens the possibility to accept spoofed
answers. YOU CAN BURN YOURSELF WITH THIS FEATURE.
It is set to 0 per default and remains, except for this changes file
an undocumented feature.
Fix: Makefile.PL: Minor tweak to recognize Mac OS X 10.4 not so relevant
since netdnslib is distributed with the code.
Feature: Calling the Net::DNS::Resolver::dnssec method with a non-zero
argument will set the udppacketsize to 2048. The method will
also carp a warning if you pass a non-zero argument when
Net::DNS::SEC is not installed.
Feature: IPv6 transport support
IPv6 transport has been added to the resolver and to the
nameserver code.
To use IPv6 please make sure that you have IO::Socket::INET6 version
2.01 or later installed.
If IPv6 transport is available Net::DNS::Resolver::Recurse will make
use of it (picking randomly between IPv4 and IPv6 transport) use
the force_v4() method to only force IPv4.
Feature: Binary characters in labels
RFC 1035 3.1:
Domain names in messages are expressed in terms of a sequence of
labels. Each label is represented as a one octet length field
followed by that number of octets. Since every domain name ends
with the null label of the root, a domain name is terminated by a
length byte of zero. The high order two bits of every length octet
must be zero, and the remaining six bits of the length field limit
the label to 63 octets or less.
Unfortunatelly dname attributes are stored strings throughout
Net::DNS. (With hindsight dnames should have had their own class
in which one could have preserved the wire format.).
To be able to represent all octets that are allowed in domain
names I took the approach to use the "presentation format" for
the attributes. This presentation format is defined in RFC 1035
5.1.
I added code to parse presentation format domain names that has
escpaped data such as \ddd and \X (where X is not a number) to
wireformat and vice verse. In the conversion from wire format to
presentation format the characters that have special meaning in a
zone file are escaped (so that they can be cut-n-pasted without
pain).
These are " (0x22), $ (0x24), (0x28), ) (0x29), . (0x2e) , ;
(0x3b), @ (ox40) and \ (0x5c). The number between brackets
representing the ascii code in hex.
Note that wherever a name occurs as a string in Net::DNS it is
now in presentation format.
For those that dealth with 'hostnames' (subset of all possible
domain names) this will be a completely transparent change.
Details:
I added netdnslib wich contains Net::DNS's own dn_expand. Its
implemented in C and the source is a hodgepodge of Berkeley based
code and sniplets from ISC's bind9 distribution. The behavior, in
terms of which chars are escaped, is similare to bind9.
There are some functions added to DNS.pm that do conversion from
presentation and wire format and back. They should only be used
internally (although they live in EXPORT_OK.)
For esotheric test cases see t/11-escapedchars.t.
2006-02-09 22:35:46 +01:00
|
|
|
.endif
|
2004-01-05 23:16:24 +01:00
|
|
|
|
Updated to version 0.55.
Pkgsrc changes:
- Removed hacks.mk. Net::DNS should work on Mac OS 10.4 withouth this
workaround.
- The package has two options now: "inet6" and "online-tests".
- p5-Net-DNS requires an additional package, p5-Net-IP.
Relevant changes since version 0.49:
====================================
- many bug fixes (see Changes and rt.cpan.org)
Feature Net::DNS::Nameserver loop_once()
Uncommented the documentation of the loop_once() function and introduced
get_open_tcp() that reports if there are any open TCP sockets (useful
when using loop_once().
loop_once() itself was introduced in version 0.53_02
Feature async nameserver behaviour.
Fix IPv6 on AIX
Binding to the local interface did not work when local address was
specified as "0" instead of "::". The problem was identified,
reported and fixed by Achim Adam.
Feature
Net::DNS::RR::OPT
added the the size(), do(),set_do() and clear_do() methods.
Feature:
Added "ignqrid" as an attribute to the Resolver.
use as:
ok (my $res=Net::DNS::Resolver->new(nameservers => ['127.0.0.1'],
port => 5354,
recurse => 0,
igntc => 1,
ignqrid => 1,
),
When the attribute is set to a non-zero value replies with the
qr bit clear and replies with non-matching query ids are
happily accepted. This opens the possibility to accept spoofed
answers. YOU CAN BURN YOURSELF WITH THIS FEATURE.
It is set to 0 per default and remains, except for this changes file
an undocumented feature.
Fix: Makefile.PL: Minor tweak to recognize Mac OS X 10.4 not so relevant
since netdnslib is distributed with the code.
Feature: Calling the Net::DNS::Resolver::dnssec method with a non-zero
argument will set the udppacketsize to 2048. The method will
also carp a warning if you pass a non-zero argument when
Net::DNS::SEC is not installed.
Feature: IPv6 transport support
IPv6 transport has been added to the resolver and to the
nameserver code.
To use IPv6 please make sure that you have IO::Socket::INET6 version
2.01 or later installed.
If IPv6 transport is available Net::DNS::Resolver::Recurse will make
use of it (picking randomly between IPv4 and IPv6 transport) use
the force_v4() method to only force IPv4.
Feature: Binary characters in labels
RFC 1035 3.1:
Domain names in messages are expressed in terms of a sequence of
labels. Each label is represented as a one octet length field
followed by that number of octets. Since every domain name ends
with the null label of the root, a domain name is terminated by a
length byte of zero. The high order two bits of every length octet
must be zero, and the remaining six bits of the length field limit
the label to 63 octets or less.
Unfortunatelly dname attributes are stored strings throughout
Net::DNS. (With hindsight dnames should have had their own class
in which one could have preserved the wire format.).
To be able to represent all octets that are allowed in domain
names I took the approach to use the "presentation format" for
the attributes. This presentation format is defined in RFC 1035
5.1.
I added code to parse presentation format domain names that has
escpaped data such as \ddd and \X (where X is not a number) to
wireformat and vice verse. In the conversion from wire format to
presentation format the characters that have special meaning in a
zone file are escaped (so that they can be cut-n-pasted without
pain).
These are " (0x22), $ (0x24), (0x28), ) (0x29), . (0x2e) , ;
(0x3b), @ (ox40) and \ (0x5c). The number between brackets
representing the ascii code in hex.
Note that wherever a name occurs as a string in Net::DNS it is
now in presentation format.
For those that dealth with 'hostnames' (subset of all possible
domain names) this will be a completely transparent change.
Details:
I added netdnslib wich contains Net::DNS's own dn_expand. Its
implemented in C and the source is a hodgepodge of Berkeley based
code and sniplets from ISC's bind9 distribution. The behavior, in
terms of which chars are escaped, is similare to bind9.
There are some functions added to DNS.pm that do conversion from
presentation and wire format and back. They should only be used
internally (although they live in EXPORT_OK.)
For esotheric test cases see t/11-escapedchars.t.
2006-02-09 22:35:46 +01:00
|
|
|
.if !empty(PKG_OPTIONS:Monline-tests)
|
Update to 0.65:
**** 0.65 January 26, 2009
Fix rt.cpan.org #41076
When the AAAA object was constructed with new_from_hash with an
address containing the "::" shorthand notation normalization was
not done properly.
Fix rt.cpan.org #42375
Typo in Win32.pm Registry root.
**** 0.64 December 30, 2008
Feature rt.cpan.org #36656
Added support for the APL record (RFC 3123)
The module consists of a list of Address Prefix Item objects
as defined in the Net::DNS::RR::APL::ApItem class.
NOTE: Class and its interface may be subject to change.
Fix rt.cpan.org #11931 Wrong nameserver list handling in
Net::DNS::Resolver::Win32
The init method has been rewritten to be based on WIN32::IPhelper for
the selection of the domain and the IP addresses. This is believed to
be more portable than trying to fetch the data from the registry.
We still trying to get the searchlist from the registry.
WARNING: If you use Perl under WIN32 (eg ActivePerl or Strawberry Perl)
then your module dependency graph has changed drastically
Fix IPv6 modules
When IO::Socket::INET6 was available but Socket6 was not the code would
recurse to infinity.
Fix rt.cpan.org #21757 and Feature: Connectivity during test
Addition of --no-IPv6-tests and --IPv6-tests option in Makefile.PL.
Note: This causes two questions to be asked when building the
Makefile instead of one.
Besides the test suites are constructed so that all the connectivity testing
happen in 001-connectivity.t and inavailability of connectivity over a certain
transport is signalled over files t/online.disabled and t/IPv6.disabled respectivly.
Both files are removed by t/99-cleanup
Fix rt.cpan.org #34511
Priming query logic contained unneeded recursion.
Now also fals back to hardcoded hints if there are no nameservers whatsoever.
Fix rt.cpan.org #38390 and 37089
Added CD and AD bit control to the resolver.
The CD flag defaults to being unset and the AD flags is set by default
whenever DNSSEC is available.
Both flags default to unset in absence of DNSSEC.
Fix rt.cpan.org #37282
Improved error reporting during client disconnect from the nameserver
NOTE rt.cpan.org # 40249
Release 0.62 introduced a feature to parse data inside a packet only
when needed. This can the following to happen:
Eception: corrupt or incomplete data at
/usr/lib/perl5/Net/DNS/RR.pm line 510.
caught at -e line 1
This may happen when you have undefined your packet data before all the
sections have been fully parsed. Such as in:
$packet = Net::DNS::Packet->new(\$data);
undef($data);
The workaround is to force parcing by calling the methods that
parse the data. e.g.
$packet = Net::DNS::Packet->new(\$data);
$packet->answer; $packet->additional; $packet->authority;
undef ($data)
Fix rt.cpan.org # 41076 and # 41071
Net::DNS::RR->new_from_hash function would not normalize the content
of the data so that a method getting a string representation would
get inconsistent results depending on whether a RR was created from
a string of from a hash.
Fix rt.cpan.org # 41296
Compression buggy for large packets. Fix by Kim Minh.
Fix rt.cpan.org # 35752
Perl 5.10.0 gave a number of issues on several platforms, prefering
XSLoader over Dynaloader seemed to fix those.
Bug rt.cpan.org #34510
Buggy setting of "Recursion too deep, aborted" corrected.
Feature (rt.cpan.org #39284)
The ReplyHandler now also receives a variable with an annonymous has with the connection details. Variables
supplied to the Reply handler are: $qname, $qclass, $qtype, $peerhost, $query, $conn
The hash referenced by $conn contains the following buckets: sockhost, sockport, peerhost, and peerport.
Feature t/08-online.t and t/10-recurse.t
In particular environments a query for a.t. will resolve and or
middleboxes will replace DNS packet content for queries to the root.
A bunch of test is skipped when this (broken) environment is
detected.
Feature/Bug rt.cpan.org #22019
The initial fix for rt 22019 was to strip a trailing dot from all
attributes that where povided as argument for the
Net::DNS::RR::new_from_hash function. We have introduced
Net::DNS::stripdot, a function that will strip the dots of domain
names, taking into account possible escapes (e.g. labels like
foo\\\..). As a side effect the new_from_string method will now
convert possible spaces that are not trapped by some of the
new_from_string functions and convert them to \032 escapes.
For information: The internal storage of domain names is using
presentation format without trailing dots.
Bug
@EXPORT and @EXPORT_OK moved to a BEGIN block so that Net::DNS::SEC
can make use of exported functions
Feature/Bug
The Notify handler introduced in 0.63 did not set the OPCODE on the
reply appropriately. This has been solved generically by allowing the
"Headermask" that is returned as 4th element by the reply or notify
handler in the nameserver also allows for the opcode to be set.
e.g. as in return ("NXDOMAIN",[],[],[],{ opcode => "NS_NOTIFY_OP" }
);
2009-02-22 17:38:46 +01:00
|
|
|
MAKE_PARAMS+= --online-tests
|
Updated to version 0.55.
Pkgsrc changes:
- Removed hacks.mk. Net::DNS should work on Mac OS 10.4 withouth this
workaround.
- The package has two options now: "inet6" and "online-tests".
- p5-Net-DNS requires an additional package, p5-Net-IP.
Relevant changes since version 0.49:
====================================
- many bug fixes (see Changes and rt.cpan.org)
Feature Net::DNS::Nameserver loop_once()
Uncommented the documentation of the loop_once() function and introduced
get_open_tcp() that reports if there are any open TCP sockets (useful
when using loop_once().
loop_once() itself was introduced in version 0.53_02
Feature async nameserver behaviour.
Fix IPv6 on AIX
Binding to the local interface did not work when local address was
specified as "0" instead of "::". The problem was identified,
reported and fixed by Achim Adam.
Feature
Net::DNS::RR::OPT
added the the size(), do(),set_do() and clear_do() methods.
Feature:
Added "ignqrid" as an attribute to the Resolver.
use as:
ok (my $res=Net::DNS::Resolver->new(nameservers => ['127.0.0.1'],
port => 5354,
recurse => 0,
igntc => 1,
ignqrid => 1,
),
When the attribute is set to a non-zero value replies with the
qr bit clear and replies with non-matching query ids are
happily accepted. This opens the possibility to accept spoofed
answers. YOU CAN BURN YOURSELF WITH THIS FEATURE.
It is set to 0 per default and remains, except for this changes file
an undocumented feature.
Fix: Makefile.PL: Minor tweak to recognize Mac OS X 10.4 not so relevant
since netdnslib is distributed with the code.
Feature: Calling the Net::DNS::Resolver::dnssec method with a non-zero
argument will set the udppacketsize to 2048. The method will
also carp a warning if you pass a non-zero argument when
Net::DNS::SEC is not installed.
Feature: IPv6 transport support
IPv6 transport has been added to the resolver and to the
nameserver code.
To use IPv6 please make sure that you have IO::Socket::INET6 version
2.01 or later installed.
If IPv6 transport is available Net::DNS::Resolver::Recurse will make
use of it (picking randomly between IPv4 and IPv6 transport) use
the force_v4() method to only force IPv4.
Feature: Binary characters in labels
RFC 1035 3.1:
Domain names in messages are expressed in terms of a sequence of
labels. Each label is represented as a one octet length field
followed by that number of octets. Since every domain name ends
with the null label of the root, a domain name is terminated by a
length byte of zero. The high order two bits of every length octet
must be zero, and the remaining six bits of the length field limit
the label to 63 octets or less.
Unfortunatelly dname attributes are stored strings throughout
Net::DNS. (With hindsight dnames should have had their own class
in which one could have preserved the wire format.).
To be able to represent all octets that are allowed in domain
names I took the approach to use the "presentation format" for
the attributes. This presentation format is defined in RFC 1035
5.1.
I added code to parse presentation format domain names that has
escpaped data such as \ddd and \X (where X is not a number) to
wireformat and vice verse. In the conversion from wire format to
presentation format the characters that have special meaning in a
zone file are escaped (so that they can be cut-n-pasted without
pain).
These are " (0x22), $ (0x24), (0x28), ) (0x29), . (0x2e) , ;
(0x3b), @ (ox40) and \ (0x5c). The number between brackets
representing the ascii code in hex.
Note that wherever a name occurs as a string in Net::DNS it is
now in presentation format.
For those that dealth with 'hostnames' (subset of all possible
domain names) this will be a completely transparent change.
Details:
I added netdnslib wich contains Net::DNS's own dn_expand. Its
implemented in C and the source is a hodgepodge of Berkeley based
code and sniplets from ISC's bind9 distribution. The behavior, in
terms of which chars are escaped, is similare to bind9.
There are some functions added to DNS.pm that do conversion from
presentation and wire format and back. They should only be used
internally (although they live in EXPORT_OK.)
For esotheric test cases see t/11-escapedchars.t.
2006-02-09 22:35:46 +01:00
|
|
|
.else
|
Update to 0.65:
**** 0.65 January 26, 2009
Fix rt.cpan.org #41076
When the AAAA object was constructed with new_from_hash with an
address containing the "::" shorthand notation normalization was
not done properly.
Fix rt.cpan.org #42375
Typo in Win32.pm Registry root.
**** 0.64 December 30, 2008
Feature rt.cpan.org #36656
Added support for the APL record (RFC 3123)
The module consists of a list of Address Prefix Item objects
as defined in the Net::DNS::RR::APL::ApItem class.
NOTE: Class and its interface may be subject to change.
Fix rt.cpan.org #11931 Wrong nameserver list handling in
Net::DNS::Resolver::Win32
The init method has been rewritten to be based on WIN32::IPhelper for
the selection of the domain and the IP addresses. This is believed to
be more portable than trying to fetch the data from the registry.
We still trying to get the searchlist from the registry.
WARNING: If you use Perl under WIN32 (eg ActivePerl or Strawberry Perl)
then your module dependency graph has changed drastically
Fix IPv6 modules
When IO::Socket::INET6 was available but Socket6 was not the code would
recurse to infinity.
Fix rt.cpan.org #21757 and Feature: Connectivity during test
Addition of --no-IPv6-tests and --IPv6-tests option in Makefile.PL.
Note: This causes two questions to be asked when building the
Makefile instead of one.
Besides the test suites are constructed so that all the connectivity testing
happen in 001-connectivity.t and inavailability of connectivity over a certain
transport is signalled over files t/online.disabled and t/IPv6.disabled respectivly.
Both files are removed by t/99-cleanup
Fix rt.cpan.org #34511
Priming query logic contained unneeded recursion.
Now also fals back to hardcoded hints if there are no nameservers whatsoever.
Fix rt.cpan.org #38390 and 37089
Added CD and AD bit control to the resolver.
The CD flag defaults to being unset and the AD flags is set by default
whenever DNSSEC is available.
Both flags default to unset in absence of DNSSEC.
Fix rt.cpan.org #37282
Improved error reporting during client disconnect from the nameserver
NOTE rt.cpan.org # 40249
Release 0.62 introduced a feature to parse data inside a packet only
when needed. This can the following to happen:
Eception: corrupt or incomplete data at
/usr/lib/perl5/Net/DNS/RR.pm line 510.
caught at -e line 1
This may happen when you have undefined your packet data before all the
sections have been fully parsed. Such as in:
$packet = Net::DNS::Packet->new(\$data);
undef($data);
The workaround is to force parcing by calling the methods that
parse the data. e.g.
$packet = Net::DNS::Packet->new(\$data);
$packet->answer; $packet->additional; $packet->authority;
undef ($data)
Fix rt.cpan.org # 41076 and # 41071
Net::DNS::RR->new_from_hash function would not normalize the content
of the data so that a method getting a string representation would
get inconsistent results depending on whether a RR was created from
a string of from a hash.
Fix rt.cpan.org # 41296
Compression buggy for large packets. Fix by Kim Minh.
Fix rt.cpan.org # 35752
Perl 5.10.0 gave a number of issues on several platforms, prefering
XSLoader over Dynaloader seemed to fix those.
Bug rt.cpan.org #34510
Buggy setting of "Recursion too deep, aborted" corrected.
Feature (rt.cpan.org #39284)
The ReplyHandler now also receives a variable with an annonymous has with the connection details. Variables
supplied to the Reply handler are: $qname, $qclass, $qtype, $peerhost, $query, $conn
The hash referenced by $conn contains the following buckets: sockhost, sockport, peerhost, and peerport.
Feature t/08-online.t and t/10-recurse.t
In particular environments a query for a.t. will resolve and or
middleboxes will replace DNS packet content for queries to the root.
A bunch of test is skipped when this (broken) environment is
detected.
Feature/Bug rt.cpan.org #22019
The initial fix for rt 22019 was to strip a trailing dot from all
attributes that where povided as argument for the
Net::DNS::RR::new_from_hash function. We have introduced
Net::DNS::stripdot, a function that will strip the dots of domain
names, taking into account possible escapes (e.g. labels like
foo\\\..). As a side effect the new_from_string method will now
convert possible spaces that are not trapped by some of the
new_from_string functions and convert them to \032 escapes.
For information: The internal storage of domain names is using
presentation format without trailing dots.
Bug
@EXPORT and @EXPORT_OK moved to a BEGIN block so that Net::DNS::SEC
can make use of exported functions
Feature/Bug
The Notify handler introduced in 0.63 did not set the OPCODE on the
reply appropriately. This has been solved generically by allowing the
"Headermask" that is returned as 4th element by the reply or notify
handler in the nameserver also allows for the opcode to be set.
e.g. as in return ("NXDOMAIN",[],[],[],{ opcode => "NS_NOTIFY_OP" }
);
2009-02-22 17:38:46 +01:00
|
|
|
MAKE_PARAMS+= --no-online-tests
|
Updated to version 0.55.
Pkgsrc changes:
- Removed hacks.mk. Net::DNS should work on Mac OS 10.4 withouth this
workaround.
- The package has two options now: "inet6" and "online-tests".
- p5-Net-DNS requires an additional package, p5-Net-IP.
Relevant changes since version 0.49:
====================================
- many bug fixes (see Changes and rt.cpan.org)
Feature Net::DNS::Nameserver loop_once()
Uncommented the documentation of the loop_once() function and introduced
get_open_tcp() that reports if there are any open TCP sockets (useful
when using loop_once().
loop_once() itself was introduced in version 0.53_02
Feature async nameserver behaviour.
Fix IPv6 on AIX
Binding to the local interface did not work when local address was
specified as "0" instead of "::". The problem was identified,
reported and fixed by Achim Adam.
Feature
Net::DNS::RR::OPT
added the the size(), do(),set_do() and clear_do() methods.
Feature:
Added "ignqrid" as an attribute to the Resolver.
use as:
ok (my $res=Net::DNS::Resolver->new(nameservers => ['127.0.0.1'],
port => 5354,
recurse => 0,
igntc => 1,
ignqrid => 1,
),
When the attribute is set to a non-zero value replies with the
qr bit clear and replies with non-matching query ids are
happily accepted. This opens the possibility to accept spoofed
answers. YOU CAN BURN YOURSELF WITH THIS FEATURE.
It is set to 0 per default and remains, except for this changes file
an undocumented feature.
Fix: Makefile.PL: Minor tweak to recognize Mac OS X 10.4 not so relevant
since netdnslib is distributed with the code.
Feature: Calling the Net::DNS::Resolver::dnssec method with a non-zero
argument will set the udppacketsize to 2048. The method will
also carp a warning if you pass a non-zero argument when
Net::DNS::SEC is not installed.
Feature: IPv6 transport support
IPv6 transport has been added to the resolver and to the
nameserver code.
To use IPv6 please make sure that you have IO::Socket::INET6 version
2.01 or later installed.
If IPv6 transport is available Net::DNS::Resolver::Recurse will make
use of it (picking randomly between IPv4 and IPv6 transport) use
the force_v4() method to only force IPv4.
Feature: Binary characters in labels
RFC 1035 3.1:
Domain names in messages are expressed in terms of a sequence of
labels. Each label is represented as a one octet length field
followed by that number of octets. Since every domain name ends
with the null label of the root, a domain name is terminated by a
length byte of zero. The high order two bits of every length octet
must be zero, and the remaining six bits of the length field limit
the label to 63 octets or less.
Unfortunatelly dname attributes are stored strings throughout
Net::DNS. (With hindsight dnames should have had their own class
in which one could have preserved the wire format.).
To be able to represent all octets that are allowed in domain
names I took the approach to use the "presentation format" for
the attributes. This presentation format is defined in RFC 1035
5.1.
I added code to parse presentation format domain names that has
escpaped data such as \ddd and \X (where X is not a number) to
wireformat and vice verse. In the conversion from wire format to
presentation format the characters that have special meaning in a
zone file are escaped (so that they can be cut-n-pasted without
pain).
These are " (0x22), $ (0x24), (0x28), ) (0x29), . (0x2e) , ;
(0x3b), @ (ox40) and \ (0x5c). The number between brackets
representing the ascii code in hex.
Note that wherever a name occurs as a string in Net::DNS it is
now in presentation format.
For those that dealth with 'hostnames' (subset of all possible
domain names) this will be a completely transparent change.
Details:
I added netdnslib wich contains Net::DNS's own dn_expand. Its
implemented in C and the source is a hodgepodge of Berkeley based
code and sniplets from ISC's bind9 distribution. The behavior, in
terms of which chars are escaped, is similare to bind9.
There are some functions added to DNS.pm that do conversion from
presentation and wire format and back. They should only be used
internally (although they live in EXPORT_OK.)
For esotheric test cases see t/11-escapedchars.t.
2006-02-09 22:35:46 +01:00
|
|
|
.endif
|
2002-09-09 02:22:22 +02:00
|
|
|
|
2005-07-13 20:01:18 +02:00
|
|
|
PERL5_PACKLIST= auto/Net/DNS/.packlist
|
1999-11-08 02:06:49 +01:00
|
|
|
|
2002-10-06 04:37:56 +02:00
|
|
|
.include "../../lang/perl5/module.mk"
|
1999-11-08 02:06:49 +01:00
|
|
|
.include "../../mk/bsd.pkg.mk"
|