/*
* Copyright 2000, International Business Machines Corporation and others.
* All Rights Reserved.
- *
+ *
* This software has been released under the terms of the IBM Public
* License. For details, see the LICENSE file in the top-level source
* directory or online at http://www.openafs.org/dl/license10.html
#include <ws2tcpip.h>
extern "C" {
+#include <afsconfig.h>
#include <afs/param.h>
+#include <roken.h>
#include <afs/stds.h>
#include <osilog.h>
#include <afs/fs_utils.h>
-#include <rxkad.h>
+#include <rx\rxkad.h>
#include <afs/afskfw.h>
#include "ipaddrchg.h"
}
osi_LogEvent0("AFSCreds Main command line",pCmdLine);
fs_utils_InitMountRoot();
+
if (InitApp (pCmdLine))
{
MSG msg;
return 0;
}
-#define ISHIGHSECURITY(v) ( ((v) & LOGON_OPTION_HIGHSECURITY)==LOGON_OPTION_HIGHSECURITY)
#define REG_CLIENT_PROVIDER_KEY "SYSTEM\\CurrentControlSet\\Services\\TransarcAFSDaemon\\NetworkProvider"
BOOL InitApp (LPSTR pszCmdLineA)
fUninstall = TRUE;
break;
- case ':':
+ case ':':
CopyAnsiToString(g.SmbName,pszCmdLineA);
- MapShareName(pszCmdLineA);
- break;
+ MapShareName(pszCmdLineA);
+ break;
case 'z':
case 'Z':
else if (fUninstall)
Shortcut_FixStartup (cszSHORTCUT_NAME, g.fStartup = FALSE);
- if (fInstall)
+ if (fInstall || fUninstall)
{
HKEY hk;
- if (RegCreateKey (HKEY_CURRENT_USER, AFSREG_USER_OPENAFS_SUBKEY, &hk) == 0)
+ if (RegCreateKeyEx (HKEY_CURRENT_USER, AFSREG_USER_OPENAFS_SUBKEY, 0, NULL, 0,
+ (IsWow64()?KEY_WOW64_64KEY:0)|KEY_WRITE, NULL, &hk, NULL) == 0)
{
DWORD dwSize = sizeof(g.fStartup);
DWORD dwType = REG_DWORD;
return FALSE;
HKEY hk;
- if (RegOpenKey (HKEY_CURRENT_USER, AFSREG_USER_OPENAFS_SUBKEY, &hk) == 0)
+ if (RegOpenKeyEx (HKEY_CURRENT_USER, AFSREG_USER_OPENAFS_SUBKEY, 0,
+ (IsWow64()?KEY_WOW64_64KEY:0)|KEY_QUERY_VALUE, &hk) == 0)
{
DWORD dwSize = sizeof(g.fStartup);
DWORD dwType = REG_DWORD;
RegQueryValueEx (hk, TEXT("ShowTrayIcon"), NULL, &dwType, (PBYTE)&g.fStartup, &dwSize);
RegCloseKey (hk);
}
- else if (RegOpenKey (HKEY_LOCAL_MACHINE, AFSREG_CLT_OPENAFS_SUBKEY, &hk) == 0)
+ else if (RegOpenKeyEx (HKEY_LOCAL_MACHINE, AFSREG_CLT_OPENAFS_SUBKEY, 0,
+ (IsWow64()?KEY_WOW64_64KEY:0)|KEY_QUERY_VALUE, &hk) == 0)
{
DWORD dwSize = sizeof(g.fStartup);
DWORD dwType = REG_DWORD;
InitCommonControls();
RegisterCheckListClass();
osi_Init();
- lock_InitializeMutex(&g.expirationCheckLock, "expiration check lock");
- lock_InitializeMutex(&g.credsLock, "global creds lock");
+ lock_InitializeMutex(&g.expirationCheckLock, "expiration check lock", 0);
+ lock_InitializeMutex(&g.credsLock, "global creds lock", 0);
KFW_AFS_wait_for_service_start();
OutputDebugString("AFSD Service not configured\n");
else if ( fAutoInit )
OutputDebugString("AFSD Service will be started\n");
- }
+ }
}
}
if ( g.fIsWinNT && !IsServiceRunning() && IsServiceConfigured() && fAutoInit ) {
SC_HANDLE hManager;
- if ((hManager = OpenSCManager( NULL, NULL,
+ if ((hManager = OpenSCManager( NULL, NULL,
SC_MANAGER_CONNECT |
SC_MANAGER_ENUMERATE_SERVICE |
SC_MANAGER_QUERY_LOCK_STATUS)) != NULL )
{
SC_HANDLE hService;
- if ((hService = OpenService( hManager, TEXT("TransarcAFSDaemon"),
+ if ((hService = OpenService( hManager, TEXT("TransarcAFSDaemon"),
SERVICE_QUERY_STATUS | SERVICE_START) ) != NULL)
{
if (StartService(hService, 0, 0)) {
else if (!IsServerInstalled())
Message (MB_ICONHAND, IDS_UNCONFIG_TITLE, IDS_UNCONFIG_DESC);
}
- if (IsServiceRunning()) {
+ if (IsServiceRunning()) {
if ( fRenewMaps )
{
if ( IsDebuggerPresent() )
BOOL fInstalled = FALSE;
HKEY hk;
- if (RegOpenKey (HKEY_LOCAL_MACHINE, AFSREG_SVR_SVC_SUBKEY, &hk) == 0)
+ if (RegOpenKeyEx (HKEY_LOCAL_MACHINE, AFSREG_SVR_SVC_SUBKEY, 0,
+ (IsWow64()?KEY_WOW64_64KEY:0)|KEY_QUERY_VALUE, &hk) == 0)
{
fInstalled = TRUE;
RegCloseKey (hk);