Commit Graph

403 Commits

Author SHA1 Message Date
Jeffrey Altman
308ed8fecb windows-notes-20050828
updates
2005-08-28 21:48:25 +00:00
Jeffrey Altman
b9fc404bdf windows-default-trace-log-off-20050827
Now that OAFW is ready for a stable series, we will default "fs trace"
to off on non-Debug builds.   It can be set to on via the TraceOption
registry value.  (see registry.txt)
2005-08-28 04:43:55 +00:00
Jeffrey Altman
48b0320b20 windows-trace-log-to-dbgview-20050820
Added a new option for viewing the trace log data in real time

====================
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.
====================

Include the Thread ID in the output to make it usable for debugging
deadlocks.

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

alter the afsd_init.log tag for the TraceOption to not be
Windows Event Log specific.
2005-08-26 14:39:31 +00:00
Jeffrey Altman
128ec84945 windows-version-1-5-20050817
Development version to 1.5.xxxx
2005-08-17 11:38:55 +00:00
Jeffrey Altman
adbded1213 windows-version-1-4-20050817
Update version to 1.4.0000   Yay!!!!!
2005-08-17 11:22:50 +00:00
Asanka Herath
14408c7e88 windows-byte-range-locks-20050816
Byte range locks:

   The OpenAFS Windows client has to fake byte range locks given no
   server side support for such locks.  This is implemented as keyed
   byte range locks on the cache manager.

   Keyed byte range locks:

   Each cm_scache_t structure keeps track of a list of keyed locks.
   The key for a lock is essentially a token which identifies an owner
   of a set of locks (referred to as a client).  The set of keys used
   within a specific cm_scache_t structure form a namespace that has a
   scope of just that cm_scache_t structure.  The same key value can
   be used with another cm_scache_t structure and correspond to a
   completely different client.  However it is advantageous for the
   SMB or IFS layer to make sure that there is a 1-1 mapping between
   client and keys irrespective of the cm_scache_t.

   Assume a client C has key Key(C) (although, since the scope of the
   key is a cm_scache_t, the key can be Key(C,S), where S is the
   cm_scache_t.  But assume a 1-1 relation between keys and clients).
   A byte range (O,+L) denotes byte addresses (O) through (O+L-1)
   inclusive (a.k.a. [O,O+L-1]).  The function Key(x) is implemented
   through cm_generateKey() function for both SMB and IFS.

   The cache manager will set a lock on the AFS file server in order
   to assert the locks in S->fileLocks.  If only shared locks are in
   place for S, then the cache manager will obtain a LockRead lock,
   while if there are any exclusive locks, it will obtain a LockWrite
   lock.  If the exclusive locks are all released while the shared
   locks remain, then the cache manager will downgrade the lock from
   LockWrite to LockRead.

   Lock states:

   A lock exists iff it is in S->fileLocks for some cm_scache_t
   S. Existing locks are in one of the following states: ACTIVE,
   WAITLOCK, WAITUNLOCK, LOST, DELETED.

   The following sections describe each lock and the associated
   transitions.

   1. ACTIVE: A lock L is ACTIVE iff the cache manager has asserted
      the lock with the AFS file server.  This type of lock can be
      exercised by a client to read or write to the locked region (as
      the lock allows).

      1.1 ACTIVE->LOST: When the AFS file server fails to extend a
        server lock that was required to assert the lock.

      1.2 ACTIVE->DELETED: Lock is released.

   2. WAITLOCK: A lock is in a WAITLOCK state if the cache manager
      grants the lock but the lock is yet to be asserted with the AFS
      file server.  Once the file server grants the lock, the state
      will transition to an ACTIVE lock.

      2.1 WAITLOCK->ACTIVE: The server granted the lock.

      2.2 WAITLOCK->DELETED: Lock is abandoned, or timed out during
        waiting.

      2.3 WAITLOCK->LOST: One or more locks from this client were
        marked as LOST.  No further locks will be granted to this
        client until al lost locks are removed.

   3. WAITUNLOCK: A lock is in a WAITUNLOCK state if the cache manager
      receives a request for a lock that conflicts with an existing
      ACTIVE or WAITLOCK lock.  The lock will be placed in the queue
      and will be granted at such time the conflicting locks are
      removed, at which point the state will transition to either
      WAITLOCK or ACTIVE.

      3.1 WAITUNLOCK->ACTIVE: The conflicting lock was removed.  The
        current serverLock is sufficient to assert this lock, or a
        sufficient serverLock is obtained.

      3.2 WAITUNLOCK->WAITLOCK: The conflicting lock was removed,
        however the required serverLock is yet to be asserted with the
        server.

      3.3 WAITUNLOCK->DELETED: The lock is abandoned or timed out.

      3.5 WAITUNLOCK->LOST: One or more locks from this client were
        marked as LOST.  No further locks will be granted to this
        client until all lost locks are removed.

   4. LOST: A lock L is LOST if the server lock that was required to
      assert the lock could not be obtained or if it could not be
      extended, or if other locks by the same client were LOST.
      Effectively, once a lock is LOST, the contract between the cache
      manager and that specific client is no longer valid.

      The cache manager rechecks the server lock once every minute and
      extends it as appropriate.  If this is not done for 5 minutes,
      the AFS file server will release the lock.  Once released, the
      lock cannot be re-obtained without verifying that the contents
      of the file hasn't been modified since the time the lock was
      released.  Doing so may cause data corruption.

      4.1 LOST->DELETED: The lock is released.

      4.2 LOST->ACTIVE: The lock is reassertd.  This requires
        verifying that the file was not modified in between.

      4.3 LOST->WAITLOCK: All LOST ACTIVE locks from this client were
        reasserted.  The cache manager can reinstate this waiting
        lock.

      4.4 LOST->WAITUNLOCK: All LOST ACTIVE locks from this client
        were reasserted.  The cache manager can reinstate this waiting
        lock.

   5. DELETED: The lock is no longer relevant.  Eventually, it will
      get removed from the cm_scache_t. In the meantime, it will be
      treated as if it does not exist.

      5.1 DELETED->not exist: The lock is removed from the
        cm_scache_t.

   6* A lock L is ACCEPTED if it is ACTIVE or WAITLOCK.
      These locks have been accepted by the cache manager, but may or
      may not have been granted back to the client.

   7* A lock L is QUEUED if it is ACTIVE, WAITLOCK or WAITUNLOCK.

   8* A lock L is EFFECTIVE if it is ACTIVE or LOST.

   9* A lock L is WAITING if it is WAITLOCK or WAITUNLOCK.

   Lock operation:

   A client C can READ range (Offset,+Length) of cm_scache_t S iff:

   1. for all _a_ in (Offset,+Length), one of the following is true:

       1.1 There does NOT exist an ACTIVE lock L in S->fileLocks such
         that _a_ in (L->LOffset,+L->LLength) (IOW: byte _a_ of S is
         unowned)

         AND

         For each LOST lock M in S->fileLocks such that
         _a_ in (M->LOffset,+M->LLength), M->LockType is shared AND
         M->key != Key(C).

         (Note: If this is a different client from one whose shared
         lock was LOST, then the contract between this client and the
         cache manager is indistinguishable from that where no lock
         was lost.  If an exclusive lock was lost, then the range is
         considered unsafe for consumption.)

       1.3 There is an ACTIVE lock L in S->fileLocks such that: L->key
         == Key(C) && _a_ in (L->LOffset,+L->LLength) (IOW: byte _a_
         of S is owned by C under lock L)

       1.4 There is an ACTIVE lock L in S->fileLocks such that _a_ in
         (L->LOffset,L->+LLength) && L->LockType is shared (IOW: byte
         _a_ of S is shared) AND there is no LOST lock M such that _a_
         in (M->LOffset,+M->LLength) and M->key == Key(C)

   A client C can WRITE range (Offset,+Length) of cm_scache_t S iff:

   2. for all _a_ in (Offset,+Length), one of the following is true:

       2.1 Byte _a_ of S is unowned (as above) AND for each LOST lock
         L in S->fileLocks _a_ NOT in (L->LOffset,+L->LLength).

       2.2 Byte _a_ of S is owned by C under lock L (as above) AND
         L->LockType is exclusive.

   A client C can OBTAIN a lock L on cm_scache_t S iff:

   3. for all _a_ in (L->LOffset,+L->LLength), ALL of the following is
      true:

       3.1 L->LockType is exclusive IMPLIES there does NOT exist a QUEUED lock
         M in S->fileLocks such that _a_ in (M->LOffset,+M->LLength).

         (Note: If we count all QUEUED locks then we hit cases such as
         cascading waiting locks where the locks later on in the queue
         can be granted without compromising file integrity.  On the
         other hand if only ACCEPTED locks are considered, then locks
         that were received earlier may end up waiting for locks that
         were received later to be unlocked. The choice of QUEUED
         locks were made so that large locks don't consistently get
         trumped by smaller locks which were requested later.)

       3.2 L->LockType is shared IMPLIES for each QUEUED lock M in
         S->fileLocks, if _a_ in (M->LOffset,+M->LLength) then
         M->LockType is shared.

   4. For each LOST lock M in S->fileLocks, M->key != Key(C)

         (Note: If a client loses a lock, it loses all locks.
         Subsequently, it will not be allowed to obtain any more locks
         until all existing LOST locks that belong to the client are
         released.  Once all locks are released by a single client,
         there exists no further contract between the client and AFS
         about the contents of the file, hence the client can then
         proceed to obtain new locks and establish a new contract.)

   A client C can only unlock locks L in S->fileLocks which have
   L->key == Key(C).

   The representation and invariants are as follows:

   - Each cm_scache_t structure keeps:

       - A queue of byte-range locks (cm_scache_t::fileLocks) which
         are of type cm_file_lock_t.

       - A record of the highest server-side lock that has been
         obtained for this object (cm_scache_t::serverLock), which is
         one of (-1), LockRead, LockWrite.

       - A count of ACCEPTED exclusive and shared locks that are in the
         queue (cm_scache_t::sharedLocks and
         cm_scache_t::exclusiveLocks)

   - Each cm_file_lock_t structure keeps:

       - The type of lock (cm_file_lock_t::LockType)

       - The key associated with the lock (cm_file_lock_t::key)

       - The offset and length of the lock (cm_file_lock_t::LOffset
         and cm_file_lock_t::LLength)

       - The state of the lock.

       - Time of issuance or last successful extension

   Semantic invariants:

       I1. The number of ACCEPTED locks in S->fileLocks are
           (S->sharedLocks + S->exclusiveLocks)

   External invariants:

       I3. S->serverLock is the lock that we have asserted with the
           AFS file server for this cm_scache_t.

       I4. S->serverLock == LockRead iff there is at least one ACTIVE
           shared lock, but no ACTIVE exclusive locks.

       I5. S->serverLock == LockWrite iff there is at least one ACTIVE
           exclusive lock.

       I6. If a WAITUNLOCK lock L exists in S->fileLocks, then all
           locks that L is waiting on are ahead of L in S->fileLocks.

       I7. If L is a LOST lock, then for each lock M in S->fileLocks,
           M->key == L->key IMPLIES M is LOST or DELETED.

   --asanka

