summaryrefslogtreecommitdiffstats
path: root/auth_mellon_config.c
diff options
context:
space:
mode:
authormanu@netbsd.org <manu@netbsd.org@a716ebb1-153a-0410-b759-cfb97c6a1b53>2010-05-31 11:15:49 +0000
committermanu@netbsd.org <manu@netbsd.org@a716ebb1-153a-0410-b759-cfb97c6a1b53>2010-05-31 11:15:49 +0000
commit40950a7b66ed2999494fdaeab3bddb5b58ad8268 (patch)
tree1005984e0d100626be5ea2983ccd47fcc4ec8e9f /auth_mellon_config.c
parentd76a5fd0e1e22581edb9032dea710fb6cb191234 (diff)
downloadmod_auth_mellon-40950a7b66ed2999494fdaeab3bddb5b58ad8268.tar.gz
mod_auth_mellon-40950a7b66ed2999494fdaeab3bddb5b58ad8268.tar.xz
mod_auth_mellon-40950a7b66ed2999494fdaeab3bddb5b58ad8268.zip
Optionaly ave the remote IdP entityId in the environment
git-svn-id: https://modmellon.googlecode.com/svn/trunk@84 a716ebb1-153a-0410-b759-cfb97c6a1b53
Diffstat (limited to 'auth_mellon_config.c')
-rw-r--r--auth_mellon_config.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/auth_mellon_config.c b/auth_mellon_config.c
index ada0ee6..073768f 100644
--- a/auth_mellon_config.c
+++ b/auth_mellon_config.c
@@ -557,6 +557,13 @@ const command_rec auth_mellon_commands[] = {
"Attribute to set as r->user. Defaults to NAME_ID, which is the"
" attribute we set to the identifier we receive from the IdP."
),
+ AP_INIT_TAKE1(
+ "MellonIdP",
+ ap_set_string_slot,
+ (void *)APR_OFFSETOF(am_dir_cfg_rec, idpattr),
+ OR_AUTHCFG,
+ "Attribute we set to the IdP ProviderId."
+ ),
AP_INIT_TAKE2(
"MellonSetEnv",
am_set_setenv_slot,
@@ -724,6 +731,7 @@ void *auth_mellon_dir_config(apr_pool_t *p, char *d)
dir->require = apr_hash_make(p);
dir->envattr = apr_hash_make(p);
dir->userattr = default_user_attribute;
+ dir->idpattr = NULL;
dir->dump_session = default_dump_session;
dir->dump_saml_response = default_dump_saml_response;
@@ -808,6 +816,10 @@ void *auth_mellon_dir_merge(apr_pool_t *p, void *base, void *add)
add_cfg->userattr :
base_cfg->userattr);
+ new_cfg->idpattr = (add_cfg->idpattr != NULL ?
+ add_cfg->idpattr :
+ base_cfg->idpattr);
+
new_cfg->dump_session = (add_cfg->dump_session != default_dump_session ?
add_cfg->dump_session :
base_cfg->dump_session);