Commit Graph

4376 Commits

Author SHA1 Message Date
Jeffrey Altman
9bf29bbe1e windows-afs-config-vista-uac-20070918
Mark afs_config.exe via a manifest with
requestedExecutionLevel = HighestAvailable

This will ensure that when Vista UAC is active, that a member of the
Administrators group must run the AFS Control Panel with Administrators
privileges.
2007-09-18 07:13:08 +00:00
Jeffrey Altman
8ba598cd84 windows-cl1310-manifests-20070918
add support for manifests to .NET 2003 builds
2007-09-18 07:07:16 +00:00
Jeffrey Altman
eae26ab6b2 windows-nsis-20070918
fix error in NTMakefile that used the CL_1310 configuration for the
VS 2005 compiler

force RequestExecutionLevel to admin for Vista
2007-09-18 07:04:02 +00:00
Jeffrey Altman
70fa2d2499 windows-down-servers-20070913
Do not assign a new downTime to a server that is already down.
Doing so breaks the logic to preserve callback validity until the
server comes back up.
2007-09-13 18:58:00 +00:00
Jeffrey Altman
b06335911b windows-afsmaxpath-20070912
ensure that all path stack buffers are of size AFSMAXPATH
2007-09-13 02:41:07 +00:00
Jeffrey Hutzelman
f15a9a2788 dafs-shutdown-state-fix-20070912
clean up the dafs shutdown code to not read bogus info into the id
2007-09-12 19:25:53 +00:00
Derrick Brashear
a6d7cacfdc aklog-kimpersonate-20070912
inline kimpersonate support, to make testing easier.
2007-09-12 19:09:42 +00:00
Jeffrey Altman
5647c133e9 windows-dir-bplus-shortnames-20070912
When a file name does not conform to 8.3 notation, an 8.3 notation
alias is generated for it.  This short name form must be searchable
in the B+ tree.

This commit adds a longname field to the data node which is used both
to identify the real name associated with the short name as well as
whether or not the short name is in fact an alias.   Being able to
determine whether or not a data node is an alias will be important
when we support using the B+ tree for directory enumeration.

For insertion, if the name does not conform to 8.3 notation, a second
entry is inserted into the B+ tree using the shortname as the key and
the longname stored in the data.

For deletion, we lookup the data node for the provided key.  If there
is a longname we remove the longname entry first and then the shortname
entry.  If the key is a longname, we lookup the data node so we can
acquire the FID and then use that to compute the shortname.  We then
remove both the shortname and longname entries from the B+ tree.
2007-09-12 18:28:00 +00:00
Jeffrey Altman
40090977d2 windows-getcell-deadlock-20070911
don't hold the cm_scache_t mutex across calls to cm_GetCell() since
cm_GetCell() can block in an RPC call.  If that cm_scache_t must be
accessed to revoke a callback, it can result in a deadlock.
2007-09-11 17:11:54 +00:00
Chaskiel M Grundman
c22f945bb7 namei-protect-against-extra-files-20070911
if someone is monkeying in the filesystem, sometimes they shoot themselves. save them if they renamed foo to foo.bak (where foo is a full 64 bits)
2007-09-11 16:37:01 +00:00
Jeffrey Altman
bf6c13352a windows-prefetch-executables-20070911
avoid prefetch race condition in CreateX functions

do not permit reference underflow when ending background prefetch ops
2007-09-11 06:02:42 +00:00
Derrick Brashear
049c95d74c namei-fsync-less-20070910
remove sync() call from Windows build
2007-09-10 22:54:25 +00:00
Jeffrey Altman
3b7188b326 windows-prefetch-executables-20070910
This code defines a new service parameter "PrefetchExecutableExtensions"
of type REG_MULTI_SZ.  By default it is undefined and does nothing.  If
it is defined, files that match the extensions will be prefetched in
their entirety.

All of the prefetch functions now pay attention to the length parameters.
Previously, length parameters were specified on some functions in the
chain but they were ignored.  The reality was that the chunksize was
used regardless of what was indicated.

