STABLE10-windows-updates-20010823

add windows patches to stable branch
This commit is contained in:
James Peterson 2001-08-23 05:41:04 +00:00 committed by Derrick Brashear
parent 7acd79e238
commit 0e87cadc58
44 changed files with 5178 additions and 2643 deletions

View File

@ -307,9 +307,9 @@ clean: start
$(CD) $(OBJ)\WINNT\install\Win9x
nmake /nologo /f NTMakefile clean
$(CD) ..\..\..\..
.\src\rmbat $(DESTDIR)\include\*.* $(DESTDIR)\include\afs\*.* $(DESTDIR)\include\WINNT\*.* $(DESTDIR)\include\rx\*.*
.\src\rmbat $(DESTDIR)\LIB\*.LIB $(DESTDIR)\LIB\*.DLL $(DESTDIR)\LIB\AFS\*.LIB
.\src\RMBAT $(DESTDIR)\root.client\usr\vice\etc\*.*
$(DESTDIR)\BIN\rmbat $(DESTDIR)\include\*.* $(DESTDIR)\include\afs\*.* $(DESTDIR)\include\WINNT\*.* $(DESTDIR)\include\rx\*.*
$(DESTDIR)\BIN\rmbat $(DESTDIR)\LIB\*.LIB $(DESTDIR)\LIB\*.DLL $(DESTDIR)\LIB\AFS\*.LIB
$(DESTDIR)\BIN\rmbat $(DESTDIR)\root.client\usr\vice\etc\*.*
$(CD) $(OBJ)\config
nmake /nologo /f ntmakefile clean_version
$(CD) ..\..

View File

@ -3,7 +3,7 @@ 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
directory or on-line at http://www.openafs.org/dl/license10.html
Building OpenAFS on Windows NT
------------------------------
@ -53,9 +53,17 @@ C. Optional: Install Installshield 5.x
2. build of the product plus an installer package
In order to do the build that includes the installer package, a
copy of InstallShield 5.x must be installed. NOTE: InstallShield
copy of Installshield 5.x must be installed. NOTE: Installshield
versions 6 and higher WILL NOT WORK.
Optional DLL's missing for Install Script
Two Microsoft DLL's must be included at DEST\WinInstall\Config\.
SHLWAPI.DLL
WININET.DLL
These files are only used for the Install, they will not be left
on the target machine.
D. Optional: Install flex and bison
There are two files in the source tree that are processed with lex
@ -94,7 +102,7 @@ E. Configure the OpenAFS build environment
set MSVCDIR=<path to vc directory of MS Visual C++>
Ex: set MSVCDIR=c:\progra~1\DevStudio\vc
This is the path to the compiler directory of the Microsot Visual
This is the path to the compiler directory of the Microsoft Visual
C++ installation.
set AFSDEV_INCLUDE=<default include directories>
@ -122,12 +130,12 @@ E. Configure the OpenAFS build environment
This is the root directory of OpenAFS, which is the parent
directory of the src directory.
set IS5ROOT=<root directory of the InstallShield5 program files>
set IS5ROOT=<root directory of the Installshield5 program files>
Ex: set IS5ROOT=d:\progra~1\instal~1\instal~1.1pr
This is the path to the InstallShield5 program directory. You
should only define this if you have InstallShield installed on
your computer and want to create the install package as part of
This is the path to the Installshield5 program directory. You
should only define this if you have Installshield installed on
your computer and want to create the install script as part of
the build.
set BISON_SIMPLE=<path to bison.simple>
@ -147,7 +155,40 @@ E. Configure the OpenAFS build environment
As can be seen in the examples above, all paths in ntbuild.bat must
be in the old MSDOS 8.3 format.
F. Begin the build
F. Set version and installation options
Modify .\src\config\NTMakefile.i386_nt40
AFSPRODUCT_VERSION - Product version
CELLNAME_DEFAULT - The default AFS cell name
CELLSERVDB_INSTALL - The default name for the CellServDB included in the install script
CELLSERVDB_WEB - The default web address to obtain CellServDB
For Example:
.\src\config\NTMakefile.i386_nt40
AFSPRODUCT_VERSION=1.1.1a
CELLNAME_DEFAULT=openafs.org
CELLSERVDB_INSTALL=CellServDB.GrandCentral
CELLSERVDB_WEB=http://grand.central.org/dl/cellservdb/CellServDB
NOTE: If CELLNAME_DEFAULT has a '.' in cell name, then the name is assumed to be
a valid cell name and when the user installs AFS the AFS Control Center
will default to NOT installed!
Version level may be specified in different formats, for example the following
forms all have the same version level; however will be displayed differently:
AFSPRODUCT_VERSION=1.1.1a
AFSPRODUCT_VERSION=1.1.1 a
AFSPRODUCT_VERSION=1.1.1.1
AFSPRODUCT_VERSION=1.1.101
Add CellServDB file to install area.
For the previous example you would add file:
DEST\Winistall\Config\CellServDB.GrandCentral
G. Begin the build
1. Make sure you are running the default NT command shell, cmd.exe.
Other shells may work, but many do not.
@ -167,7 +208,7 @@ F. Begin the build
You only need to do this once.
4. Begin the build. You can choose to build just the product bits,
or, if InstallShield is installed, the product bits and the
or, if Installshield is installed, the product bits and the
install package.
To build just the product bits, run:

View File

@ -124,6 +124,34 @@ or nmake -f ntmake9x clean
VC6RedistSetup_enu.exe
This is located at:
http://support.microsoft.com/support/kb/articles/Q259/4/03.ASP
Two Microsoft DLL's must be included at DEST\WinInstall\Config\.
SHLWAPI.DLL
WININET.DLL
These DLL's will not be left on the target machine, there are only
used for installation and removed after installation is complete.
6) Required changes to configuration file .\src\config\NTMakefile.i386_win95
AFSPRODUCT_VERSION - Product version
CELLNAME_DEFAULT - The default AFS cell name
CELLSERVDB_INSTALL - The default name for the CellServDB included in the install script
CELLSERVDB_WEB - The default web address to obtain CellServDB
For Example:
.\src\config\NTMakefile.i386_win95
AFSPRODUCT_VERSION=1.1.1a
CELLNAME_DEFAULT=openafs.org
CELLSERVDB_INSTALL=CellServDB.GrandCentral
CELLSERVDB_WEB=http://grand.central.org/dl/cellservdb/CellServDB
Version level may be specified in different formats, for example the following
forms all have the same version level; however will be displayed differently:
AFSPRODUCT_VERSION=1.1.1a
AFSPRODUCT_VERSION=1.1.1 a
AFSPRODUCT_VERSION=1.1.1.1
AFSPRODUCT_VERSION=1.1.101
6) Installation
@ -163,3 +191,5 @@ or nmake -f ntmake9x clean
5. Reboot the target machine.
6. You can now start the client by executing the program WinAfsLoad.exe
from the install directory.

View File

@ -0,0 +1,409 @@
// GetWebDll.cpp : Defines the initialization routines for the DLL.
//
#include "stdafx.h"
#include "GetWebDll.h"
#include "getwebdllfun.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
//
// Note!
//
// If this DLL is dynamically linked against the MFC
// DLLs, any functions exported from this DLL which
// call into MFC must have the AFX_MANAGE_STATE macro
// added at the very beginning of the function.
//
// For example:
//
// extern "C" BOOL PASCAL EXPORT ExportedFunction()
// {
// AFX_MANAGE_STATE(AfxGetStaticModuleState());
// // normal function body here
// }
//
// It is very important that this macro appear in each
// function, prior to any calls into MFC. This means that
// it must appear as the first statement within the
// function, even before any object variable declarations
// as their constructors may generate calls into the MFC
// DLL.
//
// Please see MFC Technical Notes 33 and 58 for additional
// details.
//
/////////////////////////////////////////////////////////////////////////////
// CGetWebDllApp
BEGIN_MESSAGE_MAP(CGetWebDllApp, CWinApp)
//{{AFX_MSG_MAP(CGetWebDllApp)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CGetWebDllApp construction
CGetWebDllApp::CGetWebDllApp()
{
// TODO: add construction code here,
// Place all significant initialization in InitInstance
}
/////////////////////////////////////////////////////////////////////////////
// The one and only CGetWebDllApp object
CGetWebDllApp theApp;
LPCTSTR pszURL = NULL;
BOOL bStripMode = FALSE;
BOOL bProgressMode = FALSE;
DWORD dwAccessType = PRE_CONFIG_INTERNET_ACCESS;
DWORD dwHttpRequestFlags =
INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_NO_AUTO_REDIRECT;
//
//GET /updateCellServDB.jsp?type=bunk HTTP/1.1
//Accept: */*
//Accept -Language: en -us
//Accept -Encoding: gzip , deflate
//User-Agent: ufilerNativeClient/1.0 (1.0; Windows NT)
//Host: 192.168.0.1
//Connection: Keep -Alive
const TCHAR szVersion[] =
_T("HTTP/1.1");
const TCHAR szHeaders[] =
_T("\
Accept: */*\r\n\
Accept -Language: en -us\r\n\
Accept -Encoding: gzip , deflate\r\n\
User-Agent: ufilerNativeClient/1.0 (1.0; Windows NT)\r\n\
Host: 192.168.0.1\r\n\
Connection: Keep -Alive\r\n");
CTearSession::CTearSession(LPCTSTR pszAppName, int nMethod)
: CInternetSession(pszAppName, 1, nMethod)
{
}
void CTearSession::OnStatusCallback(DWORD /* dwContext */, DWORD dwInternetStatus,
LPVOID /* lpvStatusInfomration */, DWORD /* dwStatusInformationLen */)
{
if (!bProgressMode)
return;
if (dwInternetStatus != INTERNET_STATUS_CONNECTED_TO_SERVER)
AfxMessageBox("Connection Not Made",MB_ICONERROR | MB_OK);
return;
}
/////////////////////////////////////////////////////////////////////////////
// CTearException -- used if something goes wrong for us
// TEAR will throw its own exception type to handle problems it might
// encounter while fulfilling the user's request.
IMPLEMENT_DYNCREATE(CTearException, CException)
CTearException::CTearException(int nCode)
: m_nErrorCode(nCode)
{
}
void ThrowTearException(int nCode)
{
CTearException* pEx = new CTearException(nCode);
throw pEx;
}
// StripTags() rips through a buffer and removes HTML tags from it.
// The function uses a static variable to remember its state in case
// a HTML tag spans a buffer boundary.
void StripTags(LPTSTR pszBuffer)
{
static BOOL bInTag = FALSE;
LPTSTR pszSource = pszBuffer;
LPTSTR pszDest = pszBuffer;
while (*pszSource != '\0')
{
if (bInTag)
{
if (*pszSource == '>')
bInTag = FALSE;
pszSource++;
}
else
{
if (*pszSource == '<')
bInTag = TRUE;
else
{
*pszDest = *pszSource;
pszDest++;
}
pszSource++;
}
}
*pszDest = '\0';
}
extern "C"
__declspec(dllexport) INT GetWebPage(LPSTR lpErrMsg,LPSTR lpFile,LPSTR lpCmdLine)
{
CString emsg;
// emsg.Format("p1=[%s],p2=[%s]",lpFile,lpCmdLine);
// AfxMessageBox(emsg,MB_ICONERROR | MB_OK);
if ((strlen(lpCmdLine)==0) || (strlen(lpFile)==0))
{
emsg="Parameter Error";
return 1;
}
int nRetCode = 0;
CTearSession session(_T("TEAR - MFC Sample App"), dwAccessType);
CHttpConnection* pServer = NULL;
CHttpFile* pFile = NULL;
char *szParm=strstr(lpCmdLine,"?");
try
{
// check to see if this is a reasonable URL
CFile ofile(lpFile,CFile::modeCreate|CFile::modeWrite);
CString strServerName;
CString strObject;
INTERNET_PORT nPort;
DWORD dwServiceType;
if (!AfxParseURL(lpCmdLine, dwServiceType, strServerName, strObject, nPort) ||
dwServiceType != INTERNET_SERVICE_HTTP)
{
emsg="Error: can only use URLs beginning with http://";
ThrowTearException(1);
}
if (bProgressMode)
{
VERIFY(session.EnableStatusCallback(TRUE));
}
pServer = session.GetHttpConnection(strServerName, nPort);
pFile = pServer->OpenRequest(
CHttpConnection::HTTP_VERB_GET,
strObject, //updateCellServDB.jsp
NULL, // URL of document
1, // context
NULL,
szVersion,
dwHttpRequestFlags);
pFile->AddRequestHeaders(szHeaders);
pFile->SendRequest();
DWORD dwRet;
pFile->QueryInfoStatusCode(dwRet);
// if access was denied, prompt the user for the password
if (dwRet == HTTP_STATUS_DENIED)
{
DWORD dwPrompt;
dwPrompt = pFile->ErrorDlg(NULL, ERROR_INTERNET_INCORRECT_PASSWORD,
FLAGS_ERROR_UI_FLAGS_GENERATE_DATA | FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS, NULL);
// if the user cancelled the dialog, bail out
if (dwPrompt != ERROR_INTERNET_FORCE_RETRY)
{
emsg="Access denied: Invalid password";
ThrowTearException(1);
}
pFile->SendRequest();
pFile->QueryInfoStatusCode(dwRet);
}
CString strNewLocation;
pFile->QueryInfo(HTTP_QUERY_RAW_HEADERS_CRLF, strNewLocation);
// were we redirected?
// these response status codes come from WININET.H
if (dwRet == HTTP_STATUS_MOVED ||
dwRet == HTTP_STATUS_REDIRECT ||
dwRet == HTTP_STATUS_REDIRECT_METHOD)
{
CString strNewLocation;
pFile->QueryInfo(HTTP_QUERY_RAW_HEADERS_CRLF, strNewLocation);
int nPlace = strNewLocation.Find(_T("Location: "));
if (nPlace == -1)
{
emsg="Error: Site redirects with no new location";
ThrowTearException(2);
}
strNewLocation = strNewLocation.Mid(nPlace + 10);
nPlace = strNewLocation.Find('\n');
if (nPlace > 0)
strNewLocation = strNewLocation.Left(nPlace);
// close up the redirected site
pFile->Close();
delete pFile;
pServer->Close();
delete pServer;
if (bProgressMode)
{
emsg.Format("Caution: redirected to %s",(LPCTSTR) strNewLocation);
}
// figure out what the old place was
if (!AfxParseURL(strNewLocation, dwServiceType, strServerName, strObject, nPort))
{
emsg="Error: the redirected URL could not be parsed.";
ThrowTearException(2);
}
if (dwServiceType != INTERNET_SERVICE_HTTP)
{
emsg="Error: the redirected URL does not reference a HTTP resource.";
ThrowTearException(2);
}
// try again at the new location
pServer = session.GetHttpConnection(strServerName, nPort);
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_GET,
strObject, NULL, 1, NULL, NULL, dwHttpRequestFlags);
pFile->AddRequestHeaders(szHeaders);
pFile->SendRequest();
pFile->QueryInfoStatusCode(dwRet);
if (dwRet != HTTP_STATUS_OK)
{
emsg.Format("Error: Got status code %d",dwRet);
ThrowTearException(2);
}
}
TCHAR sz[1024];
while (pFile->ReadString(sz, 1023))
{
if (bStripMode)
StripTags(sz);
ofile.Write(sz,strlen(sz));
}
pFile->Close();
pServer->Close();
ofile.Close();
}
catch (CInternetException* pEx)
{
// catch errors from WinINet
TCHAR szErr[1024];
pEx->GetErrorMessage(szErr, 1024);
CString emsg;
emsg.Format("Error: (%s)",szErr);
nRetCode = 2;
pEx->Delete();
}
catch (CFileException* pEx)
{
TCHAR szErr[1024];
pEx->GetErrorMessage(szErr, 1024);
emsg.Format("File Error: (%s)",szErr);
nRetCode = 2;
pEx->Delete();
}
catch (CTearException* pEx)
{
// catch things wrong with parameters, etc
nRetCode = pEx->m_nErrorCode;
pEx->Delete();
}
if (pFile != NULL)
delete pFile;
if (pServer != NULL)
delete pServer;
session.Close();
int len=strlen(lpErrMsg);
strncpy(lpErrMsg,emsg,len);
lpErrMsg[len]=0;
return nRetCode;
}
extern "C"
__declspec(dllexport) INT GetUserLogon(LPSTR lpUserName)
{
int nRetCode = 1;
ULONG nSize=strlen(lpUserName);
if (!GetUserName(lpUserName,&nSize)) nRetCode=0;
return nRetCode;
}
extern "C"
__declspec(dllexport) INT BrowseFile(HWND hwndOwner,LPSTR lpstrTitle,LPSTR lpFileName,INT size)
{
char *xptr;
// char msg[256];
char *ptr=strrchr(lpFileName,'\\');
int nFileOffset=0;
int nFileExtension=0;
if (ptr)
nFileOffset=ptr-lpFileName+1;
else {
ptr=strrchr(lpFileName,':');
if (ptr)
nFileOffset=ptr-lpFileName;
}
if (ptr==NULL)
ptr=lpFileName;
if (xptr=strrchr(ptr,'.'))
nFileExtension=nFileOffset+(xptr-ptr);
// sprintf(msg,"Title: [%s] filename=[%s], %i,%i,%i",lpstrTitle,lpFileName,nFileOffset,nFileExtension,size);
// AfxMessageBox(msg,MB_OK);
OPENFILENAME data={
sizeof(OPENFILENAME) //lStructSize
,hwndOwner //hwndOwner
,NULL //
,"*.*" //lpstrFilter
,NULL //lpstrCustomFilter
,NULL //nMaxCustFilter
,0 //nFilterIndex
,lpFileName //lpstrFile
,size //nMaxFile - at least 256 characters
,NULL //lpstrFileTitle
,0 //nMaxFileTitle
,NULL //lpstrInitialDir
,lpstrTitle //lpstrTitle
,OFN_HIDEREADONLY|OFN_PATHMUSTEXIST //Flags
,nFileOffset //nFileOffset
,nFileExtension //nFileExtension
,NULL //lpstrDefExt
,NULL //lCustData
,NULL //lpfnHook
,NULL //lpTemplateName
};
return GetOpenFileName(&data);
}

