About WEBDNS 1.1.4

WEBDNS is a an World Wide Web facility for editing Internet Domain Name System master files. It is implemented as a perl script.

How It Works

Every time you make a request of WEBDNS, it uses the named.boot file on the machine on which it is running to find all the DNS master files for which the machine is a primary server. It then effectively reads in all the master files. If the request is to view some data or build a form, WEBDNS extracts and presents the relevant data, If the request is a post, WEBDNS checks the contents of the post for consistency, updates its internal data structures, and then dumps out new versions of all the master files.

The dbm File Cache

Because it takes so long to read and write the master files, WEBDNS maintains a cache of the data in random-access dbm files. Whenever it is about to read in all the master files, it really first checks if the master files have been modified since WEBDNS last regenerated them, and if not, it uses its dbm files instead. This makes getting data a lot faster.

By default, WEBDNS will always regenerate the DNS master files every time an edit is made. This can take a long time. You can disable the regeneration of DNS master files by choosing the ``Just update dbm files'' option, which appears above the ``Submit'' button on update forms. If you are going to submit many changes in a row, you will be done sooner if you choose the ``Just update dbm files'' option in all but your last edit. Then, when you submit your last change with the option ``Update dbm files, then regenerate DNS master files from dbm files,'' all the changes you made to the dbm files will be reflected in the new DNS master files.

Be aware, however, that if there ever is any ambiguity between changes to the DNS master files and changes to dbm files, WEBDNS always defers to the DNS master files. For example, if Joe uses WEBDNS to make a change, but tells WEBDNS to only update its dbm files, and Sue changes a DNS master file directly by editing it with a text editor, WEBDNS would not regenerate the DNS master files from its dbm files, which would cause Sue's edit to be lost. Instead, the next time WEBDNS runs, it would notice that the DNS master files had been updated by Sue, and it would rebuild its dbm files from the DNS master files, resulting in the loss of Joe's change, even if he and Sue made changes to two different hosts.

Due to the hazards of this ambiguity resolution policy, if WEBDNS is used at all to make updates to the DNS master files, the best DNS master file administration strategy is to use WEBDNS as much as possible, with frequent regenerations of the DNS master files, and to avoid changes to the DNS master files by other means.

The Authors

The original WEBDNS was written in 1994 by Chris Lindblad, a doctoral student at the MIT Laboratory for Computer Science. He wrote it to learn perl and to avoid working on his thesis. You can send comments to him at cjl@lcs.mit.edu.

This version was written in 1997 by Henrik Nordström. He added some new functionality, fixed some bugs and cleaned up the code a bit (see changelog for all details). You can send comments to him at webdns@henriknordstrom.net.

Requirements

Installation

  1. Install the script in your cgi-bin directory
  2. Change paths (and create needed directories) in the top of the script. Keep in mind that the user that starts the CGI scripts (usually nobody) needs to have write permission to the following directories and files:
  3. Access the script using your favorite www broser

The script has a build in security check, checking that you are calling from a registered host before allowing any updates. Be warned that this security check is very weak, and you should protect the script by using server based authentication.

Support

The software is provided "as-is" without any included support.

Copyright

Copyright 1994 Massachusetts Institute of Technology

Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of M.I.T. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. M.I.T. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.

Copyright 1997-1999 Henrik Nordström <webdns@henriknordstrom.net>

Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. The software is provided "as is" without express or implied warranty.

WEBDNS Distribution

WEBDNS is distributed freely. If you are interested in running it at your site or you are just curious to see what it looks like, click here for a complete listing of the script.

For the most resent version check http://www.henriknordstrom.net/webdns/