ITS#6147 add sasl-auxprop config, default to "slapd"

This commit is contained in:
Howard Chu 2009-05-27 12:41:09 +00:00
parent 25441e5f7f
commit 374331c2b1
3 changed files with 31 additions and 0 deletions

View File

@ -530,6 +530,14 @@ static ConfigTable config_back_cf_table[] = {
"SYNTAX OMsDirectoryString SINGLE-VALUE )", NULL, NULL },
{ "sasl-authz-policy", NULL, 2, 2, 0, ARG_MAGIC|CFG_AZPOLICY,
&config_generic, NULL, NULL, NULL },
{ "sasl-auxprops", NULL, 2, 0, 0,
#ifdef HAVE_CYRUS_SASL
ARG_STRING|ARG_UNIQUE, &slap_sasl_auxprops,
#else
ARG_IGNORED, NULL,
#endif
"( OLcfgGlAt:89 NAME 'olcSaslAuxprops' "
"SYNTAX OMsDirectoryString SINGLE-VALUE )", NULL, NULL },
{ "sasl-host", "host", 2, 2, 0,
#ifdef HAVE_CYRUS_SASL
ARG_STRING|ARG_UNIQUE, &sasl_host,

View File

@ -1944,6 +1944,7 @@ LDAP_SLAPD_V (char *) global_host;
LDAP_SLAPD_V (struct berval) global_host_bv;
LDAP_SLAPD_V (char *) global_realm;
LDAP_SLAPD_V (char *) sasl_host;
LDAP_SLAPD_V (char *) slap_sasl_auxprops;
LDAP_SLAPD_V (char **) default_passwd_hash;
LDAP_SLAPD_V (int) lber_debug;
LDAP_SLAPD_V (int) ldap_syslog;

View File

@ -63,8 +63,29 @@ typedef struct sasl_ctx {
static struct berval ext_bv = BER_BVC( "EXTERNAL" );
char *slap_sasl_auxprops;
#ifdef HAVE_CYRUS_SASL
/* Just use our internal auxprop by default */
static int
slap_sasl_getopt(
void *context,
const char *plugin_name,
const char *option,
const char **result,
unsigned *len)
{
if ( strcmp( option, "auxprop_plugin" )) {
return SASL_FAIL;
}
if ( slap_sasl_auxprops )
*result = slap_sasl_auxprops;
else
*result = "slapd";
return SASL_OK;
}
int
slap_sasl_log(
void *context,
@ -1078,6 +1099,7 @@ int slap_sasl_init( void )
int rc;
static sasl_callback_t server_callbacks[] = {
{ SASL_CB_LOG, &slap_sasl_log, NULL },
{ SASL_CB_GETOPT, &slap_sasl_getopt, NULL },
{ SASL_CB_LIST_END, NULL, NULL }
};
#endif