ULP

Purpose:        Logs in user

Input Syntax:   ULP <ident> <username> [<password>]

Input Params:   <ident>     CHAR(11)  = rfc 931 ident
                <username>  CHAR(10)  = username
                <password>  CHAR(8)   = password

Output Syntax:  +<data> | -{P|D|C|S|T|U|A|I} <username>

Output Params:  <data>  CHAR(128) = various ftpd data
                P = Invalid username or password
                D = Account is disabled
                C = Server is closed
                S = Shutdown in progress
                T = Too many users logged in
                U = IP/Domain limit reached
                A = User is logged in maximum times
                I = Invalid ident or ip range
                <username> CHAR(10) = username in uppercase/lowercase
                                      as it is in user database

Right required: none

Implementation: serverd.c / user_request_login_permission()

Remarks:        If called without a password, the user must have an empty
                password, otherwise login fails.

