Blame README

Packit Service f6e53a
Packit Service f6e53a
Net::DNS - Perl DNS Resolver Module
Packit Service f6e53a
===================================
Packit Service f6e53a
Packit Service f6e53a
Packit Service f6e53a
   TABLE OF CONTENTS
Packit Service f6e53a
   -----------------
Packit Service f6e53a
Packit Service f6e53a
1.  Description
Packit Service f6e53a
2.  Availability
Packit Service f6e53a
3.  Prerequisites
Packit Service f6e53a
4.  Installation
Packit Service f6e53a
5.  Running Tests
Packit Service f6e53a
6.  Demonstration Scripts
Packit Service f6e53a
7.  Dynamic Updates
Packit Service f6e53a
8.  Signed Queries & Updates
Packit Service f6e53a
9.  DNSSEC
Packit Service f6e53a
10. Bugs
Packit Service f6e53a
11. Copyright
Packit Service f6e53a
12. License
Packit Service f6e53a
13. Staying Tuned
Packit Service f6e53a
14. Acknowledgments
Packit Service f6e53a
Packit Service f6e53a
Packit Service f6e53a
1. DESCRIPTION
Packit Service f6e53a
   -----------
Packit Service f6e53a
Packit Service f6e53a
Net::DNS is a DNS resolver implemented in Perl. It allows the programmer
Packit Service f6e53a
to perform nearly any type of DNS query from a Perl script. For details
Packit Service f6e53a
and examples, please read the Net::DNS manual page.
Packit Service f6e53a
Packit Service f6e53a
To read about the latest features, see the Changes file. To find out about
Packit Service f6e53a
known bugs and to see what is planned for future versions, see the CPAN RT
Packit Service f6e53a
ticket list.
Packit Service f6e53a
Packit Service f6e53a
The author invites feedback on Net::DNS. If there is something you would
Packit Service f6e53a
like to have added, please let me know. If you find a bug, please send me
Packit Service f6e53a
the information described in the BUGS section below.
Packit Service f6e53a
Packit Service f6e53a
See http://www.net-dns.org/blog/ for announcements about Net::DNS.
Packit Service f6e53a
Packit Service f6e53a
Packit Service f6e53a
2. AVAILABILITY
Packit Service f6e53a
   ------------
Packit Service f6e53a
Packit Service f6e53a
You can get the latest version of Net::DNS from the Comprehensive Perl
Packit Service f6e53a
Archive Network (CPAN) or from the module's homepage:
Packit Service f6e53a
Packit Service f6e53a
	http://search.cpan.org/dist/Net-DNS/
Packit Service f6e53a
Packit Service f6e53a
or through
Packit Service f6e53a
Packit Service f6e53a
	http://www.net-dns.org/
Packit Service f6e53a
Packit Service f6e53a
Additionally a subversion repository is made available through
Packit Service f6e53a
Packit Service f6e53a
	http://www.net-dns.org/svn/net-dns/