View File

@ -0,0 +1,7 @@
; GetWebDll.def : Declares the module parameters for the DLL.
LIBRARY "GetWebDll"
DESCRIPTION 'GetWebDll Windows Dynamic Link Library'
EXPORTS
; Explicit exports can go here

View File

@ -0,0 +1,11 @@
# Microsoft Developer Studio Generated Dependency File, included by GetWebDll.mak
.\GetWebDll.cpp : \
".\GetWebDll.h"\
".\GetWebDllFun.h"\
.\StdAfx.cpp : \
".\StdAfx.h"\
"c:\program files\microsoft visual studio\vc98\include\basetsd.h"\

View File

@ -0,0 +1,67 @@
// GetWebDll.h : main header file for the GETWEBDLL DLL
//
#if !defined(AFX_GETWEBDLL_H__470FBE70_389E_11D5_A375_00105A6BCA62__INCLUDED_)
#define AFX_GETWEBDLL_H__470FBE70_389E_11D5_A375_00105A6BCA62__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#ifndef __AFXWIN_H__
#error include 'stdafx.h' before including this file for PCH
#endif
#include "resource.h" // main symbols
/////////////////////////////////////////////////////////////////////////////
// CGetWebDllApp
// See GetWebDll.cpp for the implementation of this class
//
class CGetWebDllApp : public CWinApp
{
public:
CGetWebDllApp();
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CGetWebDllApp)
//}}AFX_VIRTUAL
//{{AFX_MSG(CGetWebDllApp)
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
class CTearSession : public CInternetSession
{
public:
CTearSession(LPCTSTR pszAppName, int nMethod);
virtual void OnStatusCallback(DWORD dwContext, DWORD dwInternetStatus,
LPVOID lpvStatusInfomration, DWORD dwStatusInformationLen);
};
class CTearException : public CException
{
DECLARE_DYNCREATE(CTearException)
public:
CTearException(int nCode = 0);
~CTearException() { }
int m_nErrorCode;
};
#endif // !defined(AFX_GETWEBDLL_H__470FBE70_389E_11D5_A375_00105A6BCA62__INCLUDED_)

View File

@ -0,0 +1,122 @@
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
"#define _AFX_NO_OLE_RESOURCES\r\n"
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
"\r\n"
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
"#ifdef _WIN32\r\n"
"LANGUAGE 9, 1\r\n"
"#pragma code_page(1252)\r\n"
"#endif //_WIN32\r\n"
"#include ""afxres.rc"" // Standard components\r\n"
"#endif\r\n"
"\0"
END
/////////////////////////////////////////////////////////////////////////////
#endif // APSTUDIO_INVOKED
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE 9, 1
#pragma code_page(1252)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904B0"
BEGIN
VALUE "CompanyName", "\0"
VALUE "FileDescription", "GetWebDll DLL\0"
VALUE "FileVersion", "1, 0, 0, 1\0"
VALUE "InternalName", "GetWebDll\0"
VALUE "LegalCopyright", "Copyright (C) 2001\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename","GetWebDll.DLL\0"
VALUE "ProductName", "GetWebDll Dynamic Link Library\0"
VALUE "ProductVersion", "1, 0, 0, 1\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
#define _AFX_NO_SPLITTER_RESOURCES
#define _AFX_NO_OLE_RESOURCES
#define _AFX_NO_TRACKER_RESOURCES
#define _AFX_NO_PROPERTY_RESOURCES
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE 9, 1
#pragma code_page(1252)
#endif //_WIN32
#include "afxres.rc" // Standard components
#endif
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED

View File

@ -0,0 +1,14 @@
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
__declspec(dllexport) INT GetWebPage(LPSTR lpErrMsg,LPSTR lpFile,LPSTR lpCmdLine);
__declspec(dllexport) INT GetUserLogon(LPSTR lpUserName);
__declspec(dllexport) INT BrowseFile(HWND hwndOwner,LPSTR lpstrTitle,LPSTR lpFileFullName,INT fullsize);
#ifdef __cplusplus
}
#endif

View File

@ -0,0 +1,16 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by GETWEBDLL.RC
//
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 18000
#define _APS_NEXT_CONTROL_VALUE 18000
#define _APS_NEXT_SYMED_VALUE 18000
#define _APS_NEXT_COMMAND_VALUE 32771
#endif
#endif

View File

@ -0,0 +1,44 @@
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#if !defined(AFX_STDAFX_H__470FBE72_389E_11D5_A375_00105A6BCA62__INCLUDED_)
#define AFX_STDAFX_H__470FBE72_389E_11D5_A375_00105A6BCA62__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#ifndef _AFX_NO_OLE_SUPPORT
#include <afxole.h> // MFC OLE classes
#include <afxodlgs.h> // MFC OLE dialog classes
#include <afxdisp.h> // MFC Automation classes
#endif // _AFX_NO_OLE_SUPPORT
#ifndef _AFX_NO_DB_SUPPORT
#include <afxdb.h> // MFC ODBC database classes
#endif // _AFX_NO_DB_SUPPORT
#ifndef _AFX_NO_DAO_SUPPORT
#include <afxdao.h> // MFC DAO database classes
#endif // _AFX_NO_DAO_SUPPORT
#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h> // MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#include <afxinet.h>
#endif // !defined(AFX_STDAFX_H__470FBE72_389E_11D5_A375_00105A6BCA62__INCLUDED_)

View File

@ -0,0 +1,115 @@
# Microsoft Developer Studio Generated NMAKE File, Based on GetWebDll.dsp
!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE
NULL=nul
!ENDIF
OUTDIR=.
INTDIR=.
# Begin Custom Macros
OutDir=.
# End Custom Macros
ALL : "$(OUTDIR)\GetWebDll.dll"
CLEAN :
-@erase "$(INTDIR)\GetWebDll.pch"
-@erase "$(INTDIR)\GetWebDll.res"
-@erase "$(INTDIR)\*.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(OUTDIR)\GetWebDll.dll"
-@erase "$(OUTDIR)\GetWebDll.exp"
-@erase "$(OUTDIR)\GetWebDll.lib"
-@erase "$(OUTDIR)\GetWebDll.sbl"
-@erase "$(OUTDIR)\GetWebDll.pjt"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP=cl.exe
CPP_PROJ=/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_MBCS" /D "_USRDLL" /Fp"$(INTDIR)\GetWebDll.pch" /Yu"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
MTL=midl.exe
MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
RSC=rc.exe
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\GetWebDll.res" /d "NDEBUG"
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\GetWebDll.bsc"
BSC32_SBRS= \
LINK32=link.exe
LINK32_FLAGS=/nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\GetWebDll.pdb" /machine:I386 /def:".\GetWebDll.def" /out:"$(OUTDIR)\GetWebDll.dll" /implib:"$(OUTDIR)\GetWebDll.lib"
DEF_FILE= \
".\GetWebDll.def"
LINK32_OBJS= \
"$(INTDIR)\GetWebDll.obj" \
"$(INTDIR)\StdAfx.obj" \
"$(INTDIR)\GetWebDll.res"
"$(OUTDIR)\GetWebDll.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
!IF "$(NO_EXTERNAL_DEPS)" != "1"
!IF EXISTS("GetWebDll.dep")
!INCLUDE "GetWebDll.dep"
!ELSE
!MESSAGE Warning: cannot find "GetWebDll.dep"
!ENDIF
!ENDIF
SOURCE=.\GetWebDll.cpp
"$(INTDIR)\GetWebDll.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\GetWebDll.pch"
SOURCE=.\GetWebDll.rc
"$(INTDIR)\GetWebDll.res" : $(SOURCE) "$(INTDIR)"
$(RSC) $(RSC_PROJ) $(SOURCE)
SOURCE=.\StdAfx.cpp
CPP_SWITCHES=/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_MBCS" /D "_USRDLL" /Fp"$(INTDIR)\GetWebDll.pch" /Yc"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
"$(INTDIR)\StdAfx.obj" "$(INTDIR)\GetWebDll.pch" : $(SOURCE) "$(INTDIR)"
$(CPP) @<<
$(CPP_SWITCHES) $(SOURCE)
<<

View File

@ -89,11 +89,19 @@ $(AFSRM_EXEFILE): $(AFSRM_EXEOBJS) $(AFSRM_EXELIBS)
install : $(INSTALL_UTILS_DLLFILE) $(SERVER_UNINST_DLLFILE) $(CLIENT_UNINST_DLLFILE) \
$(CC_UNINST_DLLFILE) $(LIGHT_CLIENT_UNINST_DLLFILE) $(DOCS_UNINST_DLLFILE) \
$(AFSRM_EXEFILE) lang
cd _isuser
nmake -fntmakefile
$(CD) ..
cd getwebdll
nmake -fntmakefile
$(CD) ..
echo
lang ::
$(CD) lang
for /f %l in ('dir /B ??_??') do @$(NTLANG) %l $(MAKECMD) /nologo /f NTMakefile install
$(CD) ..
echo done lang
############################################################################
# How to build the shared source file for each uninstall dll
@ -156,7 +164,13 @@ $(DOCS_UNINST_DLLFILE) : d_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
############################################################################
clean::
$(CD) _isuser
nmake -fntmakefile clean
$(CD) ..
$(CD) getwebdll
nmake -fntmakefile clean
$(CD) ..
echo done clean
############################################################################
#

View File

