proton
0
|
API for the SASL Secure Transport Layer. More...
#include <proton/import_export.h>
#include <sys/types.h>
#include <proton/type_compat.h>
#include <proton/engine.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... | |
enum | pn_sasl_state_t { PN_SASL_CONF, PN_SASL_IDLE, PN_SASL_STEP, PN_SASL_PASS, PN_SASL_FAIL } |
The state of the SASL negotiation process. More... | |
Functions | |
PN_EXTERN pn_sasl_t * | pn_sasl (pn_transport_t *transport) |
Construct an Authentication and Security Layer object. More... | |
PN_EXTERN pn_sasl_state_t | pn_sasl_state (pn_sasl_t *sasl) |
Access the current state of the layer. More... | |
PN_EXTERN void | pn_sasl_mechanisms (pn_sasl_t *sasl, const char *mechanisms) |
Set the acceptable SASL mechanisms for the layer. More... | |
PN_EXTERN const char * | pn_sasl_remote_mechanisms (pn_sasl_t *sasl) |
Retrieve the list of SASL mechanisms provided by the remote. More... | |
PN_EXTERN void | pn_sasl_client (pn_sasl_t *sasl) |
Configure the SASL layer to act as a SASL client. More... | |
PN_EXTERN void | pn_sasl_server (pn_sasl_t *sasl) |
Configure the SASL layer to act as a server. More... | |
PN_EXTERN void | pn_sasl_plain (pn_sasl_t *sasl, const char *username, const char *password) |
Configure the SASL layer to use the "PLAIN" mechanism. More... | |
PN_EXTERN size_t | pn_sasl_pending (pn_sasl_t *sasl) |
Determine the size of the bytes available via pn_sasl_recv(). More... | |
PN_EXTERN ssize_t | pn_sasl_recv (pn_sasl_t *sasl, char *bytes, size_t size) |
Read challenge/response data sent from the peer. More... | |
PN_EXTERN ssize_t | pn_sasl_send (pn_sasl_t *sasl, const char *bytes, size_t size) |
Send challenge or response data to the peer. 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... | |
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.