X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=src%2Fmod_auth_gssapi.h;h=ea563ec7bd7939edc00b6e1b5fd0144544cf1216;hb=5571d79a78a1360f2a56b22c6bf59640cf2c88e8;hp=46e5c6aa8127148d53826377105b3414693d60cd;hpb=f476cb32f8103bdf1435d33ea6e81cba9805f576;p=mod_auth_gssapi.git diff --git a/src/mod_auth_gssapi.h b/src/mod_auth_gssapi.h index 46e5c6a..ea563ec 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; @@ -59,19 +74,29 @@ struct mag_config { bool use_basic_auth; gss_OID_set_desc *allowed_mechs; gss_OID_set_desc *basic_mechs; + bool negotiate_once; + 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 { @@ -84,8 +109,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);