X-Git-Url: http://www.project-moonshot.org/gitweb/?p=mod_auth_gssapi.git;a=blobdiff_plain;f=src%2Fmod_auth_gssapi.h;h=4e9fdf35b20a2f6401b6d0f8a02393a40455f5f6;hp=b606803093b1e8634f0d1ddd26f268ef1014435a;hb=7f11db955b8440668fc806b4203f584bb44f58c1;hpb=10d352bac12353efb5fe6e6efd2655e0562a1f8e diff --git a/src/mod_auth_gssapi.h b/src/mod_auth_gssapi.h index b606803..4e9fdf3 100644 --- a/src/mod_auth_gssapi.h +++ b/src/mod_auth_gssapi.h @@ -3,10 +3,6 @@ #include #include #include -#include -#include -#include -#include #define APR_WANT_STRFUNC #include "apr_want.h" @@ -31,8 +27,16 @@ #undef PACKAGE_VERSION #include "config.h" +#include +#include +#include +#ifdef HAVE_GSSAPI_GSSAPI_NTLMSSP_H +# include +#endif + #include "crypto.h" #include "sessions.h" +#include "environ.h" #define MIN_SESS_EXP_TIME 300 /* 5 minutes validity minimum */ @@ -42,6 +46,17 @@ # endif #endif +struct mag_na_map { + char *env_name; + char *attr_name; +}; + +struct mag_name_attributes { + bool output_json; + int map_count; + struct mag_na_map map[]; +}; + struct mag_config { apr_pool_t *pool; bool ssl_only; @@ -55,8 +70,32 @@ struct mag_config { 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_name_attributes *name_attributes; +}; + +struct mag_server_config { + gss_OID_set default_mechs; + struct seal_key *mag_skey; +}; + +struct mag_req_cfg { + request_rec *req; + struct mag_config *cfg; + gss_OID_set desired_mechs; + bool use_sessions; + bool send_persist; + const char *req_proto; + const char *rep_proto; + struct seal_key *mag_skey; +}; + +struct mag_attr { + const char *name; + const char *value; }; struct mag_conn { @@ -69,8 +108,15 @@ struct mag_conn { int auth_type; bool delegated; struct databuf basic_hash; + bool is_preserved; + int na_count; + struct mag_attr *name_attributes; }; #define discard_const(ptr) ((void *)((uintptr_t)(ptr))) struct mag_conn *mag_new_conn_ctx(apr_pool_t *pool); +const char *mag_str_auth_type(int auth_type); +char *mag_gss_name_to_ccache_name(request_rec *req, + char *dir, const char *gss_name); +char *mag_error(request_rec *req, const char *msg, uint32_t maj, uint32_t min);