IDENTD
[/?]
[/ACCESSLEVEL number]
[/USER string]
socket
IDENTD provides opaque IDENT service, accepting IDENT queries on its input and sending IDENT responses on its output. If no socket is specified as an argument, it uses its standard input and standard output for input and output. Otherwise, it uses the named socket, which it closes when it has finished with it. The IP address and TCP port number on which IDENT service is thus provided is determined by its parent process, not IDENTD itself. Conventionally, the port number is 113 and the IP address is one that is reachable by Internet at large.
IDENTD is designed to be spawned on demand by TCPSRUN. It can also be spawned by INETD, although the control of client access levels based upon the client's IP address, which TCPSRUN does, will be unavailable as a consequence.
Where client access is denied, IDENTD simply exits immediately, closing the socket. With any other access level, normal IDENT service is provided.
IDENTD does not parse the requests that it receives, because it provides opaque service. Whatever the local or remote ports, it returns the same answer. So it simply echoes the request string back as the first portion of the answer string, with the operating system and username tacked onto the end. Invalid requests cause invalid responses, therefore.
The operating system used in responses is always the string "OS/2".
If not explicitly specified with the /USER option, the
username used is the value of the USERNAME environment
variable. If that environment variable is not set, the username is the
string "os2user".
IDENTD writes log information to its standard error, listing each request that is processed.
A "TCPService.RUN" run file, for IDENTD to be spawned by TCPSRUN, would typically look similar to:
program %APPS%\JdeBP\IU\Bin\IDENTD.exe argument IDENTD argument %3
TCPSRUN itself would be invoked under RUNSVC, the Service Manager in the OS/2 Command Line Utilities version 2.2, with a run file similar to:
program %APPS%\JdeBP\IU\bin\TCPSRun.exe chdir %_BOOT%:\Config\Services\%1 argument TCPSRun argument 0.0.0.0 argument auth argument TCPService.RUN
/USER