Packit Service f6e53a
Packit Service f6e53a
The version on the "trunk" (http://www.net-dns.org/svn/net-dns/trunk) is
Packit Service f6e53a
the version that is targeted for next release.
Packit Service f6e53a
Packit Service f6e53a
Please note that the SVN version at any given moment may be broken.
Packit Service f6e53a
Packit Service f6e53a
Packit Service f6e53a
3. PREREQUISITES
Packit Service f6e53a
   -------------
Packit Service f6e53a
Packit Service f6e53a
The availability of prerequisites for Net::DNS is tested at installation
Packit Service f6e53a
time. These are the core packages that need to be available:
Packit Service f6e53a
Packit Service f6e53a
	Digest::HMAC
Packit Service f6e53a
	Digest::MD5  
Packit Service f6e53a
	Digest::SHA  
Packit Service f6e53a
	File::Spec      
Packit Service f6e53a
	IO::Socket      
Packit Service f6e53a
	MIME::Base64     
Packit Service f6e53a
	Time::Local
Packit Service f6e53a
	Test::More       
Packit Service f6e53a
Packit Service f6e53a
The availability of these optional packages is tested at runtime:
Packit Service f6e53a
Packit Service f6e53a
	Digest::BubbleBabble
Packit Service f6e53a
	Digest::GOST
Packit Service f6e53a
	IO::Socket::INET6
Packit Service f6e53a
	IO::Socket::IP
Packit Service f6e53a
	Net::DNS::SEC
Packit Service f6e53a
	Net::LibIDN
Packit Service f6e53a
Packit Service f6e53a
You can obtain the latest version of Perl from:
Packit Service f6e53a
Packit Service f6e53a
	http://www.cpan.org
Packit Service f6e53a
Packit Service f6e53a
Some of the demonstration and contributed scripts may require additional
Packit Service f6e53a
modules -- see demo/README and contrib/README for details.
Packit Service f6e53a
Packit Service f6e53a
Note that the Test::More module is actually part of the Test-Simple
Packit Service f6e53a
distribution. See the FAQ (lib/Net/DNS/FAQ.pod) for more information.
Packit Service f6e53a
Packit Service f6e53a
Packit Service f6e53a
4. INSTALLATION
Packit Service f6e53a
   ------------
Packit Service f6e53a
Packit Service f6e53a
Please install any modules mentioned in the PREREQUISITES section above.
Packit Service f6e53a
If you do not, some features of Net::DNS will not work. When you run "perl
Packit Service f6e53a
Makefile.PL", Perl should complain if any of the required modules is
Packit Service f6e53a
missing.
Packit Service f6e53a
Packit Service f6e53a
To build this module, run the following commands:
Packit Service f6e53a
Packit Service f6e53a
	tar xvzf Net-DNS-?.??.tar.gz
Packit Service f6e53a
	cd  Net-DNS-?.??
Packit Service f6e53a
	perl Makefile.PL
Packit Service f6e53a
	make
Packit Service f6e53a
	make test
Packit Service f6e53a
	make install
Packit Service f6e53a
Packit Service f6e53a
If you do not wish to run the online tests, the '--no-online-tests' option
Packit Service f6e53a
can be used. Similarly, '--online-tests' will enable the online tests.
Packit Service f6e53a
Online tests will be run by default, but the result will not adversely
Packit Service f6e53a
affect the outcome of test suite.
Packit Service f6e53a
Packit Service f6e53a
Also, if you do not wish to run the IPv6 tests, the '--no-IPv6-tests'
Packit Service f6e53a
option can be used. Similarly, '--IPv6-tests' will enable the IPv6 tests.
Packit Service f6e53a
Packit Service f6e53a
Packit Service f6e53a
5. RUNNING TESTS
Packit Service f6e53a
   -------------
Packit Service f6e53a
Packit Service f6e53a
If any of the tests fail, please contact the author with the output from
Packit Service f6e53a
the following command:
Packit Service f6e53a
Packit Service f6e53a
	make test TEST_VERBOSE=1
Packit Service f6e53a
Packit Service f6e53a
Packit Service f6e53a
6. DEMONSTRATION SCRIPTS
Packit Service f6e53a
   ---------------------
Packit Service f6e53a
Packit Service f6e53a
There are a few demonstration scripts in the demo/ directory -- see
Packit Service f6e53a
demo/README for more information. Contributed scripts are in the contrib/
Packit Service f6e53a
directory -- see contrib/README.
Packit Service f6e53a
Packit Service f6e53a
The author would be happy to include any contributed scripts in future
Packit Service f6e53a
versions of this module. All I ask is that they be documented (preferably
Packit Service f6e53a
using POD) and that the contributor's name and contact information be
Packit Service f6e53a
mentioned somewhere.
Packit Service f6e53a
Packit Service f6e53a
Packit Service f6e53a
7. DYNAMIC UPDATES
Packit Service f6e53a
   ---------------
Packit Service f6e53a
Packit Service f6e53a
Net::DNS supports DNS dynamic updates as documented in RFC 2136; for more
Packit Service f6e53a
information and examples, please see the Net::DNS::Update manual page.
Packit Service f6e53a
Packit Service f6e53a
Here is a summary of the update semantics for those interested (see RFC
Packit Service f6e53a
2136 for details):
Packit Service f6e53a
Packit Service f6e53a
    PREREQUISITE SECTION
Packit Service f6e53a
                   # RRs   NAME   TTL   CLASS   TYPE   RDLENGTH   RDATA
Packit Service f6e53a
                   -----   ----   ---   -----   ----   --------   -----
Packit Service f6e53a
    yxrrset          1     name    0     ANY    type       0      empty
Packit Service f6e53a
    yxrrset          1+    name    0    class   type   rdlength   rdata
Packit Service f6e53a
    nxrrset          1     name    0     NONE   type       0      empty
Packit Service f6e53a
    yxdomain         1     name    0     ANY     ANY       0      empty
Packit Service f6e53a
    nxdomain         1     name    0     NONE    ANY       0      empty
Packit Service f6e53a
Packit Service f6e53a
Packit Service f6e53a
    UPDATE SECTION
Packit Service f6e53a
                   # RRs   NAME   TTL   CLASS   TYPE   RDLENGTH   RDATA
Packit Service f6e53a
                   -----   ----   ---   -----   ----   --------   -----
Packit Service f6e53a
    add RRs          1+    name   ttl   class   type   rdlength   rdata
Packit Service f6e53a
    del RRset        1     name    0     ANY    type       0      empty
Packit Service f6e53a
    del all RRsets   1     name    0     ANY     ANY       0      empty
Packit Service f6e53a
    del RRs          1+    name    0     NONE   type   rdlength   rdata
Packit Service f6e53a
Packit Service f6e53a
Packit Service f6e53a
8. SIGNED QUERIES & UPDATES
Packit Service f6e53a
   ------------------------
Packit Service f6e53a
Packit Service f6e53a
Net::DNS supports the TSIG resource record to perform signed queries and
Packit Service f6e53a
updates (RFC 2845). See the Net::DNS::Packet and Net::DNS::Update manual
Packit Service f6e53a
pages for examples.
Packit Service f6e53a
Packit Service f6e53a
If you're using the BIND nameserver, the BIND FAQ shows how to generate
Packit Service f6e53a
keys and configure the nameserver to use them:
Packit Service f6e53a
Packit Service f6e53a
	http://www.nominum.com/resources/faqs/bind-faq.html
Packit Service f6e53a
Packit Service f6e53a
TSIG support is new and isn't yet complete. Please use with caution on
Packit Service f6e53a
production systems. Feedback on TSIG functionality would be most welcome.
Packit Service f6e53a
Packit Service f6e53a
Packit Service f6e53a
9. DNSSEC
Packit Service f6e53a
   ------
Packit Service f6e53a
Packit Service f6e53a
The extensions to enable the DNSSEC signature generation and verification
Packit Service f6e53a
functions are distributed separately as Net::DNS::SEC. The package is
Packit Service f6e53a
available from CPAN.
Packit Service f6e53a
Packit Service f6e53a
Packit Service f6e53a
10. BUGS
Packit Service f6e53a
    ----
Packit Service f6e53a
Packit Service f6e53a
Net::DNS, although begun in 1997, is still under development and may still
Packit Service f6e53a
contain a few bugs. Please see CPAN RT and Changes file for more
Packit Service f6e53a
information.
Packit Service f6e53a
Packit Service f6e53a
We recommend that you exercise caution when using Net::DNS to maintain a
Packit Service f6e53a
production nameserver via dynamic updates. Always test your code
Packit Service f6e53a
*thoroughly*. The Net::DNS authors accept no blame if you corrupt your
Packit Service f6e53a
zone. That warning in place, We are aware of one large company that has
Packit Service f6e53a
used Net::DNS to make thousands of dynamic updates per day for at least
Packit Service f6e53a
three years without any problems.
Packit Service f6e53a
Packit Service f6e53a
Please use the following form to submit bug reports:
Packit Service f6e53a
Packit Service f6e53a
	https://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-DNS
Packit Service f6e53a
Packit Service f6e53a
If you find any bugs, please report each in a separate "rt.cpan.org"
Packit Service f6e53a
report along with the following information:
Packit Service f6e53a
Packit Service f6e53a
	* subject field containing a concise descriptive summary
Packit Service f6e53a
	* version of Perl (output of 'perl -V' is best)
Packit Service f6e53a
	* version of Net::DNS
Packit Service f6e53a
	* operating system type and version
Packit Service f6e53a
	* version of nameserver (if known)
Packit Service f6e53a
	* exact text of error message or description of problem
Packit Service f6e53a
	* the shortest possible program that exhibits the problem
Packit Service f6e53a
	* the specific queries you are making, if the fault can be
Packit Service f6e53a
	  demonstrated using Internet nameservers
Packit Service f6e53a
Packit Service f6e53a
If we do not have access to a system similar to yours, you may be asked
Packit Service f6e53a
to insert some debugging lines and report back on the results. The more
Packit Service f6e53a
focussed the help and information you provide, the better.
Packit Service f6e53a
Packit Service f6e53a
Net::DNS is currently maintained at NLnet Labs (www.nlnetlabs.nl) by:
Packit Service f6e53a
	Willem Toorop.
Packit Service f6e53a
Packit Service f6e53a
Between 2005 and 2012 Net::DNS was maintained by:
Packit Service f6e53a
	Olaf Kolkman and his team.
Packit Service f6e53a
Packit Service f6e53a
Between 2002 and 2004 Net::DNS was maintained by Chris Reinhardt.
Packit Service f6e53a
Packit Service f6e53a
Net::DNS was created in 1997 by Michael Fuhr.
Packit Service f6e53a
Packit Service f6e53a
Packit Service f6e53a
11. COPYRIGHT
Packit Service f6e53a
    ---------
Packit Service f6e53a
Packit Service f6e53a
Authorship of individual components and significant contributions is shown
Packit Service f6e53a
in the copyright notice attached to the relevant documentation. Copyright
Packit Service f6e53a
in all components is retained by their respective authors.
Packit Service f6e53a
Packit Service f6e53a
Packit Service f6e53a
12. LICENSE
Packit Service f6e53a
    -------
Packit Service f6e53a
Packit Service f6e53a
Permission to use, copy, modify, and distribute this software and its
Packit Service f6e53a
documentation for any purpose and without fee is hereby granted, provided
Packit Service f6e53a
that the above copyright notice appear in all copies and that both that
Packit Service f6e53a
copyright notice and this permission notice appear in supporting
Packit Service f6e53a
documentation, and that the name of the author not be used in advertising
Packit Service f6e53a
or publicity pertaining to distribution of the software without specific
Packit Service f6e53a
prior written permission.
Packit Service f6e53a
Packit Service f6e53a
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
Packit Service f6e53a
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
Packit Service f6e53a
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
Packit Service f6e53a
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
Packit Service f6e53a
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
Packit Service f6e53a
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
Packit Service f6e53a
DEALINGS IN THE SOFTWARE.
Packit Service f6e53a
Packit Service f6e53a
Packit Service f6e53a
13. STAYING TUNED
Packit Service f6e53a
    -------------
Packit Service f6e53a
Packit Service f6e53a
http://www.net-dns.org is a web site dedicated to the development of
Packit Service f6e53a
Net::DNS. Announcements about Net::DNS and Net::DNS::SEC will be done
Packit Service f6e53a
through the Net::DNS weblog at http://www.net-dns.org/blog/. An RSS feed
Packit Service f6e53a
for the weblog is available.
Packit Service f6e53a
Packit Service f6e53a
If you want to have access to the latest and greatest code a subversion
Packit Service f6e53a
repository is made available through
Packit Service f6e53a
Packit Service f6e53a
	http://www.net-dns.org/svn/net-dns/
Packit Service f6e53a
Packit Service f6e53a
The version on the "trunk" (http://www.net-dns.org/svn/net-dns/trunk) is
Packit Service f6e53a
the version that is targeted for next release.
Packit Service f6e53a
Packit Service f6e53a
Please note that code from the SVN repositories trunk and development
Packit Service f6e53a
branches may be broken at any time.
Packit Service f6e53a
Packit Service f6e53a
Packit Service f6e53a
14. ACKNOWLEDGMENTS
Packit Service f6e53a
    ---------------
Packit Service f6e53a
Packit Service f6e53a
Thanks to Mike for letting me take care of his baby.
Packit Service f6e53a
Packit Service f6e53a
Thanks to Chris for maintaining Net::DNS for a couple of years.
Packit Service f6e53a
Packit Service f6e53a
Thanks to Olaf for maintaining Net::DNS for over eight years.
Packit Service f6e53a
Packit Service f6e53a
Thanks to Rob Brown and Dick Franks for all their patches and input.
Packit Service f6e53a
Packit Service f6e53a
Thanks to all who have used Net::DNS and reported bugs, made suggestions,
Packit Service f6e53a
contributed code, and encouraged me to add certain features. Many of these
Packit Service f6e53a
people are mentioned by name in the Changes file; lack of mention should
Packit Service f6e53a
be considered an oversight and not a conscious act of omission.
Packit Service f6e53a
Packit Service f6e53a
Thanks to Larry Wall and all who have made Perl possible.
Packit Service f6e53a
Packit Service f6e53a
Thanks to Paul Albitz and Cricket Liu for allowing me [OK: that is Mike]
Packit Service f6e53a
to write the Net::DNS section in the programming chapter of DNS and BIND,
Packit Service f6e53a
3rd Edition. This chapter in earlier editions was very helpful while I
Packit Service f6e53a
was developing Net::DNS, and I was proud to contribute to it.
Packit Service f6e53a
Packit Service f6e53a
Thanks to Paul Vixie and all who have worked on the BIND nameserver, which
Packit Service f6e53a
I've used exclusively while developing Net::DNS.
Packit Service f6e53a
Packit Service f6e53a
Thanks to Andreas Gustafsson for DNAME support, and for all the work he
Packit Service f6e53a
has done on BIND 9.
Packit Service f6e53a
Packit Service f6e53a
Olaf acknowledges the RIPE NCC for allowing Net::DNS maintenance to take
Packit Service f6e53a
place as part of 'the job'.
Packit Service f6e53a
Packit Service f6e53a
Thanks to the team that maintains wireshark. Without its marvelous
Packit Service f6e53a
interface, debugging of bugs in wireformat would be so much more
Packit Service f6e53a
difficult.
Packit Service f6e53a
Packit Service f6e53a
Thanks to the thousands who participate in the open-source community. I
Packit Service f6e53a
have always developed Net::DNS using open-source systems and I am proud
Packit Service f6e53a
to make Net::DNS freely available to the world.
Packit Service f6e53a
Packit Service f6e53a
Packit Service f6e53a
---- $Id: README 1550 2017-03-08 13:14:14Z willem $
Packit Service f6e53a