diff options
author | Robbie Harwood <rharwood@redhat.com> | 2016-05-08 02:31:00 -0400 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2016-05-18 17:46:14 -0400 |
commit | 6a0bc4f5cd46b1ab85dba5bd2de28f568cc947b0 (patch) | |
tree | 8f1451065efa8afb840cde844b48cf1c3de5c6b0 /src/environ.c | |
parent | 6e746f91177902528e42ac982e965fe469aa8855 (diff) | |
download | mod_auth_gssapi-6a0bc4f5cd46b1ab85dba5bd2de28f568cc947b0.tar.gz mod_auth_gssapi-6a0bc4f5cd46b1ab85dba5bd2de28f568cc947b0.tar.xz mod_auth_gssapi-6a0bc4f5cd46b1ab85dba5bd2de28f568cc947b0.zip |
Implement unique ccache names
Unique ccache names may be requested using the GssapiDelegCcacheUnique
configuration option. This option is off by default. If both unique
ccache names and session use are enabled, then a mechanism for removing
old ccaches must be supplied.
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
Also-authored-by: Petr Vobornik <pvoborni@redhat.com>
Reviewed-by: Simo Sorce <simo@redhat.com>
Diffstat (limited to 'src/environ.c')
-rw-r--r-- | src/environ.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/environ.c b/src/environ.c index 1fffc90..c9378b1 100644 --- a/src/environ.c +++ b/src/environ.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2015 mod_auth_gssapi contributors - See COPYING for (C) terms */ +/* Copyright (C) 2015, 2016 mod_auth_gssapi contributors - See COPYING for (C) terms */ #include "mod_auth_gssapi.h" @@ -243,7 +243,8 @@ static void mag_set_name_attributes(request_rec *req, struct mag_conn *mc) } } -static void mag_set_KRB5CCANME(request_rec *req, char *ccname) +static void mag_set_KRB5CCANME(request_rec *req, const char *dir, + const char *ccname) { apr_status_t status; apr_finfo_t finfo; @@ -256,7 +257,7 @@ static void mag_set_KRB5CCANME(request_rec *req, char *ccname) "KRB5CCNAME file (%s) lookup failed!", ccname); } - value = apr_psprintf(req->pool, "FILE:%s", ccname); + value = apr_psprintf(req->pool, "FILE:%s/%s", dir, ccname); apr_table_set(req->subprocess_env, "KRB5CCNAME", value); } @@ -277,14 +278,8 @@ void mag_set_req_data(request_rec *req, } #ifdef HAVE_CRED_STORE - if (cfg->deleg_ccache_dir && mc->delegated) { - char *ccname; - ccname = mag_gss_name_to_ccache_name(req, - cfg->deleg_ccache_dir, - mc->gss_name); - if (ccname) { - mag_set_KRB5CCANME(req, ccname); - } + if (cfg->deleg_ccache_dir && mc->delegated && mc->ccname) { + mag_set_KRB5CCANME(req, cfg->deleg_ccache_dir, mc->ccname); } #endif } |