19960311
	version: ucspi-tcp 0.50, alpha.
19960803
	version: ucspi-tcp 0.60, alpha.
19960903
	version: ucspi-tcp 0.70, beta.
19960914
	version: ucspi-tcp 0.71, beta.
19960922
	version: ucspi-tcp 0.72, beta.
19970410
	version: ucspi-tcp 0.73, beta.
19980118
	version: ucspi-tcp 0.80, beta.
19981107
	code: switched to new install system.
	code: eliminated tcpclient -U; moved usage() to default.
	code: switched to strerr in tcpclient.
	code: switched to str_equal in tcpclient.
	portability problem: OpenBSD connect() prohibits 0.0.0.0.
		impact: tcpclient 0 fails. fix: interpret 0 as
		127.0.0.1. hopefully nobody needs 0 to mean primary
		interface.
	code: tcpclient now interprets empty host name as 0.
	doc: added addcr.0, delcr.0.
	doc: added who@.0, date@.0, finger@.0.
	doc: added tcpcat.0, mconnect.0.
	code: added printstatus() in tcpserver.
	code: eliminated numchildren in printpid() in tcpserver.
	code: unblocked SIGCHLD after setting SIGCHLD to SIG_DFL in
		tcpserver, instead of before, to avoid confusion if
		someone sends SIGCHLD manually.
	code: moved printstatus() before fork in tcpserver.
	code: added mconnect-io.
	code: added argv0.
	code: added fixcr.
	doc: revamped BLURB.
	code: added recordio.
	doc: cleaned up tcpclient.0.
	code: added http@.
	code: stopped after 100 bytes in safeappend() in tcpserver.
19981108
	code: added tcpserver -B.
	code: added a few regression tests.
	version: ucspi-tcp 0.83, beta.
19981109
	doc: added http@ to BLURB.
19981110
	code: added exec to mconnect.
	code: tcpclient now ignores port results from getpeername() in
		favor of the port it tried connecting to.
	code: added strport to tcpclient.
	doc: reorganized tcpclient.0.
	doc: reorganized tcpserver.0.
	code: revamped tcpserver messages.
	code: revamped tcpclient messages.
	code: added a few more regression tests.
	code: rewrote recordio for instant output and other features.
	doc: added references in tcpserver.0 and tcpclient.0.
	code: added tcpclient -i option.
	code: added tcprulescheck.
	code: added some tcprules regression tests.
19981111
	code: avoided ndelay in recordio.
	version: ucspi-tcp 0.84, beta.
19981212
	doc: improved description of host 0 in tcpserver.0. tnx to
		several people.
19981218
	doc: reordered sample rules in tcprules.0.
		tnx Harald Hanche-Olsen.
