2008-MAR-05: iana-etc-2.30.tar.bz2 Support for protocol specific port aliases, fixes to handling of port ranges, fixes to network fetching and services file generation to match changes in the data from the IANA, and updated data from the IANA. Upgrading is strongly advised.

2006-NOV-14: iana-etc-2.20.tar.bz2 Updates from the IANA, improvements to the test function, and support for generating stripped files. This is the second of a series of planned changes intended to meet the needs of distributions.

2006-APR-25: iana-etc-2.10.tar.bz2 Updates from the IANA and a test Makefile target. This is the first of a series of planned changes intended to meet the needs of distributions.

2005-AUG-18: iana-etc-2.00.tar.bz2 Changes to the Makefile as well as the usual updates from the IANA. Please review your use of the Makefile!

2005-JUL-04: Version 1.10 should have been 2.00 but was prematurely published by mistake by an overzealous script. I am sorry.

THE IANA /etc FILES PACKAGE
ABOUT
The iana-etc package installs services(5) and protocols(5) using data from
the Internet Assigned Numbers Authority <http://www.iana.org/>. In future,
other such files may be added.
Included are snapshots of the data from the IANA, scripts to transform that
data into the needed formats, and scripts to fetch the latest data.
Maintainer: Seth W. Klein <sk@sethwklein.net>
Home Page: http://www.sethwklein.net/projects/iana-etc/
Bug reports and patches are welcome.
PORT ALIASES
Please report any additional port aliases that you need. The port-aliases
file contains the current list. To minimize cruft, it includes only
aliases for which there has been reported need.
If you need an alias that isn't included, you may see the error:
getaddrinfo: Servname not supported for ai_socktype
Some useful things for finding out what alias is needed:
* strace from <http://www.wi.leidenuniv.nl/~wichert/strace/>
* grep -r 'getaddrinfo' in the appropriate source tree
The various RFCs and such usually list the number for an alias but it may
be faster to just check the FreeBSD services file at
<http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/services>.
Bug reports and patches are welcome at the maintainer address listed above.
DEPENDENCIES
GNU Awk 3.1.0 or Later
Numerous GNU Awk extensions are used. Awk was chosen over Perl for
its smaller size and more flexible installation process both of which
are important in a bootstrap environment.
Version 3.1.0 or later is required for support of the third argument
to match(). The workaround to support older versions would be less
readable and slower so I'd rather not include it without good reason.
Like GNU Awk before 3.1.0, Mawk doesn't support three argument match()
and so is not supported. It also doesn't support network extensions.
Make
Testing is only done with GNU Make but incompatibilities with other
make implementations are bugs. Please send patches.
INSTALLATION
The installation process is flexible and friendly to unattended install-
ation even though, due to its simplicity, it does not use Autoconf.
For basic installation run:
make
su
make install
This creates /etc/services and /etc/protocols without using internet
access.
To throw out the useful comments in generated files (useful for embedded
installations), use:
make STRIP=yes
To install to a temporary location as package managers often do, use
DESTDIR like this:
make DESTDIR=/mnt/tmp install
This will create /mnt/tmp/etc/services and /mnt/tmp/etc/protocols.
PREFIX is also supported but currently does the same thing as DESTDIR.
For unusual installations,
make DESTDIR=/tmp PREFIX=/foo ETC_DIR=/bar install
will create /tmp/foo/bar/services and /tmp/foo/bar/protocols.
GETTING FRESH DATA
This process is not advised for unattended installations. See below.
To fetch the latest data from the IANA run:
make get
make
make test
# Visually inspect protocols and services because some errors
# could produce a file that is valid but contains no records.
Beware that while test checks for invalid lines in the output files,
it cannot check for applications that might be broken by changes made
by the IANA or breakage that makes the file valid but not useful. In
addition, there is generally little of interest in the IANA's changes
unless you're trying to pick a port for new development in which case
you're better off consulting the unfiltered files.
DOCUMENTATION
Man pages are provided by the man-pages package. See
http://ftp.kernel.org/pub/linux/docs/manpages/ and
http://freshmeat.net/projects/man-pages/
BUGS
The Makefile uses the .PHONY target which (according to the GNU Make
info page, IIRC) is not supported by other common make implementations.
There are plans to fix this in a future release.