diff options
author | Arthur de Jong <arthur@arthurdejong.org> | 2008-06-14 11:31:30 +0000 |
---|---|---|
committer | Arthur de Jong <arthur@arthurdejong.org> | 2008-06-14 11:31:30 +0000 |
commit | 8c589385f918cf7ef4e0d9d9982bba3865dbfee2 (patch) | |
tree | ed16564f974e0d3594af335747919cf95ce32d79 /nslcd/cfg.c | |
parent | bef987ec06c19ddb3f87c237e60b722941af568b (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.c | 33 |
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); } |