The ucspi-tcp package consists of a suite of tools that allow the easy creation of client-server tcp daemons. tcpserver is a more secure alternative to inetd. It has built in functionality for rule based access control, and will gracefully defer connections when the configurable maximum load is reached, unlike inetd. tcpserver is also recommended for use with qmail, and was written by the same author.
Download (HTTP): http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
Download size: 56 KB
Estimated Disk space required: 2 MB
Estimated build time:
Install ucspi-tcp by running the following commands:
patch -Np1 -i ../ucspi-tcp-0.88-errno.patch && sed 's|/usr/local|/usr|' conf-home > conf-home~ && mv conf-home~ conf-home && sed 's/bin/sbin/' hier.c > hier.c~ && mv hier.c~ hier.c && make && make setup check |
sed 's|/usr/local|/usr|' conf-home > conf-home~ mv conf-home~ conf-home sed 's/bin/sbin/' hier.c > hier.c~ mv hier.c~ hier.c |
cd /usr/sbin mv tcpclient *@ mconnect delcr addcr tcpcat /usr/bin |
The ucspi-tcp package contains tcpserver, tcprules, tcprulescheck, argv0, fixcrio, recordio, rblsmtpd, tcpclient, who@, date@, finger@, http@, tcpcat, mconnect, addcr and delcr
You can also find detailed descriptions of each of these programs at http://cr.yp.to/ucspi-tcp/tcpserver.html, but here is a brief summary:
tcpserver listens for incoming TCP connections on a given port, and runs a program of your choosing in response to a connection.
tcprules compiles rules that govern access control for tcpserver into a fast access database format.
tcprulescheck makes it possible to see how tcpserver will react to connections from a given address without actually having to connect via that address. This is useful for checking to see if the access control rules you are using are doing what you expected.
rblsmtpd is a spam blocking program that works in conjunction with your SMTP daemon and tcpserver .
who@ is a demonstration program using tcpclient that has the functionality of the rwho program. It requires a server running sysstat on port 11.
date@ is a demonstration program using tcpclient that will return the system time of a remote host which is running a daytime service on port 13.
finger@ is a demonstration program using tcpclient that mimics the functionality of the finger program. It requires a server running fingerd on port 79.
mconnect connects to a TCP port, delivers any input specified to the port, and prints any output from the port.