#include <gssapi/gssapi.h>
#include <gssapi/gssapi_ext.h>
#include <gssapi/gssapi_krb5.h>
+#include <gssapi/gssapi_ntlmssp.h>
#define APR_WANT_STRFUNC
#include "apr_want.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 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;
};
struct mag_conn {
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)))