29 Commits

Author SHA1 Message Date
Jeffrey Altman
18fde45d13 kfw-thread-safety-20040315
Add a mutex semaphore around the kfw initialization code to prevent
multiple threads from attempting to initialize simultaneously.
2004-03-16 04:32:45 +00:00
Jeffrey Altman
04f4e98494 registry-call-optimizations-20040313
Do not read the same value from the registry three times in
the same function.
2004-03-13 18:28:39 +00:00
Jeffrey Altman
91dac9e5b5 afscreds-unmap-command-line-option-20040308
Add -z option to afscreds.exe which is called from the installer
to unmap the drive shares when uninstalling OpenAFS.
2004-03-09 03:06:32 +00:00
Jeffrey Altman
1e97e0dcab kfw-not-installed-bug-20040308
* Remove attempt to free a krb5_context when KFW is not installed.
2004-03-09 02:00:18 +00:00
Jeffrey Altman
4c29d90830 long-lifetimes-20040308
Add long kerberos 4 ticket lifetime support
2004-03-08 14:02:50 +00:00
Jeffrey Altman
e0461bfb37 kfw-changes-20040307
* Increase debugging of the KFW code;

* Remove the krb5_cc_remove_creds
2004-03-08 02:23:34 +00:00
Jeffrey Altman
13c71ca0d3 lanahelper-library-20040305
* at my request Asanka Hearth of MIT ripped out all of the code used
  the compute the Netbios Name of the SMB Server and the mountRoot
  and constructed one commonly used library called lanahelper.lib.
  This library is now constructed in the WINNT/afsd directory and
  used throughout the tree.  At least we now have consistency if
  nothing else.
2004-03-05 23:09:18 +00:00
Jeffrey Altman
c5689df286 fix-service-start-permissions-20040302
When merging the Skyrope changes I forgot to specify the SERVICE_START
privilege necessary to allow the -N option to work.
2004-03-02 15:41:43 +00:00
Jeffrey Altman
f0f49b80b0 afscreds-shortcut-params-20040227
Obtain Shortcut Parameters from Registry Key

   {HKLM, HKCU}\SOFTWARE\OpenAFS\Client
	(REG_SZ) AfscredsShortcutParams
   Default value is "-A -M -N -Q" if not found
2004-02-28 06:26:05 +00:00
Jeffrey Altman
4d9e419c8c enablekfw-part2-20040227
Current User should have priority over Local Machine
2004-02-27 18:36:09 +00:00
Jeffrey Altman
c9b834d6e7 enablekfw-regkey-20040227
* Add new Registry Key:

	{HKLM,HKCU}\\SOFTWARE\\OpenAFS\\Client
		DWORD  EnableKFW

	Default value if missing is 0x01
2004-02-27 18:35:22 +00:00
Jeffrey Altman
a16b140dc8 skyrope-mit-merge-hell-20040226
From Skyrope:

The Skyrope work attempted to improve on the end user experience of using
OpenAFS in the following ways:

   * Obtain tokens using renewable Kerberos 5 tickets in order to
     reduce the need for end users to renew expired tokens
   * Monitor the list of IP Addresses in order to detect changes
     in the network configuration which might affect the reachability
     of cells or the state of the AFS Client Service.  When cells
     are newly reachable, obtain tokens for the cells.  If the AFS
     Client Service is not running, start it.  If tokens are expiring
     attempt to renew them.
   * Use KDC probes to detect the accessibility of realms/cells.  If
     the KDC is not reachable, do not prompt the end user for a
     username and password.  (fs probe is not implemented on windows)
   * Automatically obtain tokens using the Windows Logon Session
     Kerberos credentials (if available)
   * Allow tokens for multiple cells to be obtained by using the
     same Kerberos 5 tickets.  (no UI yet implemented)
   * Perform drive mapping persistance by tracking it within the
     afsdsbmt.ini file instead of relying on the Windows Shell
     to persist the state.
   * Add new afscreds.exe command line options and change the
     default set used when creating the "AFS Credentials" shortcut
     in the Start Menu->Programs->Startup folder.

From MIT:

   * Auto-detection of loopback adapters.  Use "AFS" as the netbios
     name when a loopback adapter is installed.

   * Support for responding to power management events.  Used to
     flush the cache when the machine is about to suspend, hibernate,
     or shutdown

   * Documentation of Registry entries

   * Support for Extended SMB Requests

   * Beginning of support for true Event Log reporting from a
     message database

   * Hidden Dot File support (configured via the HideDotFiles
     registry option)

   * Configurable Max number of Multiplexed Sessions (MaxMpxRequests
     registry option)

   * Configurable Max MTU size (RxMaxMTU registry option)

   * Configurable Jumbogram support (RxNoJumbo registry option)

   * Configurable Max number of Virtual Connections per Server
     (MaxVCPerServer registry option)

   * Win32 DNS API support

   * Addition of SMB_ATTR_xxxx defines for use instead of hex numbers

   * A variety of heap access and resource deallocation errors corrected
     in the SMB code

   * Support for recursive directory creation

   * Modifications to the en_US version of the client configuration
     dialog (need to port to other languages)

