Commit Graph

2405 Commits

Author SHA1 Message Date
Jeffrey Altman
9ea40ebfb7 STABLE14-windows-cumulative-20041017
Cummulative update of changes including:

  * Add code to block the issuance of AFS tokens by aklog.exe or
    afscreds.exe when the Kerberos 5 principal name contains a dot.

  * Modify the IsAdmin() function to always treat the local SYSTEM
    account as an AFS client administrator.  Affects fs.exe and
    afs_config.exe.

  * Modify the internal handling of Quota Exceeded errors

  * Upgrade all reference count fields in the Windows cache manager
    and the osi library to use unsigned long instead of signed short.
    A similar fix has been applied to the afs rpc (rx) library.

  * fix the Windows cache manager to prevent it from replacing the
    rx_connection object associated with the cm_conn_t object on each
    and every operation if "fs crypt" was set.  This explains the
    dramatic performance difference when crypt is used vs clear.
    The problem: 'cryptall', a boolean flag indicating whether or not
    "fs crypt" is set, was being compared to the rx_connection
    cryptlevel which is either rxkad_clear:0 or rxkad_crypt:2.
    1 != 2 and therefore the rx_connection was always destroyed
    and replaced on each and every operation.

    Lock the cm_conn_t object around every call to RXAFS_xxxx functions.
    It is not safe for the cm_conn_t object to not be locked because
    rx_DestroyConnection might be called from another thread if:
        - the user's tokens have changed or expired
        - the crypt mode has changed

    This fix appears to have also taken care of the problems associated
    with Overlapped Writes resulting in Delayed Write errors.

  * fix NSIS installer's AdminGroup.exe to properly create and
    remove groups when given -create or -remove.  The string comparison
    test was wrong.

  * fs sysname now accepts a list of sysname values

  * added a new registry value HKLM\SOFTWARE\OpenAFS\Client "IoctlDebug"
    DWORD which when set to a non-zero value will cause error message
    text to be output to stderr from the pioctl() routine.  Useful in
    debugging failures of fs.exe, tokens.exe, etc.

  * added a test to the power management code to only perform a
    flush operation if there is at least one network adapter which
    is not a loopback adapter.

  * Fix bug in loading of registry value HKLM\SOFTWARE\OpenAFS\Client
    "EnableKFW".  This value will not be read if the key
    HKCU\SOFTWARE\OpenAFS\Client exists; even if the "EnableKFW"
    value under that key does not.

  * provide mechanisms to force the use of krb524d for Kerberos 5
    ticket to AFS token conversion.  For afslogon.dll and afscreds.exe
    there is a new registry value "Use524" and for aklog.exe a new
    command line parameter "-m".

  * Fix the pattern matching algorithm to properly match patterns
    ending with a '*'.

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

  * Modify the handling of HKLM\SOFTWARE\OpenAFS\Client\Submounts
    to support the REG_EXPAND_SZ type.
2004-10-18 05:09:25 +00:00
Jeffrey Altman
655344ea8f STABLE14-windows-combined-20041010
* fix the Windows cache manager to prevent it from replacing the
    rx_connection object associated with the cm_conn_t object on each
    and every operation if "fs crypt" was set.  This explains the
    dramatic performance difference when crypt is used vs clear.
    The problem: 'cryptall', a boolean flag indicating whether or not
    "fs crypt" is set, was being compared to the rx_connection
    cryptlevel which is either rxkad_clear:0 or rxkad_crypt:2.
    1 != 2 and therefore the rx_connection was always destroyed
    and replaced on each and every operation.

    Lock the cm_conn_t object around every call to RXAFS_xxxx functions.
    It is not safe for the cm_conn_t object to not be locked because
    rx_DestroyConnection might be called from another thread if:
        - the user's tokens have changed or expired
        - the crypt mode has changed

  * Modify cm_Lookup to evaluate a list of possible values for @sys
    instead of just a single entry.  Re-write cm_ExpandSysname and
    add cm_LookupInternal.

  * Reformat affected files

  * Add cache file name to cache creation errors


(cherry picked from commit d8453a3f46)
2004-10-11 00:52:04 +00:00
Jim Rees
e4ed372349 STABLE14-fix-missing-config-quote-20040826
fix missing quote and CPPFLAGS from last commit


(cherry picked from commit 33460d3571)
2004-10-09 06:05:06 +00:00
Jeffrey Altman
8be53266e7 STABLE14-admin-group-nsis-20041004
correct the test for -create and -remove so that the proper
action is taken for each