20000120
	internal: revamped packaging.
	internal: massive rewrite. tnx to everyone for bug reports and
		other comments on various versions of tcpclient,
		tcpserver, tcpcontrol, and rblsmtpd: Akihiro Iijima,
		Akihiro Terasaki, Albert J. deVera, Alex Vostrikov,
		Amos Shapira, Anand R. Buddhdev, Andrea Paolini,
		Andrew Pam, Araki Yasuhiro, Arne Wichmann,
		Ayamura Kikuchi, Bart B. B. Hanssens, Bert Gijsbers,
		Bradford M. Shelton, Brendan Kehoe, Brian J. Reichert,
		Brian M. Fisk, Brian O'Reilly, Bruno Wolff,
		Chris Garrigues, Chris Johnson, Christian Wettergren,
		Dale N. Woolridge, Dan M. Vogel, Daniel C. Mahoney,
		Darren Hall, Darren W. Rees, Dave Sill, David J. Walton,
		David P. Smith, David Pool, Dax Kelson, Dirk Jaeckel,
		Dirk Vluegels, Donald E. Blais, Ed Weinberg,
		Edward S. Marshall, Eric A. Perlman, Erik Wallin,
		Faried Nawaz, Fred B. Ringel, Frederik P. Lindberg,
		Gerry Boudreaux, Giles Lean, Grant Holliday,
		Greg D. Patterson, Harald Barth, Harald Fritzsche,
		Harald Hanche-Olsen, Hirofumi Ukawa, Hiroshi Yamashita,
		Hitesh Patel, Ingmar Hupp, J. B. Keith Humphreys,
		Jakub K. Boguslaw, Janos Farkas, Jason R. Mastaler,
		Jeff Hayward, Jeremy Wohl, Jim Littlefield,
		Johan Holmberg, John Bolhuis, John D. Mitchell,
		Jos Backus, Jose Monteiro, Joshua J. Ellis,
		Julie L. Baumler, Karl Lehenbauer, Karsten Thygesen,
		Keith Burdis, Kenny Elliott, Kikuchi Kousuke,
		Kris Kennaway, Lars Balker Rasmussen, Louis S. Theran,
		Lyndon F. Bartels, Mads E. Eilertsen, Mark Delany,
		Martin Mersberger, Matt P. Simerson, Matthew A. Zahorik,
		Michael B. Scher, Michael Handler, Michael Hirohama,
		Michael R. Gile, Michael Salmon, Mikael Suokas,
		Nobuhiro Murata, Patrick M. Kane, Paul R. Rotering,
		Peter Rye, Peter Wilkinson, Petr Novotny,
		Petri Kaukasoina, Raul D. Miller, Richard A. Soderberg,
		Robert W. Luce, Roberto A. Lumbreras, Russ Allbery,
		Russell Nelson, Sean Reifschneider, Shawn A. Clifford,
		Shin Ohira, Shinya O'Hira, Stan Norton,
		Stathy G. Touloumis, Stefan M. Linnemann, Sudish Joseph,
		Thomas E. Erskine, Thomas Kuerten, Tim Goodwin,
		Timothy L. Mayo, Todd Underwood, Tomoaki Terazawa,
		Tomoki Yoshioka, Toshinori Maeno, Uwe Ohse, Vern Hart,
		Vince Vielhaber, Waskita Adijarto, William E. Baxter,
		Wolfgang Rufeger, Wu Ching-hong, Yoshitatsu Takeshita.
20000307
	internal: switched to various new libraries.
	ui: tcpserver prints status on startup, before first connection.
20000309
	ui: incorporated rblsmtpd.
	ui: tcpserver -X allows nonexistent rules file.
	ui: http@ uses HTTP/1.0, sends Host, removes header.
	ui: added fixcrio.
	ui: delcr leaves CR alone at the end of a partial final line.
20000311
	ui: switched to prot; so setgid() is preceded by setgroups().
	ui: tcpserver supports -U.
	ui: tcpserver supports hostname rules.
	ui: tcprulescheck now uses environment variables.
20000312
	version: ucspi-tcp 0.86, beta.
20000314
	portability problem: the poll() emulation in RedHat 5.1 doesn't
		clear revents when select() returns 0. tnx Petr Novotny.
		impact: dns lookups busy-loop when they should time out.
		fix: new iopause from DNScache.
20000315
	version: ucspi-tcp 0.87, beta.
20000318
	internal: split rules() out of tcpserver and tcprulescheck.
	bug: didn't always clear rule length when $TCPREMOTEHOST was
		set. impact: empty rule could be ignored. fix: obvious.
		tnx Toshinori Maeno, Takashi Takizawa, Yuichi Katoh.
	ui: check for lone = rule if $TCPREMOTEHOST is set.
	ui: tcpclient supports fast+slow timeouts, 2+58 by default.
	ui: tcpclient randomizes order of addresses.
	version: ucspi-tcp 0.88, beta.
20080227 (feh)
	added Greetdelay option into rblsmtpd.
	removed the lookup for the default RBL rbl.maps.vix.com.
	circulated as 'greetdelay' patch (0.4).
20120209 (feh)
	added IPv4 CIDR parser from Jens Wehrenbrecht.
	circulated as 'greetdelay' patch (0.5).
20120823 (feh)
	included IPv6 diff19 add-on from Felix von Leitner.
	tcpserver/tcpclient ui changes:
	ui: -4/-6 option for IPv4/IPv6 (IPv6 is default).
	ui: -I 'ifname' for LLU addresses.
	ui: don't accept bracketed IPv4 address [127.0.0.1].
	added IPv6 CIDR and compactified IPv6 address
		parser from Le Minh Bui.
	changed UDP DNS message buffer from 512 to 1024 byte. 
	re-packaged to comply with DJB's 'package' format.
	added man-pages and docs.
20120826 (feh)
	updated package/rts tests.
	streamlined integration.
20120909 (feh)
	code evaluation and streamlining.
20120915 (feh)
	finished integration.
        package/rts updated.
