Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • void pn_sasl_client(pn_sasl_t *sasl)
  • void pn_sasl_server(pn_sasl_t *sasl)

 

These

...

functions

...

have

...

been

...

deprecated

...

 

 

  • pn_sasl_state_t pn_sasl_state(pn_sasl_t *sasl)
  • size_t pn_sasl_pending(pn_sasl_t *sasl)
  • ssize_t pn_sasl_recv(pn_sasl_t *sasl, char *bytes, size_t size)
  • ssize_t pn_sasl_send(pn_sasl_t *sasl, const char *bytes, size_t size)

These functions

  • void pn_sasl_mechanisms(pn_sasl_t *sasl, const char *mechanisms)
  • const char *outcome_t pn_sasl_outcomeremote_mechanisms(pn_sasl_t *sasl)
     

These functions

  • void pn_sasl_mechanismsplain(pn_sasl_t *sasl, const char *username, const char *password)

This

Functions Added

/** Retrieve the authenticated user
 *
 * This is usually used at the the server end to find the name of the authenticated user.
 * On the client it will merely return whatever user was passed in to the
 * pn_transport_set_user_password() API.
 *
 * If pn_sasl_outcome() returns a value other than PN_SASL_OK, then there will be no user to return.
 * The returned value is only reliable after the PN_TRANSPORT_AUTHENTICATED event has been received.
 *
 * @param[in] sasl the sasl layer
 *
 * @return
 * If the SASL layer was not negotiated then 0 is returned
 * If the ANONYMOUS mechanism is used then the user will be "anonymous"
 * Otherwise a string containing the user is returned.
 */
PN_EXTERN const char *

...

pn_sasl_get_user(pn_sasl_t *sasl);
 
/** Return the selected SASL mechanism
 *
 * The returned value is only reliable after the PN_TRANSPORT_AUTHENTICATED event has been received.
 *
 * @param[in] sasl the SASL layer
 *
 * @return The authentication mechanism selected by the SASL layer
 */
PN_EXTERN const char *pn_sasl_

...

get_mech(pn_sasl_t *sasl);
 
/** SASL mechanism that are not to be considered for authentication
 *
 * This can be used on either the client or the server to restrict the SASL mechanisms that may be used.
 *
 * @param[in] sasl the SASL layer
 * @param[in] mechs space separated list of mechanisms that are not to be allowed for authentication
 */
PN_EXTERN void pn_sasl_exclude_mechs(pn_sasl_t *sasl, const char *mechs);
 
/**
 * Set the sasl configuration name
 *
 * This is used to construct the SASL configuration filename. In the current implementation
 * it ".conf" is added to the name and the file is looked for in the configuration directory.
 *
 * If not set it will default to "proton-server" for a sasl server and "proton-client"
 * for a client.
 *
 * @param[in] sasl the SASL layer
 * @param[in] name the configuration name
 */
PN_EXTERN void pn_sasl_config_

...

name(pn_sasl_t *sasl, const char *name);
 
/**
 * Set the sasl configuration 

...

path
 *
 * This is used to tell SASL where to look for the configuration file.
 * In the current implementation it can be a colon separated list of directories.
 *
 * The environment variable PN_SASL_CONFIG_PATH can also be used to set this path,
 * but if both methods are used then this pn_sasl_config_path() will take precedence.
 *
 * If not set the underlying implementation default will be used.
 * for a client.
 *
 * @param[in] sasl the SASL layer
 * @param[in] path the configuration path
 */
PN_EXTERN void pn_sasl_config_path(pn_sasl_t *sasl, const char *

...

path)

...

;

Transport

Functions Added

New Events

...