=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