sasl.h   sasl.h 
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 6 #define SASL_VERSION_STEP 8
#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 258 skipping to change at line 258
* 56 = DES * 56 = DES
* 112 = triple-DES * 112 = triple-DES
* 128 = 128-bit RC2/RC4/BLOWFISH * 128 = 128-bit RC2/RC4/BLOWFISH
* 256 = baseline AES * 256 = baseline AES
*/ */
typedef unsigned sasl_ssf_t; typedef unsigned sasl_ssf_t;
/* usage flags provided to sasl_server_new and sasl_client_new: /* usage flags provided to sasl_server_new and sasl_client_new:
*/ */
#define SASL_SUCCESS_DATA 0x0004 /* server supports data on success */ #define SASL_SUCCESS_DATA 0x0004 /* server supports data on success */
#define SASL_NEED_PROXY 0x0008 /* require a mech that allows proxying */
/*************************** /***************************
* Security Property Types * * Security Property Types *
***************************/ ***************************/
/* Structure specifying the client or server's security policy /* Structure specifying the client or server's security policy
* and optional additional properties. * and optional additional properties.
*/ */
/* These are the various security flags apps can specify. */ /* These are the various security flags apps can specify. */
skipping to change at line 698 skipping to change at line 699
/* 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_SERVICE 12 /* service passed to sasl_*_new */
#define SASL_SERVERFQDN 13 /* serverFQDN passed to sasl_*_new */ #define SASL_SERVERFQDN 13 /* serverFQDN passed to sasl_*_new */
#define SASL_AUTHSOURCE 14 /* name of auth source last used, useful #define SASL_AUTHSOURCE 14 /* name of auth source last used, useful
* for failed authentication tracking */ * for failed authentication tracking */
#define SASL_MECHNAME 15 /* active mechanism name, if any */ #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
/* set property in SASL connection state /* set property in SASL connection state
* returns: * returns:
skipping to change at line 1133 skipping to change at line 1135
* SASL_BADPARAM -- input length is greater than the SASL_MAXOUTBUF * SASL_BADPARAM -- input length is greater than the SASL_MAXOUTBUF
* or no security layer * or no security layer
*/ */
LIBSASL_API int sasl_encodev(sasl_conn_t *conn, LIBSASL_API int sasl_encodev(sasl_conn_t *conn,
const struct iovec *invec, unsigned numiov, const struct iovec *invec, unsigned numiov,
const char **output, unsigned *outputlen); const char **output, unsigned *outputlen);
/* decode a block of data received using security layer /* decode a block of data received using security layer
* returning the input buffer if there is no security layer. * returning the input buffer if there is no security layer.
* output is only valid until next call to sasl_decode * output is only valid until next call to sasl_decode
*
* if outputlen is 0 on return, than the value of output is undefined.
*
* returns: * returns:
* SASL_OK -- success (returns input if no layer negotiated) * SASL_OK -- success (returns input if no layer negotiated)
* SASL_NOTDONE -- security layer negotiation not finished * SASL_NOTDONE -- security layer negotiation not finished
* SASL_BADMAC -- bad message integrity check * SASL_BADMAC -- bad message integrity check
*/ */
LIBSASL_API int sasl_decode(sasl_conn_t *conn, LIBSASL_API int sasl_decode(sasl_conn_t *conn,
const char *input, unsigned inputlen, const char *input, unsigned inputlen,
const char **output, unsigned *outputlen); const char **output, unsigned *outputlen);
#endif /* SASL_H */ #endif /* SASL_H */
 End of changes. 4 change blocks. 
1 lines changed or deleted 6 lines changed or added


 saslplug.h   saslplug.h 
skipping to change at line 307 skipping to change at line 307
* SASL_FEAT_SERVER_FIRST as needed */ * SASL_FEAT_SERVER_FIRST as needed */
/* #define SASL_FEAT_INTERNAL_CLIENT_FIRST 0x0008 */ /* #define SASL_FEAT_INTERNAL_CLIENT_FIRST 0x0008 */
/* This indicates that the plugin is server-first only. /* This indicates that the plugin is server-first only.
* Not defining either of SASL_FEAT_SERVER_FIRST or * Not defining either of SASL_FEAT_SERVER_FIRST or
* SASL_FEAT_WANT_CLIENT_FIRST indicates that the mechanism will take care * SASL_FEAT_WANT_CLIENT_FIRST indicates that the mechanism will take care
* of the client-first situation internally. * of the client-first situation internally.
*/ */
#define SASL_FEAT_SERVER_FIRST 0x0010 #define SASL_FEAT_SERVER_FIRST 0x0010
/* This plugin allows proxying */
#define SASL_FEAT_ALLOWS_PROXY 0x0020
/* client plug-in features */ /* client plug-in features */
#define SASL_FEAT_NEEDSERVERFQDN 0x0001 #define SASL_FEAT_NEEDSERVERFQDN 0x0001
/* a C object for a client mechanism /* a C object for a client mechanism
*/ */
typedef struct sasl_client_plug { typedef struct sasl_client_plug {
/* mechanism name */ /* mechanism name */
const char *mech_name; const char *mech_name;
/* best mech additional security layer strength factor */ /* best mech additional security layer strength factor */
 End of changes. 1 change blocks. 
0 lines changed or deleted 3 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/