@ -0,0 +1,188 @@
//Microsoft Developer Studio generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#define APSTUDIO_HIDDEN_SYMBOLS
#include "windows.h"
#undef APSTUDIO_HIDDEN_SYMBOLS
#include "sdrc.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
DLG_DRIVEPATH DIALOGEX 0, 0, 332, 218
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Select Local Drive Mapping"
FONT 8, "MS Sans Serif"
BEGIN
LTEXT "",52,0,0,332,36
LTEXT "Enable Assignment, choose drive letter and define AFS mount point path.",
901,17,41,289,19,SS_NOPREFIX
LTEXT "Map local drive letter to AFS mount point.",50,10,3,220,
8,0,WS_EX_TRANSPARENT
LTEXT "AFS service can map drive letters to AFS mount points.\nBoth Letters and mounts points can be configured!",
51,17,12,273,22,0,WS_EX_TRANSPARENT
CONTROL "",1301,"Static",SS_ETCHEDHORZ | WS_GROUP,0,36,332,1
DEFPUSHBUTTON "&Next >",SD_PBUT_CONTINUE,215,196,50,14
PUSHBUTTON "Cancel",SD_PBUT_CANCEL,272,196,50,14
PUSHBUTTON "< &Back",SD_PBUT_BACK,166,196,50,14
CONTROL "",SD_STA_IMAGE_2,"Static",SS_BLACKFRAME,54,185,268,1
LTEXT "",7,10,182,40,10,NOT WS_VISIBLE
COMBOBOX IDC_HOMEDRIVELIST,17,151,41,76,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_GROUP | WS_TABSTOP
GROUPBOX "Root Drive Assignment",IDC_STATIC,2,62,323,52,WS_GROUP
EDITTEXT IDC_HOMEPATH,66,151,258,12,ES_AUTOHSCROLL |
ES_OEMCONVERT | WS_GROUP
LTEXT "Drive",IDC_STATIC,17,139,17,8
LTEXT "Path",IDC_STATIC,66,139,15,8
COMBOBOX IDC_ROOTDRIVELIST,17,94,40,76,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_GROUP | WS_TABSTOP
GROUPBOX "Home Drive Assignment",IDC_STATIC,5,117,323,56,WS_GROUP
EDITTEXT IDC_ROOTPATH,66,94,254,12,ES_AUTOHSCROLL | ES_OEMCONVERT |
WS_GROUP
LTEXT "Drive",IDC_STATIC,17,84,17,8
LTEXT "Path",IDC_STATIC,66,84,15,8
LTEXT "@10550,10551;1;0;;0,128,128 ",1200,0,0,332,36,NOT
WS_VISIBLE,WS_EX_TRANSPARENT
PUSHBUTTON "C",3,21,200,25,12,NOT WS_VISIBLE | WS_GROUP | NOT
WS_TABSTOP
CONTROL "Enable Assigment",IDC_ENABLEROOT,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,5,72,71,10
CONTROL "Enable Assigment",IDC_ENABLEHOME,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,9,128,71,10
END
DLG_CELLSERVDB DIALOGEX 0, 0, 336, 228
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Select AFS Cell Data Base (afsdcell.ini)"
FONT 8, "MS Sans Serif"
BEGIN
LTEXT "",52,0,0,336,36
LTEXT "Select the data base from one of the following source locations.",
901,17,41,289,15,SS_NOPREFIX
LTEXT "Choose Source location:",50,10,3,220,8,0,
WS_EX_TRANSPARENT
LTEXT "AFS Cell Data Base contains the list of available AFS cells and their IP addresses.",
51,17,15,275,19,0,WS_EX_TRANSPARENT
CONTROL "",1301,"Static",SS_ETCHEDHORZ | WS_GROUP,0,36,336,1
DEFPUSHBUTTON "&Next >",SD_PBUT_CONTINUE,215,196,50,14
PUSHBUTTON "Cancel",SD_PBUT_CANCEL,272,196,50,14
PUSHBUTTON "< &Back",SD_PBUT_BACK,166,196,50,14
CONTROL "",SD_STA_IMAGE_2,"Static",SS_BLACKFRAME,54,185,268,1
LTEXT "",7,10,182,40,10,NOT WS_VISIBLE
LTEXT "@10550,10551;1;0;;0,128,128 ",1200,0,0,336,36,NOT
WS_VISIBLE,WS_EX_TRANSPARENT
PUSHBUTTON "C",3,21,200,25,12,NOT WS_VISIBLE | WS_GROUP | NOT
WS_TABSTOP
PUSHBUTTON "B&rowse...",IDC_BROWSE,262,160,46,14
GROUPBOX "Download from Web Address",IDC_STATIC,108,115,205,31
GROUPBOX "Select File",IDC_STATIC,108,150,205,31
EDITTEXT IDC_WEB,115,126,180,12,ES_AUTOHSCROLL | ES_OEMCONVERT |
WS_GROUP
GROUPBOX "Packaged Installation File",IDC_STATIC,108,87,205,23,
WS_GROUP
LTEXT "General.org",IDC_INSTALL,114,96,187,10
GROUPBOX "",IDC_STATIC,90,58,15,124,NOT WS_VISIBLE | WS_GROUP
CONTROL "",IDC_CHECK_INSTALL,"Button",BS_AUTORADIOBUTTON |
WS_GROUP,94,96,8,10
CONTROL "",IDC_CHECK_WEB,"Button",BS_AUTORADIOBUTTON | WS_GROUP,
94,125,8,10
CONTROL "",IDC_CHECK_BROWSEFILE,"Button",BS_AUTORADIOBUTTON |
WS_GROUP,94,160,8,10
CONTROL "",IDC_CHECK_PREVIOUSFILE,"Button",BS_AUTORADIOBUTTON |
WS_GROUP,94,70,8,10
LTEXT "",IDC_PREVIOUSFILE,114,71,189,8
GROUPBOX "Previous Installation",IDC_STATIC,108,58,205,26,
WS_GROUP
EDITTEXT IDC_BROWSEFILE,113,161,142,12,ES_AUTOHSCROLL
END
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
"#include ""windows.h""\r\n"
"#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
"#include ""sdrc.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
//10000 ICON DISCARDABLE "icon1.ico"
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE
BEGIN
DLG_CELLSERVDB, DIALOG
BEGIN
RIGHTMARGIN, 332
BOTTOMMARGIN, 218
END
END
#endif // APSTUDIO_INVOKED
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED

View File

@ -0,0 +1,9 @@
# Microsoft Developer Studio Generated Dependency File, included by _IsUser.mak
.\_isuser.c : \
"c:\program files\microsoft visual studio\vc98\include\basetsd.h"\
.\_Isuser.RC : \
".\SDRC.H"\

View File

@ -0,0 +1,21 @@
////////////////////////////////////////////////////////////////////////////////
//
// IIIIIII SSSSSS
// II SS InstallShield (R)
// II SSSSSS (c) 1996-2000, InstallShield Software Corporation
// II SS (c) 1990-1996, InstallShield Corporation
// IIIIIII SSSSSS All Rights Reserved.
//
//
////////////////////////////////////////////////////////////////////////////////
#define NOCOMM
#include <windows.h>
BOOL WINAPI DllMain( PVOID hmod, ULONG ulReason, PCONTEXT pctx )
{
return TRUE;
}

View File