(cherry picked from commit 04ec8ea29d)
2004-10-04 08:35:38 +00:00
Jeffrey Altman
193daef53f STABLE14-pioctl-debug-20041003
Add a new registry value HKLM/SOFTWARE/OpenAFS/Client "IoctlDebug" DWORD
which when set to a non-zero value will output error messages to stderr.
This is to assist in debugging ioctl failures when fs.exe, tokens.exe,
etc. fail because of an inability to open the ioctl file name.


(cherry picked from commit e845efc442)
2004-10-03 15:07:34 +00:00
Jeffrey Altman
97253c8650 STABLE14-windows-symlink-access-20041003
FIXES 15250

One more fix for the symlink problem.  Access control checks cannot be
performed until after we have walked all of the symlinks.  Otherwise,
we are checking access to the symlink itself and not to the file.


(cherry picked from commit fdaf6f7933)
2004-10-03 14:52:12 +00:00
Jeffrey Altman
15e0bc5f3f STABLE14-win-power-mgmt-flush-test-20041003
The windows power management code responds to a request to suspend or
hibernate by performing a "fs flushvol" as the logged in user on each
of the SMB/CIFS mounted shares.  This can be very time consuming if
the cell servers cannot be reached.

This patch adds a test to ensure that there is at least one network
adapter in the machine which is not a loopback adapter.

While developing this patch other areas of concern have been raised.
The power management code waits a fixed period of time based upon
the hard dead timeout before allowing the suspend/hibernate to continue.
This allows the machine to shutdown even if there are active flush
operations being performed.  This defeats the benefit of performing
the flush at all.

A better mechanism could be developed if the functions called via
cm_IoctlFlushVolume returned and checked error codes.  Then it might
be possible to abandon the flush operation if a Server Not Reachable
state was obtained.

The power management flush operations will also not work on Terminal
Server.  This would be important in the case where a terminal server
is shutting down due to a switch over to a UPS.  The reason it does
not work on Terminal Server is that there is that it is not possible
for afsd_service.exe to enumerate the SMB/CIFS shares and impersonate
the individual logged in users.

It would be preferred for there to be a new cm_FlushAll() function
implemented which was not dependent on the use of the ioctl mechanism
for the purpose of identifying a volume ID or a user ID.


(cherry picked from commit 2469663d0d)
2004-10-03 14:35:15 +00:00
Jeffrey Altman
4dcdbec005 STABLE14-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


(cherry picked from commit d69e6641e5)
2004-09-22 16:07:40 +00:00
Jeffrey Altman
4044366199 STABLE14-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.


(cherry picked from commit b400902339)
2004-09-22 07:03:19 +00:00
Jeffrey Altman
8996b91f97 STABLE14-cifs-pattern-match-20040921
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.


(cherry picked from commit a135e0d30c)
2004-09-21 21:07:58 +00:00
Jeffrey Altman
02368492c4 STABLE14-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.


(cherry picked from commit e07406e551)
2004-09-21 15:07:12 +00:00
Jeffrey Altman
0b68a11a93 STABLE14-nsis-1400-compiler-20040908
Add support for MS VS 2005


(cherry picked from commit 8c887b2072)
2004-09-09 21:19:51 +00:00
Jeffrey Altman
e0e9832c9b STABLE14-windows-misc-20040907
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 string support to Submounts

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

Correct a 64-bit time_t error


(cherry picked from commit f31658317a)
2004-09-08 06:59:01 +00:00
Nickolai Zeldovich
8660663e6a STABLE14-placate-netbsd-cc-20040826
netbsd's cc doesn't like multiple semicolons in variable declarations,
so move OSI_VC_CONVERT down to the last statement


(cherry picked from commit 4d906fec23)
2004-08-29 02:18:56 +00:00
Sven Menke
d44a71e70d STABLE14-linux-5-arg-sock-create-20040825
update for sock_create 5 arg with a better configure test


(cherry picked from commit cb1b41b159)
2004-08-25 21:40:13 +00:00
Derrick Brashear
4c470b3620 STABLE14-revert-linux26-selinux-20040621
well, i'm not sure what the right way to deal is, seeing as this change weas reverted later in the kernel


(cherry picked from commit 1d6cf7729c)
2004-08-25 08:41:00 +00:00
Love Hörnquist-Åstrand
58527a0e88 STABLE14-netbsd20-config-20040810
cleanup config files for NetBSD 2.0


