Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

sasl_server_new (3sasl)

Name

sasl_server_new - Create a new server authentication object

Synopsis

#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

sasl_server_new(3sasl)          SASL man pages          sasl_server_new(3sasl)



NAME
       sasl_server_new - Create a new server authentication object



SYNOPSIS
       #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
       sasl_server_new() creates a new SASL context. This context will be used
       for all SASL calls for one connection. It handles  both  authentication
       and integrity/encryption layers after authentication.

       service  is  the  registered  name of the service (usually the protocol
       name) using SASL (e.g. "imap").

       serverFQDN is the fully qualified server domain name.  NULL  means  use
       gethostname().  This is useful for multi-homed servers.

       user_realm  is the domain of the user agent. This is usually not neces-
       sary (NULL is default)

       iplocalport is the IP and port of the local side of the connection,  or
       NULL.   If  iplocalport is NULL it will disable mechanisms that require
       IP address information.  This strings must be in one of  the  following
       formats:   "a.b.c.d;port"  (IPv4),  "e:f:g:h:i:j:k:l;port"  (IPv6),  or
       "e:f:g:h:i:j:a.b.c.d;port" (IPv6)

       ipremoteport is the IP and port of the remote side of  the  connection,
       or NULL (see iplocalport)

       flags are connection flags (see below)

       pconn  is a pointer to the connection context allocated by the library.
       This structure will be used for all future SASL calls for this  connec-
       tion.

       Connection Flags

       SASL_SUCCESS_DATA
               The protocol supports a server-last send

       SASL_NEED_PROXY
               Force  the use of a mechanism that supports an authorization id
               that is not the authentication id.


RETURN VALUE
       sasl_server_new() returns an integer which corresponds to  one  of  the
       SASL  error  codes. SASL_OK is the only one that indicates success. All
       others indicate errors and should either be handled or the  authentica-
       tion session should be quit.


CONFORMING TO
       RFC 4422


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+----------------------------------+
       |ATTRIBUTE TYPE |         ATTRIBUTE VALUE          |
       +---------------+----------------------------------+
       |Availability   | system/library/security/libsasl2 |
       +---------------+----------------------------------+
       |Stability      | Pass-through volatile            |
       +---------------+----------------------------------+

SEE ALSO
       sasl(3SASL),        sasl_errors(3SASL),        sasl_server_init(3SASL),
       sasl_server_start(3SASL), sasl_server_step(3SASL), sasl_setprop(3SASL)



NOTES
       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source was downloaded  from   ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-
       sasl-2.1.26.tar.gz.

       Further information about this software can be found on the open source
       community website at https://www.cyrusimap.org/sasl/.



SASL                              16 May 2001           sasl_server_new(3sasl)