20120920 (feh)
	ui: changed default settings for obtaining remoteinfo.
	internal: added socket_opt6 for leaving IPv6 options alone.
	doc: streamlined usage of tcpserver's IPv6 environment 
		variables set. 
20120922 (feh)
	internal: changed CIDR evaluation to longest prefix provided. 
	doc: updated tcprules and tcpserver man page.
20121002 (feh)
	removed obsolet it-check=d.
20121229 (feh)
	fixed flaw in tcpserver's IPv4-mapped IPv6 behavior and
	added increased recognition for IPv4-mapped IPv6 addresses.
	added clones of (http@ +-> http4@) helper progs.
	added IPv6 inverse lookup for rblsmtpd.
	updated man pages.
20130119 (feh)
	fixed bug in tcpserver's core dump without cdb (display IPv6).
	added interrogation mode (and not stub any more).
	added IPv6 lookup for anti-rbl.
	changed behavior on greedelay option.
20130206 (feh)
	flaw: replaced pathexec_run with pathexec in call of client 
	since otherwise modified env will not be promoted
	and interrogation mode failes.
20130526 (feh)
	streamlined client script and beautified Makefile.
	changed UI for clients scripts to support IPv4 as well.
20130820 (feh)
	added env vars TCP6REMOTEIP, TCP6REMOTEPORT, TCP6REMTOEHOST.
	tx. Roberto Puzzanghera	
20131006 (feh)
	fixed wrong command path substitution in scripts.
	added TCP6REMOTEIP, TCP6REMOTEPORT, TCP6REMTOEHOST to man tcp-environ.
20131111 (feh)
	fixed problem with IFIDX usage in tcpserver. 
	fixed problem with A-Name resolution. tx. John Levine. 
20131204 (feh)
	clean ups to stream-line with ucspi-ssl.
	package/rts is working now.
20140107 (feh + John Levine)
	thanks to the bug report of John Levine some flaws were fixed
	which caused troubles in particular using C99 compilers.
20150128 (feh)
	fixed wrong nesting of warning output in case of IPv4 
	address bind in tcpclient (-4).
20160228 (feh)
	redone tcpserver's remotehost evaluation for flagparanoid 
	in case both A and AAAA records are present.
20160726 (feh)
	conf-* files are now in main dir.
20161120 (feh, bergmann)
	fix output for localip output in case of mappedv4.
	fix for poll + select handling in iopause.c (tx frank bergmann).
	Reference: https://sourceware.org/bugzilla/show_bug.cgi?id=13660
20170301 (feh)
	bugfix in rblsmtpd.c indicating IPv6 addresses for IPv6mapped 
	IPv4 addresses (tx. Sebastian).
20170617 (feh)
	convenience release: substituted 'gcc' by 'cc'.
20171101 (feh)
	Fixed bug in rblsmtpd which abends if no IP address is specified.
20180116
	Added OmniOS compatibility.
20180608
	Added colon ':' support for tcprules (tx. Bruce Guenter).
--------
20180827
	ucspi-tcp6-1.10 - complete new build upon fehQlibs.
	tcprules delimiter can be customized via #define DELIMITER in tcprules.c.
	Removed options '-4' and '-6' for shell scripts and fixed bugs.
	Native handling of IPv4 and IPv6 addresses for tcpclient.

20181109 (feh)
	Added socket_dualstack option for OS using IPv6_V6ONLY as default.
	fehQlibs-10 required.
20190127 (feh)
	Added support for parsing natively lines with ':' (colons) within
	environment variables for tcprules. 
	Fixed bug in tcprules abending with certain with IPv4/CIDR addresses.
	New installation PREFIX is now 'net' (and not 'host').
20190320 (feh)
	Added dual-stack capabilities for tcpserver applying the
  pseudo IP address ':0' on call (common now for all servers).
  Rewrote IPv4 CIDR address evaluation for rules.
  MacOS has already function wait -> waiter (in rblsmtpd).
  ucspi-tcp6-1.10.3
20190404 (feh)
	Fixed integration bug in tcpserver changing 'uid' too early (tx. Steve Meier).
	ucspi-tcp6-1.10.4
20190408 (feh)
	Refactored ip6_bit.c annd ip4_bit.c + depend routines. CIDR now working again.
	ucspi-tcp6-1.10.5