Prefetching is still optional.  If the prefetch fails during the initial
attempt you lose.  Otherwise, as many buffers as are required to satisfy
the requested prefetch length will be requested from the file server in
chunksize units.  If buffers have already been acquired, they are skipped
during the prefetch operation.
2007-09-10 20:06:58 +00:00
Jeffrey Altman
22da0dd5f8 windows-largeinteger-20070910
Fix the function type so that assignment of return values are
properly applied.

Add missing comparison routines.
2007-09-10 20:00:55 +00:00
Jeffrey Altman
7a6e406b80 windows-callbacks-20070909
when suspending only clear callbacks for servers that are in an up state.
if they were in a down state, then we couldn't send the clear callbacks
message but more importantly, we need to leave the callback info current
because the callbacks should not be cleared until the server is once again
reachable.
2007-09-10 05:53:48 +00:00
Jeffrey Altman
4914e45f26 windows-readme-nt-20070909
update NSIS version to 2.30
2007-09-10 05:12:10 +00:00
Jeffrey Altman
36414528ad windows-wix-20070909
make the service display name consistent with the NSIS installer.
2007-09-10 04:33:44 +00:00
Jeffrey Altman
4913dd6b78 windows-nsis-20070909
do not link object files twice
2007-09-10 04:30:34 +00:00
Rainer Toebbicke
dbbd59495b namei-fsync-less-20070907
FIXES 30632

we call fsync() too much. call it less, and fsync in the background
2007-09-07 05:02:09 +00:00
Derrick Brashear
b3e385fc10 consolidate-cellservdb-20070905
step 1. one place.
step 2 is coming: fix the scripts to update it when we do a release
2007-09-05 22:49:30 +00:00
Jeffrey Hutzelman
edaa34d3a0 dafs-savestatefe-avoid-overflow-20070902
The problem is that cb_stateSaveFE() overflows an iovec array
on its stack. When it returns, the PC is loaded with garbage and the
process crashes.
2007-09-03 04:58:40 +00:00
Jeffrey Altman
a8eddfb0f5 windows-64bit-ms2mit-20070902
add ms2mit support for 64-bit windows
2007-09-02 17:36:23 +00:00
Jeffrey Altman
6270294d49 windows-win64-kfw-20070902
leashw32.dll has been ported to win64 as leashw64.dll
2007-09-02 17:21:25 +00:00
Jim Rees
7cbd3a320a obsd-rm-pinstall-20070831
skip pinstall
2007-08-31 18:22:11 +00:00
Jeffrey Altman
8056e9347a dafs-commit-updatelist-change-20070831
actually save the changed value
2007-08-31 15:30:27 +00:00
Jeffrey Altman
cd7ac781bc windows-afscreds-win64-20070830
disable krb4 and ms2mit for win64
2007-08-31 05:02:23 +00:00
Jeffrey Altman
084ade0a98 windows-afsd-dirop-20070830
Do not attempt to obtain a write lock on a directory
if we already know that we aren't going to perform any
local directory updates.

Add the CM_ERROR_BPLUS_NOMATCH error which has the same
meaning as CM_ERROR_NOSUCHFILE except that it indicates
that we came to that conclusion as the result of a bplus
search.  This provides us the ability to short circuit
additional directory searches since we know the answer
is final.
2007-08-31 03:55:53 +00:00
Asanka Herath
d8db0aa8eb windows-wix-20070830
permit instloop.exe to be extraced to Client/Programs/instloop.exe
from the installer by using "msiexec /a".
2007-08-31 03:26:13 +00:00
Jeffrey Altman
ad8a1cc216 windows-64bit-afskfw-20070829
Disable the use of krb524, leash, and ms2mit (because it depends on leash)
for 64-bit builds.  We will need to implement our own replacement for the
ms2mit functionality.
2007-08-29 22:51:35 +00:00
Jeffrey Altman
0d81b9662e windows-wix-64bit-aklog-20070829
enable the installation of aklog.exe and asetkey.exe on 64-bit
windows.
2007-08-29 07:53:51 +00:00
Jeffrey Altman
d62316facd windows-64bit-aklog-no-krb4-20070829
disable krb4 and krb524 functionality in 64-bit aklog because there is
no support in 64-bit kfw.
2007-08-29 07:45:12 +00:00
Jeffrey Altman
20914ba284 windows-nim-afs-file-ccache-20070829
make the afs network identity provider compatible with FILE:
credential caches.  this is mostly of importance to 64-bit
Windows users since there is no CCAPI implementation for
64-bit KFW.
2007-08-29 06:31:03 +00:00
Jeffrey Altman
cad4d1137b windows-64bit-nim-no-krb524-20070828
do not load krb524.dll on 64-bit windows
2007-08-28 22:22:53 +00:00
Jeffrey Altman
1c264430ff windows-bplus-disable-20070828
In preparation for 1.5.24, disable B+tree support by default.
It can be enabled with the "BPlusTrees" registry parameter.
2007-08-28 18:48:49 +00:00
Jeffrey Altman
43d5267be5 windows-wix-amd64-nim-provider-20070828
Add network identity manager afs provider for amd64
2007-08-28 18:30:08 +00:00
Jeffrey Altman
822ad3eb72 windows-amd64-20070828
add amd64 build dependencies
2007-08-28 17:59:48 +00:00
Jeffrey Altman
3eb4ef6301 windows-nim-amd64-20070828
Add support for 64-bit Windows.
2007-08-28 17:53:26 +00:00
Jeffrey Altman
ac7471cc33 windows-bplus-20070826
add more DEBUG_BTREE debugging code