====================
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.
====================

Byte range locks added to change list

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

should improve error codes, and allow lock promotions and demotions
by releasing locks.

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

More improvements to the byte range locking.  Handle errors caused
by a failure to have locking privs; report sharing violations when
opening files; lie about locks on read-only volumes; implement
shared read/write file creation in the smb layer.

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

remove assertion

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

must reference count local references to objects if the lock
is being released

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

Do not use a variable until you assign it a value

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

remove an unwanted assertion and move the resetting of scp->serverLock
to -1 into cm_LockMarkSCacheLost() so that others do not forget to set
it.  cm_LockMarkSCacheLost() is always called when the scp->mx is held
so it is ok to do so.
2005-08-16 17:17:13 +00:00
Jeffrey Altman
eb00f91374 windows-smb-error-codes-20050815
Do not return error codes from the SMB/CIFS server that can be interpretted
by the SMB/CIFS client as meaning that the AFS Client Service is not
available.
2005-08-15 18:27:52 +00:00
Jeffrey Altman
7c34c9b5c0 windows-afscreds-20050814
When tokens expire, do not display an obtain tokens dialog if there
is no network connectivity to the kdc for the realm associated with
the cell.

In the en_US build, stop displaying the expiration time of tokens
after the tokens expire.
2005-08-14 12:25:06 +00:00
Jeffrey Altman
7e95d1bc89 windows-notes-20050806
updates for 1.3.8700
2005-08-06 01:38:53 +00:00
Jeffrey Altman
2da4a84732 windows-doc-updates-20050728
updates for 1.3.8600
2005-07-28 23:15:50 +00:00
Jeffrey Altman
f21fa57453 windows-aclent-deadlock-20050713
Discovered a deadlock due to a violation of lock order.  We may not
attempt to obtain a lock on a cm_scache_t mutex while holding the
cm_aclLock.
2005-07-13 15:22:06 +00:00
Jeffrey Altman
25ecdbd2c4 windows-notes-20050630
latest updates including new afs-install-notes section on debugging
2005-06-30 06:02:50 +00:00
Jeffrey Altman
b60eb36f4b windows-notes-20050628
pre-1.4
2005-06-29 03:42:14 +00:00
Jeffrey Altman
329a792344 window-afsifs-20050617
Updates to the afsifs-20050615 DELTA.
* Fix the build system
* Reformat the code
* Update docs
2005-06-17 17:07:46 +00:00
Jeffrey Altman
01845badd5 windows-notes-20050605
updates for 1.3.84
2005-06-05 15:45:02 +00:00
Jeffrey Altman
c915a6bce7 windows-notes-20050529
Update notes for 1.3.8300
2005-05-30 05:13:13 +00:00
Jeffrey Altman
2d13013120 windows-notes-20050523
more fixes
2005-05-23 14:57:55 +00:00
Jeffrey Altman
9bb874fc2c windows-notes-20050518
1.3.8300
2005-05-18 23:27:19 +00:00
Jeffrey Altman
144e51ccd0 windows-notes-20050509
latest updates
2005-05-10 04:31:56 +00:00
Jeffrey Altman
e89913282c windows-notes-20050429
1.3.8201

