Subscribe to the OS/2 BIND port mail list. Enter 'subscribe bind' in the message body.
Some interesting links
First read bog.ps
, the BIND Operation Guide in postscript format, then check out:
Installation
To install just take a look a the standard BIND documentation
(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 0.9c (available on ftp://ftp-os2.nmsu.edu/os2/unix/emx09c 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).
Copy the executalbes to /tcpip/bin
(recommended).
It is a good idea to have
Do not use backslashed in BIND's enirvonment variables, use forward slashes instead!
New flash for the 4.9.5p1c2 port: now 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...
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
Example:
named.boot
)
/tmp/ (TMP or (TEMP)
named.run
named_dump.db
named.stats
xfer.trace
xfer.ddt.XXXXXX
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, ...).
named.boot
file should be located in x:/mptn/etc/namedb. You do not have to set any environment variable.
nslookup.help
to x:/mptn/help of course). named.boot
is assumed to live in %ETC%/namedb/.
named.boot
on a FAT drive - set the environment variable NAMED_BOOT to c:/named/named.bot for example (warning: BIND has not been tested on FAT drives!)
Command line options
named [-d #] [-q] [-r] [-p port[/localport]] [[-b] bootfile]
named
has been compiled with QRYLOG defined. NOTE: this option is
deprecated in favour of the boot file directive `options querylog'.
named
. This is used mostly for debugging purposes.
Environment variables in the OS/2 port
Upon request (really I was 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.
Three (hopefully unique) environment variables were introduced:
/tcpip/bin/named-xfer
is used)
named
looks for TMP/namedb/named.boot
)
nslookup
assumes to find its helpfile as
/tcpip/help/nslookup.help
)
Sending signals
Unix background daemons receive commands via signals that are sent to
their pid (a unique number identifying a process). BIND
understands a number of signals: SIGINT, SIGQUIT, SIGIOT, SIGUSR1,
SIGUSR2, SIGHUP, SIGALARM, SIGTERM.ndc
does work under OS/2 (given you can execute the
kill
command). ndc
facilitates reloading the
nameserver database, dumping status information, stopping the server, ...
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.
OS/2 specific stuff
What happened to the code?
Actual code is pretty unchanged, I adapted the makefiles (and renamed '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.
The nice()
and renice()
code has been
replaced with dummy code, so the OS/2 port may consume more CPU time
than neccessary.
Actually, EMX's socket library seems to poll sockets, thus OS/2 Pulse
(and other CPU meters) show 100 % CPU usage - however BIND is quite well-behaved.
In order to re-compile the BIND port you'll need a
I removed the
Re-compiling
News flash: Try ksh 5.27 to re-compile - works much better than
tcsh and bash! Compiles the entier project in one pass, wow...
Cool: Sed 3.0 installation works out - no troubles compiling
named
this time.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 patched to include stuff I
need for setitimer()
. Maybe I will see this in one of the
upcoming EMX distributions\dots [bad hack :)]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.
History of the OS/2 port
bind493a.zip
, initial
release
bind493b.zip
contains a wonderful
LaTeX-README and, more important, a fix for the 'core dump' bug when
set up as a secondary name server (well, now everything is linked
static); some cleanups were done to the Makefiles; this is just an
update release, it contains only executables and this
README!
bind493c.zip
to fix a bug
which occurred when transferring a zone; it contains only named.exe and
an updated README.
/* kernels that map pages for IO end up failing if the pipe is
full at exit and we take away the final buffer. this is really a
kernel bug but it's harmless on systems that are not broken, so...*/
compat/lib/rename_unixstyle.c
).
nsloopup.help
is now searched in
the path specified by the HELP environment variable; the following
optional environment variables are supported now: NAMED_XFER may point
to the named-xfer
program, NAMED_BOOT locates the
named.boot
file and NSLOOKUP_HELP may point to the
nslookup.help
file; important: upon request
temporary files are now created in /tmp
(not in
/temp
anymore) per default, set TMP or TEMP environment
variable to override this behaviour.
Archive name: bind493d.zip
Archive name: bind494a.zip
ndc
for OS/2, compiled the man pages to plain ASCII text; removed the LaTeX-manual; released bind495a.zip
To do
The OS/2 port of BIND is already recognized by Paul Vixie, maintainer of BIND, the code patches/diffs and be found in the contrig/os2emx directory of the standard BIND distribution.
named
Acknowledgements
Many thanks to
... 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