in placeEntry() protect against slot equal to zero

fix compareKeys() to only return -1, 0, or 1.
2007-08-27 01:10:15 +00:00
Jeffrey Altman
cd0a515e9f windows-recursion-fix-20070826
protect against a null pointer dereference
2007-08-27 01:04:09 +00:00
Jeffrey Altman
8f9b810bf0 windows-bplus-tree-20070825
== ! =

fix the return code in cm_Rename()
2007-08-25 17:55:07 +00:00
Jeffrey Altman
c8bf408ced windows-bplus-tree-20070823
Windows uses case-insensitive file name pattern matching
but AFS is a case sensitive file system.  The AFS3 directory
format is block based, uses network byte order and
includes a hash table for fast case sensitive lookups.
This causes several problems for the Windows AFS client.
(1) Traversing the directory blocks is cpu expensive
(2) A hash table miss does not indicate that the desired
    entry does not exist.
(3) Determining whether a non-ambiguous inexact match or
    the entry does not exist requires a linear traversal
    of the entire directory.
These issues often result in 100% CPU utilization.

These issues are addressed by building a modified B+ tree for
each directory and then using the B+ tree for searches.

Further improvements can be made by using the B+ tree leaf
nodes for directory enumeration.
2007-08-24 04:19:18 +00:00
Jeffrey Altman
e5ec3ad4fc windows-recursion-fix-20070823
for . and .. find the last time we saw the fid in the list
instead of moving back a fixed count since the parent might
be a symlink or a mount point or both
2007-08-23 21:42:55 +00:00
Jeffrey Altman
c675454e7f windows-makedir-uninitialized-var-20070823
scp must be initialized to NULL to prevent improper evaluation
2007-08-23 17:50:58 +00:00
Jeffrey Altman
985a2e34d6 windows-volstat-log-20070823
must save the log string when it comes from a buffer on the stack
otherwise garbage is logged in afsd.log
2007-08-23 17:47:46 +00:00
Jeffrey Altman
1727d4928f windows-smb-max-path-20070823
the actual max path is 260 not 256
2007-08-23 17:44:43 +00:00
Derrick Brashear
5cae22ea3a checkhost-use-reentrant-list-traversal-20070823
rather than making a copy of the whole hostlist and holding every host, hold
what we need, the _r (not really reentrant) version.
2007-08-23 17:28:54 +00:00
Derrick Brashear
314b3abaff linux-nfs-pag-handling-20070822
don't mishandle pag argument when passed in from e.g. knfs

don't make keyring pag for nfs clients
2007-08-22 20:37:10 +00:00
Jeffrey Altman
10c6021847 windows-fix-recursion-detection-20070822
handle symlinks to absolute paths
2007-08-22 17:09:53 +00:00
Jeffrey Altman
d467431115 windows-newfiles-20070822
add place holders for the B+ tree source files.
2007-08-22 16:59:16 +00:00
Derrick Brashear
c31cfea03d linux-module-error-handling-20070821
be more careful about what we call when, and clean up after ourselves
2007-08-22 03:16:26 +00:00