(cherry picked from commit cf8a163c20)
2004-08-25 08:39:30 +00:00
Derrick Brashear
1f5b89c095 STABLE14-no-interleave-on-solaris-9-20040825
a patch does away with it and it doesn't look like we need to care


(cherry picked from commit 5e1c6d6135)
2004-08-25 08:22:22 +00:00
Derrick Brashear
502d1eae21 STABLE14-get-ready-for-71-20040825
work around aix problem
update configure scripts
2004-08-25 08:20:25 +00:00
Alf Wachsmann
5cb2a61662 STABLE14-kdb-enhancement-20040820
FIXES 6355

- It resolves all IP addresses to names unless the "-numeric"
  parameter is used.
  This is the same behavior as "fs listcells [-numeric]"

- If the "-numeric" parameter is used, IP address will be printed
  in dotted decimal form instead of a 8 digit hex string.

- A new parameter "-long" allows to print all information for all
  entries in the log.
  This is the same info you get for entry XYZ when called with
  "-key XYZ" only you get this for _all_ keys.
  The output is slow if not also called together with "-numeric


(cherry picked from commit e82bc52231)
2004-08-25 08:18:06 +00:00
Steve Roseman
750172a281 STABLE14-aix-config-guess-20040819
FIXES 6352

detect aix 5


(cherry picked from commit 59cc46ef7e)
2004-08-25 08:17:32 +00:00
Nickolai Zeldovich
6a6997008a STABLE14-fix-indent-bug-with-lock-macros-part-four-20040819
Thanks to jaltman for pointing out some files I missed
(basically those in two-level deep directories).


(cherry picked from commit b0f773c41c)
2004-08-25 08:17:01 +00:00
Hartmut Reuter
aebf29a10d STABLE14-aix-5-updates-20040819
updates to aix 5 code since last patches


(cherry picked from commit 481b170d88)
2004-08-25 08:16:11 +00:00
Horst Birthelmer
6f74457a49 STABLE14-aix52-updates-20040819
make des crypt module be built without optimization.
make aix 5.2 be "supported"
make ukernel work on aix 5


(cherry picked from commit c18d67d9a0)
2004-08-25 08:15:34 +00:00
Nickolai Zeldovich
ece6d70249 STABLE14-fix-indent-bug-with-lock-macros-part-two-20040818
Add trailing semicolons to _LOCK and _UNLOCK macros and re-indent.
This should've been in fix-indent-bug-with-lock-macros-20030729
but somehow it slipped by and I've only found it now.


(cherry picked from commit 788ca86bdc)
2004-08-25 08:14:19 +00:00
Derrick Brashear
ebffb0bfad STABLE14-aix-make-install-install-everything-20040818
install the other stuff when you make install


(cherry picked from commit 0ed8f55d59)
2004-08-25 08:13:48 +00:00
Derrick Brashear
5b60572c5d STABLE14-attachserverproc-dont-dequeue-if-not-in-queue-take-two-20040818
nWaiting ended up negative, because the dequeuer (GetCall) decremented.


(cherry picked from commit 399785acf1)
2004-08-25 08:13:09 +00:00
Derrick Brashear
55c8e616eb STABLE14-butc-xbsa-cleanup-20040818
make things compile when xbas is defined.


(cherry picked from commit 4d44764c15)
2004-08-25 08:12:37 +00:00
Derrick Brashear
17dfbd5be4 STABLE14-banish-fstrace-trydcachechildren-entirely-20040818
we really don't need this...


(cherry picked from commit 5ca50c575a)
2004-08-25 08:12:10 +00:00
Derrick Brashear
b86ca37893 STABLE14-aix-install-cfgafs-20040818
based on feedback from tdamato@odu.edu


(cherry picked from commit 9a39ae21fe)
2004-08-25 08:11:34 +00:00
Hartmut Reuter
874f449df4 STABLE14-ubik-multihome-byte-order-problem-20040818
"Playing around with multi-address database servers on little-endian machines
I found out that there is one conversion of the ip-address too much"


(cherry picked from commit 6f1cd5a43e)
2004-08-25 08:11:03 +00:00
Derrick Brashear
3fa1980e52 STABLE14-linux-kernel-header-tests-20040818
check for existance of some headers (in_systm.h, mm_inline.h) to decide on inclusion


(cherry picked from commit fc441042fc)
2004-08-25 08:10:36 +00:00
Nickolai Zeldovich
771f8f764c STABLE14-fix-indent-bug-with-lock-macros-part-three-20040818
Add trailing semicolons to more macros and re-indent.


