sasl.h | sasl.h | |||
---|---|---|---|---|
skipping to change at line 125 | skipping to change at line 125 | |||
* | * | |||
* If the server forbids the use of "@" in user names for other | * If the server forbids the use of "@" in user names for other | |||
* purposes, this simplifies security validation. | * purposes, this simplifies security validation. | |||
*/ | */ | |||
#ifndef SASL_H | #ifndef SASL_H | |||
#define SASL_H 1 | #define SASL_H 1 | |||
#define SASL_VERSION_MAJOR 2 | #define SASL_VERSION_MAJOR 2 | |||
#define SASL_VERSION_MINOR 1 | #define SASL_VERSION_MINOR 1 | |||
#define SASL_VERSION_STEP 18 | #define SASL_VERSION_STEP 19 | |||
#include "prop.h" | #include "prop.h" | |||
/************* | /************* | |||
* Basic API * | * Basic API * | |||
*************/ | *************/ | |||
/* SASL result codes: */ | /* SASL result codes: */ | |||
#define SASL_CONTINUE 1 /* another step is needed in authentication */ | #define SASL_CONTINUE 1 /* another step is needed in authentication */ | |||
#define SASL_OK 0 /* successful result */ | #define SASL_OK 0 /* successful result */ | |||
skipping to change at line 717 | skipping to change at line 717 | |||
#define SASL_SSF 1 /* security layer security strength factor, | #define SASL_SSF 1 /* security layer security strength factor, | |||
* if 0, call to sasl_encode, sasl_decode | * if 0, call to sasl_encode, sasl_decode | |||
* unnecessary */ | * unnecessary */ | |||
#define SASL_MAXOUTBUF 2 /* security layer max output buf unsigned * / | #define SASL_MAXOUTBUF 2 /* security layer max output buf unsigned * / | |||
#define SASL_DEFUSERREALM 3 /* default realm passed to server_new */ | #define SASL_DEFUSERREALM 3 /* default realm passed to server_new */ | |||
/* or set with setprop */ | /* or set with setprop */ | |||
#define SASL_GETOPTCTX 4 /* context for getopt callback */ | #define SASL_GETOPTCTX 4 /* context for getopt callback */ | |||
#define SASL_CALLBACK 7 /* current callback function list */ | #define SASL_CALLBACK 7 /* current callback function list */ | |||
#define SASL_IPLOCALPORT 8 /* iplocalport string passed to server_new * / | #define SASL_IPLOCALPORT 8 /* iplocalport string passed to server_new * / | |||
#define SASL_IPREMOTEPORT 9 /* ipremoteport string passed to server_new */ | #define SASL_IPREMOTEPORT 9 /* ipremoteport string passed to server_new */ | |||
#define SASL_SERVICE 12 /* service passed to sasl_*_new */ | ||||
#define SASL_SERVERFQDN 13 /* serverFQDN passed to sasl_*_new */ | ||||
#define SASL_AUTHSOURCE 14 /* name of auth source last used, useful | ||||
* for failed authentication tracking */ | ||||
#define SASL_MECHNAME 15 /* active mechanism name, if any */ | ||||
#define SASL_AUTHUSER 16 /* authentication/admin user */ | ||||
/* This returns a string which is either empty or has an error message | /* This returns a string which is either empty or has an error message | |||
* from sasl_seterror (e.g., from a plug-in or callback). It differs | * from sasl_seterror (e.g., from a plug-in or callback). It differs | |||
* from the result of sasl_errdetail() which also takes into account the | * from the result of sasl_errdetail() which also takes into account the | |||
* last return status code. | * last return status code. | |||
*/ | */ | |||
#define SASL_PLUGERR 10 | #define SASL_PLUGERR 10 | |||
/* a handle to any delegated credentials or NULL if none is present | ||||
* is returned by the mechanism. The user will probably need to know | ||||
* which mechanism was used to actually known how to make use of them | ||||
* currently only implemented for the gssapi mechanism */ | ||||
#define SASL_DELEGATEDCREDS 11 | ||||
#define SASL_SERVICE 12 /* service passed to sasl_*_new */ | ||||
#define SASL_SERVERFQDN 13 /* serverFQDN passed to sasl_*_new */ | ||||
#define SASL_AUTHSOURCE 14 /* name of auth source last used, useful | ||||
* for failed authentication tracking */ | ||||
#define SASL_MECHNAME 15 /* active mechanism name, if any */ | ||||
#define SASL_AUTHUSER 16 /* authentication/admin user */ | ||||
#define SASL_APPNAME 17 /* application name (used for logging/ | ||||
configuration), same as appname parameter | ||||
to sasl_server_init */ | ||||
/* set property in SASL connection state | /* set property in SASL connection state | |||
* returns: | * returns: | |||
* SASL_OK -- value set | * SASL_OK -- value set | |||
* SASL_BADPARAM -- invalid property or value | * SASL_BADPARAM -- invalid property or value | |||
*/ | */ | |||
LIBSASL_API int sasl_setprop(sasl_conn_t *conn, | LIBSASL_API int sasl_setprop(sasl_conn_t *conn, | |||
int propnum, | int propnum, | |||
const void *value); | const void *value); | |||
#define SASL_SSF_EXTERNAL 100 /* external SSF active (sasl_ssf_t *) */ | #define SASL_SSF_EXTERNAL 100 /* external SSF active (sasl_ssf_t *) */ | |||
#define SASL_SEC_PROPS 101 /* sasl_security_properties_t */ | #define SASL_SEC_PROPS 101 /* sasl_security_properties_t */ | |||
skipping to change at line 1077 | skipping to change at line 1087 | |||
* SASL_OK -- successful | * SASL_OK -- successful | |||
*/ | */ | |||
LIBSASL_API int sasl_setpass(sasl_conn_t *conn, | LIBSASL_API int sasl_setpass(sasl_conn_t *conn, | |||
const char *user, | const char *user, | |||
const char *pass, unsigned passlen, | const char *pass, unsigned passlen, | |||
const char *oldpass, unsigned oldpasslen, | const char *oldpass, unsigned oldpasslen, | |||
unsigned flags); | unsigned flags); | |||
#define SASL_SET_CREATE 0x01 /* create a new entry for user */ | #define SASL_SET_CREATE 0x01 /* create a new entry for user */ | |||
#define SASL_SET_DISABLE 0x02 /* disable user account */ | #define SASL_SET_DISABLE 0x02 /* disable user account */ | |||
#define SASL_SET_NOPLAIN 0x04 /* do not store secret in plain text */ | #define SASL_SET_NOPLAIN 0x04 /* do not store secret in plain text */ | |||
#define SASL_SET_CURMECH_ONLY 0x08 /* set the mechanism specific passwo | ||||
rd only. | ||||
fail if no current mechanism */ | ||||
/********************************************************* | /********************************************************* | |||
* Auxiliary Property Support -- added by cjn 1999-09-29 * | * Auxiliary Property Support -- added by cjn 1999-09-29 * | |||
*********************************************************/ | *********************************************************/ | |||
#define SASL_AUX_END NULL /* last auxiliary property */ | #define SASL_AUX_END NULL /* last auxiliary property */ | |||
/* traditional Posix items (should be implemented on Posix systems) */ | /* traditional Posix items (should be implemented on Posix systems) */ | |||
#define SASL_AUX_PASSWORD_PROP "userPassword" /* User Password */ | #define SASL_AUX_PASSWORD_PROP "userPassword" /* User Password */ | |||
#define SASL_AUX_PASSWORD "*" SASL_AUX_PASSWORD_PROP /* User Password (of a uthid) */ | #define SASL_AUX_PASSWORD "*" SASL_AUX_PASSWORD_PROP /* User Password (of a uthid) */ | |||
End of changes. 4 change blocks. | ||||
7 lines changed or deleted | 20 lines changed or added | |||
saslplug.h | saslplug.h | |||
---|---|---|---|---|
skipping to change at line 189 | skipping to change at line 189 | |||
sasl_ssf_t mech_ssf; /* Should be set non-zero if negotiation of a | sasl_ssf_t mech_ssf; /* Should be set non-zero if negotiation of a | |||
* security layer was *attempted*, even if | * security layer was *attempted*, even if | |||
* the negotiation failed */ | * the negotiation failed */ | |||
void *encode_context; | void *encode_context; | |||
int (*encode)(void *context, const struct iovec *invec, unsigned numiov , | int (*encode)(void *context, const struct iovec *invec, unsigned numiov , | |||
const char **output, unsigned *outputlen); | const char **output, unsigned *outputlen); | |||
void *decode_context; | void *decode_context; | |||
int (*decode)(void *context, const char *input, unsigned inputlen, | int (*decode)(void *context, const char *input, unsigned inputlen, | |||
const char **output, unsigned *outputlen); | const char **output, unsigned *outputlen); | |||
/* Pointer to delegated (client's) credentials, if supported by | ||||
the SASL mechanism */ | ||||
void *client_creds; | ||||
/* for additions which don't require a version upgrade; set to 0 */ | /* for additions which don't require a version upgrade; set to 0 */ | |||
void *spare_ptr1; | ||||
void *spare_ptr2; | void *spare_ptr2; | |||
void *spare_ptr3; | void *spare_ptr3; | |||
void *spare_ptr4; | void *spare_ptr4; | |||
int (*spare_fptr1)(); | int (*spare_fptr1)(); | |||
int (*spare_fptr2)(); | int (*spare_fptr2)(); | |||
int spare_int1; | int spare_int1; | |||
int spare_int2; | int spare_int2; | |||
int spare_int3; | int spare_int3; | |||
int spare_int4; | int spare_int4; | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 4 lines changed or added | |||