summaryrefslogtreecommitdiff
path: root/nslcd/cfg.c
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2008-06-14 11:31:30 +0000
committerArthur de Jong <arthur@arthurdejong.org>2008-06-14 11:31:30 +0000
commit8c589385f918cf7ef4e0d9d9982bba3865dbfee2 (patch)
treeed16564f974e0d3594af335747919cf95ce32d79 /nslcd/cfg.c
parentbef987ec06c19ddb3f87c237e60b722941af568b (diff)
implement SASL authentication based on a patch by Dan White <dwhite@olp.net>
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-ldapd@762 ef36b2f9-881f-0410-afb5-c4e39611909c
Diffstat (limited to 'nslcd/cfg.c')
-rw-r--r--nslcd/cfg.c33
1 files changed, 27 insertions, 6 deletions
diff --git a/nslcd/cfg.c b/nslcd/cfg.c
index 920b5b8..9b26093 100644
--- a/nslcd/cfg.c
+++ b/nslcd/cfg.c
@@ -81,8 +81,11 @@ static void cfg_defaults(struct ldap_config *cfg)
#endif /* not LDAP_VERSION3 */
cfg->ldc_binddn=NULL;
cfg->ldc_bindpw=NULL;
- cfg->ldc_saslid=NULL;
+ cfg->ldc_sasl_authcid=NULL;
+ cfg->ldc_sasl_authzid=NULL;
cfg->ldc_sasl_secprops=NULL;
+ cfg->ldc_sasl_mech=NULL;
+ cfg->ldc_sasl_realm=NULL;
cfg->ldc_usesasl=0;
cfg->ldc_base=NULL;
cfg->ldc_scope=LDAP_SCOPE_SUBTREE;
@@ -694,21 +697,39 @@ static void cfg_read(const char *filename,struct ldap_config *cfg)
get_restdup(filename,lnr,keyword,&line,&cfg->ldc_bindpw);
}
/* SASL authentication options */
- else if (strcasecmp(keyword,"sasl_authid")==0)
+ else if (strcasecmp(keyword,"sasl_authcid")==0)
{
- log_log(LOG_WARNING,"%s:%d: option %s is currently untested (please report any successes)",filename,lnr,keyword);
- get_strdup(filename,lnr,keyword,&line,&cfg->ldc_saslid);
+ log_log(LOG_WARNING,"%s:%d: option %s is currently not fully supported (please report any successes)",filename,lnr,keyword);
+ get_strdup(filename,lnr,keyword,&line,&cfg->ldc_sasl_authcid);
+ get_eol(filename,lnr,keyword,&line);
+ }
+ else if (strcasecmp(keyword,"sasl_authzid")==0)
+ {
+ log_log(LOG_WARNING,"%s:%d: option %s is currently not fully supported (please report any successes)",filename,lnr,keyword);
+ get_strdup(filename,lnr,keyword,&line,&cfg->ldc_sasl_authzid);
+ get_eol(filename,lnr,keyword,&line);
+ }
+ else if (strcasecmp(keyword,"sasl_mech")==0)
+ {
+ log_log(LOG_WARNING,"%s:%d: option %s is currently not fully supported (please report any successes)",filename,lnr,keyword);
+ get_strdup(filename,lnr,keyword,&line,&cfg->ldc_sasl_mech);
+ get_eol(filename,lnr,keyword,&line);
+ }
+ else if (strcasecmp(keyword,"sasl_realm")==0)
+ {
+ log_log(LOG_WARNING,"%s:%d: option %s is currently not fully supported (please report any successes)",filename,lnr,keyword);
+ get_strdup(filename,lnr,keyword,&line,&cfg->ldc_sasl_realm);
get_eol(filename,lnr,keyword,&line);
}
else if (strcasecmp(keyword,"sasl_secprops")==0)
{
- log_log(LOG_WARNING,"%s:%d: option %s is currently untested (please report any successes)",filename,lnr,keyword);
+ log_log(LOG_WARNING,"%s:%d: option %s is currently not fully supported (please report any successes)",filename,lnr,keyword);
get_strdup(filename,lnr,keyword,&line,&cfg->ldc_sasl_secprops);
get_eol(filename,lnr,keyword,&line);
}
else if (strcasecmp(keyword,"use_sasl")==0)
{
- log_log(LOG_WARNING,"%s:%d: option %s is currently untested (please report any successes)",filename,lnr,keyword);
+ log_log(LOG_WARNING,"%s:%d: option %s is currently not fully supported (please report any successes)",filename,lnr,keyword);
get_boolean(filename,lnr,keyword,&line,&cfg->ldc_usesasl);
get_eol(filename,lnr,keyword,&line);
}