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

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/