Freeware BIND/iX for HP e3000 MPE

Freeware DNS server and clients for MPE
Last updated February 4, 2001 @ 2300 UTC
  1. What's New
  2. Welcome
  3. System Requirements
  4. What is BIND and why should I care?
  5. How to Obtain BIND/iX
  6. The New Freeware Distribution Architecture
  7. Distribution Highlights
  8. How to Compile BIND
  9. How to Run BIND
  10. MPE/iX Implementation Considerations
  11. Known Bugs Under Investigation
  12. To-Do List
  13. Change History

What's New


This is the official home page for the HP e3000 MPE/iX port of the ISC BIND DNS server . Check here for the latest news, implemented functionality, known bugs, to-do list, etc. Status reports about major milestones will also be posted to the HP3000-L mailing list and its associated gatewayed newsgroup comp.sys.hp.mpe.

I did this port because it is the foundation for other important packages such as sendmail.

Please send your comments, questions, and bug reports directly to me, Mark Bixby, by e-mailing to Or just post them to HP3000-L.

The platform I'm using to do this port is an HP 3000 957RX running MPE/iX 6.0 and using the GNU gcc C compiler.

I would like to extend my sincere thanks to HP CSY for providing me with the resources and encouragement to do this port.

Please note that HP now bundles BIND/iX with MPE/iX 6.0 or later. The version of BIND/iX currently shipping with MPE/iX 6.0 is 8.1.1. HP provides official support for the bundled version of BIND/iX only and will properly disavow any knowledge of the unsupported freeware version you're reading about on this web page.

System Requirements

What is BIND and why should I care?

BIND is the most commonly used DNS server on the Internet. BIND makes your domain names visible to the Internet, as well as handling client requests to resolve domain names other than your own. A nice suite of command-line utility programs is available for interrogating and debugging DNS servers, and a client library and associated C header files are also included for writing your own programs that need to look up DNS information.

Prior to BIND/iX, an HP e3000 shop had to rely on some other machine to host their organization DNS information. Now you can host it locally on your HP e3000.

BIND/iX was intially ported from BIND 8.1 released in May 1997.

How to Obtain BIND/iX

  1. Obtain and install Syslog/iX if you haven't already done so, or use the Syslog/iX that comes bundled with MPE/iX 6.0 or later..
  2. Download BIND using either FTP.ARPA.SYS or some other client
  3. Extract the installation script
  4. Edit the installation script
  5. Run the installation script

Download BIND using FTP.ARPA.SYS from your HP e3000 (the preferred method).....

cd /pub/mpe
get bind-8.2.3-mpe.tar.Z /tmp/bind.tar.Z

.....Or download using some other generic web or ftp client (the alternate method)

Download the following files (make sure that you use "binary mode" or whatever client feature that is 8-bit clean): Upload those files to your HP 3000 in an 8-bit clean bytestream manner to:

Then extract the installation script (after both download methods)

:CHDIR /tmp
:XEQ TAR.HPBIN.SYS 'xvfopz /tmp/bind.tar.Z INSTALL'

Edit the installation script

Examine the accounting structure creation commands and modify if necessary (adding additional capabilities, choosing a non-system volume set, etc).

Run the installation script

The BINDFW accounting structure will be created and then all files will be extracted from the archive.

The New Freeware Distribution Architecture

The Old Scheme

An MPE account and a PUB group would be created if they did not already exist; existing objects will have their attributes altered. All files in the tar archive would be extract below this PUB group.

Users would need to customize various files such as job streams and configuration files residing in the same directories as unmodified files. Segregating your own local modifications was sometimes difficult.

New releases would overlay the files from previous releases. If you had a problem and wanted to revert back to the previous version of the software, you would have to restore the entire account.

The New Scheme

An MPE account, a PUB group, and a version-specific group Vvvuuffp (version, update, fix, patchlevel) are created if they do not already exist; existing objects will have their attributes altered. All files in the tar archive will be extracted below the version-specific group.

The installation script will create a current version symlink named CURRENT that points to the active version-specific group, i.e.:

   cd /ACCOUNT
   ln -s Vvvuuffp CURRENT
Next, the installation script will create possibly multiple symlinks below the PUB group that point indirectly via the CURRENT symlink into the version-specific group, i.e.:
   ln -s ../CURRENT/bin bin