Notes on the current check-in:

   * The KfW code will always be used when installed on the machine.
     This code only supports Krb5 and will not work with Krb4 only
     realms.  A registry flag indicating whether or not KfW should be
     used if found needs to be added.

   * afscreds.exe needs to have a registry entry created to control
     the parameter list it should be started with.  There should be
     a dialog to control this in the installer and within afscreds.exe

   * The MIT method of auto-assigning the mount-root and the netbios
     name is in conflict with the morgan stanley submissions in some
     parts of the code.  If you are using the loopback adapter with
     this code both the "NetbiosName" = "AFS" and "Mountroot" = "/afs"
     registry options must be specified.  This will be fixed in coming
     days.
2004-02-26 19:22:35 +00:00
Jeffrey Altman
85f6cefe70 jbuehler-add-missing-extern-c-patch-20031207
Add extern C modifiers to non-C++ functions in Windows files
2003-12-08 02:54:14 +00:00
Jeffrey Altman
21caaae64f ticket-2618-patches-20031207
TICKET 2618

flexelint patches for prototype handling from Joe Beuhler

>>>>>>>>>>>>>>>>>>>>>>>>>>>>

This patch adds a bunch of missing prototypes, makes various
corrections to global prototypes, and removes global declarations that
are not needed.

One set of added prototypes is commented out because it applies to
some printf-like functions that are implemented the way it used to be
done before varargs existed, and they need to be unprototyped or the
code will fail to compile.  (There are a number of functions in the
OpenAFS code that need to be converted to use varargs...)

There is one place of note in src/WINNT/afsd/fs.c where typedefs for
afs_int32 and afs_uint32 conflict with afs/stds.h.  I just added a
note to that effect.

Prototypes in src/WINNT/afsd/fs.c are incorrect for Windows NT.  I
don't know whether the return type involved changes from platform to
platform -- they come from .xg files.

Some prototypes are now commented out or #ifdef'd to match the code
that uses them.

Some global variables conflict between modules and have been made static.
The bufferBlock variable was of two completely different types...

In src/config/stds.h, I changed the declaration of afs_intmax_t to
reflect the fact that the Windows platform supports 64 bit integers.
This may be incorrect semantically, but I believe it is needed for the
%llx format to match afs_intmax_t arguments (for printing of inodes
mainly, I believe).

There were two different declarations for the rxkad_stats structure --
I synced them up.

- Joe

Removed the conflicting typedefs from src/WINNT/afsd/fs.c

Removed the changes to src/config/stds.h.  Added declaration of
AFS_64BIT_CLIENT to src/config/NTMakefile.i386_nt40 instead.

Do not remove unused variables which are defintions of data type
values.  Instead comment them out to avoid space utilization and
warnings.
2003-12-07 22:49:00 +00:00
Jeffrey Altman
10750393dc jbuelhler-flexelint-aggregate-initialization-patches-20031129
This patch mainly makes explicit some initializations that were implicit.

There are several places where it looks like the missing initialization
may be a bug, and I have inserted comments to that effect in the
relevant patches.  Someone needs to look at them and supply
whatever is missing (if anything is).

In make_keyperm.c, an array was sized too large.
--
Joe Buehler
2003-11-29 20:23:24 +00:00
Jeffrey Altman
93bd3784d6 ticket-2584-patches-20031126 2003-11-26 21:32:52 +00:00
Jeffrey Altman
955d376ddd rob-murawski-afscreds-scm-patch-20031121
Reduce the requested list of permissions to the minimum necessary to
access the service manager and service for the requested task.
2003-11-21 22:34:16 +00:00
Jeffrey Altman
803678a900 thread-and-timer-corrections-to-afscreds-20031121
Changes to afscreds to place the obtain tokens dialog into a separate
thread to prevent blocking of the Windows Message queue.  Requires
utilization of mutex semaphores to protect credential data structures.

Previous versions of afscreds would set/unset the timer event every
time the program received an event indicating user activity including
dragging the mouse across the systemtray icon.  This resulted in
extremely unpredictable behavior.  Now the timer event is only turned
off when it must be turned off; and turned on when it must be turned on.
The result is a credential expiration check once a minute.
2003-11-21 18:33:10 +00:00
Jeffrey Altman
98544e6ab4 patch-from-shadow-to-jaltman-bkbox-20031120
This massive patch contains changes in several significant areas for Windows:

- the ability to specify the mount point to be something other than /afs

- functionality to assist debugging of the NT Services

- support for languages other than English (NTLang.bat)

- revisions to the Build system to support separate trees for src, obj,
  dest and free or checked; allow any MS compiler to be used

- updates to NSIS installer build

- mutex locking added to critical locations

- updates to IS5 directory tree creation

- update to afswsNetscape_config.sh
2003-11-21 07:59:35 +00:00
Jeffrey Altman
387f83d8d8 winnt-newcreds-dialog-missing-attribute-20030915
FIXES 2119

