From: Jeffrey Altman Date: Tue, 28 Aug 2007 17:54:46 +0000 (+0000) Subject: DEVEL15-windows-nim-amd64-20070828 X-Git-Tag: openafs-devel-1_5_24~8 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=f2e4e004938c180c3b54643c6e44c829ce8c429e;p=packages%2Fo%2Fopenafs.git DEVEL15-windows-nim-amd64-20070828 Add support for 64-bit Windows. (cherry picked from commit 3eb4ef6301b055135d6420dbf5a6f0e1560f89a8) --- diff --git a/src/WINNT/netidmgr_plugin/NTMakefile b/src/WINNT/netidmgr_plugin/NTMakefile index edaf803b8..96ed6cee8 100644 --- a/src/WINNT/netidmgr_plugin/NTMakefile +++ b/src/WINNT/netidmgr_plugin/NTMakefile @@ -93,8 +93,13 @@ OBJFILES= \ $(OUT)\dynimport.obj \ $(OUT)\krb5common.obj +!if "$(CPU)" == "AMD64" +LIBFILES= \ + $(KFWLIBDIR)\nidmgr64.lib +!else LIBFILES= \ $(KFWLIBDIR)\nidmgr32.lib +!endif SDKLIBFILES= \ $(DESTDIR)\lib\afsauthent.lib \ diff --git a/src/WINNT/netidmgr_plugin/afsconfigdlg.c b/src/WINNT/netidmgr_plugin/afsconfigdlg.c index 908050f1a..bcc82c108 100644 --- a/src/WINNT/netidmgr_plugin/afsconfigdlg.c +++ b/src/WINNT/netidmgr_plugin/afsconfigdlg.c @@ -234,7 +234,7 @@ set_service_status(HWND hwnd) { static DWORD wait_start = 0; DWORD status = 0; DWORD wait_hint = 0; - int i; + unsigned int i; wchar_t status_strings_csv[1024]; wchar_t status_strings_ms[1024]; khm_size cb; @@ -457,7 +457,7 @@ afs_cfg_main_proc(HWND hwnd, L"ImagePath", NULL, NULL, (LPBYTE) imagepath, - &cb); + (DWORD *)&cb); if (l != ERROR_SUCCESS) goto _close_key; @@ -483,7 +483,7 @@ afs_cfg_main_proc(HWND hwnd, if (!VerQueryValue(ver_info, L"\\VarFileInfo\\Translation", (LPVOID*) &translations, - &cb) || + (PUINT)&cb) || cb == 0) goto _free_buffer; @@ -495,7 +495,7 @@ afs_cfg_main_proc(HWND hwnd, if (!VerQueryValue(ver_info, blockname, (LPVOID*) &value, - &cb) || + (PUINT)&cb) || cb == 0) goto _free_buffer; @@ -509,7 +509,7 @@ afs_cfg_main_proc(HWND hwnd, if (!VerQueryValue(ver_info, blockname, (LPVOID*) &value, - &cb) || + (PUINT)&cb) || cb == 0) goto _free_buffer; diff --git a/src/WINNT/netidmgr_plugin/afscred.h b/src/WINNT/netidmgr_plugin/afscred.h index 5a63d83ea..1824bc622 100644 --- a/src/WINNT/netidmgr_plugin/afscred.h +++ b/src/WINNT/netidmgr_plugin/afscred.h @@ -27,7 +27,10 @@ #ifndef __KHIMAIRA_AFSCRED_H #define __KHIMAIRA_AFSCRED_H +#ifndef _WIN64 #define _USE_32BIT_TIME_T 1 +#endif + #define _WINSOCKAPI_ #include #include diff --git a/src/WINNT/netidmgr_plugin/afsfuncs.c b/src/WINNT/netidmgr_plugin/afsfuncs.c index 9b416a026..580e87522 100644 --- a/src/WINNT/netidmgr_plugin/afsfuncs.c +++ b/src/WINNT/netidmgr_plugin/afsfuncs.c @@ -593,11 +593,11 @@ _no_krb5: &aserver, sizeof(aserver)); if(cell) { - kcdb_cred_set_attr(cred, afs_attr_cell, cell, KCDB_CBSIZE_AUTO); + kcdb_cred_set_attr(cred, afs_attr_cell, cell, (khm_size)KCDB_CBSIZE_AUTO); } kcdb_cred_set_attr(cred, KCDB_ATTR_LOCATION, - location, KCDB_CBSIZE_AUTO); + location, (khm_size)KCDB_CBSIZE_AUTO); kcdb_credset_add_cred(afs_credset, cred, -1); @@ -1112,7 +1112,7 @@ afs_klog(khm_handle identity, StringCchCopyA(aserver.cell, MAXKTCREALMLEN, CellName); memset(&atoken, '\0', sizeof(atoken)); - atoken.kvno = creds.kvno; + atoken.kvno = (short)creds.kvno; atoken.startTime = creds.issue_date; atoken.endTime = (*pkrb_life_to_time)(creds.issue_date,creds.lifetime); memcpy(&atoken.sessionKey, creds.session, 8); @@ -1199,7 +1199,7 @@ afs_realm_of_cell(afs_conf_cell *cellconfig, BOOL referral_fallback) static char krbrlm[REALM_SZ+1]=""; krb5_context ctx = 0; char ** realmlist=NULL; - krb5_error_code r; + krb5_error_code r = 0; if (!cellconfig) return 0; @@ -1211,7 +1211,11 @@ afs_realm_of_cell(afs_conf_cell *cellconfig, BOOL referral_fallback) StringCbCopyA(krbrlm, sizeof(krbrlm), p); else StringCbCopyA(krbrlm, sizeof(krbrlm), cellconfig->name); - strupr(krbrlm); +#if _MSC_VER >= 1400 + _strupr_s(krbrlm, sizeof(krbrlm)); +#else + _strupr(krbrlm); +#endif } else { if ( pkrb5_init_context ) { r = pkrb5_init_context(&ctx); @@ -1240,7 +1244,11 @@ afs_realm_of_cell(afs_conf_cell *cellconfig, BOOL referral_fallback) StringCbCopyA(krbrlm, sizeof(krbrlm), p); else StringCbCopyA(krbrlm, sizeof(krbrlm), cellconfig->name); - strupr(krbrlm); +#if _MSC_VER >= 1400 + _strupr_s(krbrlm, sizeof(krbrlm)); +#else + _strupr(krbrlm); +#endif } } } @@ -1493,7 +1501,7 @@ afs_check_for_cell_realm_match(khm_handle identity, char * cell) { kcdb_identity_get_name(identity, idname, &cb); atsign = wcschr(idname, L'@'); - if (atsign && atsign[1] && !wcsicmp(atsign + 1, wrealm)) { + if (atsign && atsign[1] && !_wcsicmp(atsign + 1, wrealm)) { return TRUE; } else { return FALSE; diff --git a/src/WINNT/netidmgr_plugin/afsnewcreds.c b/src/WINNT/netidmgr_plugin/afsnewcreds.c index e8dcd9e7d..a2c359f72 100644 --- a/src/WINNT/netidmgr_plugin/afsnewcreds.c +++ b/src/WINNT/netidmgr_plugin/afsnewcreds.c @@ -1691,7 +1691,7 @@ afs_dlg_proc(HWND hwnd, } SendDlgItemMessage(hwnd, IDC_NCAFS_CELL, CB_SELECTSTRING, - -1, (LPARAM) wbuf); + (WPARAM)-1, (LPARAM) wbuf); } } @@ -1715,7 +1715,7 @@ afs_dlg_proc(HWND hwnd, CB_SETITEMDATA, idx, TRUE); SendDlgItemMessage(hwnd, IDC_NCAFS_REALM, CB_SELECTSTRING, - -1, (LPARAM) wbuf); + (WPARAM)-1, (LPARAM) wbuf); } /* load the LRU realms */ @@ -1734,7 +1734,8 @@ afs_dlg_proc(HWND hwnd, s = buf; while(*s) { if(SendDlgItemMessage(hwnd, IDC_NCAFS_REALM, - CB_FINDSTRINGEXACT, -1, + CB_FINDSTRINGEXACT, + (WPARAM)-1, (LPARAM) s) == CB_ERR) { idx = (int) @@ -1952,7 +1953,8 @@ afs_dlg_proc(HWND hwnd, LoadString(hResModule, IDS_NC_REALM_AUTO, wbuf, ARRAYLENGTH(wbuf)); idx = (int) SendDlgItemMessage(hwnd, IDC_NCAFS_REALM, - CB_FINDSTRINGEXACT, -1, + CB_FINDSTRINGEXACT, + (WPARAM) -1, (LPARAM) wbuf); SendDlgItemMessage(hwnd, IDC_NCAFS_REALM, CB_SETCURSEL, idx, 0); @@ -2109,13 +2111,13 @@ afs_adjust_token_ident_proc(khm_handle cred, void * vd) kcdb_cred_set_identity(cred, b->ident); if(l->rows[i].realm) kcdb_cred_set_attr(cred, afs_attr_realm, l->rows[i].realm, - KCDB_CBSIZE_AUTO); + (khm_size)KCDB_CBSIZE_AUTO); else kcdb_cred_set_attr(cred, afs_attr_realm, NULL, 0); method = l->rows[i].method; kcdb_cred_set_attr(cred, afs_attr_method, &method, - KCDB_CBSIZE_AUTO); + (khm_size)KCDB_CBSIZE_AUTO); break; } diff --git a/src/WINNT/netidmgr_plugin/afsplugin.c b/src/WINNT/netidmgr_plugin/afsplugin.c index 45256ad90..9db999a5c 100644 --- a/src/WINNT/netidmgr_plugin/afsplugin.c +++ b/src/WINNT/netidmgr_plugin/afsplugin.c @@ -844,7 +844,7 @@ afs_msg_act(khm_int32 msg_subtype, khm_int32 rv = KHM_ERROR_SUCCESS; if (msg_subtype == KMSG_ACT_ACTIVATE && - uparam == action_id_afs_help) { + uparam == (khm_ui_4)action_id_afs_help) { khui_request_UI_callback(help_launcher, NULL); diff --git a/src/WINNT/netidmgr_plugin/dynimport.c b/src/WINNT/netidmgr_plugin/dynimport.c index bb4b8bdb6..9d7d82333 100644 --- a/src/WINNT/netidmgr_plugin/dynimport.c +++ b/src/WINNT/netidmgr_plugin/dynimport.c @@ -453,6 +453,7 @@ int (*Lcom_err)(LPSTR,long,LPSTR,...); LPSTR (*Lerror_message)(long); LPSTR (*Lerror_table_name)(long); +#pragma warning (disable: 4213) void Leash_load_com_err_callback(FARPROC ce, FARPROC em, FARPROC etn) diff --git a/src/WINNT/netidmgr_plugin/dynimport.h b/src/WINNT/netidmgr_plugin/dynimport.h index 8100be150..fee4d050b 100644 --- a/src/WINNT/netidmgr_plugin/dynimport.h +++ b/src/WINNT/netidmgr_plugin/dynimport.h @@ -58,11 +58,15 @@ extern HINSTANCE hProfile; /////////////////////////////////////////////////////////////////////////////// +#ifdef _WIN64 +#define CCAPI_DLL "krbcc64.dll" +#define KRBCC32_DLL "krbcc64.dll" +#else #define CCAPI_DLL "krbcc32.dll" #define KRBCC32_DLL "krbcc32.dll" +#endif #define SERVICE_DLL "advapi32.dll" #define SECUR32_DLL "secur32.dll" -#define PROFILE_DLL "xpprof32.dll" //////////////////////////////////////////////////////////////////////////////