1#ifndef PROTON_SASL_PLUGIN_H
2#define PROTON_SASL_PLUGIN_H 1
25#include <proton/annotations.h>
26#include <proton/import_export.h>
28#include <proton/type_compat.h>
73typedef struct pnx_sasl_implementation
87 bool (*process_mechanisms)(
pn_transport_t *transport,
const char *mechs);
96} pnx_sasl_implementation;
102 SASL_POSTED_MECHANISMS,
103 SASL_POSTED_RESPONSE,
104 SASL_POSTED_CHALLENGE,
113 PN_PRINTF_FORMAT_ATTR(3, 4);
114PN_EXTERN
void pnx_sasl_error(
pn_transport_t *transport, const
char* err, const
char* condition_name);
117PN_EXTERN
void pnx_sasl_set_context(
pn_transport_t *transport,
void *context);
121PN_EXTERN
bool pnx_sasl_is_transport_encrypted(
pn_transport_t *transport);
122PN_EXTERN
bool pnx_sasl_get_allow_insecure_mechanisms(
pn_transport_t *transport);
123PN_EXTERN
bool pnx_sasl_get_authentication_required(
pn_transport_t *transport);
124PN_EXTERN const
char *pnx_sasl_get_external_username(
pn_transport_t *transport);
125PN_EXTERN
int pnx_sasl_get_external_ssf(
pn_transport_t *transport);
127PN_EXTERN const
char *pnx_sasl_get_username(
pn_transport_t *transport);
128PN_EXTERN const
char *pnx_sasl_get_password(
pn_transport_t *transport);
129PN_EXTERN const
char *pnx_sasl_get_authorization(
pn_transport_t *transport);
131PN_EXTERN const
char *pnx_sasl_get_remote_fqdn(
pn_transport_t *transport);
132PN_EXTERN const
char *pnx_sasl_get_selected_mechanism(
pn_transport_t *transport);
135PN_EXTERN
void pnx_sasl_set_desired_state(
pn_transport_t *transport, enum pnx_sasl_state desired_state);
136PN_EXTERN
void pnx_sasl_set_selected_mechanism(
pn_transport_t *transport, const
char *mechanism);
137PN_EXTERN
void pnx_sasl_set_local_hostname(
pn_transport_t * transport, const
char * fqdn);
138PN_EXTERN
void pnx_sasl_set_succeeded(
pn_transport_t *transport, const
char *username, const
char *authzid);
141PN_EXTERN
void pnx_sasl_set_implementation(
pn_transport_t *transport, const pnx_sasl_implementation *impl,
void *context);
142PN_EXTERN
void pnx_sasl_set_default_implementation(const pnx_sasl_implementation *impl);
A const byte buffer.
Definition types.h:223
pn_log_level_t
Definitions for different severities of log messages Note that these are exclusive bits so that you c...
Definition logger.h:110
struct pn_transport_t pn_transport_t
A network channel supporting an AMQP connection.
Definition types.h:450
Facility for logging messages.