UCSPI for IPv6
What is ucspi-tcp6?
Dan Bernstein's UNIX Client-Server Program Interface, UCSPI
is a cornerstone of reliable network communication under Unix.
IPv6 capabilities have been included by Felix von Leitner's
Based on some additional research at the University of Applied Sciences in Frankfurt/Main (Germany),
now a full-featured version is available supporting in addition compactified IPv6 addresses and the well-known
classless prefix-notation for IPv4 and IPv6 networks.
ucspi-tcp6 has been build to confirm with Dan Bernstein's slashpackage scheme and
uses a binary-compatible CDB for communication control.
ucspi-tcp6 is a fork of Dan Bernsteins's ucspi-tcp 0.88 version,
- rblsmtpd Greetdelay add-on and removal of the compiled-in default-RBL,
- Felix von Leitner's's IPv6 patch
- Jens Wehrenbrecht's IPv4 CIDR extension, and
- Li Minh Bui's IPv6 support for compactified IPv6 addresses and CIDR notation support.
- Version 0.97 of ucspi-tcp6 provides a native understanding of IPv4-mapped IPv6 addresses
and supports the inverse IPv6 nibble format for rblsmtpd RBL and anti-RBL lookups.
- Interrogation mode is working now (option changed from '-I' to '-i').
- Greetdelay option reworked.
- Version 0.98: RBLSMTPD interrogation information is promoted now to the client; e.g. qmail-smtpd.
How to install ucspi-tcp6:
ucspi-tcp6 uses D.J. Bernstein's /package conventions for installation.
Typically, un-tar the archive under /package, change to net/ucspi-tcp6-<version>
and call package/install.
ucspi-tcp6 is pre-packaged to suite the AMD64 environment
and comes with additional man-pages.
Description of the main programs:
Creating the rules cdb:
Main modification in ucspi-tcp6 is the enhanced format for tcpserver's
rules.cdb. It supports now:
- Compactified IPv6 host addresses in the format
- Classless IPv4/IPv6 net addresses declared in the common CIDR /prefix
Note: You have to declare (implicitly) that many address bytes as required
by the prefix. Longer addresses are automatically truncated.
- Evaluation of the CIDR addresses considers the longest matching prefix.
Thus, you can specify:
Note for BSD Users:
DNS Lookups may fail, unless an IPv6-enabled DNS Cache Server is provided by means of it's IP
ucspi-tcp6 will compile with clang.