====================
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.
====================

remove AFS Gateway option
2005-04-29 20:49:58 +00:00
Jeffrey Altman
bd6345779e winnotes-20050427
more updates
2005-04-27 16:28:00 +00:00
Jeffrey Altman
e2d6d9bf2e windows-winlogon-logon-event-20050414
Apparently the problem with multi-domain forests with cross-
 realm trusts to non-Windows realms was not entirely solved.
 The authentication to the AFS SMB service failed because
 the wrong name was being used.  Using ASU as an example,
 the authentication was being performed with the name
 "QAAD\user" (an account in the forest root) and not
 "user@ASU.EDU (the MIT Kerberos principal used to login with)

 The solution was to add an additional dependency on KFW
 in order or to be able to easily obtain the client principal
 name stored in the MSLSA ccache TGT.  This information is
 used in two locations:

 - the pioctl() function

 - a new WinLogon Event Handler for the "logon" event.

 The pioctl function will now be able to use the correct
 name when calling WNetAddConnection2() and the "logon"
 event handler will now be able to call WNetAddConnection2().
 The hope is that the "logon" event handler will be called
 before the profile is loaded but I have not guarrantee
 that will happen.
2005-04-14 06:46:34 +00:00
Jeffrey Altman
54d6578ae6 windows-notes-20050404
final updates before 1.3.81
2005-04-04 12:51:02 +00:00
Derrick Brashear
423125bcb6 license-update-20050403
FIXES 18131

