DelChecker

A perl cgi-bin script and supporting files for testing DNS
delegations (see http://www.ripe.net/cgi-bin/nph-dc.cgi).

Lee Wilmot, RIPE NCC
First version September, 1999
First distribution July, 2001

Please send queries to...

        <swcontact@ripe.net>

...but note that support will be on a 'as time permits'
level.

README last modified 20010726

# ------------------------------------------------------------------ #

# -- basic installation

   - make sure you have Net::DNS and XML::DOM installed on your system
   - edit Makefile appropriate for your system
   - edit dc-ext-header.html and dc-ext-footer.html to your standard
     site header/footer
   - make
   - make install

# --- perl requirements

   - this version only tested on 5.6.0. Will probably work on any
     perl5, with a bit of tweaking.

# --- OS requirements

   - this external distribution has only been tested on Apache webserver running
     on both slackware linux and solaris.

# --- needed perl modules

   - Net::DNS

     available from e.g. http://www.fuhr.org/~mfuhr/perldns/
     We recommend 0.19. If using 0.19 you probably want to replace
     line 845 in Resolver.pm...

         @ns = grep { $_->[0] ne $ready->peerhost }
                                              @ns;

     with...

        my $old_wflag = $^W;
        $^W = 0;
 
        @ns = grep { $_->[0] ne $ready->peerhost }
                                              @ns;

        $^W = $old_wflag;

     which is a rough fix to a problem which arises sometimes.

   - XML::DOM

     this depends on a few other modules which you will also need
     to install

# --- optional executables

   - ckudpcksum

     checks that hosts do not process packets with bad checksums.
     Currently, we know it will compile on Solaris and BSD/OS.
     It will not compile sufficiently well on linux.

     You can find a source at
  
         ftp://ftp.ripe.net/tools/ckudpcksum.tar.gz

     Note: we can't answer questions about ckudpcksum, please
     direct them to the author.

   - hping

     you can use hping to fulfill the same function as ckudpcksum
     if you have problems compiling ckudpcksum, or already have it.

   - ping, traceroute

     used to check connectivity to a nameserver if there are
     problems making queries to it.

Depending on your OS, you may need to configure paths and options to
these executables in DelChecker.pm. Change the variable
%EXTERNAL_TOOLS near the top of the package. It's NOT advisable from a
security point of view to use the shortened executable name
(e.g. 'ping') and put directories like '/usr/local/bin/' in your path.

# --- contents description

nph-dc.src
        source file for nph-dc.cgi, the perl CGI
        bin script

DelChecker.pm
        perl module for carrying out DNS checks.
        See also 'perldoc DelChecker.pm'.

iplib.pm
        perl module for manupulating IP addresses

Report.pm
        perl module for creating text/HTML reports.
        See also 'perldoc Report.pm'.

DelChecker.prb.src
        source file for DelChecker.prb.xml, an XML
        file containing descriptions of problems
        which can be generated by DelChecker.pm.
        Used by Report.pm to generate reports.

Report.prb.dtd
        DTD for DelChecker.prb.xml. Empty at this time.

make-extended-headers.src
        source file for make-extended-headers.pl.
        Reports generated refer to an HTML page
        external to the script, dc-ext-descr.html.
        This script uses DelChecker.prb.xml,
        dc-ext-header.html and dc-ext-footer.html
        to make that page.

dc-ext-header.html
dc-ext-footer.html
        see make-extended-headers.src above


