pkgsrc/net/p5-Net-DNS/Makefile

50 lines
1.4 KiB
Makefile
Raw Normal View History

Update to 0.66: **** 0.66 Dec 30, 2009 Feature Truncation for Nameserver fixes rt.cpan.org #33547 and #42744 TAKE CARE: this feature may cause unexpected behavior for your nameservers and can be turned off by setting Truncate to 0 during the creation of the nameserver. my $ns = Net::DNS::Nameserver->new( Truncate => 0, ); Net::DNS::Packet::truncate is a new method that is called from within Net::DNS::Nameserver that truncates a packet according to the rules of RFC2181 section 9. Acknowledgement Aaron Crane for an elegant test and for inspiration for a direction. Feature: Added Net::DNS::Domain Net::DNS::Domain is an attemt to consistently approach the various ways we interface with what RFC 1035 calls <domain-name>. The class and its test script t/02-domain.t are included to be exposed to various architectures. The class and its methods may be subject to change, both in terms of naming and functionality. A contribution by Dick Franks Fix improved fuzzy matching of CLASS and TYPE in the Question constructor method. A contribution by Dick Franks. Fix rt.cpan.org #43770 Update->rr_del() was reported broken for AAAA after 0.65. The same bug also occured in HINFO RR. Fix rt.cpan.org #43765 Code inconsistent with documentation for loop_once. Note: Keeping timeout undefined in loop_once will now block until something arrived on the socket. Fix rt.cpan.org #47050 Fixed logic error in bgsend socket acquisition code. Fix rt.cpan.org #47265 (partial) Frequently Net:DNS under Windows XP has a UDP problem which is caused by a buggy implementation of SOCKS under Windows. One liner added to not continue UDP processing when that happens. Feature KX RR Added support for the KX RR, RFC2230 The implementation is trivial since the KX inherets almost all of its functionality by inheritance from the MX RR. Fix NSAP RR string representation RFC1706 specifies the masterfile format to have a leading "0x" and optional dot. This was not how the RR was represented with the rdatastr method (and hence string and print). Fix rt.cpan.org #52307 AAAA v4compat parsing bug Acknowledgement: BLBLACK Fix AAAA dynamic update Dynamic update of AAAA caused FORMERR on the prerequisite caused by AAAA creating rdata even when an address whas never specified. This fix may cause difference in behavior for people who expect a NULL address ("::") when creating a AAAA without an address specified. Feature HIP RR Added support for the HIP RR, RFC5205 perldoc Net::DNS::RR::HIP for more information. Feature DHCID RR Added rudimentary support for the DHCID RR. Fix rt.cpan.org #50883 This is basically #11931 but for cygwin. Codepath in Cygwin and Win32 are now the same. This adds a dependency in cygwin. Acknowledgements "mikaraento" Fix rt.cpan.org #45407 and #43190 Fixed escaping of semicolon. Note a change in behavior: For TXT and SPF the rdatastr method (and therefore the print, and string method) returns the escaped format while the chr_str_list method will return unescaped format. Fix rt.cpan.org #43393 Typo in 01-resolver.t Fix rt.cpan.org #43273 Added check for unitialized opcode in headermask in Nameserver.pm Fix rt.cpan.org #46635 Minor documentation error in opt.pm Fix rt.cpan.org #51009 Fixed handling of empty string in Net::DNS::stripdot. Elegant one-liner supplied by JMEHNLE. Fix rt.cpan.org #49035 Comment parsing fixed: Semicolon in character string blocks (such as in TXT and NPTR) were only recognized when escaped. Also fixed the NAPTR regular expression to not interpret "bla' 'foo" as two strings bla and foo, but as one: bla' 'foo Fix cd flag settings Resolver bug and fix reported by Jon Haidu.
2010-01-20 15:45:38 +01:00
# $NetBSD: Makefile,v 1.43 2010/01/20 14:45:38 wiz Exp $
Update to 0.66: **** 0.66 Dec 30, 2009 Feature Truncation for Nameserver fixes rt.cpan.org #33547 and #42744 TAKE CARE: this feature may cause unexpected behavior for your nameservers and can be turned off by setting Truncate to 0 during the creation of the nameserver. my $ns = Net::DNS::Nameserver->new( Truncate => 0, ); Net::DNS::Packet::truncate is a new method that is called from within Net::DNS::Nameserver that truncates a packet according to the rules of RFC2181 section 9. Acknowledgement Aaron Crane for an elegant test and for inspiration for a direction. Feature: Added Net::DNS::Domain Net::DNS::Domain is an attemt to consistently approach the various ways we interface with what RFC 1035 calls <domain-name>. The class and its test script t/02-domain.t are included to be exposed to various architectures. The class and its methods may be subject to change, both in terms of naming and functionality. A contribution by Dick Franks Fix improved fuzzy matching of CLASS and TYPE in the Question constructor method. A contribution by Dick Franks. Fix rt.cpan.org #43770 Update->rr_del() was reported broken for AAAA after 0.65. The same bug also occured in HINFO RR. Fix rt.cpan.org #43765 Code inconsistent with documentation for loop_once. Note: Keeping timeout undefined in loop_once will now block until something arrived on the socket. Fix rt.cpan.org #47050 Fixed logic error in bgsend socket acquisition code. Fix rt.cpan.org #47265 (partial) Frequently Net:DNS under Windows XP has a UDP problem which is caused by a buggy implementation of SOCKS under Windows. One liner added to not continue UDP processing when that happens. Feature KX RR Added support for the KX RR, RFC2230 The implementation is trivial since the KX inherets almost all of its functionality by inheritance from the MX RR. Fix NSAP RR string representation RFC1706 specifies the masterfile format to have a leading "0x" and optional dot. This was not how the RR was represented with the rdatastr method (and hence string and print). Fix rt.cpan.org #52307 AAAA v4compat parsing bug Acknowledgement: BLBLACK Fix AAAA dynamic update Dynamic update of AAAA caused FORMERR on the prerequisite caused by AAAA creating rdata even when an address whas never specified. This fix may cause difference in behavior for people who expect a NULL address ("::") when creating a AAAA without an address specified. Feature HIP RR Added support for the HIP RR, RFC5205 perldoc Net::DNS::RR::HIP for more information. Feature DHCID RR Added rudimentary support for the DHCID RR. Fix rt.cpan.org #50883 This is basically #11931 but for cygwin. Codepath in Cygwin and Win32 are now the same. This adds a dependency in cygwin. Acknowledgements "mikaraento" Fix rt.cpan.org #45407 and #43190 Fixed escaping of semicolon. Note a change in behavior: For TXT and SPF the rdatastr method (and therefore the print, and string method) returns the escaped format while the chr_str_list method will return unescaped format. Fix rt.cpan.org #43393 Typo in 01-resolver.t Fix rt.cpan.org #43273 Added check for unitialized opcode in headermask in Nameserver.pm Fix rt.cpan.org #46635 Minor documentation error in opt.pm Fix rt.cpan.org #51009 Fixed handling of empty string in Net::DNS::stripdot. Elegant one-liner supplied by JMEHNLE. Fix rt.cpan.org #49035 Comment parsing fixed: Semicolon in character string blocks (such as in TXT and NPTR) were only recognized when escaped. Also fixed the NAPTR regular expression to not interpret "bla' 'foo" as two strings bla and foo, but as one: bla' 'foo Fix cd flag settings Resolver bug and fix reported by Jon Haidu.
2010-01-20 15:45:38 +01:00
DISTNAME= Net-DNS-0.66
PKGNAME= p5-${DISTNAME}
SVR4_PKGNAME= p5ndn
CATEGORIES= net perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=Net/} \
http://www.net-dns.org/download/
2005-02-21 23:26:05 +01:00
MAINTAINER= heinz@NetBSD.org
HOMEPAGE= http://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}
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_INSTALLATION_TYPES= overwrite pkgviews
2006-11-05 18:31:09 +01:00
PKG_DESTDIR_SUPPORT= user-destdir
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
BUILD_DEPENDS+= {p5-Test-Simple>=0.44,perl{,-thread}>=5.8.0}:../../devel/p5-Test-Simple
DEPENDS+= p5-Digest-HMAC>=1.0:../../security/p5-Digest-HMAC
DEPENDS+= p5-Digest-MD5>=2.12:../../security/p5-Digest-MD5
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-MIME-Base64>=2.11:../../converters/p5-MIME-Base64
DEPENDS+= p5-Net-IP>=1.20:../../net/p5-Net-IP
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)
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
Updated to version 0.62. Pkgsrc changes: - A C compiler is necessary. Changes since version 0.61: =========================== *** 0.62, 28 December 2007 Features: Move of some functionality out of the Packet to the Question and RR classes; parsing of elements in the packet is now performed by calling the appropriate subclasses. New methods were introduced: * Net::DNS::Packet->parse() * Net::DNS::RR->parse() * Net::DNS::Question->parse() The Packet class now defers parsing of authority/additional until their content is really needed. This should cause a bit of performance improvement. Dick Franks is acknowledged for this Good Work (TM). Feature: the Net::DNS::Packet's answersize() method will from now on ignore its arguments and just return the size of the packet. Feature: The Net::DNS::RR->new() method used to call Net::DNS::RR->new_from_data() whenever called with the appropriate combination of arguments. That (undocumented) behavior has been deprecated. Use Net::DNS::RR->new_from_data() directly if you depended on that. Feature: Net::DNS::Packets unique_push now ignores the TTL in comparison of uniqueness, this is closer to the intend of RFC2181, but not yet fully compliant. Fix rt.cpan.org #29816 Acquiring the IP address for the Resolver under Cygwin is made more resilient. Fix rt.cpan.org #31425 Empty question section in Base.pm search method detected Fix rt.cpan.org #31042 Makefile corrected to add a library target. Fix rt.cpan.org #29818 10-recurse.t used to fail in very specific environment (where a query for qname="." and qtype="NS" would return with an empty additional section). Fixed by adding the hints explicitly; this also forces the tests to take place under the root served by a-m.root-servers.net Fix rt.cpan.org #29877 Made 00-version.t recognize a "GIT" environment. Fix rt.cpan.org #29878 SPF.pm did not evaluate as true. Thanks Bjorn Hansen. Fix rt.cpan.org #21398 answersize() and answerfrom() set for persistent sockets Fix rt.cpan.org #29883 Fix various tests only available through SVN, so they are more robust (Acknowledgements Bjoern Hansen) Fix rt.cpan.org #24343 Resolver's nameserver() method would do silly things with undefined arguments. Fix rt.cpan.org #29531 Nameserver.pm, Packet.pm and Question.pm modified to avoid erroneous PTR lookup in response to mischievous query packet containing an IP address. Fix rt.cpan.org #27970 better netdns.o Marek Rouchal provided two minor improvements for linking the C code sniplets Fix rt.cpan 28345 A fix in Test::Simple revealed an off by 1 error in the testplan for 05-rr-rrsort.t. The fix is to remove a test, creating a dependency on Test::Simple 0.71 seemed overkill.
2008-01-08 20:29:45 +01:00
USE_LANGUAGES= c
PERL5_PACKLIST= auto/Net/DNS/.packlist
.include "../../lang/perl5/module.mk"
.include "../../mk/bsd.pkg.mk"