=head1 NAME
hidentd - a simple ident server
=head1 SYNOPSIS
B<hidentd>
[B<-p username>] [B<-u username>] [B<-r>] [B<-s>] [B<-v>] [B<-h>]
=head1 DESCRIPTION
hidentd is a simple ident (RFC1413) server. It provides remote servers with
names of local users connecting to them.
=head1 OPTIONS
There are no mandatory options. When executed without any options, hidentd will
respond with real usernames and log via syslog.
=over 8
=item B<-u username>
Respond with I<username> when real owner of the connection cannot be found. This
is useful for masqueraded/NAT connections.
=item B<-p username>
Respond all queries with I<username>.
=item B<-r>
Respond all queries with a random string. You can find a corresponding username in hidentd's logfile.
Note that this mode gives no information useful to the peer, but allows you to identify a particular
user if needed - i.e when handling abuse complaints.
=item B<-o>
Allow users to specify their own ident response in I<~/.ident>. If this option is used, for every connection
B<hidentd> will find its owner and read I<.ident> in his home directorory. If I<~/.ident> exists and is
a regular, word-readable file, its contents will be used as a response. Note that this response overrides
those specified by B<-p>/B<-r>.
=item B<-s>
Log to standard error (stderr) instead of syslog
=item B<-v>
Be verbose - log every incoming query
=item B<-h>
Display a short help message
=back
=head1 USAGE
B<hidentd> may be invoked from inetd, xinetd, or tcpserver. See doc/README.*
for usage examples.
On some operating systems (currently FreeBSD), B<hidentd> needs to be run
as root. If your operating system allows B<hidentd> to operate without root
privileges, B<hidentd> will refuse to run if started it as root.
=head1 LOG FORMAT
Starting from version 0.4 hidentd uses a new, unified log format. For every succesful query it
prints a line like this:
ok 11.22.33.44:53772 55.66.77.88:6667 "jsmith "6A50F92D"
The first token is "ok" if no error occurred. Next two IP:PORT pairs are addresses of local and
remote endpoints of a queried connection. Here, 55.66.77.88 asked 11.22.33.44 about a connection
between 11.22.33.44:53772 and 55.66.77.88:6667. Fourth field is a real name of a user that
owns this connection. Fifth field is a name returned to the peer, which may be different. In this
example B<-r> was given in B<hidentd> command-line, so it returned a random string.
=head1 AUTHOR
Marek Gutkowski <F<hobbit@core.segfault.pl>>.
syntax highlighted by Code2HTML, v. 0.9.1