1 /* Copyright (C) 2015 mod_auth_gssapi authors - See COPYING for (C) terms */
3 #include "mod_auth_gssapi.h"
6 static void mag_set_KRB5CCANME(request_rec *req, char *ccname)
12 status = apr_stat(&finfo, ccname, APR_FINFO_MIN, req->pool);
13 if (status != APR_SUCCESS && status != APR_INCOMPLETE) {
14 /* set the file cache anyway, but warn */
15 ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, req,
16 "KRB5CCNAME file (%s) lookup failed!", ccname);
19 value = apr_psprintf(req->pool, "FILE:%s", ccname);
20 apr_table_set(req->subprocess_env, "KRB5CCNAME", value);
23 void mag_set_req_data(request_rec *req,
24 struct mag_config *cfg,
27 apr_table_set(req->subprocess_env, "GSS_NAME", mc->gss_name);
28 apr_table_set(req->subprocess_env, "GSS_SESSION_EXPIRATION",
29 apr_psprintf(req->pool,
30 "%ld", (long)mc->expiration));
31 req->ap_auth_type = apr_pstrdup(req->pool,
32 mag_str_auth_type(mc->auth_type));
33 req->user = apr_pstrdup(req->pool, mc->user_name);
34 if (cfg->deleg_ccache_dir && mc->delegated) {
36 ccname = mag_gss_name_to_ccache_name(req,
37 cfg->deleg_ccache_dir,
40 mag_set_KRB5CCANME(req, ccname);