(cherry picked from commit 06478aeaae)
2004-08-25 08:09:32 +00:00
Nickolai Zeldovich
4d4d545685 STABLE14-fix-too-many-close-parens-20040818
Noone seems to be using this code anyway, as it's been non-compilable
for 2 years now.  But indent noticed that we have too many close-parens
in there, so might as well fix it...


(cherry picked from commit 3fa71885ae)
2004-08-25 08:07:53 +00:00
Kris Van Hees
520573cffa STABLE14-initialize-i-security-20040816
modern 2.6 kernels with i_security need this such that if the i_security field got garbage-collected out from under us we don't deref a null pointer.


(cherry picked from commit e6c7148abe)
2004-08-25 08:04:05 +00:00
Sven Oehme
54cffed9fa STABLE14-s390x-20040811
zLinux on S390x (64 bit S390)


(cherry picked from commit 8651d7a693)
2004-08-25 08:03:32 +00:00
Love Hörnquist-Åstrand
c1dfbb9a43 STABLE14-netbsd-lwp-no-param-h-20040810
fix NetBSD process.o build


(cherry picked from commit 46b847e367)
2004-08-25 08:00:41 +00:00
Derrick Brashear
577048ebda STABLE14-libafsauthent-mapfile-update-20040823
export a few more symbols


(cherry picked from commit f1ff3887a2)
2004-08-25 07:59:31 +00:00
Jeffrey Altman
a73c83e171 STABLE14-version-update-20040823
1.3.71


(cherry picked from commit 854d15634a)
2004-08-24 08:10:19 +00:00
Jeffrey Altman
8f070161dd STABLE14-expand-drive-mappings-20040823
Drive mappings are now per user and stored in the registry.  Allow
them to continue to use environment variables in the paths.


(cherry picked from commit bca5ba20e6)
2004-08-23 20:38:36 +00:00
Jeffrey Altman
48fba74eb7 STABLE14-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


(cherry picked from commit 40d2f5f7c0)
2004-08-23 16:55:02 +00:00
Rolandas Naujikas
d7932e778e STABLE14-afslogon-20040820
Modifications to support local machine profiles redirected to AFS


(cherry picked from commit 97031c3168)
2004-08-20 21:17:00 +00:00
Asanka Herath
7c433622e4 STABLE14-wix-admin-20040820
- Move product code into NTMakefile.i386_nt40

====================
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 administrative installations ( 'msiexec /a openafs-en_US.msi')

- Register services as interactive

- Move product code into NTMakefile.i386_nt40


(cherry picked from commit 65884b7d94)
2004-08-20 21:15:19 +00:00
Jeffrey Altman
bc5a0084c2 STABLE14-callback-deadlock-20040819
cm_CallbackNotifyChange(scp); must not be called with scp locked


(cherry picked from commit 7c01e67317)
2004-08-19 20:51:23 +00:00
Rolandas Naujikas
e92fa6160f STABLE14-non-ad-afs-profile-20040819
NetUserGetProfilePath function provided by Rolandas Naujikas


(cherry picked from commit f2b18e7af8)
2004-08-19 20:50:58 +00:00
Jeffrey Altman
de3c0220a1 STABLE14-time_t-20040818
Make sure the response of time() is stored in a time_t


(cherry picked from commit 3de51188f7)
2004-08-18 18:52:30 +00:00
Jeffrey Altman
bf40fd9b2e STABLE14-time_t-200408018
time values in the cache manager and smb engine which are passed to
the run time library must be of type time_t and not long or int or
unsigned long or unsigned int or ...


(cherry picked from commit f21740a0ac)
2004-08-18 18:11:22 +00:00
Jeffrey Altman
8b9f7ddf22 STABLE14-cellservdb-20040817
update to current gco


(cherry picked from commit ddaba14e37)
2004-08-17 21:17:16 +00:00
Jeffrey Altman
e026af66f1 STABLE14-osilog-messages-20040817
move the cm_GetCell_gen debug messages to the trace log


(cherry picked from commit 202a27f073)
2004-08-17 18:16:02 +00:00
Jeffrey Altman
5b72b80187 STABLE14-smb-notify-callback-expire-20040817
When the callback expires on an scache item, if there is an smb client
listening for updates send it is a notification of change.  This will
force the smb client to refresh its listener which will in turn cause
a new callback to be registered.

Also, remove debugging statements from GetServer/PutServer


(cherry picked from commit 1ae8a71dfa)
2004-08-17 16:26:04 +00:00