$(MKDIR) $(DESTDIR)
! ENDIF
-config:
+config: start
echo ***** $@
$(CD) $(OBJ)\$@
$(NTMAKE)
# Fake the version copy so clean will go through the complete cycle with undefines
clean: start
if not exist .\src\config\NTMakefile.version copy .\src\config\NTMakefile.version-NOCML .\src\config\NTMakefile.version
- nmake /nologo /f ntmake9x "NTMAKE = nmake /nologo /f ntmakefile clean" "NTMAKE_HEADERS = nmake /nologo /f ntmakefile clean" "NTMAKE_LIBUTILS = nmake /nologo /f ntmakefile clean" install
+ nmake /nologo /f ntmake9x "NTMAKE = nmake /nologo /f ntmakefile clean" "NTMAKE_HEADERS = nmake /nologo /f ntmakefile clean" "NTMAKE_LIBUTILS = nmake /nologo /f ntmakefile clean" "NTMAKE_OBJS = nmake /nologo /f ntmakefile clean" install
$(CD) $(OBJ)\WINNT\install\Win9x
nmake /nologo /f NTMakefile clean
$(CD) ..\..\..\..
$(CD) $(OBJ)\$@
$(NTMAKE)
$(CD) ..\..
+ echo Build Finished Successfully
install: start finale
$(CD) ..\..\..\..
media: InstallShield5
-
+ echo Install Script Finished Successfully
# Clean target for obj tree
clean: start
- nmake /nologo /f ntmakefile "NTMAKE = nmake /nologo /f ntmakefile clean" "NTMAKE_HEADERS = nmake /nologo /f ntmakefile clean" install
+ nmake /nologo /f ntmakefile "NTMAKE = nmake /nologo /f ntmakefile clean" "NTMAKE_HEADERS = nmake /nologo /f ntmakefile clean" "NTMAKE_OBJS = nmake /nologo /f ntmakefile clean" install
$(CD) $(OBJ)\config
nmake /nologo /f ntmakefile clean_version
$(CD) ..\..
#define APSTUDIO_HIDDEN_SYMBOLS
#include "windows.h"
#undef APSTUDIO_HIDDEN_SYMBOLS
-#include <.\sdrc.h>
+#include <sdrc.h>
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
+++ /dev/null
-# Microsoft Developer Studio Generated Dependency File, included by _IsUser.mak
-
-.\_Isuser.RC : \
- ".\sdrc.h"\
-
"$(OUTDIR)" ::
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-HEADERS = ".\sdrc.h"
-
-".\sdrc.h" : $(IS5ROOT)\INCLUDE\sdrc.h
- $(COPY) $(IS5ROOT)\INCLUDE\sdrc.h .
-! IF EXIST($(IS5ROOT)\Script\ISRT\Include\sdrc.h)
- $(COPY) $(IS5ROOT)\Script\ISRT\Include\sdrc.h .
-! ENDIF
-
CPP=cl.exe
CPP_PROJ=/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_ISUSER_EXPORTS" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
"$(INTDIR)\_isuser.obj" \
"$(INTDIR)\_Isuser.res"
-"$(OUTDIR)\_IsUser.dll" : "$(OUTDIR)" $(HEADERS) $(DEF_FILE) $(LINK32_OBJS)
+"$(OUTDIR)\_IsUser.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
-
-!IF "$(NO_EXTERNAL_DEPS)" != "1"
-!IF EXISTS("_IsUser.dep")
-!INCLUDE "_IsUser.dep"
-!ELSE
-!MESSAGE Warning: cannot find "_IsUser.dep"
-!ENDIF
-!ENDIF
-
-
SOURCE=.\_isuser.c
"$(INTDIR)\_isuser.obj" : $(SOURCE) "$(INTDIR)"
{ TARGETDIR"\\Common\\afsadminutil.dll", SERVER | CLIENT | LCLIENT | CC },
{ TARGETDIR"\\Common\\afsrpc.dll", SERVER | CLIENT | LCLIENT | CC },
{ TARGETDIR"\\Common\\afsauthent.dll", SERVER | CLIENT | LCLIENT | CC },
- { TARGETDIR"\\Common\\pthread.dll", SERVER | CLIENT | LCLIENT | CC },
+ { TARGETDIR"\\Common\\afspthread.dll", SERVER | CLIENT | LCLIENT | CC },
{ TARGETDIR"\\Common\\TaAfsAppLib.dll", SERVER | CLIENT | LCLIENT | CC },
{ TARGETDIR"\\Common\\afsprocmgmt.dll", SERVER | CLIENT | LCLIENT },
{ TARGETDIR"\\Common\\afs_config.exe", CLIENT | LCLIENT| CC },
$(EXEDIR)\tokens.exe \
$(EXEDIR)\unlog.exe $(EXEDIR)\afsd.exe $(EXEDIR)\afsd_service.exe \
$(EXEDIR)\fs.exe $(EXEDIR)\symlink.exe \
- $(LOGON_DLLFILE) $(LOG95_DLLFILE) \
+ $(LOGON_DLLFILE) \
$(EXEDIR)\afsshare.exe \
$(DESTDIR)\bin\kpasswd.exe
$(EXECONLINK)
$(EXEPREP)
-
+
############################################################################
# generate versioninfo resources
}
}
+#if 0
+/* This code was moved to Drivemap.cpp*/
/* Mount a drive into AFS if the user wants us to */
void CheckMountDrive()
{
RegCloseKey(hKey);
}
+#endif
void afsd_Main()
{
}
/* Check if we should mount a drive into AFS */
- CheckMountDrive();
+/* CheckMountDrive();*/
WaitForSingleObject(WaitToTerminate, INFINITE);
if ( ISLOGONINTEGRATED(LogonOption) && (password[0] == 0) ) {
code = GT_PW_NULL;
reason = "zero length password is illegal";
- if (!ISHIGHSECURITY(LogonOption))
- goto checkauth; /*skip the rest if integrated logon and not high security*/
code=0;
}
if (code < 0) {
code = KTC_NOCELL;
reason = "unknown cell";
- if (!ISHIGHSECURITY(LogonOption))
- goto checkauth; /*skip the rest if integrated logon and not high security*/
code=0;
}
}
afsWillAutoStart = AFSWillAutoStart();
- if ( ISHIGHSECURITY(LogonOption))
- *lpLogonScript = GetLogonScript(GenRandomName(RandomName)); /*only do if high security option is on*/
+ *lpLogonScript = GetLogonScript(GenRandomName(RandomName)); /*only do if high security option is on*/
- /* Possibly loop until AFS is started. */
- while ( (ISHIGHSECURITY(LogonOption) || ISLOGONINTEGRATED(LogonOption))) {
- code=0;
+ /* loop until AFS is started. */
+ while (TRUE) {
+ code=0;
- /* is service started yet?*/
-
- if (ISHIGHSECURITY(LogonOption) && !ISLOGONINTEGRATED(LogonOption)) /* if high security only then check for service started only*/
- {
- if (IsServiceRunning())
- break;
- code = KTC_NOCM;
- if (!afsWillAutoStart)
- break;
- } else if (ISLOGONINTEGRATED(LogonOption) && !ISHIGHSECURITY(LogonOption)) /* if Integrated Logon only */
+ /* is service started yet?*/
+ if (ISLOGONINTEGRATED(LogonOption) && !ISHIGHSECURITY(LogonOption)) /* if Integrated Logon only */
{
DebugEvent("AFS AfsLogon - ka_UserAuthenticateGeneral2","Code[%x],uame[%s] Cell[%s]",code,uname,cell);
code = ka_UserAuthenticateGeneral2(
uname, "", cell, password,RandomName, 0, &pw_exp, 0,
&reason);
DebugEvent("AFS AfsLogon - (Both)ka_UserAuthenticateGeneral2","Code[%x],RandomName[%s]",code,RandomName);
- } else {
- code = KTC_NOCM; /* we shouldn't ever get here*/
+ } else { /*JUST check to see if its running*/
+ if (IsServiceRunning())
+ break;
+ code = KTC_NOCM;
+ if (!afsWillAutoStart)
+ break;
}
/* If we've failed because the client isn't running yet and the
retryInterval -= sleepInterval;
}
-checkauth:
if (code) {
char msg[128];
sprintf(msg, "Integrated login failed: %s", reason);
}
/* debug interface: not implemented */
+SRXAFSCB_GetCE64(struct rx_call *callp, long index, AFSDBCacheEntry *cep)
+{
+ /* XXXX */
+ return RXGEN_OPCODE;
+}
+
+/* debug interface: not implemented */
SRXAFSCB_GetLock(struct rx_call *callp, long index, AFSDBLock *lockp)
{
/* XXXX */
afsStatus.UnixModeBits = 0x1ff;
afsStatus.ParentVnode = 0x1;
afsStatus.ParentUnique = 0x1;
- afsStatus.SegSize = 0;
+ afsStatus.ResidencyMask = 0;
afsStatus.ClientModTime = 0x3b49f6e2;
afsStatus.ServerModTime = 0x3b49f6e2;
afsStatus.Group = 0;
statusp->UnixModeBits = 0x1ff;
statusp->ParentVnode = 0x1;
statusp->ParentUnique = 0x1;
- statusp->SegSize = 0;
+ statusp->ResidencyMask = 0;
statusp->ClientModTime = 0x3b49f6e2;
statusp->ServerModTime = 0x3b49f6e2;
statusp->Group = 0;
BOOL DefineDosDrive(DRIVEMAP *pDrive, DDDACTION dddAction)
{
- TCHAR szAfsPath[MAX_PATH];
- TCHAR szDrive[3] = TEXT("?:");
+ // TCHAR szAfsPath[MAX_PATH];
+ // TCHAR szDrive[3] = TEXT("?:");
BOOL fResult = FALSE;
if (!pDrive)
return FALSE;
- szDrive[0] = pDrive->chDrive;
- _stprintf(szAfsPath, TEXT("\\Device\\LanmanRedirector\\%s\\%s-AFS\\%s"), szDrive, szHostName, pDrive->szSubmount);
-
if (dddAction == DDD_REMOVE) {
- fResult = DefineDosDevice(DDD_RAW_TARGET_PATH | DDD_REMOVE_DEFINITION | DDD_EXACT_MATCH_ON_REMOVE, szDrive, szAfsPath);
- if (!fResult)
- Message (MB_OK | MB_ICONHAND, IDS_ERROR_UNMAP, IDS_ERROR_UNMAP_DESC, TEXT("%08lX"), GetLastError());
+ if (!(fResult=(DisMountDOSDrive(pDrive->chDrive)==NO_ERROR)))
+ Message (MB_OK | MB_ICONHAND, IDS_ERROR_UNMAP, IDS_ERROR_UNMAP_DESC, TEXT("%08lX"), GetLastError());
} else if (dddAction == DDD_ADD) {
- fResult = DefineDosDevice(DDD_RAW_TARGET_PATH, szDrive, szAfsPath);
- if (!fResult)
- Message (MB_OK | MB_ICONHAND, IDS_ERROR_MAP, IDS_ERROR_MAP_DESC, TEXT("%08lX"), GetLastError());
+ if (!(fResult=(MountDOSDrive(pDrive->chDrive, pDrive->szSubmount,FALSE)==NO_ERROR)))
+ Message (MB_OK | MB_ICONHAND, IDS_ERROR_MAP, IDS_ERROR_MAP_DESC, TEXT("%08lX"), GetLastError());
}
-
+ /*
+ Replace this code with Drive mapping routine that doesn't require different formats for each OS
+ szDrive[0] = pDrive->chDrive;
+ _stprintf(szAfsPath, TEXT("\\Device\\LanmanRedirector\\%s\\%s-AFS\\%s"), szDrive, szHostName, pDrive->szSubmount);
+
+ if (dddAction == DDD_REMOVE) {
+ fResult = DefineDosDevice(DDD_RAW_TARGET_PATH | DDD_REMOVE_DEFINITION | DDD_EXACT_MATCH_ON_REMOVE, szDrive, szAfsPath);
+ if (!fResult)
+ Message (MB_OK | MB_ICONHAND, IDS_ERROR_UNMAP, IDS_ERROR_UNMAP_DESC, TEXT("%08lX"), GetLastError());
+ } else if (dddAction == DDD_ADD) {
+ fResult = DefineDosDevice(DDD_RAW_TARGET_PATH, szDrive, szAfsPath);
+ if (!fResult)
+ Message (MB_OK | MB_ICONHAND, IDS_ERROR_MAP, IDS_ERROR_MAP_DESC, TEXT("%08lX"), GetLastError());
+ }
+
+ */
if (fResult)
- UpdateRegistry(pDrive, dddAction == DDD_REMOVE);
-
+ UpdateRegistry(pDrive, dddAction == DDD_REMOVE);
+
return fResult;
}
Resource.lpLocalName = szLocal;
Resource.lpRemoteName = szRemote;
- DWORD rc = WNetAddConnection2 (&Resource, NULL, NULL, ((fPersistent) ? CONNECT_UPDATE_PROFILE : 0));
+ // DWORD rc = WNetAddConnection2 (&Resource, NULL, NULL, ((fPersistent) ? CONNECT_UPDATE_PROFILE : 0));
+ DWORD rc=MountDOSDrive(chDrive,szSubmount,fPersistent);
if (rc == NO_ERROR)
return TRUE;
BOOL InactivateDriveMap (TCHAR chDrive, DWORD *pdwStatus)
{
- TCHAR szLocal[ MAX_PATH ] = TEXT("*:");
- szLocal[0] = chDrive;
-
- DWORD rc = WNetCancelConnection (szLocal, FALSE);
+ DWORD rc = DisMountDOSDrive(chDrive, FALSE);
if (rc == NO_ERROR)
return TRUE;
if (*(++pszSubmount) != TEXT('0'))
return FALSE;
- if (*(++pszSubmount) != TEXT('\\'))
- return FALSE;
+ // scan for next "\"
+ while (*(++pszSubmount) != TEXT('\\'))
+ {
+ if (*pszSubmount==0)
+ return FALSE;
+ }
for (++pszSubmount; *pszSubmount && (*pszSubmount != TEXT('\\')); ++pszSubmount)
if (!lstrncmpi (pszSubmount, TEXT("-afs\\"), lstrlen(TEXT("-afs\\"))))
break;
BOOL TestAndDoMapShare(DWORD dwState)
{
- if ((dwState!=SERVICE_RUNNING) || (dwOldState!=SERVICE_START_PENDING)
- || (!RWLogonOption(TRUE,LOGON_OPTION_HIGHSECURITY)))
+ if ((dwState!=SERVICE_RUNNING) || (dwOldState!=SERVICE_START_PENDING))
{
dwOldState=dwState;
return TRUE;
}
dwOldState=SERVICE_RUNNING;
- return DoMapShare();
+ if (RWLogonOption(TRUE,LOGON_OPTION_HIGHSECURITY))
+ return (DoMapShare() && GlobalMountDrive());
+ return GlobalMountDrive();
}
BOOL IsServiceActive()
if ((lpnrLocal[i].lpLocalName) && (strlen(lpnrLocal[i].lpLocalName)>0))
{
if (drivemap)
- WNetCancelConnection(lpnrLocal[i].lpLocalName,TRUE);
+ DisMountDOSDrive(*lpnrLocal[i].lpLocalName);
+ //WNetCancelConnection(lpnrLocal[i].lpLocalName,TRUE);
} else
- WNetCancelConnection(lpnrLocal[i].lpRemoteName,TRUE);
+ DisMountDOSDriveFull(lpnrLocal[i].lpRemoteName);
+ //WNetCancelConnection(lpnrLocal[i].lpRemoteName,TRUE);
DEBUG_EVENT1("AFS DriveUnMap","UnMap-Remote=%x",res);
}
}
}
}
// wasn't on list so lets remove
- sprintf(szPath,"\\\\%s-afs\\%s",szMachine,pSubmount);
- WNetCancelConnection(szPath,TRUE);
+ DisMountDOSDrive(pSubmount);
nextname:;
}
}
nr.dwType=RESOURCETYPE_DISK;
nr.lpLocalName="";
nr.lpRemoteName=szPath;
- DWORD res=WNetAddConnection2(&nr,NULL,pUser,0);
-
+ //DWORD res=WNetAddConnection2(&nr,NULL,pUser,0);
+ DWORD res=MountDOSDrive(0,List.aSubmounts[j].szSubmount,FALSE,pUser);
}
return TRUE;
}
nr.dwType=RESOURCETYPE_DISK;
nr.lpLocalName="";
nr.lpRemoteName=szPath;
- DWORD res=WNetAddConnection2(&nr,NULL,pUserName,0);
+ //DWORD res=WNetAddConnection2(&nr,NULL,pUserName,0);
+ DWORD res=MountDOSDrive(0,List.aSubmounts[i].szSubmount,FALSE,pUserName);
DEBUG_EVENT2("AFS DriveMap","Remote[%s]=%x",szPath,res);
if (strcmpi("all",List.aSubmounts[i].szSubmount)==0)
bMappedAll=TRUE;
nr.dwType=RESOURCETYPE_DISK;
nr.lpLocalName="";
nr.lpRemoteName=szPath;
- DWORD res=WNetAddConnection2(&nr,NULL,pUserName,0);
+ DWORD res=MountDOSDrive(0,"all",FALSE,pUserName);
DEBUG_EVENT2("AFS DriveMap","Remote[%s]=%x",szPath,res);
if (res==ERROR_SESSION_CREDENTIAL_CONFLICT)
{
- WNetCancelConnection(szPath,TRUE);
- WNetAddConnection2(&nr,NULL,pUserName,0);
+ DisMountDOSDrive("all");
+ MountDOSDrive(0,"all",FALSE,pUserName);
}
}
for (TCHAR chDrive = chDRIVE_A; chDrive <= chDRIVE_Z; ++chDrive)
{
- TCHAR szRemote[3];
if (List.aDriveMap[chDrive-chDRIVE_A].fActive)
{
- sprintf(szRemote,"%c:",chDrive);
- sprintf(szPath,"\\\\%s-afs\\%s",szMachine,List.aDriveMap[chDrive-chDRIVE_A].szSubmount);
- NETRESOURCE nr;
- memset (&nr, 0x00, sizeof(NETRESOURCE));
- nr.dwType=RESOURCETYPE_DISK;
- nr.lpLocalName=szRemote;
- nr.lpRemoteName=szPath;
- DWORD res=WNetAddConnection2(&nr,NULL,NULL,(List.aDriveMap[chDrive-chDRIVE_A].fPersistent)?CONNECT_UPDATE_PROFILE:0);
- DEBUG_EVENT3("AFS DriveMap","Persistant[%d] Remote[%s]=%x",List.aDriveMap[chDrive-chDRIVE_A].fPersistent,szPath,res);
+ DWORD res=MountDOSDrive(chDrive
+ ,List.aDriveMap[chDrive-chDRIVE_A].szSubmount
+ ,List.aDriveMap[chDrive-chDRIVE_A].fPersistent);
}
}
return TRUE;
}
+
+BOOL GlobalMountDrive()
+{
+ char szDriveToMapTo[5];
+ DWORD dwResult;
+ char szKeyName[256];
+ HKEY hKey;
+ DWORD dwIndex = 0;
+ DWORD dwDriveSize;
+ DWORD dwSubMountSize;
+ char unsigned szSubMount[256];
+ char cm_HostName[200];
+ DWORD dwType=sizeof(cm_HostName);
+ if (!IsServiceActive())
+ return TRUE;
+ if (!GetComputerName(cm_HostName, &dwType))
+ return TRUE;
+ sprintf(szKeyName, "%s\\GlobalAutoMapper", sAFSConfigKeyName);
+
+ dwResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, szKeyName, 0, KEY_QUERY_VALUE,
+ &hKey);
+ if (dwResult != ERROR_SUCCESS)
+ return TRUE;
+
+ while (1) {
+ dwDriveSize = sizeof(szDriveToMapTo);
+ dwSubMountSize = sizeof(szSubMount);
+ dwResult = RegEnumValue(hKey, dwIndex++, szDriveToMapTo, &dwDriveSize,
+ 0, &dwType, szSubMount, &dwSubMountSize);
+ if (dwResult != ERROR_MORE_DATA) {
+ if (dwResult != ERROR_SUCCESS) {
+ if (dwResult != ERROR_NO_MORE_ITEMS)
+ {
+ DEBUG_EVENT1("AFS DriveMap","Failed to read \GlobalAutoMapper values: %d",dwResult);
+ }
+ break;
+ }
+ }
+ dwResult=MountDOSDrive(*szDriveToMapTo,(const char *)szSubMount,FALSE);
+ }
+ RegCloseKey(hKey);
+ return TRUE;
+}
+
+DWORD MountDOSDrive(char chDrive,const char *szSubmount,BOOL bPersistent,const char * pUsername)
+{
+ TCHAR szPath[MAX_PATH];
+ TCHAR szClient[MAX_PATH];
+ TCHAR szDrive[3] = TEXT("?:");
+ sprintf(szDrive,"%c:",chDrive);
+ GetClientNetbiosName (szClient);
+ sprintf(szPath,"\\\\%s\\%s",szClient,szSubmount);
+ NETRESOURCE nr;
+ memset (&nr, 0x00, sizeof(NETRESOURCE));
+ nr.dwType=RESOURCETYPE_DISK;
+ nr.lpLocalName=szDrive;
+ nr.lpRemoteName=szPath;
+ nr.dwDisplayType = RESOURCEDISPLAYTYPE_GENERIC;
+ nr.dwDisplayType = RESOURCEDISPLAYTYPE_SHARE;
+ DWORD res=WNetAddConnection2(&nr,NULL,pUsername,(bPersistent)?CONNECT_UPDATE_PROFILE:0);
+ DEBUG_EVENT3("AFS DriveMap","Mount %s Remote[%s]=%x",(bPersistent)?"Persistant" : "NonPresistant",szPath,res);
+ return res;
+}
+
+DWORD DisMountDOSDriveFull(const char *szPath,BOOL bForce)
+{
+ DWORD res=WNetCancelConnection(szPath,bForce);
+ DEBUG_EVENT2("AFS DriveMap","Dismount Remote[%s]=%x",szPath,res);
+ return (res==ERROR_NOT_CONNECTED)?NO_ERROR:res;
+}
+
+DWORD DisMountDOSDrive(const char *pSubmount,BOOL bForce)
+{
+ TCHAR szPath[MAX_PATH];
+ TCHAR szClient[MAX_PATH];
+ GetClientNetbiosName (szClient);
+ sprintf(szPath,"\\\\%s\\%s",szClient,pSubmount);
+ return DisMountDOSDriveFull(szPath,bForce);
+}
+
+
+DWORD DisMountDOSDrive(const char chDrive,BOOL bForce)
+{
+ TCHAR szPath[MAX_PATH];
+ sprintf(szPath,"%c:",chDrive);
+ return DisMountDOSDriveFull(szPath,bForce);
+}
void DoUnMapShare(BOOL);
BOOL DoMapShareChange();
DWORD RWLogonOption(BOOL read,DWORD value);
+BOOL GlobalMountDrive();
+DWORD MountDOSDrive(char chDrive,const char *szSubmount,BOOL bPresistant=TRUE,const char *puser=NULL);
+DWORD DisMountDOSDrive(const char *szSubmount,BOOL bForce=TRUE);
+DWORD DisMountDOSDrive(char chDrive,BOOL bForce=TRUE);
+DWORD DisMountDOSDriveFull(const char *pPath,BOOL bForce=TRUE);
#ifndef DRIVEMAP_DEF_H
extern void TestAndDoUnMapShare();
extern TCHAR pUserName[];
AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) -I ..\afsd
# include the primary makefile
-
!INCLUDE ..\..\config\NTMakefile.$(SYS_NAME)
!INCLUDE ..\..\config\NTMakefile.version
#include "afscreds.h"
#include "..\afsreg\afsreg.h" // So we can see if the server's installed
#include "drivemap.h"
-
+#include <stdlib.h>
+#include <stdio.h>
+#include <osilog.h>
+#include "rxkad.h"
/*
* DEFINITIONS ________________________________________________________________
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)
{
break;
case 'x':
case 'X':
- DoMapShare();
- return 0;
+ DWORD LogonOption;
+ DWORD LSPtype, LSPsize;
+ HKEY NPKey;
+ LSPsize=sizeof(LogonOption);
+ (void) RegOpenKeyEx(HKEY_LOCAL_MACHINE, REG_CLIENT_PROVIDER_KEY,
+ 0, KEY_QUERY_VALUE, &NPKey);
+ RegQueryValueEx(NPKey, "LogonOptions", NULL,
+ &LSPtype, (LPBYTE)&LogonOption, &LSPsize);
+ RegCloseKey (NPKey);
+ if (ISHIGHSECURITY(LogonOption))
+ DoMapShare();
+ GlobalMountDrive();
+ return 0;
}
while (*pszCmdLineA && (*pszCmdLineA != ' '))
---Comment---=
(Default)=S,
Class=N,2
-LogonOptions=N,2
+LogonOptions=N,0
Name=S,TransarcAFSDaemon
LogonScript=S,<TARGETDIR>\Client\Program\afscreds.exe -:%s -x
ProviderPath=S,<LOGON_DLL>
echo file0=%IS5_DEST%\root.client\usr\vice\etc\afs_config.exe >> Client_Common_Files.fgl
echo file1=%IS5_DEST%\lib\afsrpc.dll >> Client_Common_Files.fgl
echo file2=%IS5_DEST%\lib\afsauthent.dll >> Client_Common_Files.fgl
-echo file3=%IS5_DEST%\lib\pthread.dll >> Client_Common_Files.fgl
+echo file3=%IS5_DEST%\lib\afspthread.dll >> Client_Common_Files.fgl
echo file4=%IS5_DEST%\root.server\usr\afs\bin\afsprocmgmt.dll >> Client_Common_Files.fgl
echo file5=%IS5_DEST%\root.server\usr\afs\bin\TaAfsAppLib.dll >> Client_Common_Files.fgl
echo file6=%IS5_DEST%\root.server\usr\afs\bin\afsadminutil.dll >> Client_Common_Files.fgl
echo file0=%IS5_DEST%\root.client\usr\vice\etc\afs_config.exe >> Light_Client_Common_Files.fgl
echo file1=%IS5_DEST%\lib\afsrpc.dll >> Light_Client_Common_Files.fgl
echo file2=%IS5_DEST%\lib\afsauthent.dll >> Light_Client_Common_Files.fgl
-echo file3=%IS5_DEST%\lib\pthread.dll >> Light_Client_Common_Files.fgl
+echo file3=%IS5_DEST%\lib\afspthread.dll >> Light_Client_Common_Files.fgl
echo file4=%IS5_DEST%\root.server\usr\afs\bin\afsprocmgmt.dll >> Light_Client_Common_Files.fgl
echo file5=%IS5_DEST%\root.server\usr\afs\bin\TaAfsAppLib.dll >> Light_Client_Common_Files.fgl
echo file6=%IS5_DEST%\root.server\usr\afs\bin\afsadminutil.dll >> Light_Client_Common_Files.fgl
echo file0=%IS5_DEST%\root.client\usr\vice\etc\afs_config.exe >> Light95_Client_Common_Files.fgl
echo file1=%IS5_DEST%\lib\afsrpc.dll >> Light95_Client_Common_Files.fgl
echo file2=%IS5_DEST%\lib\afsauthent.dll >> Light95_Client_Common_Files.fgl
-echo file3=%IS5_DEST%\lib\win95\pthread.dll >> Light95_Client_Common_Files.fgl
+echo file3=%IS5_DEST%\lib\win95\afspthread.dll >> Light95_Client_Common_Files.fgl
echo file4=%IS5_DEST%\root.server\usr\afs\bin\TaAfsAppLib.dll >> Light95_Client_Common_Files.fgl
echo file5=%IS5_DEST%\root.server\usr\afs\bin\afsadminutil.dll >> Light95_Client_Common_Files.fgl
echo file6=%IS5_DEST%\root.server\usr\afs\bin\afsclientadmin.dll >> Light95_Client_Common_Files.fgl
echo file6=%IS5_DEST%\root.server\usr\afs\bin\afsadminutil.dll >> Server_Common_Files.fgl
echo file7=%IS5_DEST%\lib\afsrpc.dll >> Server_Common_Files.fgl
echo file8=%IS5_DEST%\lib\afsauthent.dll >> Server_Common_Files.fgl
-echo file9=%IS5_DEST%\lib\pthread.dll >> Server_Common_Files.fgl
+echo file9=%IS5_DEST%\lib\afspthread.dll >> Server_Common_Files.fgl
echo file10=%IS5_DEST%\root.server\usr\afs\bin\TaAfsAppLib.dll >> Server_Common_Files.fgl
echo file11=%IS5_DEST%\root.server\usr\afs\bin\afsprocmgmt.dll >> Server_Common_Files.fgl
echo. >> Server_Common_Files.fgl
echo file6=%IS5_DEST%\root.server\usr\afs\bin\afsadminutil.dll >> Control_Center_Common_Files.fgl
echo file7=%IS5_DEST%\lib\afsrpc.dll >> Control_Center_Common_Files.fgl
echo file8=%IS5_DEST%\lib\afsauthent.dll >> Control_Center_Common_Files.fgl
-echo file9=%IS5_DEST%\lib\pthread.dll >> Control_Center_Common_Files.fgl
+echo file9=%IS5_DEST%\lib\afspthread.dll >> Control_Center_Common_Files.fgl
echo file10=%IS5_DEST%\root.server\usr\afs\bin\TaAfsAppLib.dll >> Control_Center_Common_Files.fgl
echo file11=%IS5_DEST%\root.client\usr\vice\etc\afs_config.exe >> Control_Center_Common_Files.fgl
echo. >> Control_Center_Common_Files.fgl
szErrMsg=" ";
Enable (STATUS);
SetStatusWindow (50, "Now Downloading CellServDB file...");
+ CreateDir(TARGETDIR);
nResult=GetWebPage(szErrMsg,szDestFile,szDefaultWeb);
SetStatusWindow (100, "Downloading completed.");
Delay (2);
$(DESTDIR)\root.client\usr\vice\etc\libosi.dll \
$(DESTDIR)\root.client\usr\vice\etc\libafsconf.dll \
$(DESTDIR)\root.client\usr\vice\etc\afs_shl_ext.dll \
- $(DESTDIR)\lib\win95\pthread.dll \
+ $(DESTDIR)\lib\win95\afspthread.dll \
$(DESTDIR)\lib\afsrpc.dll
$(COMPONENTS)::
$(DESTDIR)\include\pthread.h
############################################################################
-# Build standard pthread.dll
+# Build standard afspthread.dll
-PTHR_DLLFILE = $(DESTDIR)\lib\pthread.dll
+PTHR_DLLFILE = $(DESTDIR)\lib\afspthread.dll
PTHR_DLLOBJS = \
pthread.obj \
$(DLLPREP)
############################################################################
-# Build Windows 95 version of pthread.dll
+# Build Windows 95 version of afspthread.dll
-PTHR95_DLLFILE = $(DESTDIR)\lib\win95\pthread.dll
+PTHR95_DLLFILE = $(DESTDIR)\lib\win95\afspthread.dll
PTHR95_DLLOBJS = \
pthread_95.obj \
test tests: ptest.exe tsd.exe native.exe
-ptest.exe: ptest.obj $(DESTDIR)/lib/pthread.lib $(DESTDIR)/lib/afs/afsutil.lib
+ptest.exe: ptest.obj $(DESTDIR)/lib/afspthread.lib $(DESTDIR)/lib/afs/afsutil.lib
$(EXECONLINK)
-tsd.exe: tsd.obj $(DESTDIR)/lib/pthread.lib $(DESTDIR)/lib/afs/afsutil.lib
+tsd.exe: tsd.obj $(DESTDIR)/lib/afspthread.lib $(DESTDIR)/lib/afs/afsutil.lib
$(EXECONLINK)
-native.exe: native.obj $(DESTDIR)/lib/pthread.lib $(DESTDIR)/lib/afs/afsutil.lib
+native.exe: native.obj $(DESTDIR)/lib/afspthread.lib $(DESTDIR)/lib/afs/afsutil.lib
$(EXECONLINK)
-pthread.dll 0x61000000 0x00080000
+afspthread.dll 0x61000000 0x00080000
afsrpc.dll 0x61080000 0x00080000
afsauthent.dll 0x61100000 0x00080000
afspioctl.dll 0x61200000 0x00080000
!ENDIF
#define used in WinNT/2000 installation and program version display
-AFSPRODUCT_VERSION=1.2.2 a
+AFSPRODUCT_VERSION=1.2.2 b
CELLNAME_DEFAULT=Your Cell Name
CELLSERVDB_INSTALL=CellServDB.GrandCentral
CELLSERVDB_WEB=http://grand.central.org/dl/cellservdb/CellServDB
RC = $(rc) $(rcvars) $(rcflags) $(AFSDEV_AUXRCFLAGS) /d "AFSPRODUCT_VERSION=\"$(AFSPRODUCT_VERSION)\""
# Lex/Yacc macros
-LEX = flex -l
+LEX =1.2.2 a
YACC = bison
# Inference rules for building and installing targets
!ENDIF
#define used in Win9x installation and program version display
-AFSPRODUCT_VERSION=1.1.1 a
+AFSPRODUCT_VERSION=1.2.2 b
CELLNAME_DEFAULT=Your Cell Name
CELLSERVDB_INSTALL=CellServDB.GrandCentral
CELLSERVDB_WEB=http://grand.central.org/dl/cellservdb/CellServDB
char **reasonP
);
+extern afs_int32 ka_UserAuthenticateGeneral2 (
+ afs_int32 flags,
+ char *name,
+ char *instance,
+ char *realm,
+ char *password,
+ char *smbname,
+ Date lifetime,
+ afs_int32 *password_expires,
+ afs_int32 spare2,
+ char **reasonP
+);
extern afs_int32 ka_UserAuthenticate (
char *name,
char *instance,
ILIBDIR = $(DESTDIR)\lib\afs
DLLLIBS =\
- $(DESTDIR)\lib\pthread.lib \
+ $(DESTDIR)\lib\afspthread.lib \
$(DESTDIR)\lib\afsrpc.lib \
$(DESTDIR)\lib\afsauthent.lib
$(DESTDIR)\lib\afs\afsvosadmin.lib \
$(DESTDIR)\lib\afsauthent.lib \
$(DESTDIR)\lib\afsrpc.lib \
- $(DESTDIR)\lib\pthread.lib
+ $(DESTDIR)\lib\afspthread.lib
$(DLLFILE): $(DLLOBJS) $(DLLLIBS)
$(DLLCONLINK) /DEF:bosadmin.def
afscfgadmin.res
DLLLIBS =\
- $(DESTDIR)\lib\pthread.lib \
+ $(DESTDIR)\lib\afspthread.lib \
$(DESTDIR)\lib\afs\afsadminutil.lib \
$(DESTDIR)\lib\afs\afsbosadmin.lib \
$(DESTDIR)\lib\afs\afskasadmin.lib \
test tests: cfgtest.exe
CFGTEST_EXELIBS =\
- $(DESTDIR)\lib\pthread.lib \
+ $(DESTDIR)\lib\afspthread.lib \
$(DESTDIR)\lib\afs\afsadminutil.lib \
$(DESTDIR)\lib\afs\afsclientadmin.lib \
$(DESTDIR)\lib\afs\afscfgadmin.lib \
$(DESTDIR)\lib\afs\afsadminutil.lib \
$(DESTDIR)\lib\afsauthent.lib \
$(DESTDIR)\lib\afsrpc.lib \
- $(DESTDIR)\lib\pthread.lib
+ $(DESTDIR)\lib\afspthread.lib
$(DLLFILE): $(DLLOBJS) $(DLLLIBS)
$(DLLCONLINK) /DEF:clientadmin.def
$(DESTDIR)\lib\afs\afsadminutil.lib \
$(DESTDIR)\lib\afsauthent.lib \
$(DESTDIR)\lib\afsrpc.lib \
- $(DESTDIR)\lib\pthread.lib
+ $(DESTDIR)\lib\afspthread.lib
$(DLLFILE): $(DLLOBJS) $(DLLLIBS)
$(DLLCONLINK) /DEF:kasadmin.def
$(DESTDIR)\lib\afs\afsadminutil.lib \
$(DESTDIR)\lib\afsauthent.lib \
$(DESTDIR)\lib\afsrpc.lib \
- $(DESTDIR)\lib\pthread.lib
+ $(DESTDIR)\lib\afspthread.lib
$(DLLFILE): $(DLLOBJS) $(DLLLIBS)
$(DLLCONLINK) /DEF:ptsadmin.def
install test tests: afscp.exe
AFSCP_EXELIBS =\
- $(DESTDIR)\lib\pthread.lib \
+ $(DESTDIR)\lib\afspthread.lib \
$(DESTDIR)\lib\afs\afsadminutil.lib \
$(DESTDIR)\lib\afs\afsclientadmin.lib \
$(DESTDIR)\lib\afs\afsbosadmin.lib \
ILIBDIR = $(DESTDIR)\lib\afs
DLLLIBS =\
- $(DESTDIR)\lib\pthread.lib \
+ $(DESTDIR)\lib\afspthread.lib \
$(DESTDIR)\lib\afs\afsadminutil.lib \
$(DESTDIR)\lib\afsauthent.lib \
$(DESTDIR)\lib\afsrpc.lib
DLLLIBS =\
!IF (("$(SYS_NAME)"=="i386_win95" ) || ("$(SYS_NAME)"=="I386_WIN95" ))
- $(DESTDIR)\lib\win95\pthread.lib \
+ $(DESTDIR)\lib\win95\afspthread.lib \
!ELSE
- $(DESTDIR)\lib\pthread.lib \
+ $(DESTDIR)\lib\afspthread.lib \
!ENDIF
$(DESTDIR)\lib\afsrpc.lib \
$(DESTDIR)\lib\afsdes.lib \
DLLLIBS =\
!IF (("$(SYS_NAME)"=="i386_win95" ) || ("$(SYS_NAME)"=="I386_WIN95" ))
- $(DESTDIR)\lib\win95\pthread.lib \
+ $(DESTDIR)\lib\win95\afspthread.lib \
!ELSE
- $(DESTDIR)\lib\pthread.lib \
+ $(DESTDIR)\lib\afspthread.lib \
!ENDIF
$(DESTDIR)\lib\afs\afsutil.lib \
$(DESTDIR)\lib\afs\afsreg.lib
afsprocmgmt.res
DLLLIBS =\
- $(DESTDIR)\lib\pthread.lib \
+ $(DESTDIR)\lib\afspthread.lib \
$(DESTDIR)\lib\afs\afsutil.lib
$(DLLFILE): $(DLLOBJS) $(DLLLIBS)
test tests: pmgttest.exe
PMGTTEST_EXELIBS =\
- $(DESTDIR)\lib\pthread.lib \
+ $(DESTDIR)\lib\afspthread.lib \
$(DESTDIR)\lib\afs\afsprocmgmt.lib \
$(DESTDIR)\lib\afs\afsutil.lib
$(DESTDIR)\lib\afs\afsprocmgmt.lib \
$(DESTDIR)\lib\afs\afseventlog.lib \
!IF (("$(SYS_NAME)"=="i386_win95" ) || ("$(SYS_NAME)"=="I386_WIN95" ))
- $(DESTDIR)\lib\win95\pthread.lib \
+ $(DESTDIR)\lib\win95\afspthread.lib \
!ELSE
- $(DESTDIR)\lib\pthread.lib \
+ $(DESTDIR)\lib\afspthread.lib \
!ENDIF
$(DESTDIR)\lib\afsdes.lib \
$(DESTDIR)\lib\cm_dns.obj
$(DESTDIR)\lib\afs\afsprocmgmt.lib \
$(DESTDIR)\lib\afs\afseventlog.lib \
$(DESTDIR)\lib\afs\afsutil.lib \
- $(DESTDIR)\lib\pthread.lib
+ $(DESTDIR)\lib\afspthread.lib
$(EXEFILE): $(EXEOBJS) $(EXELIBS)
$(EXECONLINK)
$(DESTDIR)\lib\afs\afsreg.lib \
$(DESTDIR)\lib\afs\afsprocmgmt.lib \
$(DESTDIR)\lib\afs\afseventlog.lib \
- $(DESTDIR)\lib\pthread.lib
+ $(DESTDIR)\lib\afspthread.lib
############################################################################
# build salvager