SASL_SERVER_NEW(3SASL)
Simple Authentication Security Layer Library Functions
sasl_server_new - 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.
service
The registered name of the service that uses SASL.
The registered name is usually the protocol name, for
example, IMAP.
serverFQDN
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.
user_realm
The domain of the user agent. The user_realm is
usually not necessary. The default value of
user_realm is NULL.
iplocalport
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:
o a.b.c.d:port (IPv4)
o [e:f:g:h:i:j:k:l]:port (IPv6)
o [e:f:g:h:i:j:a.b.c.d]:port (IPv6)
The following older formats are also supported:
o a.b.c.d;port (IPv4)
o e:f:g:h:i:j:k:l;port (IPv6)
o e:f:g:h:i:j:a.b.c.d;port (IPv6)
ipremoteport
The IP address and port of the remote side of the
connection. The value of ipremoteport may be NULL.
See iplocalport.
callbacks
Callbacks, for example: authorization, lang, and new
getopt context.
flags
Usage flags. For servers, the flags SASL_NEED_PROXY
and SASL_SUCCESS_DATA are available.
pconn
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.
SASL_OK
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(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Evolving |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+
gethostname(3C), sasl_errors(3SASL), attributes(7)
October 14, 2003 SASL_SERVER_NEW(3SASL)
Simple Authentication Security Layer Library Functions
NAME
sasl_server_new - create a new server authentication object
SYNOPSIS
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);
DESCRIPTION
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.
PARAMETERS
service
The registered name of the service that uses SASL.
The registered name is usually the protocol name, for
example, IMAP.
serverFQDN
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.
user_realm
The domain of the user agent. The user_realm is
usually not necessary. The default value of
user_realm is NULL.
iplocalport
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:
o a.b.c.d:port (IPv4)
o [e:f:g:h:i:j:k:l]:port (IPv6)
o [e:f:g:h:i:j:a.b.c.d]:port (IPv6)
The following older formats are also supported:
o a.b.c.d;port (IPv4)
o e:f:g:h:i:j:k:l;port (IPv6)
o e:f:g:h:i:j:a.b.c.d;port (IPv6)
ipremoteport
The IP address and port of the remote side of the
connection. The value of ipremoteport may be NULL.
See iplocalport.
callbacks
Callbacks, for example: authorization, lang, and new
getopt context.
flags
Usage flags. For servers, the flags SASL_NEED_PROXY
and SASL_SUCCESS_DATA are available.
pconn
A pointer to the connection context allocated by the
library. This structure will be used for all future
SASL calls for this connection.
RETURN VALUES
sasl_server_new() returns an integer that corresponds to a SASL error
code.
ERRORS
SASL_OK
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.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Evolving |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+
SEE ALSO
gethostname(3C), sasl_errors(3SASL), attributes(7)
October 14, 2003 SASL_SERVER_NEW(3SASL)