s6-networking
Software
skarnet.org
The minidentd program
minidentd is a small
UCSPI server application
that answers IDENT requests.
Interface
minidentd [ -v ] [ -n | -i | -r ] [ -y file ] [ -t timeout ]
minidentd reads a series of IDENT requests on stdin and answers
them on stdout. It logs what it's doing on stderr. The environment
variables xLOCALIP and xREMOTEIP, where x is
the value of the PROTO environment variable, must contain the IDENT
server address and the IDENT client address, respectively.
minidentd exits 0 on success, 100 on a usage error and 111 on a system
call failure.
minidentd does not contact the network directly. It's meant to
run under a super-server like
s6-tcpserver. minidentd will
work with IPv4 as well as IPv6.
Options
- -v : verbose mode. Log queries and replies.
- -n : send ERROR : HIDDEN-USER replies if
the user has a .ident file in their home directory.
- -i : user-defined answers. The first 14 chars of the
user's .ident file, up to EOF or newline, are used instead of
the user name. If the file exists and is empty, send
ERROR : HIDDEN-USER. If it doesn't exist, send a normal reply.
- -r : send random replies.
- -y file : valid with -n or -i.
Use file instead of .ident.
- -t timeout : close connection after
timeout milliseconds without a client request.
Notes
- minidentd works only under Linux (2.2 or later);
on other systems, it will compile and run, but report an error for every
request.
The problem is that there is no portable Unix way of listing active
outgoing TCP connections with the relevant uids. On Linux, minidentd parses
the /proc/net/tcp or /proc/net/tcp6 virtual file. Other
systems have their own way of doing this, if you want your system to be
supported by minidentd, please contact the author.