collect all licenses here

====================
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.
====================
FIXES 18131

install LICENSE into destdir builds
2005-04-03 20:37:29 +00:00
Jeffrey Altman
6beff57613 windows-notes-20050402
updates for version 1.3.81
2005-04-02 10:06:44 +00:00
Jeffrey Altman
ab67e8970f windows-notes-20050317
final notes for 1.3.80
2005-03-17 17:50:22 +00:00
Jeffrey Altman
0949ca36fa windows-notes-20050314
Update notes to describe fix for cross realm trusts to Windows
multi-domain forests
2005-03-15 00:55:56 +00:00
Jeffrey Altman
01a4455f37 windows-1380-20050310
updates for 1.3.80

====================
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.
====================

update issues list
2005-03-11 07:30:00 +00:00
Jeffrey Altman
0b90d69f8a windows-pcache-20050310
This patch applies all of the work done to add persistent cache support,
cache manager debugging, and a variety of bug fixes.  A full description
will be committed within doc/txt/winnotes as part of a later commit.
2005-03-11 05:33:12 +00:00
Jeffrey Altman
e41837e876 winnotes-update-20050126
add dr watson info to install notes.

update changes list
2005-01-26 15:51:46 +00:00
Jeffrey Altman
d3fc023d07 windows-notes-20050104
updates
2005-01-05 04:23:58 +00:00
Jeffrey Altman
d3d4af7795 windows-virtual-memory-20041224
* The variable used to determine whether a file or virtual memory
    mapped cache is used was not properly initialized to a default
    value. If the registry setting "NonPersistentCaching" was not
    set, the choice would be random.   Properly initialized to be
    "file".

 * The memory mapped view was never unmapped before closing the file
   at service shutdown.  This is now properly cleaned up.

 * Default location of Cache file is now %TEMP%\AFSCache
2004-12-24 17:21:06 +00:00
Jeffrey Altman
a69e758875 windows-notes-20041216
document bug found in 1.3.75/76 release
2004-12-16 20:11:08 +00:00
Jeffrey Altman
3400f8d4da windows-notes-20041213
update notes for 1.3.7600
2004-12-13 14:02:32 +00:00
Jeffrey Altman
e9c5e2af89 windows-multihomed-20041209
FIXES 16564

Add support for VL_GetEntryByNameU and VL_GetAddrs for the purpose
of working with multi-homed servers
2004-12-09 23:14:01 +00:00
Jeffrey Altman
e8e9a297bc wix-update-20041208
Add new Property for StoreAnsiFilenames

====================
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.
====================

Add property for StoreAnsiFilenames
2004-12-08 10:19:57 +00:00
Jeffrey Altman
882a979857 winnotes-20041207
update text files for StoreAnsiFilenames.

====================
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.
====================

Allow users to choose to store file names in AFS using ANSI code pages
instead of OEM code pages.
2004-12-07 12:41:15 +00:00
Jeffrey Altman
86420864cd winnotes-20041204
make note that the contents of this file are no longer up to date
2004-12-04 21:28:21 +00:00
Jeffrey Altman
53f0da3fb0 windows-notes-upd-20041130
update docs
2004-11-30 07:40:11 +00:00
Dave Tanner
081993a627 windows-ini-file-mapping-20041124
Install registry values to force a mapping from afsdsbmt.ini file updates
via the old profile API to the new HKLM\Software\OpenAFS\Client\Submounts
key.
2004-11-25 01:25:30 +00:00
Jeffrey Altman
487bf88c40 windows-updates-20041124
update docs

====================
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.
====================

conditionalize the cleanup of language files on their existence

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

reformat parts of afsd_init.c

add support for version number checking to afsd_service.exe

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

Fix the afs_config.exe submount dialog operations:  Edit Submount name and
Remove submount entry.

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

Fix the version info data stored in the resource block to
use the same language identifier as is advertised.
2004-11-24 18:42:31 +00:00
Jeffrey Altman
06edeed70c windows-misc-20041122
the VC++ 2003 Toolkit is missing some important libraries.
remove it from the README-NT file

====================
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.
====================

update docs

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

simplify the freelance import from afs_freelance.ini code.  don't generate
an new file if the old one does not exist.

begin conversion from old string functions to new strsafe functions.
this will need to be done for all of the afsd_service.exe source
modules before we can regularly use VS .NET 2005

