# sasl_getprop - Get a SASL property

## Synopsis

    #include <sasl/sasl.h>

    int sasl_getprop(sasl_conn_t *conn,
                    int propnum,
                    const void ** pvalue);

## Description

int sasl_getprop(sasl_conn_t *conn,
int propnum,
const void ** pvalue);

  sasl_getprop gets the value of a SASL property. For example after successful authentication a server may wish to know the authorization name. Or a client application may wish to know the strength of the negotiated security layer.

  Parameters:

    - conn – is the SASL connection context

    - propnum – is the identifier for the property requested

    - pvalue –

      is filled on success. List of properties:

      - SASL_USERNAME ‐ pointer to NUL terminated user name

      - SASL_SSF ‐ security layer security strength factor,

          if 0, call to sasl_encode(3), sasl_decode(3) unnecessary

      - SASL_MAXOUTBUF ‐ security layer max output buf unsigned

      - SASL_DEFUSERREALM ‐ server authentication realm used

      - SASL_GETOPTCTX ‐ context for getopt callback

      - SASL_IPLOCALPORT ‐ local address string

      - SASL_IPREMOTEPORT ‐ remote address string

      - SASL_SERVICE ‐ service passed to sasl_*_new

      - SASL_SERVERFQDN ‐ serverFQDN passed to sasl_*_new

      - SASL_AUTHSOURCE ‐ name of auth source last used, useful for failed

          authentication tracking

      - SASL_MECHNAME ‐ active mechanism name, if any

      - SASL_PLUGERR ‐ similar to sasl_errdetail

## Return Value

SASL callback functions should return SASL return codes. See sasl.h for a complete list. `SASL_OK` indicates success.

Other return codes indicate errors and should be handled.

## See Also

RFC 4422,:saslman:sasl(3), sasl_errors(3) sasl_server_new(3), sasl_client_new(3)