These indirect symlinks allow old-scheme filename references to continue to work, and should always be used when referring to objects in the version-specific group in order to permit easy upgrading or backdating. For example, instead of referring to /ACCOUNT/Vvvuuffp/bin/someprogram, use /ACCOUNT/PUB/bin/someprogram. When you upgrade or backdate, the symlink-based filenames will point to files of the proper version as determined by the single CURRENT symlink.

The installation script is conservative when creating symlinks. If the intended name already exists as a symlink, the old symlink is removed, and the new symlink is created. If the intended name already exists as a non-symlink, the old object is renamed with a .bak extension, and the new symlink is created.

Finally, the installation script will create various files and directories below the PUB group that are intended for user customization. You should only modify or add files below the PUB group, and NEVER below the version-specific group! The version-specific group is intended to contain only unmodified files and directories as distributed by The PUB group is the proper place for user-customizations.

If you are performing an upgrade, the previous version-specific group IS NOT PURGED. If you encounter problems with the new version and want to backdate, simply purge the CURRENT symlink and recreate it so that it points to the previous version-specific group. If you are satisified with the new version, you will want to manually do a :PURGEGROUP on the previous version-specific group to remove it from your machine.

Key Benefits of the New Scheme

Please let me know what you think about this new scheme because I plan to use it for other software releases. If this scheme is well-received, it may even show up in HP CSY Internet & Interoperability products.

Distribution Highlights

The MPE account for the freeware version of BIND/iX.
Symlink pointing to the V0802030/ version-specific group.
MPE group containing user-customizable stuff.
Symlink to ../CURRENT/NAMED.
Symlink to ../CURRENT/bin/.
Directory to contain your customized configuration and zone files.
Symlink to ../CURRENT/include/.
Symlink to ../CURRENT/lib/.
Symlink to ../CURRENT/man/.
Symlink to ../CURRENT/doc/html/. If you have Apache running and configured to allow user directories and symlinks, you can access this documentation by browsing to
Symlink to ../CURRENT/sbin/.
MPE group containing files and directories distributed by DO NOT MODIFY ANYTHING IN THIS DIRECTORY TREE!
the one-time installation script you ran above
Sample job stream for starting the NAMED server daemon.
The server binary linked with CAP=PM.
what you're reading now
User clients such as nslookup, etc.
Contributed odds and ends. Completely untried on MPE.
Massive quantities of documentation. Some current, some outdated.
Current documentation about the new config file format.
Current man page source files.
Sample configuration and zone files. You must copy these to /BINDFW/PUB/etc and perform various customizations.
The main configuration file. You *MUST* copy this to /BINDFW/PUB/etc/named.conf and then edit before running the server.
Various zone files. You *MUST* copy these files to /BINDFW/PUB/etc and then edit before running the server.
Compile-time header files required if you're calling the BIND resolver library. Specify -I/BINDFW/PUB/include on your compiles.
The BIND resolver library. Specify -L/BINDFW/PUB/lib -lbind on your compiles.
Man page documentation, suitable for adding to your MANPATH environment variable via /BINDFW/PUB/man.
Various scripts used to build BIND/iX from source on MPE.
"System" binaries. Ignore the named that lives here. The named-xfer that lives here is the right one.
Source tree.

How to Compile BIND

  1. :HELLO MGR.BINDFW,V0802030
  3. cd /BINDFW/CURRENT/src-mpe
  4. make depend
  5. take a short coffee break
  6. make
  7. take a long coffee break
  8. make install
  9. Execute /BINDFW/CURRENT/mpebin/relink to move /BINDFW/CURRENT/sbin/named to /BINDFW/CURRENT/NAMED and relink with CAP=PM.

How to Run BIND

  2. Copy /BINDFW/CURRENT/etc/*-sample to /BINDFW/PUB/etc and customize for your own environment.
  3. Copy /BINDFW/CURRENT/JNAMED.sample to /BINDFW/PUB/JNAMED and customize for your own environment.
  4. Add your server's IP address as the first nameserver entry in /etc/resolv.conf for all MPE and HPUX hosts that you wish to use this server for resolution queries. On MPE hosts, make sure that /etc/resolv.conf is actually a symlink pointing to the real data at RESLVCNF.NET.SYS. Also modify any PC and/or Mac DNS configurations.
  6. Stop BIND either by :ABORTJOB or "/BINDFW/PUB/sbin/ndc -p /BINDFW/PUB/etc/ stop".

MPE/iX Implementation Considerations

There some minor functionality issues to be aware of when comparing BIND for Unix (BIND/UX) to BIND/iX:

Known Bugs Under Investigation

To-Do List

Change History

Top    Bixby    Hosted by    email 3kRanger    Updated