NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | OK REPLIES | ERROR MESSAGES | NOTES | ATTRIBUTES
#include <arpa/ftpd/systemAuth.h>int systemPass(FtpConn *conn);
Checks that the password given by the user is the correct password according to implementation-defined criteria. The name of the user is conn->name, and the password entered by the user is conn->passwd. If the password is accepted, the connection is initialized to reflect the initial defaults associated with the user according to implementation-defined data bases. This may include changing the current directory to the home directory of the user (updating conn->dir in multi-threaded conditions), and changing the root directory (if supported by the implementation). This may also include changing the shell (conn->shell), if spawning of shell commands is supported. The conn->dir parameter is already initialized to "/" and conn->shell is already initialized to "". If the application changes the value of conn->dir or conn->shell, it should first free the memory pointed to by conn->dir or conn->shell using free(3STDC). When the session is finished, the FTPD library calls free(3STDC) on conn->dir or conn->shell if their value is not set to NULL. In a traditional UNIX implementation, if conn->guest is 1, the password is not checked.
Returns 0 if the password is correct, -1 otherwise.
For a bad password
For a problem with the data base file
The conn->dir and conn->shell parameters are for use by the application side; the FTPD library does not interpret them. If credentials are important, the necessary information should be initialized in the application-dependent part of the connection, to allow the systemBeuser(3FTPD) and systemBesuper(3FTPD) routines to perform correctly. (See these routines.)
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | OK REPLIES | ERROR MESSAGES | NOTES | ATTRIBUTES