sasl.h | sasl.h | |||
---|---|---|---|---|
skipping to change at line 43 | skipping to change at line 43 | |||
* sasl_done Release all SASL global state | * sasl_done Release all SASL global state | |||
* sasl_dispose Connection done: Dispose of sasl_conn_t | * sasl_dispose Connection done: Dispose of sasl_conn_t | |||
* sasl_getprop Get property (e.g., user name, security layer info) | * sasl_getprop Get property (e.g., user name, security layer info) | |||
* sasl_setprop Set property (e.g., external ssf) | * sasl_setprop Set property (e.g., external ssf) | |||
* sasl_errdetail Generate string from last error on connection | * sasl_errdetail Generate string from last error on connection | |||
* sasl_errstring Translate sasl error code to a string | * sasl_errstring Translate sasl error code to a string | |||
* sasl_encode Encode data to send using security layer | * sasl_encode Encode data to send using security layer | |||
* sasl_decode Decode data received using security layer | * sasl_decode Decode data received using security layer | |||
* | * | |||
* Utility functions: | * Utility functions: | |||
* sasl_encode64 Encode data to send using security layer | * sasl_encode64 Encode data to send using MIME base64 encoding | |||
* sasl_decode64 Decode data received using security layer | * sasl_decode64 Decode data received using MIME base64 encoding | |||
* sasl_erasebuffer Erase a buffer | * sasl_erasebuffer Erase a buffer | |||
* | * | |||
* Client Function Summary: | * Client Function Summary: | |||
* sasl_client_init Load and initialize client plug-ins (call once) | * sasl_client_init Load and initialize client plug-ins (call once) | |||
* sasl_client_new Initialize client connection context: sasl_conn_t | * sasl_client_new Initialize client connection context: sasl_conn_t | |||
* sasl_client_start Select mechanism for connection | * sasl_client_start Select mechanism for connection | |||
* sasl_client_step Perform one authentication step | * sasl_client_step Perform one authentication step | |||
* | * | |||
* Server Function Summary | * Server Function Summary | |||
* sasl_server_init Load and initialize server plug-ins (call once) | * sasl_server_init Load and initialize server plug-ins (call once) | |||
skipping to change at line 124 | skipping to change at line 124 | |||
* | * | |||
* 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 2 | #define SASL_VERSION_STEP 5 | |||
#include "prop.h" | #include "prop.h" | |||
#define LIBSASL_API | #define LIBSASL_API | |||
/************* | /************* | |||
* 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 */ | |||
skipping to change at line 446 | skipping to change at line 446 | |||
/* client/user interaction callbacks: | /* client/user interaction callbacks: | |||
*/ | */ | |||
/* Simple prompt -- result must persist until next call to getsimple on | /* Simple prompt -- result must persist until next call to getsimple on | |||
* same connection or until connection context is disposed | * same connection or until connection context is disposed | |||
* inputs: | * inputs: | |||
* context -- context from callback structure | * context -- context from callback structure | |||
* id -- callback id | * id -- callback id | |||
* outputs: | * outputs: | |||
* result -- set to NUL terminated string | * result -- set to NUL terminated string | |||
* NULL = user cancel | * NULL = user cancel | |||
* len -- length of result, ignored with SASL_CB_SECRET | * len -- length of result | |||
* returns SASL_OK | * returns SASL_OK | |||
*/ | */ | |||
typedef int sasl_getsimple_t(void *context, int id, | typedef int sasl_getsimple_t(void *context, int id, | |||
const char **result, unsigned *len); | const char **result, unsigned *len); | |||
#define SASL_CB_USER 0x4001 /* client user identity to login as */ | #define SASL_CB_USER 0x4001 /* client user identity to login as */ | |||
#define SASL_CB_AUTHNAME 0x4002 /* client authentication name */ | #define SASL_CB_AUTHNAME 0x4002 /* client authentication name */ | |||
#define SASL_CB_LANGUAGE 0x4003 /* comma separated list of RFC 1766 | #define SASL_CB_LANGUAGE 0x4003 /* comma separated list of RFC 1766 | |||
* language codes in order of preferenc e | * language codes in order of preferenc e | |||
* to be used to localize client prompt s | * to be used to localize client prompt s | |||
* or server error codes */ | * or server error codes */ | |||
skipping to change at line 612 | skipping to change at line 612 | |||
const char *user_realm, | const char *user_realm, | |||
char *out, | char *out, | |||
unsigned out_max, unsigned *out_len); | unsigned out_max, unsigned *out_len); | |||
#define SASL_CB_CANON_USER (0x8007) | #define SASL_CB_CANON_USER (0x8007) | |||
/********************************** | /********************************** | |||
* Common Client/server functions * | * Common Client/server functions * | |||
**********************************/ | **********************************/ | |||
/* get sasl library version information | ||||
* implementation is a vendor-defined string | ||||
* version is a vender-defined representation of the version # */ | ||||
LIBSASL_API void sasl_version(const char **implementation, | ||||
int *version); | ||||
/* dispose of all SASL plugins. Connection | /* dispose of all SASL plugins. Connection | |||
* states have to be disposed of before calling this. | * states have to be disposed of before calling this. | |||
*/ | */ | |||
LIBSASL_API void sasl_done(void); | LIBSASL_API void sasl_done(void); | |||
/* dispose connection state, sets it to NULL | /* dispose connection state, sets it to NULL | |||
* checks for pointer to NULL | * checks for pointer to NULL | |||
*/ | */ | |||
LIBSASL_API void sasl_dispose(sasl_conn_t **pconn); | LIBSASL_API void sasl_dispose(sasl_conn_t **pconn); | |||
skipping to change at line 1053 | skipping to change at line 1059 | |||
#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 */ | |||
/********************************************************* | /********************************************************* | |||
* 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 "userPassword" /* User Password */ | #define SASL_AUX_PASSWORD "*userPassword" /* User Password (of authid) */ | |||
#define SASL_AUX_UIDNUM "uidNumber" /* UID number for the user */ | #define SASL_AUX_UIDNUM "uidNumber" /* UID number for the user */ | |||
#define SASL_AUX_GIDNUM "gidNumber" /* GID for the user */ | #define SASL_AUX_GIDNUM "gidNumber" /* GID for the user */ | |||
#define SASL_AUX_FULLNAME "gecos" /* full name of the user, unix-style */ | #define SASL_AUX_FULLNAME "gecos" /* full name of the user, unix-style */ | |||
#define SASL_AUX_HOMEDIR "homeDirectory" /* home directory for user */ | #define SASL_AUX_HOMEDIR "homeDirectory" /* home directory for user */ | |||
#define SASL_AUX_SHELL "loginShell" /* login shell for the user */ | #define SASL_AUX_SHELL "loginShell" /* login shell for the user */ | |||
/* optional additional items (not necessarily implemented) */ | /* optional additional items (not necessarily implemented) */ | |||
/* single preferred mail address for user canonically-quoted | /* single preferred mail address for user canonically-quoted | |||
* RFC821/822 syntax */ | * RFC821/822 syntax */ | |||
#define SASL_AUX_MAILADDR "mail" | #define SASL_AUX_MAILADDR "mail" | |||
End of changes. 5 change blocks. | ||||
5 lines changed or deleted | 11 lines changed or added | |||
saslplug.h | saslplug.h | |||
---|---|---|---|---|
skipping to change at line 739 | skipping to change at line 739 | |||
/* optional features of plugin (set to 0) */ | /* optional features of plugin (set to 0) */ | |||
int features; | int features; | |||
/* spare integer (set to 0) */ | /* spare integer (set to 0) */ | |||
int spare_int1; | int spare_int1; | |||
/* global state for plugin */ | /* global state for plugin */ | |||
void *glob_context; | void *glob_context; | |||
/* name of plugin */ | /* name of plugin */ | |||
void *spare_ptr1; | char *name; | |||
/* free global state for plugin */ | /* free global state for plugin */ | |||
void (*canon_user_free)(void *glob_context, const sasl_utils_t *utils); | void (*canon_user_free)(void *glob_context, const sasl_utils_t *utils); | |||
/* canonicalize a username | /* canonicalize a username | |||
* glob_context -- global context from this structure | * glob_context -- global context from this structure | |||
* sparams -- server params, note user_realm&propctx elements | * sparams -- server params, note user_realm&propctx elements | |||
* user -- user to login as (may not be NUL terminated) | * user -- user to login as (may not be NUL terminated) | |||
* len -- length of user name (0 = strlen(user)) | * len -- length of user name (0 = strlen(user)) | |||
* flags -- for SASL_CU_* flags | * flags -- for SASL_CU_* flags | |||
skipping to change at line 823 | skipping to change at line 823 | |||
/* fill in fields of an auxiliary property context | /* fill in fields of an auxiliary property context | |||
* last element in array has id of SASL_AUX_END | * last element in array has id of SASL_AUX_END | |||
* elements with non-0 len should be ignored. | * elements with non-0 len should be ignored. | |||
*/ | */ | |||
void (*auxprop_lookup)(void *glob_context, | void (*auxprop_lookup)(void *glob_context, | |||
sasl_server_params_t *sparams, | sasl_server_params_t *sparams, | |||
unsigned flags, | unsigned flags, | |||
const char *user, unsigned ulen); | const char *user, unsigned ulen); | |||
/* name of the auxprop plugin */ | ||||
char *name; | ||||
/* 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_fptr1)(); | void (*spare_fptr1)(); | |||
void (*spare_fptr2)(); | ||||
} sasl_auxprop_plug_t; | } sasl_auxprop_plug_t; | |||
/* auxprop lookup flags */ | /* auxprop lookup flags */ | |||
#define SASL_AUXPROP_OVERRIDE 0x01 /* if clear, ignore auxiliary properties | #define SASL_AUXPROP_OVERRIDE 0x01 /* if clear, ignore auxiliary properties | |||
* with non-zero len field. If set, | * with non-zero len field. If set, | |||
* override value of those properties */ | * override value of those properties */ | |||
#define SASL_AUXPROP_AUTHZID 0x02 /* if clear, we are looking up the | ||||
* authid flags (prefixed with *), otherw | ||||
ise | ||||
* we are looking up the authzid flags | ||||
* (no prefix) */ | ||||
#define SASL_AUXPROP_PLUG_VERSION 4 | #define SASL_AUXPROP_PLUG_VERSION 4 | |||
/* default name for auxprop plug-in entry point is "sasl_auxprop_init" | /* default name for auxprop plug-in entry point is "sasl_auxprop_init" | |||
* similar to sasl_server_plug_init model, except only returns one | * similar to sasl_server_plug_init model, except only returns one | |||
* sasl_auxprop_plug_t structure; | * sasl_auxprop_plug_t structure; | |||
*/ | */ | |||
typedef int sasl_auxprop_init_t(const sasl_utils_t *utils, | typedef int sasl_auxprop_init_t(const sasl_utils_t *utils, | |||
int max_version, | int max_version, | |||
int *out_version, | int *out_version, | |||
End of changes. 4 change blocks. | ||||
2 lines changed or deleted | 9 lines changed or added | |||