20190608 (feh)
	Added fehQlibs-12 compatibility. 
	ucspi-tcp6-1.10.6
20190623 (feh)
	Fix for tcprulcescheck abending if environment variable IP is not present.
	Fix for potential stack corruption calling tcpserver/tcpclient with '0' for hostname.
	Removed constraints on building IPv4 CIDR rules with tcprules.
	Cleanups and tweaked package/rts to work well again. Beta-tested by Veera.
20190714 (feh)
	Fixed bug in rblsmtpd not calculating the inverse IPv6 address correctly.
	package/rts usage explained (README.rts) and finally straightend.
	tcprules and tcprulescheck improved for IPv4/IPv6 CIDR address reporting.
	ucspi-tcp6-1.10.7
20190818 (feh)
	Added compatibility with fehQlibs-13.
	Fixed incorrect behavior for given IPv4 address als hostname for tcpserver
	and tcpclient.
	Added tcprulescheck verbose info message.
	ucspi-tcp6-1.10.8
20190818 (feh)
	Relabled ucspi-tcp6-1.10.8 as ucspi-tcp6-1.11.0 to be used for s/qmail with fehQlibs.
20190912 (feh)
	ucspi-tcp6 requires now fehQlibs-13.
	ucspi-tcp6-1.11.0
20191228 (feh)
	tcpserver and tcpclient set ipv4socket = 1 upon call with IPv4 address on input
	to improve compatibility with NetBSD/MacOS.
	ucspi-tcp6-1.11.1
20200213 (feh)
	Improved stability of rblsmtpd (which might segfault on IPv6 connections).
	ucspi-tcp6-1.11.2
20200221 (feh)
	Fixed rblsmtpd core dumping due to wrong decrement of IPv6 loop variable. 
	Straightend error codes and exiting for tcpserver instead of dropping the 
	session in case of errors.
	ucspi-tcp6-1.11.3
	Changed once more rblsmtpd's IPv6/IPv4 treatment of the received environment
	variables to make it more robust.
	Fixed wrong IPv4 check for tcpserver's paranoid evalution.
	ucspi-tcp6-1.11.4
20200509
	Recovered tcpclient IPv4 connectivity in case of a given IPv4 address to connect to
	employing fehQlibs-16 and the enhances dns_ip_qualify routine.
	ucspi-tcp6-1.11.5
20200820
	Fixed problem for tcpserver binding to local IPv4 addresses. Improved selection
	of IP addresses given the user flags -4/-6 and none.
	Improved tcpclient's binding given serveral hostnames available in DNS.
	ucspi-tcp6-1.11.6 
20200920
	Adjustments for GCC 10.
	ucspi-tcp6-1.11.6a 
20210311
	Removed dependency on global variable 'ipv4socket' thus requiring fehQlibs-17.
	ucspi-tcp6-1.12.0
20210314
	Added completely re-written iplimit patch to tcpserver. 
	ucspi-tcp6-1.12.3
20230512 (May the fo[u]rth/ce +8)
	Fixed early call of logmsg() in tcpserver before iplimit was recalculated.
	MAXCONIP working now for tcpserver's children reading MAXCONIP from cdb. man tcpserver updated.
	MAXCONIP can successfully be used, even if limit=0 is given.
	ucspi-tcp6-1.12.4
20240226
	tcpserver: Added early IP-based evaluation of rules prior of a DNS lookup.
	ucspi-tcp6-1.12.5
20240721
	OmniOs compatibility. fehQlibs-25 required; getoptb() instead of getopt().
	ucspi-tcp6-1.12.6
20240804
	Explicit function signature compatibility to cope with clang-18 and gcc-13 & some cleanings.
	Adjusted rts for changes in particular for spamhaus lookup.
	ucspi-tcp6-1.13.
20240913
	Removed dependency on 'home' in Makefile. Changes in main() signature to please compiler.
	ucpsi-tcp6-1.13.01
20240922
	Aligned return calls in tcpclient with sslclient.
	ucpsi-tcp-1.13.02
20241018
	MAXCONIP now set to the initial 40 limit. Reading MAXCONIP from cdb works as designed.
	ucspi-tcp-1.13.03
20250714
	Upon start and calling tcpserver with '-1' will now show initial connection LIMIT and MAXCONIP.
	ucspi-tcp-1.13.04


ucspi-tcp6 -- version: 1.13.4 (final)

