1 #ifndef HEADER_CURL_SASL_H 2 #define HEADER_CURL_SASL_H 31 #define SASL_MECH_LOGIN (1 << 0) 32 #define SASL_MECH_PLAIN (1 << 1) 33 #define SASL_MECH_CRAM_MD5 (1 << 2) 34 #define SASL_MECH_DIGEST_MD5 (1 << 3) 35 #define SASL_MECH_GSSAPI (1 << 4) 36 #define SASL_MECH_EXTERNAL (1 << 5) 37 #define SASL_MECH_NTLM (1 << 6) 38 #define SASL_MECH_XOAUTH2 (1 << 7) 39 #define SASL_MECH_OAUTHBEARER (1 << 8) 42 #define SASL_AUTH_NONE 0 43 #define SASL_AUTH_ANY ~0U 44 #define SASL_AUTH_DEFAULT (SASL_AUTH_ANY & ~SASL_MECH_EXTERNAL) 47 #define SASL_MECH_STRING_LOGIN "LOGIN" 48 #define SASL_MECH_STRING_PLAIN "PLAIN" 49 #define SASL_MECH_STRING_CRAM_MD5 "CRAM-MD5" 50 #define SASL_MECH_STRING_DIGEST_MD5 "DIGEST-MD5" 51 #define SASL_MECH_STRING_GSSAPI "GSSAPI" 52 #define SASL_MECH_STRING_EXTERNAL "EXTERNAL" 53 #define SASL_MECH_STRING_NTLM "NTLM" 54 #define SASL_MECH_STRING_XOAUTH2 "XOAUTH2" 55 #define SASL_MECH_STRING_OAUTHBEARER "OAUTHBEARER" 92 const char *mech,
const char *ir);
113 #define sasl_mech_equal(line, wordlen, mech) \ 114 (wordlen == (sizeof(mech) - 1) / sizeof(char) && \ 115 !memcmp(line, mech, wordlen)) 123 size_t maxlen,
size_t *
len);
CURLcode Curl_sasl_parse_url_auth_option(struct SASL *sasl, const char *value, size_t len)
void Curl_sasl_init(struct SASL *sasl, const struct SASLproto *params)
CURLcode Curl_sasl_continue(struct SASL *sasl, struct connectdata *conn, int code, saslprogress *progress)
bool Curl_sasl_can_authenticate(struct SASL *sasl, struct connectdata *conn)
unsigned int Curl_sasl_decode_mech(const char *ptr, size_t maxlen, size_t *len)
void(* getmessage)(char *buffer, char **outptr)
UNITTEST_START char * ptr
CURLcode Curl_sasl_start(struct SASL *sasl, struct connectdata *conn, bool force_ir, saslprogress *progress)
void Curl_sasl_cleanup(struct connectdata *conn, unsigned int authused)
CURLcode(* sendauth)(struct connectdata *conn, const char *mech, const char *ir)
const struct SASLproto * params
UNITTEST_START int * value
CURLcode(* sendcont)(struct connectdata *conn, const char *contauth)