X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmod_auth_gssapi.h;h=97ba2c86726982c60542f5a0c593f407a08532b4;hb=8cabd1e6ac6c300f7e603cd61f1a8a7a7da7fb8f;hp=2022061c2f83a5b724ec22bb66c3c84c0a2240f5;hpb=342cea568dc94ed0d35dca27a90fc704d0424da1;p=mod_auth_gssapi.git diff --git a/src/mod_auth_gssapi.h b/src/mod_auth_gssapi.h index 2022061..97ba2c8 100644 --- a/src/mod_auth_gssapi.h +++ b/src/mod_auth_gssapi.h @@ -2,16 +2,24 @@ #include #include +#include #include #include +#include +#include + +#define APR_WANT_STRFUNC +#include "apr_want.h" +#include +#include #include #include #include #include #include -#include -#include +#include +#include /* apache's httpd.h drags in empty PACKAGE_* variables. * undefine them to avoid annoying compile warnings as they @@ -23,10 +31,43 @@ #undef PACKAGE_VERSION #include "config.h" +#include "crypto.h" +#include "sessions.h" + +#define MIN_SESS_EXP_TIME 300 /* 5 minutes validity minimum */ + +#ifdef HAVE_GSS_ACQUIRE_CRED_FROM +# ifdef HAVE_GSS_STORE_CRED_INTO +#define HAVE_CRED_STORE 1 +# endif +#endif + struct mag_config { + apr_pool_t *pool; bool ssl_only; bool map_to_local; bool gss_conn_ctx; - gss_key_value_set_desc cred_store; + bool send_persist; + bool use_sessions; +#ifdef HAVE_CRED_STORE + bool use_s4u2proxy; + char *deleg_ccache_dir; + gss_key_value_set_desc *cred_store; +#endif + struct seal_key *mag_skey; + bool use_basic_auth; + gss_OID_set_desc *allowed_mechs; +}; + +struct mag_conn { + apr_pool_t *parent; + gss_ctx_id_t ctx; + bool established; + const char *user_name; + const char *gss_name; + time_t expiration; + int auth_type; + bool delegated; }; +#define discard_const(ptr) ((void *)((uintptr_t)(ptr)))