1 /* Copyright (C) 2014 mod_auth_gssapi authors - See COPYING for (C) terms */
6 #include <gssapi/gssapi.h>
7 #include <gssapi/gssapi_ext.h>
8 #include <gssapi/gssapi_krb5.h>
9 #include <gssapi/gssapi_ntlmssp.h>
11 #define APR_WANT_STRFUNC
13 #include <apr_strings.h>
14 #include <apr_base64.h>
17 #include <http_core.h>
18 #include <http_connection.h>
20 #include <http_request.h>
21 #include <mod_session.h>
24 /* apache's httpd.h drags in empty PACKAGE_* variables.
25 * undefine them to avoid annoying compile warnings as they
26 * are re-defined in config.h */
27 #undef PACKAGE_BUGREPORT
30 #undef PACKAGE_TARNAME
31 #undef PACKAGE_VERSION
37 #define MIN_SESS_EXP_TIME 300 /* 5 minutes validity minimum */
39 #ifdef HAVE_GSS_ACQUIRE_CRED_FROM
40 # ifdef HAVE_GSS_STORE_CRED_INTO
41 #define HAVE_CRED_STORE 1
52 #ifdef HAVE_CRED_STORE
54 char *deleg_ccache_dir;
55 gss_key_value_set_desc *cred_store;
57 struct seal_key *mag_skey;
60 gss_OID_set_desc *allowed_mechs;
61 gss_OID_set_desc *basic_mechs;
64 struct mag_server_config {
65 gss_OID_set default_mechs;
69 struct mag_config *cfg;
70 gss_OID_set desired_mechs;
73 const char *req_proto;
74 const char *rep_proto;
81 const char *user_name;
86 struct databuf basic_hash;
89 #define discard_const(ptr) ((void *)((uintptr_t)(ptr)))
91 struct mag_conn *mag_new_conn_ctx(apr_pool_t *pool);