From a46e335d132634304af61f1205a384b51dce0d33 Mon Sep 17 00:00:00 2001 From: kouril Date: Wed, 8 Jun 2005 10:36:46 +0000 Subject: [PATCH] - renamed enum CONTEXT into KERB_CTXT to address name clashes on Windows - added a few missing calling conventions to the calls (thanks to Pascal Davoust, 20 May 2005 14:56:15) --- spnegokrb5/accept_sec_context.c | 6 +++--- spnegokrb5/asn1_NegTokenInit.c | 16 ++++++++-------- spnegokrb5/asn1_NegTokenTarg.c | 16 ++++++++-------- spnegokrb5/der.h | 2 +- spnegokrb5/init_sec_context.c | 4 ++-- spnegokrb5/spnegokrb5.h | 4 ++-- src/mod_auth_kerb.c | 28 ++++++++++++++++++---------- 7 files changed, 42 insertions(+), 34 deletions(-) diff --git a/spnegokrb5/accept_sec_context.c b/spnegokrb5/accept_sec_context.c index 3f713ee..1fcbff6 100644 --- a/spnegokrb5/accept_sec_context.c +++ b/spnegokrb5/accept_sec_context.c @@ -37,7 +37,7 @@ code_NegTokenArg(OM_uint32 *minor_status, ret = der_put_length_and_tag(buf + buf_size - buf_len - 1, buf_size - buf_len, buf_len, - CONTEXT, + KERB_CTXT, CONS, 1, &tmp); @@ -163,7 +163,7 @@ send_accept (OM_uint32 *minor_status, return GSS_S_COMPLETE; } -OM_uint32 gss_accept_sec_context_spnego +OM_uint32 KRB5_LIB_FUNCTION gss_accept_sec_context_spnego (OM_uint32 * minor_status, gss_ctx_id_t * context_handle, const gss_cred_id_t acceptor_cred_handle, @@ -194,7 +194,7 @@ OM_uint32 gss_accept_sec_context_spnego if (ret) return ret; - ret = der_match_tag_and_length(buf, buf_size, CONTEXT, CONS, + ret = der_match_tag_and_length(buf, buf_size, KERB_CTXT, CONS, 0, &len, &taglen); if (ret) return ret; diff --git a/spnegokrb5/asn1_NegTokenInit.c b/spnegokrb5/asn1_NegTokenInit.c index 49c835d..11258a1 100644 --- a/spnegokrb5/asn1_NegTokenInit.c +++ b/spnegokrb5/asn1_NegTokenInit.c @@ -27,7 +27,7 @@ int oldret = ret; ret = 0; e = encode_octet_string(p, len, (data)->mechListMIC, &l); BACK; -e = der_put_length_and_tag (p, len, ret, CONTEXT, CONS, 3, &l); +e = der_put_length_and_tag (p, len, ret, KERB_CTXT, CONS, 3, &l); BACK; ret += oldret; } @@ -37,7 +37,7 @@ int oldret = ret; ret = 0; e = encode_octet_string(p, len, (data)->mechToken, &l); BACK; -e = der_put_length_and_tag (p, len, ret, CONTEXT, CONS, 2, &l); +e = der_put_length_and_tag (p, len, ret, KERB_CTXT, CONS, 2, &l); BACK; ret += oldret; } @@ -47,7 +47,7 @@ int oldret = ret; ret = 0; e = encode_ContextFlags(p, len, (data)->reqFlags, &l); BACK; -e = der_put_length_and_tag (p, len, ret, CONTEXT, CONS, 1, &l); +e = der_put_length_and_tag (p, len, ret, KERB_CTXT, CONS, 1, &l); BACK; ret += oldret; } @@ -57,7 +57,7 @@ int oldret = ret; ret = 0; e = encode_MechTypeList(p, len, (data)->mechTypes, &l); BACK; -e = der_put_length_and_tag (p, len, ret, CONTEXT, CONS, 0, &l); +e = der_put_length_and_tag (p, len, ret, KERB_CTXT, CONS, 0, &l); BACK; ret += oldret; } @@ -87,7 +87,7 @@ return ASN1_BAD_FORMAT; { size_t newlen, oldlen; -e = der_match_tag (p, len, CONTEXT, CONS, 0, &l); +e = der_match_tag (p, len, KERB_CTXT, CONS, 0, &l); if (e) (data)->mechTypes = NULL; else { @@ -115,7 +115,7 @@ len = oldlen - newlen; { size_t newlen, oldlen; -e = der_match_tag (p, len, CONTEXT, CONS, 1, &l); +e = der_match_tag (p, len, KERB_CTXT, CONS, 1, &l); if (e) (data)->reqFlags = NULL; else { @@ -143,7 +143,7 @@ len = oldlen - newlen; { size_t newlen, oldlen; -e = der_match_tag (p, len, CONTEXT, CONS, 2, &l); +e = der_match_tag (p, len, KERB_CTXT, CONS, 2, &l); if (e) (data)->mechToken = NULL; else { @@ -171,7 +171,7 @@ len = oldlen - newlen; { size_t newlen, oldlen; -e = der_match_tag (p, len, CONTEXT, CONS, 3, &l); +e = der_match_tag (p, len, KERB_CTXT, CONS, 3, &l); if (e) (data)->mechListMIC = NULL; else { diff --git a/spnegokrb5/asn1_NegTokenTarg.c b/spnegokrb5/asn1_NegTokenTarg.c index 1729d86..826fc63 100644 --- a/spnegokrb5/asn1_NegTokenTarg.c +++ b/spnegokrb5/asn1_NegTokenTarg.c @@ -27,7 +27,7 @@ int oldret = ret; ret = 0; e = encode_octet_string(p, len, (data)->mechListMIC, &l); BACK; -e = der_put_length_and_tag (p, len, ret, CONTEXT, CONS, 3, &l); +e = der_put_length_and_tag (p, len, ret, KERB_CTXT, CONS, 3, &l); BACK; ret += oldret; } @@ -37,7 +37,7 @@ int oldret = ret; ret = 0; e = encode_octet_string(p, len, (data)->responseToken, &l); BACK; -e = der_put_length_and_tag (p, len, ret, CONTEXT, CONS, 2, &l); +e = der_put_length_and_tag (p, len, ret, KERB_CTXT, CONS, 2, &l); BACK; ret += oldret; } @@ -47,7 +47,7 @@ int oldret = ret; ret = 0; e = encode_MechType(p, len, (data)->supportedMech, &l); BACK; -e = der_put_length_and_tag (p, len, ret, CONTEXT, CONS, 1, &l); +e = der_put_length_and_tag (p, len, ret, KERB_CTXT, CONS, 1, &l); BACK; ret += oldret; } @@ -57,7 +57,7 @@ int oldret = ret; ret = 0; e = encode_enumerated(p, len, (data)->negResult, &l); BACK; -e = der_put_length_and_tag (p, len, ret, CONTEXT, CONS, 0, &l); +e = der_put_length_and_tag (p, len, ret, KERB_CTXT, CONS, 0, &l); BACK; ret += oldret; } @@ -87,7 +87,7 @@ return ASN1_BAD_FORMAT; { size_t newlen, oldlen; -e = der_match_tag (p, len, CONTEXT, CONS, 0, &l); +e = der_match_tag (p, len, KERB_CTXT, CONS, 0, &l); if (e) (data)->negResult = NULL; else { @@ -115,7 +115,7 @@ len = oldlen - newlen; { size_t newlen, oldlen; -e = der_match_tag (p, len, CONTEXT, CONS, 1, &l); +e = der_match_tag (p, len, KERB_CTXT, CONS, 1, &l); if (e) (data)->supportedMech = NULL; else { @@ -143,7 +143,7 @@ len = oldlen - newlen; { size_t newlen, oldlen; -e = der_match_tag (p, len, CONTEXT, CONS, 2, &l); +e = der_match_tag (p, len, KERB_CTXT, CONS, 2, &l); if (e) (data)->responseToken = NULL; else { @@ -171,7 +171,7 @@ len = oldlen - newlen; { size_t newlen, oldlen; -e = der_match_tag (p, len, CONTEXT, CONS, 3, &l); +e = der_match_tag (p, len, KERB_CTXT, CONS, 3, &l); if (e) (data)->mechListMIC = NULL; else { diff --git a/spnegokrb5/der.h b/spnegokrb5/der.h index cd2a40a..a3f5996 100644 --- a/spnegokrb5/der.h +++ b/spnegokrb5/der.h @@ -38,7 +38,7 @@ #include -typedef enum {UNIV = 0, APPL = 1, CONTEXT = 2 , PRIVATE = 3} Der_class; +typedef enum {UNIV = 0, APPL = 1, KERB_CTXT = 2 , PRIVATE = 3} Der_class; typedef enum {PRIM = 0, CONS = 1} Der_type; diff --git a/spnegokrb5/init_sec_context.c b/spnegokrb5/init_sec_context.c index 3d08625..70724a4 100644 --- a/spnegokrb5/init_sec_context.c +++ b/spnegokrb5/init_sec_context.c @@ -48,7 +48,7 @@ set_context_flags(OM_uint32 req_flags, ContextFlags *flags) } #endif -OM_uint32 gss_init_sec_context_spnego( +OM_uint32 KRB5_LIB_FUNCTION gss_init_sec_context_spnego( OM_uint32 * minor_status, const gss_cred_id_t initiator_cred_handle, gss_ctx_id_t * context_handle, @@ -142,7 +142,7 @@ OM_uint32 gss_init_sec_context_spnego( ret = der_put_length_and_tag(buf + buf_size - len - 1, buf_size - len, len, - CONTEXT, + KERB_CTXT, CONS, 0, &tmp); diff --git a/spnegokrb5/spnegokrb5.h b/spnegokrb5/spnegokrb5.h index c18edea..5773070 100644 --- a/spnegokrb5/spnegokrb5.h +++ b/spnegokrb5/spnegokrb5.h @@ -12,7 +12,7 @@ extern "C" { # include #endif -OM_uint32 gss_init_sec_context_spnego( +OM_uint32 KRB5_LIB_FUNCTION gss_init_sec_context_spnego( OM_uint32 *, const gss_cred_id_t, gss_ctx_id_t *, @@ -27,7 +27,7 @@ OM_uint32 gss_init_sec_context_spnego( OM_uint32 *, OM_uint32 *); -OM_uint32 gss_accept_sec_context_spnego +OM_uint32 KRB5_LIB_FUNCTION gss_accept_sec_context_spnego (OM_uint32 *, gss_ctx_id_t *, const gss_cred_id_t, diff --git a/src/mod_auth_kerb.c b/src/mod_auth_kerb.c index c571fca..9624ef4 100644 --- a/src/mod_auth_kerb.c +++ b/src/mod_auth_kerb.c @@ -79,9 +79,20 @@ #define ap_table_setn apr_table_setn #define ap_table_add apr_table_add - #else #define ap_pstrchr_c strchr +#endif /* STANDARD20_MODULE_STUFF */ + +#ifdef _WIN32 +#define vsnprintf _vsnprintf +#define snprintf _snprintf +#endif + +#ifndef KRB5_LIB_FUNCTION +# if defined(_WIN32) +# define KRB5_LIB_FUNCTION _stdcall +# else +# define KRB5_LIB_FUNCTION #endif #ifdef KRB5 @@ -109,11 +120,8 @@ #include /* gethostbyname() */ #endif /* KRB4 */ -#ifdef WIN32 -#define vsnprintf _vsnprintf -#define snprintf _snprintf -#else -/* XXX remove dependency on unistd.h ??? */ +#ifndef _WIN32 +/* should be HAVE_UNISTD_H instead */ #include #endif @@ -223,7 +231,7 @@ static const command_rec kerb_auth_cmds[] = { { NULL } }; -#ifdef WIN32 +#ifdef _WIN32 int mkstemp(char *template) { @@ -263,7 +271,7 @@ mkstemp(char *template) #include "mit-internals.h" /* This is our replacement krb5_rc_store function */ -static krb5_error_code +static krb5_error_code KRB5_LIB_FUNCTION mod_auth_kerb_rc_store(krb5_context context, krb5_rcache rcache, krb5_donot_replay_internal *donot_replay) { @@ -1208,8 +1216,8 @@ authenticate_user_gss(request_rec *r, kerb_auth_config *conf, int ret; gss_name_t client_name = GSS_C_NO_NAME; gss_cred_id_t delegated_cred = GSS_C_NO_CREDENTIAL; - OM_uint32 - (*accept_sec_token)(OM_uint32 *, gss_ctx_id_t *, const gss_cred_id_t, + OM_uint32 (KRB5_LIB_FUNCTION *accept_sec_token) + (OM_uint32 *, gss_ctx_id_t *, const gss_cred_id_t, const gss_buffer_t, const gss_channel_bindings_t, gss_name_t *, gss_OID *, gss_buffer_t, OM_uint32 *, OM_uint32 *, gss_cred_id_t *); -- 2.1.4