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
IPv6 patch.
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.
Sources:
History:
ucspi-tcp6 is a fork of Dan Bernsteins's ucspi-tcp 0.88 version,
including
- rblsmtpd Greetdelay add-on and removal of the compiled-in default-RBL,
- Felix von Leitner's's IPv6 patch
ucspi-tcp-0.88-ipv6.diff19.bz2,
- 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:
Servers:
Clients:
Creating the rules cdb:
Internals:
Main modification in ucspi-tcp6 is the enhanced format for tcpserver's
rules.cdb. It supports now:
- Compactified IPv6 host addresses in the format
- fe80::a:b:cd:1234
- Classless IPv4/IPv6 net addresses declared in the common CIDR /prefix
notation:
- 127.0/8:allow
- fe80::/64:allow
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:
- 2001:a::/48:deny
- 2001:a:b:c::/64:allow
Note for BSD Users:
DNS Lookups may fail, unless an IPv6-enabled DNS Cache Server is provided by means of it's IP
in $DNSCACHEIP.
ucspi-tcp6 will compile with clang.
|