@ -0,0 +1,100 @@
# Microsoft Developer Studio Generated NMAKE File, Based on _IsUser.dsp
!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE
NULL=nul
!ENDIF
OUTDIR=.
INTDIR=.
# Begin Custom Macros
OutDir=.
# End Custom Macros
ALL : "$(OUTDIR)\_IsUser.dll"
CLEAN :
-@erase "$(INTDIR)\_isuser.obj"
-@erase "$(INTDIR)\_Isuser.res"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(OUTDIR)\_IsUser.dll"
-@erase "$(OUTDIR)\_IsUser.exp"
-@erase "$(OUTDIR)\_IsUser.lib"
-@erase "$(OUTDIR)\*.pch"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
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
.c{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.c{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cpp{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
.cxx{$(INTDIR)}.sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
MTL=midl.exe
MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
RSC=rc.exe
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\_Isuser.res" /d "NDEBUG"
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\_IsUser.bsc"
BSC32_SBRS= \
LINK32=link.exe
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:no /pdb:"$(OUTDIR)\_IsUser.pdb" /machine:I386 /out:"$(OUTDIR)\_IsUser.dll" /implib:"$(OUTDIR)\_IsUser.lib"
LINK32_OBJS= \
"$(INTDIR)\_isuser.obj" \
"$(INTDIR)\_Isuser.res"
"$(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)"
SOURCE=.\_Isuser.RC
"$(INTDIR)\_Isuser.res" : $(SOURCE) "$(INTDIR)"
$(RSC) $(RSC_PROJ) $(SOURCE)

View File

@ -0,0 +1,38 @@
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by _IsUser.RC
//
#define IDC_HOMEPATH 301
#define IDC_ROOTPATH 302
#define IDC_HOMEDRIVELIST 1007
#define IDC_ROOTDRIVELIST 1008
#define IDC_ENABLEROOT 1010
#define IDC_ENABLEHOME 1011
#define IDC_INSTALL 1011
#define IDC_WEB 1016
#define IDC_CHECK_INSTALL 1018
#define IDC_CHECK_WEB 1019
#define IDC_CHECK_FILE 1020
#define IDC_CHECK_BROWSEFILE 1020
#define IDC_CHECK_DEFAULT 1021
#define IDC_CHECK_PREVIOUSFILE 1021
#define IDC_PREVIOUSFILE 1024
#define IDC_BROWSE 1025
#define IDC_BROWSEFILE 1026
#define DLG_TEMPLATE 13029
#define DLG_DRIVEPATH 13030
#define DLG_CELLSERVDB 13031
#define IDC_PATH 13032
#define IDC_STATIC -1
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NO_MFC 1
#define _APS_NEXT_RESOURCE_VALUE 104
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1028
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

File diff suppressed because it is too large Load Diff

View File

@ -271,6 +271,11 @@ Entry102=SERVER_GROUP_NAME
Entry103=CLIENT_GROUP_NAME
Entry104=CCENTER_GROUP_NAME
Entry105=LIGHT_GROUP_NAME
Entry106=CELLNAME_DEFAULT
Entry107=WELCOME_MESSAGE
Entry108=CELLSERVDB_WEB
Entry109=CELLSERVDB_INSTALL
Entry110=CELLSERVDB_CONFIGNAME
[CONFIGURING_AFS_CREDS]
Comment=
@ -432,3 +437,18 @@ Comment=
[LIGHT_GROUP_NAME]
Comment=
[CELLNAME_DEFAULT]
Comment=Default Cell name
[WELCOME_MESSAGE]
Comment=Display in Welcome Box
[CELLSERVDB_WEB]
Comment=Web address to load cellservdb
[CELLSERVDB_INSTALL]
Comment=Source file for installable Cellservdb
[CELLSERVDB_CONFIGNAME]
Comment=Cellservdb file name

View File

@ -1,40 +1,21 @@
[Client]
[Client:HKLM:SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]
Cell=S,CELLNAME_DEFAULT
(Default)=S,
---Comment---=
---FileGroup---=
HKLM0=Software\TransarcCorporation\AFS Client\CurrentVersion
HKLM1=Software\TransarcCorporation\AFS Client
HKLM2=Software\TransarcCorporation\AFS Client\1.0 4.01
HKLM3=SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon
HKCR0=CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}
HKLM4=SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters
HKCR1=CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32
HKLM5=SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider
HKCR2=*\shellex\ContextMenuHandlers\AFS Client Shell Extension
HKCR3=FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension
HKLM6=SYSTEM\CurrentControlSet\Services\NetBT\Parameters
[Client:HKCR:*\shellex\ContextMenuHandlers\AFS Client Shell Extension]
---Comment---=
(Default)=S,{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}
[Client:HKCR:CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32]
---Comment---=
(Default)=S,<TARGETDIR>\Client\Program\afs_shl_ext.dll
---Comment---=
ThreadingModel=S,Apartment
[Client:HKLM:SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]
Cell=S,
[Client:HKCR:*\shellex\ContextMenuHandlers\AFS Client Shell Extension]
(Default)=S,{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}
---Comment---=
(Default)=S,
[Client:HKLM:SYSTEM\CurrentControlSet\Services\NetBT\Parameters]
SMBDeviceEnabled=N,0
[Server:HKLM:System\CurrentControlSet\Services\EventLog\Application\AFS Service]
[WinNT_Client_NoUninstall:HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\File Manager\AddOns]
(Default)=S,
---Comment---=
EventMessageFile=S,<EVENT_MSG_DLL>
TypesSupported=N,7
AFS Client FME=S,<TARGETDIR>\Client\Program\afs_fme.dll
[Server]
---Comment---=
@ -42,109 +23,123 @@ TypesSupported=N,7
HKLM0=Software\TransarcCorporation\AFS Server\CurrentVersion
HKLM1=System\CurrentControlSet\Services\EventLog\Application\AFS Service
HKLM2=Software\TransarcCorporation\AFS Server
HKLM3=Software\TransarcCorporation\AFS Server\1.0 4.01
HKLM3=Software\TransarcCorporation\AFS Server\%1.%2 %3.%4
[WinNT_Client_NoUninstall:HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\File Manager\AddOns]
[Server:HKLM:System\CurrentControlSet\Services\EventLog\Application\AFS Service]
---Comment---=
(Default)=S,
AFS Client FME=S,<TARGETDIR>\Client\Program\afs_fme.dll
EventMessageFile=S,<EVENT_MSG_DLL>
TypesSupported=N,7
[Control_Center]
---Comment---=
---FileGroup---=
HKLM0=Software\TransarcCorporation\AFS Control Center\CurrentVersion
HKLM1=Software\TransarcCorporation\AFS Control Center
HKLM2=Software\TransarcCorporation\AFS Control Center\1.0 4.01
HKLM2=Software\TransarcCorporation\AFS Control Center\%1.%2 %3.%4
[Client:HKLM:Software\TransarcCorporation\AFS Client\1.0 4.01]
PatchLevel=N,401
BetaLevel=N,1
Revision=N,0
[Light_Client:HKLM:SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]
(Default)=S,
---Comment---=
Gateway=S,
[Client:HKLM:SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon]
---Comment---=
(Default)=S,
MajorVersion=N,1
Title=S,<CLIENT_TITLE>
InstallDateString=S,<INSTALL_DATE>
PathName=S,<TARGETDIR>\Client
Software Type=S,File System
MinorVersion=N,0
ReleaseType=S,<RELEASE_TYPE>
VersionString=S,1.0 4.01
Description=S,<CLIENT_DESC>
[Client_NoUninstall]
---Comment---=
---FileGroup---=
HKLM0=SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved
[Client:HKLM:SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon]
[Control_Center:HKLM:Software\TransarcCorporation\AFS Control Center]
(Default)=S,
---Comment---=
[Light_Client:HKLM:SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]
---Comment---=
(Default)=S,
Gateway=S,
[Control_Center:HKLM:Software\TransarcCorporation\AFS Control Center\1.0 4.01]
PatchLevel=N,401
BetaLevel=N,1
Revision=N,0
---Comment---=
(Default)=S,
MajorVersion=N,1
InstallDateString=S,<INSTALL_DATE>
PathName=S,<TARGETDIR>\Control Center
Software Type=S,File System
MinorVersion=N,0
ReleaseType=S,<RELEASE_TYPE>
VersionString=S,1.0 4.01
Description=S,AFS Control Center for Windows NT
[Client_NoUninstall:HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]
---Comment---=
(Default)=S,
{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}=S,AFS Client Shell Extension
(Default)=S,
---Comment---=
[Control_Center:HKLM:Software\TransarcCorporation\AFS Control Center]
---Comment---=
(Default)=S,
[Control_Center:HKLM:Software\TransarcCorporation\AFS Control Center\CurrentVersion]
PatchLevel=N,401
BetaLevel=N,1
[Server:HKLM:Software\TransarcCorporation\AFS Server\%1.%2 %3.%4]
Revision=N,0
---Comment---=
PatchLevel=N,%3%4
(Default)=S,
MajorVersion=N,1
---Comment---=
MajorVersion=N,%1
InstallDateString=S,<INSTALL_DATE>
PathName=S,<TARGETDIR>\Control Center
PathName=S,<TARGETDIR>\Server
BetaLevel=N,1
Software Type=S,File System
MinorVersion=N,0
MinorVersion=N,%2
ReleaseType=S,<RELEASE_TYPE>
VersionString=S,1.0 4.01
Description=S,AFS Control Center for Windows NT
VersionString=S,%5
Description=S,AFS Server for Windows NT
[Light_Client]
---Comment---=
---FileGroup---=
HKLM0=SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters
[Full_Client:HKLM:SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]
---Comment---=
[Control_Center:HKLM:Software\TransarcCorporation\AFS Control Center\CurrentVersion]
Revision=N,0
PatchLevel=N,%3%4
(Default)=S,
IsGateway=N,0
---Comment---=
MajorVersion=N,%1
InstallDateString=S,<INSTALL_DATE>
PathName=S,<TARGETDIR>\Control Center
BetaLevel=N,1
Software Type=S,File System
MinorVersion=N,%2
ReleaseType=S,<RELEASE_TYPE>
VersionString=S,%5
Description=S,AFS Control Center for Windows NT
[Server:HKLM:Software\TransarcCorporation\AFS Server]
---Comment---=
[Docs:HKLM:Software\TransarcCorporation\AFS Supplemental Documentation\%1.%2 %3.%4]
Revision=N,0
PatchLevel=N,%3%4
(Default)=S,
---Comment---=
MajorVersion=N,%1
InstallDateString=S,<INSTALL_DATE>
PathName=S,<TARGETDIR>\Documentation
BetaLevel=N,1
Software Type=S,File System
MinorVersion=N,%2
ReleaseType=S,<RELEASE_TYPE>
VersionString=S,%5
Description=S,AFS System Administration Documentation
[Full_Client:HKLM:SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]
(Default)=S,
---Comment---=
IsGateway=N,0
[Docs]
---Comment---=
---FileGroup---=
HKLM0=Software\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion
HKLM1=Software\TransarcCorporation\AFS Supplemental Documentation
HKLM2=Software\TransarcCorporation\AFS Supplemental Documentation\1.0 4.01
HKLM2=Software\TransarcCorporation\AFS Supplemental Documentation\%1.%2 %3.%4
[Server:HKLM:Software\TransarcCorporation\AFS Server]
(Default)=S,
---Comment---=
[Client]
---Comment---=
---FileGroup---=
HKLM0=Software\TransarcCorporation\AFS Client\CurrentVersion
HKLM1=Software\TransarcCorporation\AFS Client
HKLM2=Software\TransarcCorporation\AFS Client\%1.%2 %3.%4
HKCR0=CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}
HKLM3=SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon
HKCR1=CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32
HKLM4=SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters
HKCR2=*\shellex\ContextMenuHandlers\AFS Client Shell Extension
HKLM5=SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider
HKCR3=FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension
[Data]
Set0=Server
@ -156,122 +151,122 @@ Set5=Light_Client
Set6=Full_Client
Set7=Docs
[Client:HKLM:Software\TransarcCorporation\AFS Client\CurrentVersion]
PatchLevel=N,401
BetaLevel=N,1
[Docs:HKLM:Software\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion]
Revision=N,0
---Comment---=
PatchLevel=N,%3%4
(Default)=S,
MajorVersion=N,1
Title=S,<CLIENT_TITLE>
---Comment---=
MajorVersion=N,%1
InstallDateString=S,<INSTALL_DATE>
PathName=S,<TARGETDIR>\Client
PathName=S,<TARGETDIR>\Documentation
BetaLevel=N,1
Software Type=S,File System
MinorVersion=N,0
MinorVersion=N,%2
ReleaseType=S,<RELEASE_TYPE>
VersionString=S,1.0 4.01
Description=S,<CLIENT_DESC>
VersionString=S,%5
Description=S,AFS System Administration Documentation
[Full_Client]
---Comment---=
---FileGroup---=
HKLM0=SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters
[Docs:HKLM:Software\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion]
PatchLevel=N,401
BetaLevel=N,1
[Client:HKLM:Software\TransarcCorporation\AFS Client\CurrentVersion]
Revision=N,0
---Comment---=
PatchLevel=N,%3%4
(Default)=S,
MajorVersion=N,1
---Comment---=
Title=S,<CLIENT_TITLE>
MajorVersion=N,%1
InstallDateString=S,<INSTALL_DATE>
PathName=S,<TARGETDIR>\Documentation
PathName=S,<TARGETDIR>\Client
BetaLevel=N,1
Software Type=S,File System
MinorVersion=N,0
MinorVersion=N,%2
ReleaseType=S,<RELEASE_TYPE>
VersionString=S,1.0 4.01
Description=S,AFS System Administration Documentation
VersionString=S,%5
Description=S,<CLIENT_DESC>
[Server:HKLM:Software\TransarcCorporation\AFS Server\1.0 4.01]
PatchLevel=N,401
BetaLevel=N,1
Revision=N,0
[Client:HKLM:Software\TransarcCorporation\AFS Client]
(Default)=S,
---Comment---=
[WinNT_Client_NoUninstall:HKLM:SOFTWARE\Microsoft\Windows NT\Current Version\File Manager\AddOns]
---Comment---=
(Default)=S,
MajorVersion=N,1
InstallDateString=S,<INSTALL_DATE>
PathName=S,<TARGETDIR>\Server
Software Type=S,File System
MinorVersion=N,0
ReleaseType=S,<RELEASE_TYPE>
VersionString=S,1.0 4.01
Description=S,AFS Server for Windows NT
AFS Client FME=S,<TARGETDIR>\Client\Program\afs_fme.dll
[Client:HKLM:SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]
(Default)=S,
---Comment---=
(Default)=S,
Class=N,2
Name=S,TransarcAFSDaemon
ProviderPath=S,<LOGON_DLL>
AuthentProviderPath=S,<LOGON_DLL>
[WinNT_Client_NoUninstall:HKLM:SOFTWARE\Microsoft\Windows NT\Current Version\File Manager\AddOns]
(Default)=S,
---Comment---=
AFS Client FME=S,<TARGETDIR>\Client\Program\afs_fme.dll
[Client:HKLM:Software\TransarcCorporation\AFS Client]
---Comment---=
(Default)=S,
[WinNT_Client_NoUninstall]
---Comment---=
---FileGroup---=
HKLM0=SOFTWARE\Microsoft\Windows NT\CurrentVersion\File Manager\AddOns
[Docs:HKLM:Software\TransarcCorporation\AFS Supplemental Documentation\1.0 4.01]
PatchLevel=N,401
BetaLevel=N,1
Revision=N,0
[Client:HKCR:FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension]
(Default)=S,{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}
---Comment---=
(Default)=S,
MajorVersion=N,1
InstallDateString=S,<INSTALL_DATE>
PathName=S,<TARGETDIR>\Documentation
Software Type=S,File System
MinorVersion=N,0
ReleaseType=S,<RELEASE_TYPE>
VersionString=S,1.0 4.01
Description=S,AFS System Administration Documentation
[General]
Type=REGISTRYDATA
Version=1.00.000
[Client:HKCR:FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension]
[Client:HKLM:Software\TransarcCorporation\AFS Client\%1.%2 %3.%4]
Revision=N,0
PatchLevel=N,%3%4
(Default)=S,
---Comment---=
(Default)=S,{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}
Title=S,<CLIENT_TITLE>
MajorVersion=N,%1
InstallDateString=S,<INSTALL_DATE>
PathName=S,<TARGETDIR>\Client
BetaLevel=N,1
Software Type=S,File System
MinorVersion=N,%2
ReleaseType=S,<RELEASE_TYPE>
VersionString=S,%5
Description=S,<CLIENT_DESC>
[Server:HKLM:Software\TransarcCorporation\AFS Server\CurrentVersion]
PatchLevel=N,401
BetaLevel=N,1
Revision=N,0
---Comment---=
PatchLevel=N,%3%4
(Default)=S,
MajorVersion=N,1
---Comment---=
MajorVersion=N,%1
InstallDateString=S,<INSTALL_DATE>
PathName=S,<TARGETDIR>\Server
BetaLevel=N,1
Software Type=S,File System
MinorVersion=N,0
MinorVersion=N,%2
ReleaseType=S,<RELEASE_TYPE>
VersionString=S,1.0 4.01
VersionString=S,%5
Description=S,AFS Server for Windows NT
[Client:HKCR:CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}]
[Control_Center:HKLM:Software\TransarcCorporation\AFS Control Center\%1.%2 %3.%4]
Revision=N,0
PatchLevel=N,%3%4
(Default)=S,
---Comment---=
(Default)=S,AFS Client Shell Extension
MajorVersion=N,%1
InstallDateString=S,<INSTALL_DATE>
PathName=S,<TARGETDIR>\Control Center
BetaLevel=N,1
Software Type=S,File System
MinorVersion=N,%2
ReleaseType=S,<RELEASE_TYPE>
VersionString=S,%5
Description=S,AFS Control Center for Windows NT
[Docs:HKLM:Software\TransarcCorporation\AFS Supplemental Documentation]
---Comment---=
(Default)=S,
---Comment---=
[Client:HKCR:CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}]
(Default)=S,AFS Client Shell Extension
---Comment---=

View File

@ -23,6 +23,9 @@ copy "Script Files\setup.rul" .
copy "Setup Files\Uncompressed Files\Language Independent\OS Independent\setup.bmp" .
copy "Setup Files\Uncompressed Files\Language Independent\OS Independent\_isuser.dll" .
copy "Shell Objects\Default.shl" .\Default.shell
copy "String Tables\Default.shl" .

View File

@ -1,127 +1,30 @@
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
HOW TO SET THE AFS FOR WINDOWS VERSION INFORMATION
Set AFSPRODUCT_VERSION in the following files:
src\config\NTMakefile.i386_win95
src\config\NTMakefile.i386_nt40
DECIDE WHAT THE VERSION INFO SHOULD BE
The format of this variable should be
x.y.z.p or x.y.z p
First decide what the version information should be. There are
the following values that will need to be set:
x= major verson (1-9)
y= minor verson (1-9)
z.p= patch level z=(1-9) p=(1-99 or a-z)
MajorVersion
MinorVersion
PatchLevel
BetaLevel
ReleaseType
Title (called VersionString in the registry)
For example:
AFSPRODUCT_VERSION=1.1.1 a
AFSPRODUCT_VERSION=1.1.1.1
AFSPRODUCT_VERSION=1.1.101
AFSPRODUCT_VERSION=1.1.1a
MajorVersion is the first number in a dotted version scheme. For
example, if the version is 3.5, then MajorVersion is set to 3.
MinorVersion is the second number in a dotted version scheme. For
example, if the version is 3.5, then MinorVersion is set to 5.
PatchLevel is an integer number representing the patch level. If
the patch level is 4, then PatchLevel is set to 400. If the patch
level is 3.32, then PatchLevel is set to 332. The reason patch
numbers aren't just 1, 2, etc., is that they are currently set to
the cml configuration number of the build used to produce the patch.
We may later switch to just making the patch level a single digit,
in which case the PatchLevel value must be set to something big
enough so that in a comparison with the old patch levels, it will
evaluate as bigger. So if you want a patch level of 4, use a
PatchLevel setting of 400. If this is not a patch release, then
set PatchLevel to 0.
BetaLevel is an integer number representing the beta level. This is
just a way to have multiple beta releases. So if this is the first
beta release, set BetaLevel to 1. If this is not a beta release,
then set BetaLevel to 0.
ReleaseType is kind of redundant; it is set to the string "GA" if
this is a non-beta release and "Beta" if this is a beta release.
Title is the product version as a full string. So if this is
release 3.5 3.22, then Title is set to "3.5 3.22". If this is
3.6 Beta 2, then Title is set to "3.6 Beta 2".
Title is used when showing the version to the user, like, for
example, in the afs creds tool.
************************* NOTE ******************************
You MUST set all of these values correctly and in a consistent
manner from one release to the next so that the installer can
properly determine whether to perform upgrades, downgrades, or
reinstalls.
Look at the function CompareVersions in file setup.rul to see
how these values are used to make version info decisions.
These examples represent different forms of the same version.
However the version will be displayed to the user as they are shown!
SET THE VERSION IN THE INSTALLSHIELD FILES
You will need to edit the following InstallShield files:
value.shl:
This file contains all of the strings used by the program. Set
all of the following identifiers to the new version number:
TITLE_MAIN
UNINST_DISPLAY_NAME_CC
UNINST_DISPLAY_NAME_CLIENT
UNINST_DISPLAY_NAME_DOCS
UNINST_DISPLAY_NAME_LIGHT_CLIENT
UNINST_DISPLAY_NAME_SERVER
These identifiers below correspond to the version information
discussed in the first section above.
PRODUCT_VERSION_MAJOR
PRODUCT_VERSION_MINOR
PRODUCT_VERSION_PATCH_LEVEL
PRODUCT_VERSION_BETA_LEVEL
PRODUCT_VERSION_RELEASE_TYPE
PRODUCT_VERSION_TITLE
Default.rge:
This file contains information that will be written to the registry
at install time.
Change all occurances of the following to the proper verison info:
MajorVersion (set to same value as PRODUCT_VERSION_MAJOR in value.shl)
MinorVersion (set to same value as PRODUCT_VERSION_MINOR in value.shl)
PatchLevel (set to same value as PRODUCT_VERSION_PATCH_LEVEL in value.shl)
BetaLevel (set to same value as PRODUCT_VERSION_BETA_LEVEL in value.shl)
ReleaseType (set to same value as PRODUCT_RELEASE_TYPE in value.shl)
VersionString (set to same value as PRODUCT_VERSION_TITLE in value.shl)
Finally, change any string matching the form below to have the new verison
info:
HKLMn=Software\TransarcCorporation\Product Name\Version
For example, one such string may be:
HKLM2=Software\TransarcCorporation\AFS Control Center\3.5 3.32
To update the verison info to 3.6 patch 3, the string would change
to:
HKLM2=Software\TransarcCorporation\AFS Control Center\3.6 3
That's it! Build and test the thing, making sure that the version info
in the registry is correct for each app, and that upgrades of previous
versions, downgrades to previous versions from this version, and reinstalls
of this version work correctly.
If you're the poor sucker who had to do this, then I offer you my sympathy!