Add support for VL_GetEntryByNameN.  Still need to figure out what needs
to be done for VL_GetEntryByNameU.  (multi-homed support)

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

fix a deadlock situation if an Obtain Tokens dialog is produced
by an expiration event and the user chooses to cancel instead of
obtain new credentials.
2004-11-23 03:49:05 +00:00
Jeffrey Altman
8e3f7c5cb0 winnotes-upd-20041109
windows note updates for 1.3.74
2004-11-09 12:47:36 +00:00
Jeffrey Altman
c7f18e4946 windows-docs-20041027
Documentation updates
2004-10-28 02:22:25 +00:00
Jeffrey Altman
1fd9a66fc6 winnotes-updates-20041017
Updates for 1.3.72

New FlushOnHibernate registry option
2004-10-17 22:00:24 +00:00
Jeffrey Altman
4050980d3c winnotes-20041012
Update documentation files with latest changes
2004-10-13 03:48:24 +00:00
Jeffrey Altman
d69e6641e5 kfw-hklm-registry-fix-20040922
Fix the registry query in afskfw.lib to read the HKLM machine value
even if the HKCU key is present.

Update text in the install notes to better describe the krb524
issues
2004-09-22 16:04:59 +00:00
Jeffrey Altman
b400902339 windows-force-krb524-20030921
Provide mechanisms to force the use of krb524 via afscreds, afslogon,
and aklog.  afslogon and afscreds rely on a new "Use524" registry value
(see registry.txt) and aklog has a new "-m" command line option.
2004-09-22 07:00:56 +00:00
Jeffrey Altman
a135e0d30c cifs-pattern-match-20040921
The pattern matching algorithm was failing to match strings when the
pattern terminated in a '*'.  The logic was also too complex because
it failed to simply the patterns prior to processing.  Any combination
of '*' and '?' == '*' according to the Windows file name pattern
matching rules.

====================
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.
====================
FIXES 15365

The pattern matching algorithm was failing to match strings when the
pattern terminated in a '*'.  The logic was also too complex because
it failed to simply the patterns prior to processing.  Any combination
of '*' and '?' == '*' according to the Windows file name pattern
matching rules.
2004-09-21 21:05:14 +00:00
Jeffrey Altman
e07406e551 windows-links-20040921
FIXES 915
FIXES 15250

  * smb_ReceiveCoreRename() was factored to produce smb_Rename()
    which is used by both the original function and the new
    smb_ReceiveNTRename().  smb_ReceiveNTRename() supports the
    creation of HardLinks in addition to Renaming.  smb_Link()
    is a new function which creates HardLinks via cm_Link().
    cm_Link() is a new vnodeops function which creates links
    using RXAFS_Link().

    smb_ReceiveNTRename() does not support the File Copy and
    Move Cluster Information operations described in its interface.
    ReceiveNTRename is under documented in CIFS-TR-1p00_FINAL.pdf.

  * When opening files via symlinks, we should follow the symlinks
    until we reach the actual file stat cache entry.  The stat cache
    entry of the file should then be stored in the FID instead of
    stat scache entry of the symlink.

  * return bad operation errors for all unimplemented functions
    even if we do not know the functions exist.

  * Log bad packets and unknown operation packets to the trace log

  * Map CM_ERROR_BADOP to STATUS_NOT_SUPPORTED instead of
    0xC09820FF

  * Update list of known CIFS operations to include all those listed
    in CIFS-TR-1p00_FINAL.pdf.
2004-09-21 15:00:08 +00:00
Jeffrey Altman
f31658317a windows-misc-20040907
* modify registry.txt to replace QWORD with DWORD

====================
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.
====================

* add expanded registry support to "submounts"
2004-09-08 06:52:20 +00:00
Jeffrey Altman
40d2f5f7c0 windows-admin-group-20040823
Update text files for 1.3.71 and describe the new Windows Authorization
Group "AFS Client Admins"

====================
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.
====================

Add support for "AFS Client Admins" windows authortization group

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

