- create a new server authentication object
cc [ flag ... ] file ... -lsasl [ library ... ] #include <sasl/sasl.h> int sasl_server_new(const char *service, const char *serverFQDN, const char *user_realm, const char *iplocalport, const char *ipremoteport, const sasl_callback_t *callbacks, unsigned flags, sasl_conn_t **pconn);
Use the sasl_server_new() interface to create a new SASL context. This context will be used for all SASL calls for one connection. The new SASL context handles both authentication and integrity or encryption layers after authentication.
The registered name of the service that uses SASL. The registered name is usually the protocol name, for example, IMAP.
The fully-qualified server domain name. If the value of serverFQDN is NULL, use gethostname(3C). The serverFQDN parameter is useful for multi-homed servers.
The domain of the user agent. The user_realm is usually not necessary. The default value of user_realm is NULL.
The IP address and port of the local side of the connection. The value of iplocalport may be NULL. If iplocalport is NULL, mechanisms that require IP address information are disabled. The iplocalport string must be in one of the following formats:
The following older formats are also supported:
The IP address and port of the remote side of the connection. The value of ipremoteport may be NULL. See iplocalport.
Callbacks, for example: authorization, lang, and new getopt context.
Usage flags. For servers, the flags SASL_NEED_PROXY and SASL_SUCCESS_DATA are available.
A pointer to the connection context allocated by the library. This structure will be used for all future SASL calls for this connection.
sasl_server_new() returns an integer that corresponds to a SASL error code.
The call to sasl_server_new() was successful.
All other error codes indicate an error situation that must be handled, or the authentication session should be quit. See sasl_errors(3SASL) for information on SASL error codes.
See attributes(5) for descriptions of the following attributes: