OS/2 port of
Berkley Internet Name Domain

bind version 4.9.4 patchlevel 1


Overview


What is it?

This is version 4.9.4 patchlevel1 of bind (Berkley Internet Name Domain) ported to OS/2.< BR> It relies on EMX (Eberhard Mattes eXtentions - a distribution of GCC for OS/2) 0 .9b fix 5 (or newer).

Where to find the latest release?

ftp.very.priv.at/bind/bind494a.zip
ftp-os2.nmsu.edu/os2/unix/

Installation

To install just take a look a the standard bind documentation (look at the
ISC bind homepage for a reference manual (BOG -- Bind Operations Guide), FAQ, protocol definitions, ...).

The directory structure for the OS/2 port is laid down in named/pathnames.h. See section Directory layout for further information and means to fit your personal setup without recompiling. The EMX runtime and IBM TCP/IP have to be installed. HPFS is required.

You will find the executables in the source directories (named/, tools/, tools/nslookup), make install does (of course) not work (yet).

It is a good idea to have syslogd running the first time you start named. Try parameter -d for extensive debug info and/or -q for query logging. Default log level is 1; a log level of -d 20 produces over 60 kb of output during the first 2 seconds - beware...

OS/2 specific stuff

What happened to the code?

Actual code is pretty unchanged, I adapted the makefiles (and named 'em Makefile.OS2, so make sure to type make -f Makefile.OS2 from the bind distribution root directory, issuing make from subdirectories won't work), figured out a suitable compat/lib/lib44bsd.a, read conf/protability.h very carefully :) and while doing so my OS/2 box turned into a unix-lookalike (you may wish to get GNU shell|file|text utilities, sed 3.0, flex 2.4.5, ksh 5.27, ... from
hobbes).

Look for __EMX__ defines in the code (you won't find many) to see what changed.

Upon request (I was really forced to do so:) I made the path-setup somewhat more dynamic for OS/2 -- now the code evaluates the environment variables ETC, TMP and TEMP and adapts accordingly. Two (hopefully) new environment were introduced:

Beware! The nice() and renice() code has been replaced with dummy code, so the OS/2 port may consume more CPU time than neccessary.

Re-compiling

News flash: Try ksh 5.27 to re-compile - works much better that tcsh and bash! Compiles the entier project in one pass, wow...
Cool: Sed 3.0 installation works out - no troubles compiling named this time.

In order to re-compile the bind port you'll need a syslog library (on hobbes or cdrom.com; for IBM's CSet, a port of the port to EMX is available from the author) and flex 2.4.5.

/emx/include/sys/time.h was extended to include stuff we need for setitimer(). Maybe we will see this in one of the next EMX distributions\dots [bad hack :)]

I removed the contrib/, shres/, doc/rfc/ directory from the original distribution, some postscript files about DNS security were also removed. If you are interested, just ftp the latest bind distribution.

Sending signals

Unix background daemons receive commands via signals that are sent to their pid (a unique number identifying a process). bind 4.9.4pl1 understands a number of signals: SIGINT, SIGQUIT, SIGIOT, SIGUSR1, SIGUSR2, SIGHUP, SIGALARM, SIGTERM.

A way to send signals under OS/2 is provided with the Apache httpd port. See the OS2/ directory in the OS/2 Apache archive.

History of the OS/2 port

Directory layout of the OS/2 port

You will have less troubles if you use the directory layout given below! However, you can fit the OS/2 bind directory layout to your needs by setting the environment variables gives in brackets.

/tcpip/bin/ 
  named.exe (or somewhere in your PATH) 
  named-xfer.exe (NAMED_XFER) 
  nslookup.exe (or somewhere in your PATH)
  dig.exe (or somewhere in your PATH) 
  dnsquery.exe (or somewhere in your PATH) 
  host.exe (or somewhere in your PATH)
  addr.exe (or somewhere in your PATH)

/tcpip/help/ 
  nslookup.help (NAMED_HELP) 

/tcpip/etc/ (ETC) 
  named.pid 

/tcpip/etc/namedb/ (ETC) 
  named.boot (NAMED_BOOT) 
  (and your configuration files) (use the 'directory' keyword in your named.boot) 

/tmp/ (TMP or (TEMP) 
  named.run 
  named_dump.db 
  named.stats 
  xfer.trace 
  xfer.ddt.XXXXXX 
Example: Warning: The OS/2 bind port has not been excessively tested in a multiple-drive configuration (say ETC = g:/mptn/etc, TMP = d:/tmp, NAMED_BOOT = c:/namedb, ...).

To do

Acknowledgements

Many thanks to
Eberhard Mattes
for EMX which this port heavily relies on
Christof 'Mirus' Meerwald
for his punny Linux box operating as the secondary in-house domain
Nicolai Langfeldt
for his HOWTO become a totally small time DNS admin
Jack
for his efforts recompiling the code and his detailed bug reports
Wieslaw Pawlowski
for his detailed bug reports
Andrew J Hood
for his useful patches
Mike Burgett
who was wondering how difficult it would be to get the contents of the ETC environment setting...
Christoph Lechleitner
for his help in general
... and some other people those contributions were dumped by my brain-dead NeXT-mailer at university.

How to contact the author

The maintainer of the bind distribution is
Paul Vixie and the ISC, please address to him, if you have questions about bind in general.

I'm very interested in your comments and flames about the OS/2 port of bind:
Still, if everything is running fine please tell me the domain you are serving with this bind port, just for my ego :)

Peter Meerwald
Schieástandstr. 3
A-5061 Elsbethen/AUSTRIA

seawood@very.priv.at
pmeerw@cosy.sbg.ac.at

Disclaimer

Beware: I am no DNS specialist. There may be serious bugs or security holes in the OS/2 port of bind 4.9.4pl1 - use at your own risk! Insert your favourite disclaimer text below...

webmaster@very.priv.at