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.
Features
The current version of ucspi-tcp6 provides the following features:
- All client and server programs are fully IPv6 capable; supporting compactified and IPv6 LLU addresses; in particular for tcpserver and tcpclient.
- The tcprules database allows a CIDR expression of IPv4/IPv6 addresses and of course the evaluation of those within tcpserver. The promoted environment variables may include colons.
- rblsmtpd supports the inverse IPv6 nibble format for RBL and anti-RBL lookups and an interrogation format together with the Greetdelay option.
- Dual-stack operation: tcpserver simultaneously accepts connections from IPv4 and IPv6 clients.
ucspi-tcp6 is 64-bit-enabled and running on a wide range of Unix systems including OmniOS and Raspbian.
Changelog
- Version 1.10 is a complete redesign based on fehQlibs
- Version 1.10.7 is a 'heritage' version carefully checked for correctness and conformance.
- Version 1.11.5 is the 'final' version now based on fehQlibs-15.
- Version 1.12.3 the 'never-say-never' version includes now the MAXCONIP feature and requires fehQlibs-18+ for GCC-10 compatibility.
- Version 1.13.0 takes care of current compilers and their airs and graces.
Version history
ucspi-tcp6 posseses the following family tree:
- ucspi-tcp-0.88 is the orginal version of Dan Bernstein.
- ucspi-tcp6-0.9x added IPv6 and CIDR capabilities (in particular for IPv4) together with Greetdelay and IPv6 lookup for rblsmtpd.
- ucspi-tcp6-1.0x maintenence release with increased OS compatibility and (premature) colon-support in tcprules cdb.
- ucspi-tcp6-1.10.x code refactoring based on fehQlibs.
- ucspi-tcp6-1.11 is ought to be the final version based on fehQlibs.
- ucspi-tcp6-1.12 is a refactoring release for GCC-10 including the MAXCONIP feature.
- ucspi-tcp6-1.13 again is a refactoring release for mostly GCC-14 and Clang-18.
Sources
Version & Download | Description | fehQlibs version | Verification | ucspi-tcp6 1.13.02 | The twelfth (and already post-final) 1.13 takes care of modern 'C' requirements with minor adjustments for GCC 14.2. | fehQlibs-25 | MD5: b09b06bede8fc6b965f179238b557779 Build: 20240923113310 |
ucspi-tcp6 1.12.4 | The tenth (and already post-final) 1.12 complies well with current C compilers while supporting the MAXCONIP feature from the cdb. | fehQlibs-22 | MD5: 71aac0285a59bd91c3de48af0942f275 Build: 20230518211811 |
ucspi-tcp6 1.11.6a | The eights (and already post-final) 1.11 takes advantage of fehQlibs-15 in order to provide a better IPv4 and DNS client compatibility in particular using 'well known' hostnames like localhost. In addition, GCC 10 compliance is now given using fehQlibs-15. | fehQlibs-16 and fehQlibs-15 | MD5: 4e59d975055aaf5fa8cbea94fb76f92c Build: 20200920111210 |
---|---|---|---|
ucspi-tcp6 1.10.7 | This eights 1.10 release supports fehQlibs-12 while providing maximum conformance with previous versions; in particular for tcprules. | fehQlibs-10 or fehQlibs-12 | MD5: b7d5652cb41354e4886488465432d49e Build: 20200827213555 |
ucspi-tcp6's source files are documented in doxygen.
Documentation
The main programs and helpers:
Updated man pages:
Server apps | Client apps | Miscellaneous |
---|---|---|
rblsmtpd | date@ | addcr |
recordio | finger@ | argv0 |
tcprules | http@ | delcr |
tcprulescheck | mconnect | fixcrio |
tcpserver | tcpcat | tcp-environ |
tcpclient | ||
who@ |