X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=src%2Fmod_auth_gssapi.h;h=2e05bb0438119bf32a4a6c2d9d8922db0363beba;hb=c27219caa2d75baf854b1535eb222d679fbe4fcd;hp=fc5f6430c66e7f9b72ecc7c9692fe3103308763e;hpb=3ea39a3be4c36954a2c13fb1059d8f72c8faaf89;p=mod_auth_gssapi.git diff --git a/src/mod_auth_gssapi.h b/src/mod_auth_gssapi.h index fc5f643..2e05bb0 100644 --- a/src/mod_auth_gssapi.h +++ b/src/mod_auth_gssapi.h @@ -6,6 +6,7 @@ #include #include #include +#include #define APR_WANT_STRFUNC #include "apr_want.h" @@ -35,6 +36,12 @@ #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; @@ -42,19 +49,30 @@ struct mag_config { bool gss_conn_ctx; 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; + gss_OID_set_desc *basic_mechs; }; struct mag_conn { - apr_pool_t *parent; + apr_pool_t *pool; gss_ctx_id_t ctx; bool established; const char *user_name; const char *gss_name; time_t expiration; - const char *auth_type; + int auth_type; + bool delegated; + struct databuf basic_hash; }; + +#define discard_const(ptr) ((void *)((uintptr_t)(ptr))) + +struct mag_conn *mag_new_conn_ctx(apr_pool_t *pool);