NTMakefile changes for Admin Group
2004-08-23 16:49:45 +00:00
Jeffrey Altman
3dce18d248 post-1-3-70-windows-changes-20040816
* Fix aklog.exe to not add the AFS ID to the username

  * PTS registration of new users to foreign cells has been added to
     afscreds.exe

  * The cm_Daemon thread is used to perform checks for
    down servers, up servers, volumes, callback expirations,
    lock maintenance and token expiration.  Due to a gaff in
    larger integer division the thread never performed any
    work.  Instead the current time computation would always
    be less then the trigger times.  This had an adverse affect
    on the client's ability to maintain communication with servers,
    keep volumes up to date, and flush user tokens and acls
    when they have expired. This was broken when the 1.3 branch
    was modified to support VC7 which no longer included
    largeint.lib

  * An initialization problem with the Freelance code was
    detected while fixing the callbackRequest.  The cm_rootSCachep
    object is obtained during afsd_InitDaemons() but the callback
    information is incomplete.  The callback information will not
    be obtained until cm_MergeStatus is called from within
    cm_GetCallback.  Unfortunately, cm_SyncOp did not properly
    test for the conditions under which the callback information
    must be obtained.

  * Reports have been filed indicating that callbacks were
    being lost.  An examination of the code indicated that the
    cm_server_t objects were not being properly reference
    counted by the cm_scache_t and cm_callbackRequest_t objects.
    In particular, the cm_server_t objects may have been freed
    from beneath the cm_conn_t objects.

    All of the reference counting is now done via the functions:
        cm_GetServer
        cm_GetServerNoLock
        cm_PutServer
        cm_PutServerNoLock
    this improves the ability to track the referrals.

    Each cm_BeginCallbackGranting Call now allocates a reference
    to the cm_server_t.  The cm_EndCallbackGrantingCall either
    frees the reference or transfers it to the cm_scache_t
    cbServerp field.  These are then appropriately tracked
    through the cm_Analyze call.

  * Ensure that the dnlc hash table is the same size as the
    dir name hash table (as per original author's note).
    Increase the dnlc CM_AFSNCNAMESIZE to a multiple of 8
    for compatibility with 64-bit systems.

  * fix smb_ApplyV3DirListPatches to properly apply the hidden
     attribute to dotfiles when the infoLevel < 0x101 and
     cm_SyncOp has failed.

  * Fix the Freelance registry initialization code.  There
    was a possibility that some systems could end up with
    garbage in the registry during a clean install.
2004-08-17 05:21:17 +00:00
Jeffrey Altman
2e8a3050d3 1-3-70-release-really-20040809
Restore the installation of afslogon.dll as a winlogon event handler.
Microsoft identified the problem as being a newly added restriction
on the behavior of DllMain entry points.  Network operations such
as bind() may no longer be called.  The ICF blocks them but does not
cause an error to be returned.
2004-08-10 05:07:58 +00:00
Jeffrey Altman
544afa6bcc release-1370-20040810
Disable the installation of the WinLogon Event Handlers to avoid
problems with XP SP2 Final Release booting and profiles being released
on logoff.

Update version to 1.3.7000

Add VS8 entries to the build system
2004-08-09 05:20:07 +00:00
Jeffrey Altman
3d790dd232 winnotes-20040807
document new freelance functionality and update install notes

====================
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.
====================

more updates
2004-08-07 22:32:46 +00:00
Jeffrey Altman
4c20d3d1fc winnotes-20040805
Updates winnotes with current info

====================
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.
====================

summary of changes performed this week for 1.3.70
2004-08-05 17:47:28 +00:00
Asanka Herath
993051678f misc-post-1366-20040804
Update documentation on cache control and credential manager options
in MSI deployment guide.

'CachePath' setting in registry allows REG_EXPAND_SZ type.

Update registry documentation for 'CachePath' setting.

Both installers save the credential manager command line options in
registry.

Fix handling of existing 'afsdcell.ini' file in WiX installer.

WiX 2.0.1927 changed the XML schema.  The WiX installer has beed
updated accordingly.
2004-08-04 17:36:10 +00:00
Jeffrey Altman
20cfcb0aea nonpersistentcaching-20040729
document new value
2004-07-29 15:38:57 +00:00
Derrick Brashear
2395eb6075 afsmonitor-update-stat-descriptions-20040729
FIXES 5952

correct list of available stats
2004-07-29 05:29:33 +00:00
Alf Wachsmann
276d735112 afsmonitor-document-usage-20040729
FIXES 5931

update the docs to reflect the usage correctly
2004-07-29 05:17:02 +00:00
Alf Wachsmann
5ece0001b8 afsmonitor-document-stat-entries-correctly-20040729
FIXES 5934

NUM_CM_STAT_ENTRIES should match the docs
2004-07-29 05:03:31 +00:00
Asanka Herath
22fbf94fcd msi-deployment-guide-20040727
a guide to making organization specific modifications to the msi
installer
2004-07-27 14:32:38 +00:00
Tommie Gannert
71530bc5c0 registry-txt-20040727
Remove duplicate entries
2004-07-27 14:23:11 +00:00
Jeffrey Altman
b02dabd24e winnotes-20040726
Updates for 1.3.66
2004-07-27 00:24:09 +00:00
Jeffrey Altman
3a89df255c small-tweaks-20040725
* update winnotes

* add osi trace log entries to help diagnose issues with overlapped writes
  from CIFS client

* fix osi trace log entries for freelance add mount to use osi_SaveLogString

* fix afscreds "Start Service" to automatically obtain tokens if kerberos
  tickets are available

* update afscreds systray menu to use "..." after Remove Icon

* remove extra "." in wix installer resource
2004-07-25 21:53:09 +00:00
Jeffrey Altman
74197f04f3 install-notes-20040723
Update the install notes to describe conflicts between SMB Authentication
and Windows machines configured with non-Windows Kerberos authentication
used to map to local accounts.

====================
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.
====================

More updates to smb auth vs external kerberos login
2004-07-23 23:25:23 +00:00
Jeffrey Altman
1a5fbdb943 afslogon-20040722
the procedure used to obtain the profile directory failed in Domains
which were not Forests.  If ADS_NAME_INITTYPE_GC fails, we must try
ADS_NAME_INITTYPE_DOMAIN which requires the Domain.  Added a Domain
parameter to QueryAdHomePathFromSid.  This was easy to obtain in
the NPLogonNotify since the logon domain is provided as a parameter.
Unfortunately, the domain provided to the winlogon event notification
routine is the user authentication domain, not the logon domain for
the local machine.  Needed to create a  GetLocalShortDomain function
which uses the IADsADSystemInfo COM interface to obtain the local
short domain.  With this in place, we can now properly detect the
profile directory in all cases.

Document MaxLogSize in registry.txt
2004-07-22 23:15:37 +00:00
Jeffrey Altman
9bc1b6a7b9 trace-logging-20040721
TraceLogging is supposed to be activated for different purposes
with bit flags.  The osi log and afslogon both used the same bit
flag.  Bit 0 is now for afslogon; and Bit 1 is for osi log.
2004-07-21 22:41:33 +00:00
Jeffrey Altman
b0920fe9c2 registry-docs-logoff-20040721
* Update Windows Notes files

* Modify logoff procedure to use a pioctl to check if an arbitrary path
  exists within AFS

* Add a new registry value HKLM\Software\OpenAFS\Client  CellServDBDir
  which can be used to locate the CellServDB file in an arbitrary directory
2004-07-21 15:05:59 +00:00
Asanka Herath
60446a8ffe registry-20040715
Description of new afslogon functionality
2004-07-16 05:49:26 +00:00
Jeffrey Altman
fe991aa74f afslogon-wix-cleanup-20040715
- Fix NTMakefiles in many directories to define WIN32_LEAN_AND_MEAN NOGDI
  to avoid macro redefinitions

- update text files

- add "authentication cell" registry value for afscreds.exe

From asanka@mit.edu:

Network provider :

  -  If the user is logging into an AD domain, then look up the user's
     profile path, find out which cell it's in and then authenticate to
     that cell instead of the default cell.

  -  Domain specific registry keys

  -  A few fixes for handling UNICODE_STRINGs

smb3.c :

  -  Delete partial security context during negotiation

client_cpa :

  -  As per the SDK which says we must handle CPL_INQUIRE message, we do.
     Also fixes a small bug where the icon isn't properly set when viewing
     the Control Panel folder.

loopbackutils.cpp

  -  Don't bother setting the app data template, because we are setting
     it in the MSI anyway.

install/wix/NTMakefile

  -  Add a configurable symbol AFSDEV_AUXWIXDEFINES which can be used to
     customize a build of the msi.

install/wix

  -  Move afslogon.dll to SYSTEM32 directory

  -  Add registry keys to support WinLogon notifications.

  -  Rename afsdcell.ini to CellServDB and move it to the client directory.

  -  If there's already an afsdcell.ini in the Windows directory, copy
     that over to the client directory instead.

  -  Add descriptions to AFS client and server services
2004-07-16 04:38:25 +00:00
Jeffrey Altman
8063c68dc8 winnotes-20040715
Update Windows note files with the latest changes.
2004-07-15 17:26:35 +00:00
Derrick Brashear
229051032d admin-doc-sysname-20040713
FIXES 4054

update docs to reflect sys being static.
2004-07-13 07:08:32 +00:00
Jeffrey Altman
d03840f85c smb-auth-20040711
Over last several years significant efforts have been made to work around
the inability to protect user tokens from use by inappropriate entities.
The tokens are associated with a given userid and session by a combination
of an SMB based ioctl and an authenticated/encrypted RPC.  This has opened
the door for tokens to be borrowed by other users if they could connect
to the same SMB server with the identical userid.  This was trivially
possible because the SMB connections were unauthenticated.

This patch adds two forms of authenticated SMB connections: NTLM and
Extended Security (aka GSS SPNEGO).  By default Extended Security mode
is used.  This patch has been tested on 2000 workstation, 2000 server,
XP SP1, and 2003 Server, and XP SP2 RC2.  The Extended Security works on
all platforms except for XP SP2 RC2 regards of whether or not the machine
is part of a domain or not; and whether or not a local or domain account
is used.

On XP SP2 RC2, attempts to use negotiate Extended Security result in a
Logon Denied error from AcceptSecurityContext() and a substatus code of
0x7C90486A is logged to the Security Event log via the NTLM SSP.
The SMB AUTH NTLM mode succeeds on XP SP2 RC2.

Disabling SMB Authentication or specifying the use of NTLM mode may be done
via the registry.

Value   : smbAuthType
Type    : DWORD {0..2}
Default : 2

  If this value is specified, it defines the type of SMB authentication
  which must be present in order for the Windows SMB client to connect
  to the AFS Client Service's SMB server.  The values are:
    0 = No authentication required
    1 = NTLM authentication required
    2 = Extended (GSS SPNEGO) authentication required
  The default is Extended authentication
2004-07-11 22:22:57 +00:00
Jeffrey Altman
ec5b34b8fc winnotes-registry-20040708
Add descriptions of Global Drive Mappings; MaxCPUs, and Environment
Variables
2004-07-08 15:45:58 +00:00
Jeffrey Altman
e2149ea3f2 maxcpus-20040625
Add documentation on MaxCPUs entry.
2004-06-25 22:18:44 +00:00
Jeffrey Altman
4586c298ae windows-install-notes-20040624
A first cut at installation notes for windows.
2004-06-24 19:24:14 +00:00
Jeffrey Altman
c7d8ba8371 winnotes-20040623
Updated change list and issues list to reflect the state of the world
as of 1.3.65
2004-06-23 21:22:42 +00:00
Jeffrey Altman
6d4bdfc2f7 winnotes-20040605
Document changes up to this date since 1.3.64 and new registry values
2004-06-05 19:59:41 +00:00
Jeffrey Altman
a2c0be0661 update-winnotes-20040511
Update the changes and issues files for the 1.3.64 release
2004-05-11 21:08:57 +00:00
Jeffrey Altman
b624c2bc73 afs-release-notes-20040405
release notes as of 1.3.63
2004-04-05 07:32:57 +00:00
Jeffrey Altman
4e5c8d47a2 registry-20040320
Document "NoFindLanaByName"
2004-03-21 04:27:10 +00:00
Jeffrey Altman
ec0ba71b30 reg-expand-str-20040316
Change the NetbiosName registry value from REG_SZ to REG_EXPAND_SZ
and add the necessary code to expand the strings.   This will allow
the use of %COMPUTERNAME%-AFS in case people want to explicitly use
a non-portable name.

====================
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.
====================

Update text for NetbiosName value.
2004-03-16 22:03:00 +00:00
Jeffrey Altman
6580ab0680 registry-notes-20040316
Update the registry usage for 1.3.60

Add information for the Network Provider values and the AFSCreds.exe values.
2004-03-16 16:15:36 +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
Nickolai Zeldovich
d0c8c165a3 provide an example CellAlias file. 2002-07-16 18:39:50 +00:00
Derrick Brashear
4e02670a22 doc-heimdal-conversion-howto-20011224
short explanation of how to convert from a kaserver to a heimdal kdc
including setting up iprop
2001-12-24 21:19:07 +00:00
Jeff Riegel
83873a8474 windows-afsdb-freelance-notes-20011120
notes from Jeff about AFSDB and Freelance clients
2001-11-21 18:29:16 +00:00
Derrick Brashear
3c11ae3aa1 doc-html-index-correct-spelling-20011023
documentation should be spelled that way
2001-10-23 16:26:00 +00:00
Jeffrey Hutzelman
dd5689605a added button GIF's to the HTML docs 2001-10-19 17:22:30 +00:00
Chaskiel M Grundman
7303f3148e darwin-build-updates-20010910
separate plist on per-version basis

1.4 is not yet supported
2001-09-10 21:07:32 +00:00
Carsten Jacobi
cb6e75cfaa pam-afs-new-features-20010907
add ignore_uid (like ignore_root) plus set_token (set token in auth step instead of setcred), refresh_token (no new pag), use_klog (fork a klog child), no_unlog, remainlifetime (sleep before deleting creds at logout)
2001-09-07 05:36:41 +00:00
Derrick Brashear
dd1798a7ba dux-documentation-update-20010829
based on information from joda@pdc.kth.se
2001-08-29 18:12:35 +00:00
Derrick Brashear
cf35c1842f html-doc-add-index-20010706
top page for html docs
2001-07-06 06:08:29 +00:00
Derrick Brashear
d7da1acc31 initial-html-documentation-20010606
pull in all documentation from IBM
2001-06-06 19:09:07 +00:00
Derrick Brashear
6f30fcecda initial-pdf-with-embedded-cmr-fonts-20010606
with thanks to Mattias Amnefelt <mattiasa@e.kth.se> for converting to the
BlueSky Computer Modern Roman fonts from tex.
2001-06-06 18:58:13 +00:00
Derrick Brashear
3107b75e94 scrap-initial-pdf-files-20010606
relocating
2001-06-06 18:56:26 +00:00
Mattias Amnefelt
13dcb2b316 update-pdf-documentation-to-include-fonts-20010530
"I noticed that the pdf documentation bundled with openafs doesn't include
the correct fonts to display properly (atleast with my acrobat). I've
generated afs-pdf:s with type1 fonts"
2001-05-30 20:22:56 +00:00
Laura Stentz
08690c41a2 afs-overview-documentation-20010519
Contributed overview docs from IBM, this time binary mode.
2001-05-19 18:45:43 +00:00
Derrick Brashear
80c8c1e2d8 remove-bad-non-binary-commit-of-afs-docs-20010519
so i can readd with -kb
2001-05-19 18:44:43 +00:00
Laura Stentz
b402ffcd52 add-afs-overview-manuals-20010519
Documentation contributed by IBM
2001-05-19 18:43:10 +00:00
Derrick Brashear
ba3d4666cb add a license 2000-11-04 03:34:07 +00:00