From dc638df0ff8c00d987b8e74bbb224ca7e5886353 Mon Sep 17 00:00:00 2001 From: Asanka Herath Date: Fri, 20 Aug 2010 16:58:45 -0400 Subject: [PATCH] Windows: Fix gssapi{32,64} shim library --- packages/windows/kfw_shim/gssapi32.def | 16 ++++++++-------- packages/windows/kfw_shim/gssapi64.def | 16 ++++++++-------- packages/windows/kfw_shim/gssapi_shim.c | 34 +++++++++++++++++++++++++++++---- 3 files changed, 46 insertions(+), 20 deletions(-) rewrite packages/windows/kfw_shim/gssapi_shim.c (88%) diff --git a/packages/windows/kfw_shim/gssapi32.def b/packages/windows/kfw_shim/gssapi32.def index e76eda0aa..c013bbb32 100644 --- a/packages/windows/kfw_shim/gssapi32.def +++ b/packages/windows/kfw_shim/gssapi32.def @@ -1,13 +1,13 @@ ; This is a generated file. Do not modify directly. EXPORTS - GSS_C_NT_ANONYMOUS = gssapi.GSS_C_NT_ANONYMOUS @1 - GSS_C_NT_EXPORT_NAME = gssapi.GSS_C_NT_EXPORT_NAME @2 - GSS_C_NT_HOSTBASED_SERVICE = gssapi.GSS_C_NT_HOSTBASED_SERVICE @3 - GSS_C_NT_HOSTBASED_SERVICE_X = gssapi.GSS_C_NT_HOSTBASED_SERVICE_X @4 - GSS_C_NT_MACHINE_UID_NAME = gssapi.GSS_C_NT_MACHINE_UID_NAME @5 - GSS_C_NT_STRING_UID_NAME = gssapi.GSS_C_NT_STRING_UID_NAME @6 - GSS_C_NT_USER_NAME = gssapi.GSS_C_NT_USER_NAME @7 - GSS_KRB5_NT_PRINCIPAL_NAME = gssapi.GSS_KRB5_NT_PRINCIPAL_NAME @8 + GSS_C_NT_ANONYMOUS = SHIM_GSS_C_NT_ANONYMOUS @1 + GSS_C_NT_EXPORT_NAME = SHIM_GSS_C_NT_EXPORT_NAME @2 + GSS_C_NT_HOSTBASED_SERVICE = SHIM_GSS_C_NT_HOSTBASED_SERVICE @3 + GSS_C_NT_HOSTBASED_SERVICE_X = SHIM_GSS_C_NT_HOSTBASED_SERVICE_X @4 + GSS_C_NT_MACHINE_UID_NAME = SHIM_GSS_C_NT_MACHINE_UID_NAME @5 + GSS_C_NT_STRING_UID_NAME = SHIM_GSS_C_NT_STRING_UID_NAME @6 + GSS_C_NT_USER_NAME = SHIM_GSS_C_NT_USER_NAME @7 + GSS_KRB5_NT_PRINCIPAL_NAME = SHIM_GSS_KRB5_NT_PRINCIPAL_NAME @8 gss_accept_sec_context = gssapi._gss_accept_sec_context@44 @9 gss_acquire_cred = gssapi._gss_acquire_cred@32 @10 gss_add_cred = gssapi._gss_add_cred@44 @11 diff --git a/packages/windows/kfw_shim/gssapi64.def b/packages/windows/kfw_shim/gssapi64.def index 685e42cb7..2dc7e4739 100644 --- a/packages/windows/kfw_shim/gssapi64.def +++ b/packages/windows/kfw_shim/gssapi64.def @@ -1,13 +1,13 @@ ; This is a generated file. Do not modify directly. EXPORTS - GSS_C_NT_ANONYMOUS = gssapi.GSS_C_NT_ANONYMOUS @1 - GSS_C_NT_EXPORT_NAME = gssapi.GSS_C_NT_EXPORT_NAME @2 - GSS_C_NT_HOSTBASED_SERVICE = gssapi.GSS_C_NT_HOSTBASED_SERVICE @3 - GSS_C_NT_HOSTBASED_SERVICE_X = gssapi.GSS_C_NT_HOSTBASED_SERVICE_X @4 - GSS_C_NT_MACHINE_UID_NAME = gssapi.GSS_C_NT_MACHINE_UID_NAME @5 - GSS_C_NT_STRING_UID_NAME = gssapi.GSS_C_NT_STRING_UID_NAME @6 - GSS_C_NT_USER_NAME = gssapi.GSS_C_NT_USER_NAME @7 - GSS_KRB5_NT_PRINCIPAL_NAME = gssapi.GSS_KRB5_NT_PRINCIPAL_NAME @8 + GSS_C_NT_ANONYMOUS = SHIM_GSS_C_NT_ANONYMOUS @1 + GSS_C_NT_EXPORT_NAME = SHIM_GSS_C_NT_EXPORT_NAME @2 + GSS_C_NT_HOSTBASED_SERVICE = SHIM_GSS_C_NT_HOSTBASED_SERVICE @3 + GSS_C_NT_HOSTBASED_SERVICE_X = SHIM_GSS_C_NT_HOSTBASED_SERVICE_X @4 + GSS_C_NT_MACHINE_UID_NAME = SHIM_GSS_C_NT_MACHINE_UID_NAME @5 + GSS_C_NT_STRING_UID_NAME = SHIM_GSS_C_NT_STRING_UID_NAME @6 + GSS_C_NT_USER_NAME = SHIM_GSS_C_NT_USER_NAME @7 + GSS_KRB5_NT_PRINCIPAL_NAME = SHIM_GSS_KRB5_NT_PRINCIPAL_NAME @8 gss_accept_sec_context = gssapi.gss_accept_sec_context @9 gss_acquire_cred = gssapi.gss_acquire_cred @10 gss_add_cred = gssapi.gss_add_cred @11 diff --git a/packages/windows/kfw_shim/gssapi_shim.c b/packages/windows/kfw_shim/gssapi_shim.c dissimilarity index 88% index 720fe57ff..5389c9501 100644 --- a/packages/windows/kfw_shim/gssapi_shim.c +++ b/packages/windows/kfw_shim/gssapi_shim.c @@ -1,4 +1,30 @@ -int dummy(void) -{ - return 0; -} +#include +#include + +gss_OID_desc *SHIM_GSS_C_NT_ANONYMOUS = NULL; +gss_OID_desc *SHIM_GSS_C_NT_EXPORT_NAME = NULL; +gss_OID_desc *SHIM_GSS_C_NT_HOSTBASED_SERVICE = NULL; +gss_OID_desc *SHIM_GSS_C_NT_HOSTBASED_SERVICE_X = NULL; +gss_OID_desc *SHIM_GSS_C_NT_MACHINE_UID_NAME = NULL; +gss_OID_desc *SHIM_GSS_C_NT_STRING_UID_NAME = NULL; +gss_OID_desc *SHIM_GSS_C_NT_USER_NAME = NULL; +gss_OID_desc *SHIM_GSS_KRB5_NT_PRINCIPAL_NAME = NULL; + +void __init_gssapi_shim(void) +{ + SHIM_GSS_C_NT_ANONYMOUS = GSS_C_NT_ANONYMOUS; + SHIM_GSS_C_NT_EXPORT_NAME = GSS_C_NT_EXPORT_NAME; + SHIM_GSS_C_NT_HOSTBASED_SERVICE = GSS_C_NT_HOSTBASED_SERVICE; + SHIM_GSS_C_NT_HOSTBASED_SERVICE_X = GSS_C_NT_HOSTBASED_SERVICE_X; + SHIM_GSS_C_NT_MACHINE_UID_NAME = GSS_C_NT_MACHINE_UID_NAME; + SHIM_GSS_C_NT_STRING_UID_NAME = GSS_C_NT_STRING_UID_NAME; + SHIM_GSS_C_NT_USER_NAME = GSS_C_NT_USER_NAME; + SHIM_GSS_KRB5_NT_PRINCIPAL_NAME = GSS_KRB5_NT_PRINCIPAL_NAME; +} + +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) +{ + if (fdwReason == DLL_PROCESS_ATTACH) { + __init_gssapi_shim(); + } +} -- 2.11.4.GIT