View File

@ -8,30 +8,61 @@
!INCLUDE ..\..\..\config\NTMakefile.$(SYS_NAME)
!INCLUDE ..\..\..\config\NTMakefile.version
# Install comments
# Don't use '=' in the following strings!
# WELCOMEMESSAGE=Display during installation process
# AFSBUILDCOMMENTS=Displayed in properity page for install file
# CELLSERVDB_CONFIGNAME = name of configuration file (ThisCell)
CELLSERVDB_CONFIGNAME=afsdcell.ini
WELCOMEMESSAGE=Default Configuration Information:\nBuild:*DatE* *TimE* Ver:$(AFSPRODUCT_VERSION)\nCellname:$(CELLNAME_DEFAULT)\nCellSrvDB:$(CELLSERVDB_INSTALL)
AFSBUILDCOMMENTS=Build:*DatE* *TimE* CellServDB:$(CELLSERVDB_INSTALL)
############################################################################
CELLSERVDB = $(DESTDIR)\root.client\usr\vice\etc\afsdcell.ini
$(CELLSERVDB): afsdcell.ini
copy $** $@
prep: $(CELLSERVDB) AFS_component_version_number.txt
prep: AFS_component_version_number.txt
$(DESTDIR)\bin\util_cr.exe } "$(AFSPRODUCT_VERSION)" ".\lang\en_US\valuee.shl"
$(DESTDIR)\bin\util_cr.exe } "$(AFSPRODUCT_VERSION)" "default.txt" "default.rge"
$(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\lang\en_US\value.shl" "[DATA] CELLSERVDB_CONFIGNAME=$(CELLSERVDB_CONFIGNAME)"
$(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\lang\en_US\value.shl" "[DATA] CELLNAME_DEFAULT=$(CELLNAME_DEFAULT)"
$(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\lang\en_US\value.shl" "[DATA] CELLSERVDB_INSTALL=$(CELLSERVDB_INSTALL)"
$(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\lang\en_US\value.shl" "[DATA] CELLSERVDB_WEB=$(CELLSERVDB_WEB)"
!IF "$(WELCOMEMESSAGE)" != ""
$(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\lang\en_US\value.shl" "[DATA] WELCOME_MESSAGE=$(WELCOMEMESSAGE)"
!ENDIF
! IF ((EXIST("$(ISWEB)")) &&("$(ISWEB)"!=""))
$(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\packageweb.pfw" "[Options] Version=$(AFSPRODUCT_VERSION)"
$(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\packageweb.pfw" "[Options] Comments=$(AFSBUILDCOMMENTS)"
$(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\packageweb.pfw" "[Options] ApplicationName=AFSforWindows"
$(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\packageweb.pfw" "[Options] Company=Open AFS"
! ENDIF
CreateISDirTree.bat
ScatterFiles.bat
CreateGeneratedFiles.bat
CompileScript.bat
$(COPY) $(DESTDIR)\WinInstall\Config\wininet.dll ".\Setup Files\Compressed Files\0009-English\Intel 32\."
$(COPY) $(DESTDIR)\WinInstall\Config\shlwapi.dll ".\Setup Files\Compressed Files\0009-English\Intel 32\."
$(COPY) ..\..\afs_setup_utils\_isuser\_isuser.dll ".\Setup Files\Compressed Files\0009-English\Intel 32\."
$(COPY) ..\..\afs_setup_utils\getwebdll\getwebdll.dll ".\Setup Files\Compressed Files\0009-English\Intel 32\."
$(COPY) $(DESTDIR)\WinInstall\Config\$(CELLSERVDB_INSTALL) ".\Setup Files\Compressed Files\0009-English\Intel 32\$(CELLSERVDB_CONFIGNAME)"
$(DESTDIR)\bin\util_cr.exe ~ "$(DESTDIR)\root.client\usr\vice\etc\$(CELLSERVDB_CONFIGNAME)"
$(DESTDIR)\bin\util_cr.exe ~ ".\Setup Files\Compressed Files\0009-English\Intel 32\_ISUSER.DLL"
$(DESTDIR)\bin\util_cr.exe ~ ".\Setup Files\Compressed Files\0009-English\Intel 32\shlwapi.DLL"
$(DESTDIR)\bin\util_cr.exe ~ ".\Setup Files\Compressed Files\0009-English\Intel 32\wininet.DLL"
$(DESTDIR)\bin\util_cr.exe ~ ".\Setup Files\Compressed Files\0009-English\Intel 32\GETWEBDLL.DLL"
build:
BuildSetup.bat
BuildSetup.bat
xcopy/s/e/y "Media\Transarc AFS\Disk Images\disk1\*.*" $(DESTDIR)\WinInstall
copy AFS_component_version_number.txt $(DESTDIR)\WinInstall\Version.txt
copy AFS_component_version_number.txt $(DESTDIR)\WinInstall\Version.txt
$(DEL) /q "Media\Transarc AFS\Disk Images\disk1\*.*"
!IF ((EXIST("$(ISWEB)")) &&("$(ISWEB)"!=""))
!IF ((EXIST("$(ISWEB)")) &&("$(ISWEB)"!=""))
! IF (!EXIST($(DESTDIR)\Wininstall\PackageWeb))
$(MKDIR) $(DESTDIR)\Wininstall\PackageWeb
! ENDIF
$(DEL) /q $(DESTDIR)\Wininstall\PackageWeb\*.*
$(ISWEB)\Pftwwiz.exe $(AFSROOT)\src\winnt\install\InstallShield5\PackageWeb.pfw -s -a
!ENDIF
$(DEL) /q $(DESTDIR)\Wininstall\PackageWeb\*.*
$(ISWEB)\Pftwwiz.exe $(AFSROOT)\src\winnt\install\InstallShield5\PackageWeb.pfw -s -a
!ENDIF
install: prep build

View File

@ -24,6 +24,7 @@ copy setup.rul "Script Files"
rem Only copy this file when NOT doing a WSPP build
if not defined AFSBLD_IS_WSPP copy setup.bmp "Setup Files\Uncompressed Files\Language Independent\OS Independent"
if not defined AFSBLD_IS_WSPP copy _isuser.dll "Setup Files\Uncompressed Files\Language Independent\OS Independent"
copy %AFSROOT%\DEST\root.server\usr\afs\bin\InstallUtils.dll "Setup Files\Compressed Files\Language Independent\OS Independent"
copy %AFSROOT%\DEST\root.server\usr\afs\bin\afs_setup_utils_*.dll "Setup Files\Compressed Files\Language Independent\OS Independent"

View File

@ -1,36 +1,41 @@
[Data]
DEFAULT_INSTALL_DIR=IBM\AFS
CELLNAME_DEFAULT=almaden.ibm.com
CELLSERVDB_CONFIGNAME=
CELLSERVDB_WEB=
CELLSERVDB_INSTALL=
WELCOME_MESSAGE=
NOTHING_SELECTED_MSG=You must select something to install before continuing.
DOWNGRADE_LIGHT_CLIENT_MSG=Downgrade AFS Light Client
SETUP_FINISHED_MSG=Setup has finished installing AFS® for Windows on your computer.
TITLE_MAIN=Open AFS for Windows 1.0 4.01
TITLE_MAIN=Open AFS for Windows %5
SEVERE_DIALOG_TITLE=Open AFS for Windows
UPGRADE_CLIENT_MSG=Upgrade AFS Client
PRODUCT_VERSION_MINOR=0
PRODUCT_VERSION_MINOR=%2
CONFIGURING_AFS_CLIENT_SERVICE=Configuring the AFS Client service
PRODUCT_NAME_CC=AFS Control Center
PRODUCT_NAME_SERVER=AFS Server
UPGRADE_CC_MSG=Upgrade AFS Control Center
DOWNGRADE_SERVER_MSG=Downgrade AFS Server
UNINST_DISPLAY_NAME_LIGHT_CLIENT=AFS Light 1.0 4.01
UNINST_DISPLAY_NAME_LIGHT_CLIENT=AFS Light %5
PRODUCT_NAME_LIGHT_CLIENT=AFS Light
ERROR_COMPONENT=Component:
COMPANY_NAME=TransarcCorporation
REINSTALL_CLIENT_MSG=Reinstall AFS Client
DOWNGRADE_CC_MSG=Downgrade AFS Control Center
UNINST_DISPLAY_NAME_DOCS=AFS Supplemental Documentation 1.0 4.01
UNINST_DISPLAY_NAME_DOCS=AFS Supplemental Documentation %5
UNINST_KEY_SERVER=AFS Server
VIEW_README_PROMPT_MSG=View the readme file
INSTALL_LIGHT_CLIENT_MSG=AFS Light Client
PRODUCT_VERSION_TITLE=1.0 4.01
UNINST_DISPLAY_NAME_CC=AFS Control Center 1.0 4.01
PRODUCT_VERSION_TITLE=%5
UNINST_DISPLAY_NAME_CC=AFS Control Center %5
ERROR_FILEGROUP=File Group:
ERROR_MOVEDATA=An error occurred during the move data process: %d
CONFIGURING_AFS_SERVER_SERVICE=Configuring the AFS Server service
CLIENT_DESC=AFS Client
SET_NETWORK_PROVIDER_ERROR=Unable to configure the AFS Client as a Network Provider.
PRODUCT_VERSION_MAJOR=1
UNINST_DISPLAY_NAME_SERVER=AFS Server 1.0 4.01
PRODUCT_VERSION_MAJOR=%1
UNINST_DISPLAY_NAME_SERVER=AFS Server %5
SETUPUTILS_NOT_FOUND=The file InstallUtils.dll could not be loaded. Setup cannot continue.
LIGHT_CLIENT_ALREADY_INSTALLED_MSG=AFS Light is already installed on this computer.
SETUP_TYPE_MSG=Select the AFS® for Windows products that you wish to install:
@ -68,13 +73,13 @@ UNINST_KEY_CC=AFS Control Center
UNINST_KEY_CLIENT=AFS Client
UPGRADE_DOCS_MSG=Upgrade AFS Supplemental Documentation
DOWNGRADE_PREP_MSG=Preparing to downgrade the %s. Please wait...this may be a lengthy process.
PRODUCT_VERSION_PATCH_LEVEL=401
PRODUCT_VERSION_PATCH_LEVEL=%3%4
NON_UPGRADABLE_SOFTWARE_INSTALLED_ERROR_MSG=Non-upgradable versions of this product are installed on your computer. These \nversions must be uninstalled before the current versions can be installed.
CANT_INSTALL_BOTH_CLIENTS_MSG=Please select only one of the AFS Clients to install. You cannot install both.
UNINST_KEY_LIGHT_CLIENT=AFS Light
UPGRADE_LIGHT_CLIENT_MSG=Upgrade AFS Light Client
UNINST_KEY_DOCS=AFS Supplemental Documentation
UNINST_DISPLAY_NAME_CLIENT=AFS Client 1.0 4.01
UNINST_DISPLAY_NAME_CLIENT=AFS Client %5
REINSTALL_DOCS_MSG=Reinstall AFS Supplemental Documentation
UPGRADE_PREP_MSG=Preparing to upgrade the %s. Please wait...this may be a lengthy process.
MUST_BE_AN_ADMIN_MSG=You must be a member of the local Administrators group on this Windows system in order to install this product.

File diff suppressed because it is too large Load Diff

View File

@ -5,8 +5,6 @@
# License. For details, see the LICENSE file in the top-level source
# directory or online at http://www.openafs.org/dl/license10.html
!INCLUDE ..\..\..\config\NTMakefile.$(SYS_NAME)
!INCLUDE ..\..\..\config\NTMakefile.version
OUTDIR = $(DESTDIR)\WinInstall
@ -16,7 +14,6 @@ OUTDIR = $(DESTDIR)\WinInstall
COMPONENTS = \
INSTALL.BAT \
afsd.pif \
cellservdb \
readme.RTF \
license.txt \
templet.reg \
@ -37,8 +34,8 @@ COMPONENTS = \
$(DESTDIR)\lib\win95\pthread.dll \
$(DESTDIR)\lib\afsrpc.dll
$(COMPONENTS)::
$(DESTDIR)\bin\util_cr.exe ~ $@ "Missing $@"
$(COMPONENTS)::
$(DESTDIR)\bin\util_cr.exe ~ $@
$(COPY) $@ $(DESTDIR)\WinInstall\.
!IF (EXIST(ISBUILD.MAK))
@ -57,6 +54,6 @@ clean ::
$(DEL) $(OUTDIR)\DiskIm~1\WebInstall\*
prep :
$(DESTDIR)\bin\util_cr.exe ~ "$(DESTDIR)\WinInstall\sock.vxd" "SOCK.VXD is missing from $(DESTDIR)\WinInstall\."
$(DESTDIR)\bin\util_cr.exe ~ "$(DESTDIR)\WinInstall\MMAP.vxd" "MMAP.VXD is missing from $(DESTDIR)\WinInstall\."
$(DESTDIR)\bin\util_cr.exe ~ "$(DESTDIR)\WinInstall\AFSD.EXE" "AFSD.EXE is missing from $(DESTDIR)\WinInstall\."
$(DESTDIR)\bin\util_cr.exe ~ "$(DESTDIR)\WinInstall\sock.vxd"
$(DESTDIR)\bin\util_cr.exe ~ "$(DESTDIR)\WinInstall\MMAP.vxd"
$(DESTDIR)\bin\util_cr.exe ~ "$(DESTDIR)\WinInstall\AFSD.EXE"

View File

@ -0,0 +1,22 @@
[InstallShield Silent]
Version=v6.00.000
File=Response File
[File Transfer]
OverwrittenReadOnly=NoToAll
[{EA711160-C786-11D3-A374-00105A6BCA4C}-DlgOrder]
Dlg0={EA711160-C786-11D3-A374-00105A6BCA4C}-SdWelcome-0
Count=3
Dlg1={EA711160-C786-11D3-A374-00105A6BCA4C}-SdAskDestPath-0
Dlg2={EA711160-C786-11D3-A374-00105A6BCA4C}-SprintfBox-0
[{EA711160-C786-11D3-A374-00105A6BCA4C}-SdWelcome-0]
Result=1
[{EA711160-C786-11D3-A374-00105A6BCA4C}-SdAskDestPath-0]
szDir=C:\afs cli
Result=1
[{EA711160-C786-11D3-A374-00105A6BCA4C}-SprintfBox-0]
Result=6

View File

@ -164,14 +164,27 @@ BOOL CAfs::Create(CString &msg,CString sCompName,PROCESS_INFORMATION &procInfo)
/*DETACHED_PROCESS |*/ CREATE_NEW_CONSOLE | HIGH_PRIORITY_CLASS /*NORMAL_PRIORITY_CLASS*/,
NULL, NULL, &m_startUpInfo, &procInfo);
LOG("AFSD Creation done - wait for notification");
if (!rc) {
msg.Format("Error creating AFS Client Console process, Status=0x%0x", GetLastError());
LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL
);
msg.Format("Error creating AFS Client Console process, Status=%s.",lpMsgBuf);
return FALSE;
}
LOG("AFSD Creation done - wait for notification");
WPARAM wp;
CWINAFSLOADAPP->WaitForEvent(logintime*1000,&wp,&msg);
switch (wp)
{
case AFS_EXITCODE_NORMAL:
// extract machine name for logon
@ -360,6 +373,7 @@ BOOL CAfs::StartExployer(CString &msg,const char *udrive)
int code;
WIN32_FIND_DATA FileData;
CString dir;
if ((udrive==NULL) || (strlen(udrive)==0)) return TRUE;
dir.Format("%s\\*",udrive);
HANDLE hFile= FindFirstFile(
dir, // file name

View File

@ -118,10 +118,6 @@ BOOL CChange::OnInitDialog()
szDrive[3]='*';
m_cDrive.SetCurSel(m_cDrive.FindString(0,szDrive));
}
if (stricmp(m_sDescription,"all")) return TRUE;
m_cPath.ModifyStyle(0,WS_DISABLED);
m_cShare.ModifyStyle(0,WS_DISABLED);
m_cAuto.ModifyStyle(0,WS_DISABLED);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
@ -159,8 +155,6 @@ BOOL CChange::IsValidSubmountName (LPCTSTR pszSubmount)
{
if (!*pszSubmount)
return FALSE;
if (stricmp(pszSubmount,"all")==0)
return FALSE; //disallow adding a share name of "all"
for ( ; *pszSubmount; ++pszSubmount)
{
if (!isprint(*pszSubmount))

View File

@ -48,7 +48,8 @@ RSC=rc.exe
HLPDIR= .\HELP
prep :
$(DESTDIR)\bin\util_cr.exe ~ "$(MSSDK)\Include\windows.h" "MSSDK must point to SDK include headers "
$(DESTDIR)\bin\util_cr.exe ~ "$(MSSDK)\Include\windows.h" "Enviornment variable MSSDK must point to SDK"
!IF "$(AFSDEV_BUILDTYPE)" == "FREE"
@ -76,7 +77,7 @@ CPP_PROJ=/nologo /MD /W3 /GX /O2 \
/D "NDEBUG" /D "_MFC" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_WINNT" /D "_AFXDLL" /D "ENCRIPT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\WinAfsLoad.res" $(AFSD_INC_MFC) /d "NDEBUG" /d "_AFXDLL"
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\WinAfsLoad.res" $(AFSD_INC_MFC) /d "AFSPRODUCT_VERSION=\"$(AFSPRODUCT_VERSION)\"" /d "NDEBUG" /d "_AFXDLL"
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(INTDIR)\WinAfsLoad.bsc"
BSC32_SBRS= \
@ -137,7 +138,7 @@ CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od \
/D "_DEBUG" /D "WIN32_LEAN_AND_MEAN" /D _WIN32_IE=0x0400 /D "TESTBUTTONS" /D "_MFC" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_WINNT" /D "_AFXDLL" /D "ENCRIPT" /D "NOKNOK" /Yu"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\WinAfsLoad.res" $(AFSD_INC_MFC) /d "_DEBUG" /d "_AFXDLL"
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\WinAfsLoad.res" $(AFSD_INC_MFC) /d "AFSPRODUCT_VERSION=\"$(AFSPRODUCT_VERSION)\"" /d "_DEBUG" /d "_AFXDLL"
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(INTDIR)\WinAfsLoad.bsc"
BSC32_SBRS= \

View File

@ -154,6 +154,7 @@ BOOL CWinAfsLoadApp::InitInstance()
// show userid: password: connect
CharLower(m_lpCmdLine);
m_bShowAfs=(strstr(m_lpCmdLine,"show")!=NULL);
m_bConnect=(strstr(m_lpCmdLine,"connect")!=NULL);
if (m_bLogWindow)
ShowLog(TRUE);
if (m_bLog)
@ -170,7 +171,7 @@ BOOL CWinAfsLoadApp::InitInstance()
{
cPassWord=(strstr(str,":"));
}
// BOOL bConnect=(strstr(m_lpCmdLine,"connect")!=NULL);
m_bNoID=(strstr(m_lpCmdLine,"noid")!=NULL);
if (m_hAfsLoadFinish) // SOME REASON THE WINDOW WAS NOT SHUT DOWN, SO LETES KILL IT
{

View File

@ -83,9 +83,7 @@ public:
UINT m_uEvent;
UINT m_uNotifyMessage;
WPARAM m_wParam;
#if NOKNOK
BOOL m_bNokNok;
#endif
BOOL m_bNoID;
//{{AFX_MSG(CWinAfsLoadApp)
//}}AFX_MSG

View File

@ -1,19 +1,16 @@
//generated resource script.
//Microsoft Developer Studio generated resource script.
//
/* 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 "resource.h"
// Generated Help ID header file
#define APSTUDIO_HIDDEN_SYMBOLS
//#include "resource.hm"
#undef APSTUDIO_HIDDEN_SYMBOLS
#define APSTUDIO_READONLY_SYMBOLS
// Microsoft Developer Studio generated Help ID include file.
// Used by WinAfsLoad.rc
//
#define HIDC_STATIC 0x80fcffff // IDD_SETTINGS
/////////////////////////////////////////////////////////////////////////////
@ -63,6 +60,7 @@ BEGIN
"LANGUAGE 9, 1\r\n"
"#pragma code_page(1252)\r\n"
"#endif //_WIN32\r\n"
"#include ""res\\WinAfsLoad.rc2"" // non-Microsoft Visual C++ edited resources\r\n"
"#include ""afxres.rc"" // Standard components\r\n"
"#endif\r\n"
"\0"
@ -265,7 +263,7 @@ END
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 2,0,0,0
PRODUCTVERSION 1,0,4,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -290,7 +288,7 @@ BEGIN
VALUE "OriginalFilename", "WinAfsLoad.EXE\0"
VALUE "PrivateBuild", "\0"
VALUE "ProductName", "WinAfsLoad Application\0"
VALUE "ProductVersion", "2, 0, 0, 0\0"
VALUE "ProductVersion", AFSPRODUCT_VERSION,"\0"
VALUE "SpecialBuild", "\0"
END
END
@ -493,6 +491,10 @@ BEGIN
IDH_ADD "HELP ADD"
IDH_CHANGE "Help Change"
IDH_MAIN "Help Main"
END
STRINGTABLE DISCARDABLE
BEGIN
IDM_CLEAR "Clear Window"
END
@ -532,6 +534,7 @@ LANGUAGE 9, 1
#pragma code_page(1252)
#endif //_WIN32
#include "afxres.rc" // Standard components
//#include "res\WinAfsLoad.rc2" // non-Microsoft Visual C++ edited resources
#endif
/////////////////////////////////////////////////////////////////////////////

View File

@ -333,6 +333,7 @@ BOOL CWinAfsLoadDlg::OnInitDialog()
LOG("ADVAPI32 %d.%d",(vernum>>16) & 0xff,vernum & 0xff);
m_pEncript = (CEncript *)new CEncript(this);
// initiallze AFS and setup Progress display
if (!m_cAfs.Init(this,msg))
HandleError(msg);
@ -341,7 +342,11 @@ BOOL CWinAfsLoadDlg::OnInitDialog()
EnableToolTips(TRUE);
m_bServiceIsActive=FALSE;
SetWindowText(AFSTITLE);
// Obtain Version String
CRegkey key(HKEY_LOCAL_MACHINE,"Software\\Open AFS\\AFS Control Center","CurrentVersion");
key.GetString("VersionString",m_VersionString,128);
msg.Format("%s %s",AFSTITLE,m_VersionString);
SetWindowText(msg);
UpdateData(TRUE);
@ -349,7 +354,6 @@ BOOL CWinAfsLoadDlg::OnInitDialog()
m_sComputername=compName;
m_sMountDisplay.Format("Connected Drives on Computer:%s",compName);
m_sUsername="";
m_bHomepath=FALSE;
CRect rect;
GetWindowRect(&m_OriginalRect);
m_cOptionLine.GetWindowRect(&rect);
@ -366,28 +370,41 @@ BOOL CWinAfsLoadDlg::OnInitDialog()
}
CHAR pLoginName[UNLEN + 1];
size=UNLEN;
if (GetUserName(pLoginName,&size))
m_sLoginName=pLoginName;
else
m_sLoginName="Bozo";
CString sUser,sPass;
RegPassword(sUser,sPass,TRUE);
if ((m_sUsername=="") || (m_sLoginName.IsEmpty()))
if (CWINAFSLOADAPP->m_bNoID)
{
m_sUsername=sUser;
CWnd *w=GetDlgItem(IDC_USERNAME);
w->EnableWindow(FALSE);
w=GetDlgItem(IDC_PASSWORD);
w->EnableWindow(FALSE);
w=GetDlgItem(IDC_SAVEUSERNAME);
w->EnableWindow(FALSE);
} else {
if (GetUserName(pLoginName,&size))
{
m_sLoginName=pLoginName;
} else
m_sLoginName="Bozo";
CString sUser,sPass;
RegPassword(sUser,sPass,TRUE);
if (m_sUsername=="")
{
m_sUsername=sUser;
}
if ((m_sUsername=="") && (m_sLoginName!="Bozo"))
{
m_sUsername=m_sLoginName;
}
if ((m_sPassword=="") || (m_sPassword.IsEmpty()))
{
m_sPassword=sPass;
}
if (m_sPassword.IsEmpty())
{
m_cSaveUsername.SetCheck(FALSE);
RegLastUser(m_sUsername,TRUE);
} else
m_cSaveUsername.SetCheck(TRUE);
}
if ((m_sPassword=="") || (m_sPassword.IsEmpty()))
{
m_sPassword=sPass;
}
if (m_sPassword.IsEmpty())
{
m_cSaveUsername.SetCheck(FALSE);
RegLastUser(m_sUsername,TRUE);
} else
m_cSaveUsername.SetCheck(TRUE);
// Initialize mount control list
m_pImagelist = new CImageList();
@ -621,13 +638,30 @@ void CWinAfsLoadDlg::OnSysCommand(UINT nID, LPARAM lParam)
BYTE *lpData=(BYTE *)new BYTE[rc];
if (GetFileVersionInfo(wdir,wHandle,rc,lpData))
{
VS_FIXEDFILEINFO *pver;
UINT len;
if (VerQueryValue(lpData,"\\",(PVOID *)&pver,&len))
{
dlgAbout.m_sVersion.Format("WinAFSload Version %d.%d.%d",(pver->dwProductVersionMS>>16) &0xff ,pver->dwProductVersionMS & 0xff,(pver->dwProductVersionLS>>16) &0xff );
struct TRANSLATION {
WORD langID; // language ID
WORD charset; // character set (code page)
};
CString msg;
TRANSLATION mTrans,* pTrans;
if (VerQueryValue(lpData,
"\\VarFileInfo\\Translation", (PVOID *)&pTrans, &len) && len >= 4) {
mTrans = *pTrans;
TRACE("code page = %d\n", mTrans.charset);
}
LPCTSTR pVal;
UINT iLenVal;
CString query;
query.Format(_T("\\StringFileInfo\\%04x%04x\\%s"),
mTrans.langID,
mTrans.charset,
_T("ProductVersion"));
if (VerQueryValue(lpData, (LPTSTR)(LPCTSTR)query,
(LPVOID*)&pVal, &iLenVal)) {
// dlgAbout.m_sVersion.Format("WinAFSload Version %s",pVal);
}
}
}
delete lpData;
}
dlgAbout.DoModal();
@ -721,17 +755,20 @@ void CWinAfsLoadDlg::OnConnect()
return;
}
CCancel cancel(m_bConnect,FALSE); //clear m_bConnect when connection done
if (m_sUsername.IsEmpty() || m_sPassword.IsEmpty())
if ( // if username is present then must have password
IsGetTokens()
&& (m_sPassword=="")
)
{
HandleError("You must enter a username and password!");
if (m_sUsername.IsEmpty()) m_cUsername.SetFocus();
else m_cPassword.SetFocus();
HandleError("You must enter a password!");
m_cPassword.SetFocus();
return;
}
CProgress progress(this,7);
progress.Next();
if (!m_cAfs.Create(msg,m_sComputername,m_procInfo))
{
progress.Finish();
HandleError(msg);
m_procInfo.hThread=0;
return;
@ -739,12 +776,13 @@ void CWinAfsLoadDlg::OnConnect()
// CWINAFSLOADAPP->m_sMsg contains the host name used for login
LOG("AFS Client Console started successfully [%s].",(const char *)m_sComputername);
CString sDrive;
// lets find the All
CString sKey;
int iMounted=-1;
for (int iItem=0;iItem<m_cMountlist.GetItemCount();iItem++)
{
sKey = m_cMountlist.GetItemText(iItem,COLSHARE);
if (stricmp(sKey,"all")!=0) continue;
if (stricmp(sKey,"all")!=0) continue; // lets find the All first
CString sAuto(m_cMountlist.GetItemText(iItem,COLAUTO));
if (sAuto!="*")
continue;
@ -754,34 +792,70 @@ void CWinAfsLoadDlg::OnConnect()
{
m_cMountlist.SetCheck(iItem,TRUE);
AddMenu(sDrive,sKey);
iMounted=iItem;
} else {
CString msg2;
m_cAfs.Shutdown(msg2);
m_procInfo.hThread=0;
msg2.Format("Connect can't continue: %s",msg);
progress.Finish();
HandleError(msg2);
return;
}
break;
}
if (stricmp(sKey,"all")!=0){
m_cAfs.Shutdown(msg);
m_procInfo.hThread=0;
msg="Connect can't continue, 'all' path not defined";
HandleError(msg);
return;
if (iMounted<0){
// Scan for any other connection
for (int iItem=0;iItem<m_cMountlist.GetItemCount();iItem++)
{
CString sAuto(m_cMountlist.GetItemText(iItem,COLAUTO));
if (sAuto!="*")
continue;
sDrive=m_cMountlist.GetItemText(iItem,COLDRIVE);
LOG("Connect %s %s",sDrive,sKey);
if (m_cAfs.Mount(msg,sDrive,sKey))
{
m_cMountlist.SetCheck(iItem,TRUE);
AddMenu(sDrive,sKey);
iMounted=iItem;
} else {
CString msg2;
m_cAfs.Shutdown(msg2);
m_procInfo.hThread=0;
msg2.Format("Connect can't continue: %s",msg);
progress.Finish();
HandleError(msg2);
return;
}
break;
}
}
progress.Next();
if (!m_cAfs.Authencate(msg,m_sUsername,m_sPassword))
if (IsGetTokens())
{
CString msg2;
m_cAfs.Dismount(msg2,sDrive,TRUE);
m_cMountlist.SetCheck(iItem,FALSE);
RemoveMenu(sDrive);
m_cAfs.Shutdown(msg2);
m_procInfo.hThread=0;
HandleError(msg);
return;
#if 0
if (iMounted<0) //have we mounted at least one drive
{
m_cAfs.Shutdown(msg);
m_procInfo.hThread=0;
msg="Connect can't continue, mountable drive not defined";
progress.Finish();
HandleError(msg);
return;
}
#endif
if (!m_cAfs.Authencate(msg,m_sUsername,m_sPassword))
{
CString msg2;
m_cAfs.Dismount(msg2,sDrive,TRUE);
m_cMountlist.SetCheck(iItem,FALSE);
RemoveMenu(sDrive);
m_cAfs.Shutdown(msg2);
m_procInfo.hThread=0;
progress.Finish();
HandleError(msg);
return;
}
}
progress.Next();
// scan through the list for any additional items to connect
@ -789,7 +863,7 @@ void CWinAfsLoadDlg::OnConnect()
for (iItem=0;iItem<m_cMountlist.GetItemCount();iItem++)
{
CString sKey(m_cMountlist.GetItemText(iItem,COLSHARE));
if (stricmp(sKey,"all")==0) continue;
if (iItem==iMounted) continue;
CString sAuto(m_cMountlist.GetItemText(iItem,COLAUTO));
if (sAuto!="*")
continue;
@ -1028,8 +1102,15 @@ void CWinAfsLoadDlg::UpdateConnect()
m_cConnect.Invalidate();
m_cCancel.SetWindowText("Cancel");
m_cCancel.Invalidate();
m_cAuthenicate.ModifyStyle(WS_DISABLED,0);
m_cAuthenicate.Invalidate();
if (!CWINAFSLOADAPP->m_bNoID)
{
m_cAuthenicate.ModifyStyle(WS_DISABLED,0);
if (IsGetTokens())
m_cAuthenicate.SetWindowText("ReAuthenicate");
else //tokens are not gotten; allow authenication
m_cAuthenicate.SetWindowText("Authenicate");
m_cAuthenicate.Invalidate();
}
m_trayIcon.SetConnectState(0);
return;
}
@ -1073,7 +1154,8 @@ void CWinAfsLoadDlg::OnTrayButton4()
OnSysCommand(IDM_EXPLORERAFS+64, 0);
}
#define MAXKEY (SHARENAMESIZE+1)*MAXSHARES
#define MAXDRIVESIZE (SHARENAMESIZE+5)*MAXSHARES
BOOL CWinAfsLoadDlg::ProfileData(BOOL put)
{
CString dINI;
@ -1106,7 +1188,6 @@ BOOL CWinAfsLoadDlg::ProfileData(BOOL put)
dptr=dblock+dused;
wsprintf(dptr,"%s=%s%s",sKey,sAuto,sDrive);
dused+=len;
if (stricmp(sKey,"all")==0) continue; //skip 'all' output
len=sKey.GetLength()+sPath.GetLength()+2;
if (sused+len>=scur)
sblock=(char *)realloc(sblock,(scur+=BLOCKSIZE));
@ -1121,91 +1202,41 @@ BOOL CWinAfsLoadDlg::ProfileData(BOOL put)
WritePrivateProfileSection("AFS Drivemounts",dblock,dINI);
delete dblock;
delete sblock;
} else {
char sKey[MAXKEY+2];
} else { //get
char sShare[SHARENAMESIZE+1];
CHAR sPath[MAX_PATH+1];
CHAR sDriveMount[MAXDRIVESIZE+2];
CHAR sDrive[DRIVESIZE+1];
CHAR sAuto[AUTOSIZE+1];
strcpy(sAuto," ");
int len;
CString path;
int keylen=GetPrivateProfileString("AFS Submounts", NULL, "", sKey, MAXKEY,tINI);
PCHAR pkey=sKey;
if (keylen>=MAXKEY)
{
CString msg;
msg.Format("Profile String Error - Too many entries (%d)",MAXSHARES);
HandleError(msg,TRUE);
return FALSE;
}
// lets scan for all and home first, we want to place them
// lets scan for all and home first, we want to place them first
//mode: 0=look for all, 1=look for home, 2=finish the rest
for(int mode=0;mode<3;mode++)
{
while (keylen>1)
int drivelen=GetPrivateProfileString("AFS Drivemounts", NULL, "", sDriveMount, MAXDRIVESIZE,dINI);
if (drivelen>=MAXDRIVESIZE)
{
switch (mode)
CString msg;
msg.Format("Profile String Error - Too many entries (%d)",MAXSHARES);
HandleError(msg,TRUE);
return FALSE;
}
PCHAR pDrivekey=sDriveMount;
while (drivelen>1)
{
if ((strlen(pDrivekey)==0) || (strlen(pDrivekey)>SHARENAMESIZE))
{
case 0: //we skip looking for all
break;
case 1:
if (stricmp(pkey,"home")!=0)
{
keylen-=(strlen(pkey)+1);
pkey+=(strlen(pkey)+1);
continue;
}
break;
default:
if((stricmp(pkey,"all")==0) || (stricmp(pkey,"home")==0))
{
keylen-=(strlen(pkey)+1);
pkey+=(strlen(pkey)+1);
continue;
}
break;
}
if (strlen(pkey)==0)
{
HandleError("Profile String Error - Empty key",FALSE);
HandleError("Profile String Error - AFS Drivemounts - Share Name",FALSE);
ret=FALSE;
keylen-=(strlen(pkey)+1);
continue;
break;
}
if (mode!=0)
strcpy(sShare,pDrivekey);
if (GetPrivateProfileString("AFS Drivemounts", sShare, "", sDrive, DRIVESIZE,dINI)==0)
{
if ((len=GetPrivateProfileString("AFS Submounts", pkey, "", sPath, MAX_PATH,tINI))==0)
{
CString msg;
msg.Format("Profile String Error on Submount key:%s",pkey);
HandleError(msg,FALSE);
ret=FALSE;
keylen-=(strlen(pkey)+1);
pkey+=(strlen(pkey)+1);
continue;
}
} else {
strcpy(sPath,"\\");
pkey="all";
}
*sDrive=0;
if ((len=GetPrivateProfileString("AFS Drivemounts", pkey, "", sDrive, DRIVESIZE,dINI))==0)
{
if ((stricmp("all",pkey)==0)||(stricmp("home",pkey)==0))
{// allow for no drive id on home
if (stricmp("home",pkey)==0)
strcpy(sDrive,"*U");
else
strcpy(sDrive,"*Z");
} else {
CString msg;
msg.Format("Profile String Error on Path key:%s",pkey);
HandleError(msg,TRUE);
ret=FALSE;
keylen-=(strlen(pkey)+1);
pkey+=(strlen(pkey)+1);
continue;
}
HandleError("Profile String Error - AFS Drivemounts - Drive Name",FALSE);
ret=FALSE;
break;
}
if (sDrive[0]=='*') //test for leading *
{
@ -1215,46 +1246,53 @@ BOOL CWinAfsLoadDlg::ProfileData(BOOL put)
} else
strcpy(sAuto," ");
sDrive[1]=0; //force to be single character
if (stricmp("home",pkey)==0) //force auto connect for home and all
{
m_bHomepath=TRUE;
}
strupr(sDrive);
if ((strlen(sDrive)!=1)||(strspn(sDrive,"ABCDEFGHIJKLMNOPQRSTUVWXYZ")==0))
if (strspn(sDrive,"DEFGHIJKLMNOPQRSTUVWXYZ")==0)
{
if (stricmp("home",pkey)==0)
strcpy(sDrive,"U");
else if (stricmp("all",pkey)==0)
strcpy(sDrive,"Z");
else
strcpy(sDrive,"");
HandleError("Profile String Error - AFS Drivemounts - Drive Letter",FALSE);
ret=FALSE;
break;
}
strcat(sDrive,":");
if (mode==0)
strcpy(sAuto,"*"); //no matter how it turns out 'all' is forced on.
AddToList(sDrive,sPath,pkey,sAuto);
if (mode<2) break;
keylen-=(strlen(pkey)+1);
pkey+=(strlen(pkey)+1);
}
switch (mode)
{
case 0:
if (keylen<=1) //we never found "all"
AddToList("Z:","\\","all","*");
keylen=GetPrivateProfileString("AFS Submounts", NULL, "", sKey, MAXKEY,tINI);
pkey=sKey;
break;
case 1:
if (keylen<=1) //we never found "home"
switch (mode)
{
case 0:
if (stricmp("all",sShare)!=0) break;
if (GetPrivateProfileString("AFS Submounts", sShare, "", sPath, MAX_PATH,tINI)==0)
{
strcpy(sPath,"/"); //none defined
}
AddToList(sDrive,sPath,sShare,sAuto);
drivelen=0;
continue;
case 1:
if (stricmp("home",sShare)!=0) break;
if (GetPrivateProfileString("AFS Submounts", sShare, "", sPath, MAX_PATH,tINI)==0)
{
HandleError("Profile String Error - AFS Drivemounts - Share Name",FALSE);
ret=FALSE;
break;
}
AddToList(sDrive,sPath,sShare,sAuto);
drivelen=0;
continue;
default:
if ((stricmp("all",sShare)==0)|| (stricmp("home",sShare)==0)) break;
if (GetPrivateProfileString("AFS Submounts", sShare, "", sPath, MAX_PATH,tINI)==0)
{
HandleError("Profile String Error - AFS Drivemounts - Share Name",FALSE);
ret=FALSE;
break;
}
AddToList(sDrive,sPath,sShare,sAuto);
break;
keylen=GetPrivateProfileString("AFS Submounts", NULL, "", sKey, MAXKEY,tINI);
pkey=sKey;
break;
default:
break;
}
drivelen-=(strlen(pDrivekey)+1);
pDrivekey+=(strlen(pDrivekey)+1);
}
}
}
return ret;
}
@ -1359,11 +1397,13 @@ void CWinAfsLoadDlg::OnRemove()
HandleError("You cannot remove Item from the list while connected!");
continue;
}
#if 0
if (stricmp(m_cMountlist.GetItemText(nItem,COLSHARE),"all")==0)
{
HandleError("You cannot remove 'All' Item from the list!");
continue;
}
#endif
m_cMountlist.DeleteItem(nItem);
}
ProfileData(TRUE);
@ -1686,16 +1726,31 @@ void CWinAfsLoadDlg::OnAuthenicate()
m_nShown=0;
m_cAuthWarn.ShowWindow(SW_HIDE);
LOG("Re-Authenication");
if (m_sUsername=="")
{
HandleError("You must enter a user name!");
m_cUsername.SetFocus();
return;
}
if (m_sPassword=="")
{
HandleError("You must enter a password!");
m_cPassword.SetFocus();
return;
}
if (!m_cAfs.Authencate(msg,m_sUsername,m_sPassword))
{
HandleError(msg);
return;
}
m_cAuthenicate.SetWindowText("ReAuthenicate");
m_cAuthenicate.Invalidate();
if (!m_cSaveUsername.GetCheck())
{
m_sPassword.Empty();
UpdateData(FALSE);
}
}

View File

@ -37,6 +37,7 @@ public:
void OnShowAddMenus();
LRESULT OnNotifyReturn(WPARAM wParam, LPARAM lParam);
LRESULT OnAfsEvent(WPARAM wParam, LPARAM lParam);
BOOL IsGetTokens(){return (!CWINAFSLOADAPP->m_bNoID) && (m_sUsername!="");}
// Dialog Data
//{{AFX_DATA(CWinAfsLoadDlg)
@ -72,6 +73,7 @@ public:
// Implementation
protected:
CString m_VersionString;
CAfs m_cAfs;
CTrayIcon m_trayIcon; // my tray icon
HICON m_hIcon;

View File

@ -13,13 +13,14 @@
#define DOSTITLEFINISH "Finished - AFS Client Console"
#define APPTITLE "AFS"
#define APPTITLEFINISH "Finished - AFSD"
#ifdef _DEBUG
#define CMDLINE "AFSD.PIF -startup"
//#define CMDLINE ".//debug//AFSD.EXE -startup"
#else
#ifdef DEV_IDE
#ifdef _DEBUG
#define CMDLINE "AFSD.EXE -startup"
//#define CMDLINE "AFSD.PIF -startup"
//#define CMDLINE "AFSD.EXE"
#else
#define CMDLINE ".//release//AFSD.EXE -startup"
#endif
#else
#define CMDLINE "AFSD.PIF -startup"
#endif
#ifndef __CAFS__

View File

@ -65,6 +65,9 @@ idirs: doclink
! IF (!EXIST($(DESTDIR)\WinInstall))
$(MKDIR) $(DESTDIR)\WinInstall
! ENDIF
! IF (!EXIST($(DESTDIR)\WinInstall\Config))
$(MKDIR) $(DESTDIR)\WinInstall\Config
! ENDIF
! IF (!EXIST($(DESTDIR)\root.server))
$(MKDIR) $(DESTDIR)\root.server
! ENDIF
@ -89,6 +92,7 @@ idirs: doclink
! IF (!EXIST($(DESTDIR)\root.client\usr\vice\etc))
$(MKDIR) $(DESTDIR)\root.client\usr\vice\etc
! ENDIF
$(COPY) AFSCONFIG-WINDOWS.H $(DESTDIR)\include\afs\.
INCCOPY = \
$(DESTDIR)\bin\rmbat.bat \

View File

@ -36,6 +36,12 @@
APPVER = 4.0
!ENDIF
#define used in WinNT/2000 installation and program version display
AFSPRODUCT_VERSION=1.1.1 a
CELLNAME_DEFAULT=Your Cell Name
CELLSERVDB_INSTALL=CellServDB.GrandCentral
CELLSERVDB_WEB=http://grand.central.org/dl/cellservdb/CellServDB
!IFNDEF TARGETOS
TARGETOS = WINNT
!ENDIF

View File

@ -36,6 +36,12 @@
APPVER = 4.0
!ENDIF
#define used in Win9x installation and program version display
AFSPRODUCT_VERSION=1.1.1 a
CELLNAME_DEFAULT=Your Cell Name
CELLSERVDB_INSTALL=CellServDB.GrandCentral
CELLSERVDB_WEB=http://grand.central.org/dl/cellservdb/CellServDB
!IFNDEF TARGETOS
TARGETOS = WIN95
#TARGETOS = WINNT

View File

@ -0,0 +1,223 @@
/* src/config/afsconfig.h.in. Generated automatically from configure.in by autoheader. */
/* Modified for Win2000 build*/
/* Define if on AIX 3.
System headers sometimes define this.
We just want to avoid a redefinition error message. */
#ifndef _ALL_SOURCE
#undef _ALL_SOURCE
#endif
/* Define to empty if the keyword does not work. */
#undef const
/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
#undef HAVE_SYS_WAIT_H
/* Define as __inline if that's what the C compiler calls it. */
#define inline __inline
/* Define if on MINIX. */
#undef _MINIX
/* Define to `int' if <sys/types.h> doesn't define. */
#undef pid_t
/* Define if the system does not provide POSIX.1 features except
with this defined. */
#undef _POSIX_1_SOURCE
/* Define if you need to in order for stat and other things to work. */
#undef _POSIX_SOURCE
/* Define as the return type of signal handlers (int or void). */
#undef RETSIGTYPE
/* Define to `unsigned' if <sys/types.h> doesn't define. */
//#undef size_t unsigned int
/* Define if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define if lex declares yytext as a char * by default, not a char[]. */
#undef YYTEXT_POINTER
/* Define if you have the connect function. */
#undef HAVE_CONNECT
/* Define if you have the getdtablesize function. */
#undef HAVE_GETDTABLESIZE
/* Define if you have the gethostbyname function. */
#define HAVE_GETHOSTBYNAME
/* Define if you have the random function. */
#define HAVE_RANDOM
/* Define if you have the re_comp function. */
#undef HAVE_RE_COMP
/* Define if you have the re_exec function. */
#undef HAVE_RE_EXEC
/* Define if you have the res_search function. */
#undef HAVE_RES_SEARCH
/* Define if you have the snprintf function. */
#undef HAVE_SNPRINTF
/* Define if you have the socket function. */
#define HAVE_SOCKET
/* Define if you have the srandom function. */
#undef HAVE_SRANDOM
/* Define if you have the utimes function. */
#define HAVE_UTIMES
/* Define if you have the <direct.h> header file. */
#undef HAVE_DIRECT_H
/* Define if you have the <dirent.h> header file. */
#undef HAVE_DIRENT_H
/* Define if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H
/* Define if you have the <io.h> header file. */
#define HAVE_IO_H
/* Define if you have the <malloc.h> header file. */
#define HAVE_MALLOC_H
/* Define if you have the <mntent.h> header file. */
#undef HAVE_MNTENT_H
/* Define if you have the <ndir.h> header file. */
#undef HAVE_NDIR_H
/* Define if you have the <netdb.h> header file. */
#undef HAVE_NETDB_H
/* Define if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H
/* Define if you have the <security/pam_modules.h> header file. */
#undef HAVE_SECURITY_PAM_MODULES_H
/* Define if you have the <siad.h> header file. */
#undef HAVE_SIAD_H
/* Define if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H
/* Define if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H
/* Define if you have the <string.h> header file. */
#define HAVE_STRING_H
/* Define if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define if you have the <sys/dir.h> header file. */
#undef HAVE_SYS_DIR_H
/* Define if you have the <sys/fcntl.h> header file. */
#define HAVE_SYS_FCNTL_H
/* Define if you have the <sys/file.h> header file. */
#undef HAVE_SYS_FILE_H
/* Define if you have the <sys/fs_types.h> header file. */
#undef HAVE_SYS_FS_TYPES_H
/* Define if you have the <sys/mntent.h> header file. */
#undef HAVE_SYS_MNTENT_H
/* Define if you have the <sys/mnttab.h> header file. */
#undef HAVE_SYS_MNTTAB_H
/* Define if you have the <sys/mount.h> header file. */
#undef HAVE_SYS_MOUNT_H
/* Define if you have the <sys/ndir.h> header file. */
#undef HAVE_SYS_NDIR_H
/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
/* Define if you have the <sys/vfs.h> header file. */
#undef HAVE_SYS_VFS_H
/* Define if you have the <termios.h> header file. */
#undef HAVE_TERMIOS_H
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define if you have the <usersec.h> header file. */
#undef HAVE_USERSEC_H
/* Define if you have the <windows.h> header file. */
#define HAVE_WINDOWS_H
/* Define if you have the <winsock2.h> header file. */
#define HAVE_WINSOCK2_H
/* Name of package */
#undef PACKAGE
/* Version number of package */
#undef VERSION
/* define if target is big endian */
#undef WORDS_BIGENDIAN
/* define if sys/param.h defines the endiness */
#undef ENDIANESS_IN_SYS_PARAM_H
/* define if struct ufsvfs has vfs_dqrwlock */
#undef HAVE_VFS_DQRWLOCK
#undef PACKAGE
#undef VERSION
#define RCSID(msg) \
static /**/const char *const rcsid[] = { (char *)rcsid, "\100(#)" msg }
#undef HAVE_CONNECT
//#undef HAVE_GETHOSTBYNAME
#undef HAVE_RES_SEARCH
//#undef HAVE_SOCKET
#if ENDIANESS_IN_SYS_PARAM_H
# ifndef KERNEL
# include <sys/types.h>
# include <sys/param.h>
# if BYTE_ORDER == BIG_ENDIAN
# define WORDS_BIGENDIAN 1
# endif
# endif
#endif
#undef AFS_AFSDB_ENV
#undef AFS_NAMEI_ENV
#undef BOS_RESTRICTED_MODE
#undef FAST_RESTART
#undef BITMAP_LATER
#undef INODE_SETATTR_NOT_VOID
#undef STRUCT_INODE_HAS_I_BYTES
#undef STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK
/* glue for RedHat kernel bug */
#undef ENABLE_REDHAT_BUILDSYS
#if defined(ENABLE_REDHAT_BUILDSYS) && defined(KERNEL) && defined(REDHAT_FIX)
#include "redhat-fix.h"
#endif

View File

@ -15,14 +15,20 @@
#include "process.h"
#include "windows.h"
#include "malloc.h"
#include "time.h"
void usuage()
{
printf("util_cr file ;remove cr (from crlf)\n\
OR util_cr } ProductVersion in_filename out_filename ; substitute for %1-%5 in file\n\
%1=Major version, %2=Minor version, %3=Patch(first digit) %4=(last two digits) %5=Version display string \n\
ProductVersion=maj.min.pat.pat2 ;maj=numeric, min=numeric pat,pat2 are not more than 3 digits or 1-2 digits and one alpha \n\
e.g 1.0.4.1, 1.0.4 a 1.0.401, 1.0.4a all represent the same version\n\
OR util_cr + file ;add cr\n \
OR util_cr * \"+[register key value] x=y\" ; add register key value\n\
OR util_cr * \"-[register key value]\" ; aremove register key value\n\
OR util_cr & file.ini \"SectionKey=value\" ; update ini-ipr-pwf file\n\
OR util_cr @ file.ini \"[SectionKey]variable=value\" ; update ini-ipr-pwf file\n\
OR util_cr @ file.ini \"[SectionKey]variable=value*DatE*\" ; update ini-ipr-pwf file, insert date\n\
OR util_cr ~ ;force error\n");
exit(0xc000);
}
@ -97,15 +103,151 @@ int main(int argc, char* argv[])
int l,i;
char **pvar,*ch;
long len;
typedef char * CHARP;
typedef char * CHARP;
if (argc<3)
usuage();
if (strcmp(argv[1],"}")==0)
{
char v1[4],v2[4],v3[4],v4[4];
char v5[132];
char *ptr=NULL;
char *buf;
int maj;
int min;
int pat,pat2;
strcpy(v5,argv[2]);
if (argc<5)
usuage();
if ((ptr=strtok(argv[2],". \n"))==NULL)
return 0;
maj=atoi(ptr);
if ((ptr=strtok(NULL,". \n"))==NULL)
return 0;
min=atoi(ptr);
if ((ptr=strtok(NULL,". \n"))==NULL)
return 0;
pat2=-1;
switch (strlen(ptr))
{
case 0:
usuage();
case 1:
pat=atoi(ptr);
if (isdigit(*ptr)!=0)
break;
usuage();
case 2: //ONLY 1.0.44 is interpreted as 1.0.4.4 or 1.0.4a as 1.0.4.a
if (isdigit(*ptr)==0)
usuage();
pat=*ptr-'0';
ptr++;
if (isalpha(*ptr)==0)
{
pat2=atoi(ptr);
} else if (isalpha(*ptr)!=0)
{
pat2=tolower(*ptr)-'a'+1;
} else
usuage();
break;
case 3://1.0.401 or 1.0.40a are the same;
if ((isdigit(*ptr)==0) // first 2 must be digit
|| (isdigit(*(ptr+1)==0))
|| (*(ptr+1)!='0' && isdigit(*(ptr+2))==0) // disallow 1.0.4b0 or 1.0.41a
)
usuage();
pat=*ptr-'0';
ptr++;
pat2=atoi(ptr);
ptr++;
if (isalpha(*ptr))
pat2=tolower(*ptr)-'a'+1;
break;
default:
usuage();
}
// last can be 1-2 digits or one alpha (if pat2 hasn't been set)
if ((ptr=strtok(NULL,". \n"))!=NULL)
{
if (pat2>=0)
usuage();
switch (strlen(ptr))
{
case 1:
pat2=(isdigit(*ptr))?atoi(ptr):tolower(*ptr)-'a'+1;
break;
case 2:
if (
isdigit(*ptr)==0
|| isdigit(*(ptr+1))==0
)
usuage();
pat2=atoi(ptr);
default:
usuage();
}
}
file=fopen(argv[3],"r");
if (file==NULL)
usuage();
len=filelength(_fileno(file));
buf=(char *)malloc(len+1);
len=fread(buf,sizeof(char),len,file);
buf[len]=0; //set eof
fclose(file);
file=fopen(argv[4],"w");
if (file==NULL)
usuage();
sprintf(v1,"%i",maj);
sprintf(v2,"%i",min);
sprintf(v3,"%i",pat);
sprintf(v4,"%02i",pat2);
while (1)
{
ptr=strstr(buf,"%");
fwrite(buf,1,(ptr)?ptr-buf:strlen(buf),file); //write file if no % found or up to %
if (ptr==NULL)
break;
switch (*(ptr+1)) //skip first scan if buf="1...."
{
case '1':
fwrite(v1,1,strlen(v1),file);
ptr++;
break;
case '2':
fwrite(v2,1,strlen(v2),file);
ptr++;
break;
case '3':
fwrite(v3,1,strlen(v3),file);
ptr++;
break;
case '4':
fwrite(v4,1,strlen(v4),file);
ptr++;
break;
case '5':
fwrite(v5,1,strlen(v5),file);
ptr++;
break;
default:
fwrite("%",1,1,file); //either % at end of file or no %1...
break;
}
buf=ptr+1;
}
fclose(file);
return 0;
}
if (strcmp(argv[1],"~")==0)
{ //check for file presence
if (fopen(argv[2],"r"))
return(0);
printf("Error---%s\n",argv[3]);
{ //check for file presence
if (fopen(argv[2],"r"))
return(0);
if(argc<4)
printf("ERROR --- File not present %s\n",argv[2]);
else
printf("Error---%s\n",argv[3]);
exit(0xc000);
}
if (strcmp(argv[1],"*")==0)
@ -149,31 +291,62 @@ int main(int argc, char* argv[])
}
return 0;
}
if (strcmp(argv[1],"&")==0)
if (strcmp(argv[1],"@")==0)
{
char msg[256],msgt[256];
char *ptr;
if (argc<4)
usuage();
for (i=3;argc>=4;i++)
{
char *ssect=strtok(argv[i],"[");
char *skey=strtok(argv[i],"]");
char *ssect=strstr(argv[i],"[");
char *skey=strstr(ssect,"]");
char *sval;
skey=strtok(NULL,"=");
if ((ssect==NULL) || (skey==NULL))
{
printf("format error parameter %s\n",argv[i]);
exit(0xc000);
}
while(*skey==' ')
skey++;
sval=strtok(NULL,"=");
ssect++;
*skey=0;
if ((strlen(skey+1)==0)||(strlen(ssect)==0))
{
printf("format error parameter %s\n",argv[i]);
exit(0xc000);
}
while(*++skey==' ');
sval=strstr(skey,"=");
if (sval==NULL)
{
printf("format error parameter %s\n",argv[i]);
exit(0xc000);
}
// printf("parameters %s %s %s %s\n",ssect,skey,sval,argv[2]);
ptr=sval;
while(*--ptr==' ') ;
*(ptr+1)=0;
while(*++sval==' ') ;
if (ptr=strstr(sval,"*DatE*"))
{// ok so lets substitute date in this string;
char tmpbuf[32];
*(ptr)=0;
strcpy(msg,sval);
_tzset();
_strdate( tmpbuf );
strcat(msg,tmpbuf);
strcat(msg,ptr+6);
sval=msg;
}
if (ptr=strstr(sval,"*TimE*"))
{
char tmpbuf[32];
*(ptr)=0;
strcpy(msgt,sval);
_strtime( tmpbuf );
strncat(msgt,tmpbuf,5);
strcat(msgt,ptr+6);
sval=msgt;
}
if (WritePrivateProfileString(ssect,skey,sval,argv[2])==0)
{
LPVOID lpMsgBuf;

View File

@ -190,6 +190,7 @@ EXELIBS = \
$(DESTDIR)\lib\afs\afsreg.lib \
$(DESTDIR)\lib\afs\afsprocmgmt.lib \
$(DESTDIR)\lib\afs\afseventlog.lib \
$(DESTDIR)\lib\afs\afsutil.lib \
$(DESTDIR)\lib\pthread.lib
$(EXEFILE): $(EXEOBJS) $(EXELIBS)