DS_CENTER attribute missing from dialog.
2003-09-15 22:12:28 +00:00
Jeffrey Altman
18d060c68d winnt-avoid-leak-and-memory-corruption-in-afscreds-20030915
FIXES 2120

WINNT/talocale/TaLocale.h conditionally defines REALLOC() to
TaLocaleReallocFunction().

WINNT/client_creds/afscred.h  conditionally defines REALLOC() to
AfsCredsReallocFunction().

Unfortunately, AfsCredsReallocFunction is never used because REALLOC is
always defined first by an include of Talocale.h within afscreds.h.
This is a problem because it results in memory being allocated within a
DLL and then freed by the EXE.  This results in both a memory leak in
the DLL and memory corruption in the EXE.
2003-09-15 22:02:25 +00:00
Chaskiel M Grundman
bc9ff0f640 windows-file-versioning-20030619
FIXES 1488

It adds:

- the binary version of the file version/productversion, which the MSI
engine sort of want files in MSI packages to all have. This requires
another variable to be maintained in NTMakefile.i386_nt40 (Please don't
change the value from 1,2,910,0 to 1,2,9,1 or something like that. The last
number group in the version is considered completely insignificant by some
things)
- some file typing, which I don't know if anything cares about
- Some new items in the stringfileinfo table, (InternalName and
OriginalFilename) without which explorer won't show use the version info in
constructing tooltip text.
- Actually setting ProductVersion and FileVersion to something real
- Language codes, which the MSI engine also wants
2003-06-19 20:00:31 +00:00
James Peterson
5df76f7321 windows-build-updates-20030314
support for V6.0 and .Net complier, compile from either NT4.0 or XP
Source and object are separated into different directories.  The directory
tree would look as follows:

Base from %AFSROOT% environment variable
%AFSROOT%\src\... - all source and generated source
%AFSROOT%\obj\checked\... objects from a checked build
%AFSROOT%\obj\free\...    objects from a free build
%AFSROOT%\obj\dest\checked\...  DEST folder from a checked build
%AFSROOT%\obj\dest\free\....    DEST folder from a free build

Before you start the build, you must build an object tree by issuing the
following:

nmake -f NTMAKEFILE mkdir

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

support for V6.0 and .Net complier, compile from either NT4.0 or XP
Source and object are separated into different directories.  The directory
tree would look as follows:
2003-03-14 20:11:44 +00:00
James Peterson
899a6eb679 windows-updates-20010108
"1. The default Open AFS is set to normal security (doesn't generate random
user names).
If you are installing over a previous version (before 1.2.2b) it's default
is
high security; therefore, if you want the normal security, you should
uninstall the previous version (1.2.2a or earlier) and select to 'Not
Preserve previous settings'.

To manually change security you need to set the following registry keys:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemond\NetworkProvider
     LogonOptions = 1 - Integrated Logon
     LogonOptions = 2 - High Security options, Random User name generation
     LogonOptions = 3 - both

3. Windows 2000/NT, Win9x - First time installations will create necessary
directories when user decides to download CellServDB

4. Windows 2000/NT, Global Drive working.

5. Windows XP - Drive mapping via GUI working.

6. Rename pthread.dll to afspthread.dll"
2002-01-08 20:44:31 +00:00
James Peterson
6a0443bdcc windows-updates-20011121
missed updates needed for next release
2001-11-21 06:44:28 +00:00
James Peterson
de99fc23d4 windows-updates-including-dont-lose-tokens-20011110
Win2k tokens association problems are fixed. details are in doc/txt/winnotes
in the 1.2.2a updates file
2001-11-10 22:31:04 +00:00
Jeff Riegel
7f4414ae39 win95-initial-port-20010430
Windows 95/98 port from IBM Almaden

documentation and build support

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

Windows 95/98 port from IBM Almaden

changes to cache manager

====================

Windows 95/98 port from IBM Almaden

makefile changes

====================

Windows 95/98 port from IBM Almaden

osi changes to support 95/98

====================

Windows 95/98 port from IBM Almaden

installer for 95/98 client

====================

Windows 95/98 port from IBM Almaden

win95/98 panel app

====================

Windows 95/98 port from IBM Almaden

win95/98 panel app help

====================

Windows 95/98 port from IBM Almaden

makefile changes plus dns implementation

====================

Windows 95/98 port from IBM Almaden

makefile changes plus changes for compat with dos line conventions

====================

Windows 95/98 port from IBM Almaden

config for 95/98

====================

Windows 95/98 port from IBM Almaden

makefile changes plus support for 95/98 env

====================

Windows 95/98 port from IBM Almaden

ms compiler changes

====================

Windows 95/98 port from IBM Almaden

makefile changes

====================

Windows 95/98 port from IBM Almaden

lwp changes
to support 95/98 port

====================

Windows 95/98 port from IBM Almaden

rx changes to support 95/98 port
2001-04-30 08:03:55 +00:00
Derrick Brashear
fb5bcd00fc Standardize License information 2000-11-04 10:01:08 +00:00
IBM
87c10e8d7f Initial IBM OpenAFS 1.0 tree 2000-11-04 02:13:13 +00:00