proton  0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Typedefs | Enumerations | Functions
sasl.h File Reference

API for the SASL Secure Transport Layer. More...

#include <proton/import_export.h>
#include <proton/type_compat.h>
#include <proton/types.h>

Go to the source code of this file.

Typedefs

typedef struct pn_sasl_t pn_sasl_t
 

Enumerations

enum  pn_sasl_outcome_t {
  PN_SASL_NONE =-1, PN_SASL_OK =0, PN_SASL_AUTH =1, PN_SASL_SYS =2,
  PN_SASL_PERM =3, PN_SASL_TEMP =4
}
 The result of the SASL negotiation. More...
 

Functions

PN_EXTERN pn_sasl_tpn_sasl (pn_transport_t *transport)
 Construct an Authentication and Security Layer object. More...
 
PN_EXTERN bool pn_sasl_extended (void)
 Do we support extended SASL negotiation. More...
 
PN_EXTERN void pn_sasl_done (pn_sasl_t *sasl, pn_sasl_outcome_t outcome)
 Set the outcome of SASL negotiation. More...
 
PN_EXTERN pn_sasl_outcome_t pn_sasl_outcome (pn_sasl_t *sasl)
 Retrieve the outcome of SASL negotiation. More...
 
PN_EXTERN const char * pn_sasl_get_user (pn_sasl_t *sasl)
 Retrieve the authenticated user. More...
 
PN_EXTERN const char * pn_sasl_get_mech (pn_sasl_t *sasl)
 Return the selected SASL mechanism. More...
 
PN_EXTERN void pn_sasl_allowed_mechs (pn_sasl_t *sasl, const char *mechs)
 SASL mechanisms that are to be considered for authentication. More...
 
PN_EXTERN void pn_sasl_set_allow_insecure_mechs (pn_sasl_t *sasl, bool insecure)
 Boolean to allow use of clear text authentication mechanisms. More...
 
PN_EXTERN bool pn_sasl_get_allow_insecure_mechs (pn_sasl_t *sasl)
 Return the current value for allow_insecure_mechs. More...
 
PN_EXTERN void pn_sasl_config_name (pn_sasl_t *sasl, const char *name)
 Set the sasl configuration name. More...
 
PN_EXTERN void pn_sasl_config_path (pn_sasl_t *sasl, const char *path)
 Set the sasl configuration path. More...
 

Detailed Description

API for the SASL Secure Transport Layer.

The SASL layer is responsible for establishing an authenticated and/or encrypted tunnel over which AMQP frames are passed between peers. The peer acting as the SASL Client must provide authentication credentials. The peer acting as the SASL Server must provide authentication against the received credentials.