Derrick Brashear [Mon, 18 Jun 2007 18:58:37 +0000]
DEVEL15-darwin-collect-network-errors-for-fast-timeout-
20070618
same optimization we do on windows, linux
(cherry picked from commit
0c5cf6028d2e45809772838fb169c456f22e61f6)
Derrick Brashear [Mon, 18 Jun 2007 18:06:24 +0000]
DEVEL15-darwin-afs-syscall-eliminate-needless-vfs-context-hold-
20070618
avoid potential deadlock if e.g. SetTokens is called before the kernel module initialization completes
(cherry picked from commit
125e4511a9715a5df7dda265373d97a21177ea21)
Asanka Herath [Sun, 17 Jun 2007 05:50:29 +0000]
DEVEL15-windows-nim-afs-
20070617
Don't assume that WM_DESTROY is the final message received by a
window. Verify dialog data structures when handling messages and
reset the window data field when freeing the data structure.
Zero should be considered a valid credentials type identifier in
Network Identity Manager.
When checking if an identity is configured to obtain a token for a
specific cell, don't go through the list of cells if AFS tokens
are disabled for the identity.
Similarly, when removing a token for a specific cell from all
identities, don't bother modifying identities for whom AFS tokens
are disabled.
Keep track of whether a specific cell was added to the list of
cells to authenticate for an identity because it was listed in the
configuration or because a token for the cell already existed.
Correct an off-by-one error when calculating buffer sizes for
multi strings which failed to account for a double NULL
terminator.
Don't update the cell->identity mapping if a token for that cell
could not be obtained.
If the list of cell to authenticate for an identity is empty, we
still need to write the empty string to the configuration.
Otherwise, removing all the tokens from an identity will not
result in a configuration change reflecting that.
(cherry picked from commit
6bc5c0899a9eb6c134c0079406fe28113e5cbeaf)
Jeffrey Altman [Thu, 14 Jun 2007 21:58:53 +0000]
DEVEL15-windows-ioctl-path-availability-
20070614
fix cm_IoctlPathAvailability to return the current volume state.
0, CM_ERROR_ALLBUSY, CM_ERROR_ALLDOWN, CM_ERROR_ALLOFFLINE
modify fs.c to generate messages when the errors are received.
(cherry picked from commit
e8fa4d0e40c2a4352010986f82ac2fbfe8b8ae3e)
Jeffrey Altman [Thu, 14 Jun 2007 21:55:18 +0000]
DEVEL15-windows-volstate-update-post-network-change-
20070614
When the system's IP address list changes we invalidate the existing
RX connections and probe all of the servers. A better algorithm is
to probe all vldb servers, invalidate the rx connections, and then
probe all file servers.
(cherry picked from commit
0187bf2feb9a191ba0b7868905854c603cc5092c)
Jeffrey Altman [Thu, 14 Jun 2007 20:06:25 +0000]
DEVEL15-rx-lwp-sendmsg-
20070614
update the lwp version of rxi_sendmsg to return the same error, -1,
returned by the pthread version.
replace errno with WSAGetLastError() in the Windows blocks so that
the correct error value is checked.
(cherry picked from commit
46a931d020da24dd534e1064ea9fbe693acbdf65)
Jeffrey Altman [Thu, 14 Jun 2007 19:31:35 +0000]
DEVEL15-windows-pioctl-add-error-translations-
20070614
add error translations for CM_ERROR_ALLDOWN, CM_ERROR_ALLBUSY,
CM_ERROR_ALLOFFLINE, CM_ERROR_NOSUCHPATH
(cherry picked from commit
c27c00f8a93dcfd1b919197e233c217f778cbbf7)
Asanka Herath [Wed, 13 Jun 2007 23:28:25 +0000]
DEVEL15-windows-magic-share-names-
20070613
Access to AFS volumes via magic share names
\\afs\<cell><type><volume>
<cell> = cellname
<type> = % or #
<volume> = volume name or id
(cherry picked from commit
5ac7a7db9a79ac81f83b61150e73bc7bf0f14d61)
Jeffrey Altman [Wed, 13 Jun 2007 07:38:39 +0000]
DEVEL15-windows-server-ping-deadlock-
20070612
avoid deadlock in cm_ServerPing due to volume status update code
(cherry picked from commit
c74a23fc4043e28a138fe624b1aadf3af1ee8f6f)
Derrick Brashear [Tue, 12 Jun 2007 20:14:07 +0000]
DEVEL15-newuuid-
20070612
add the newuuid command
(cherry picked from commit
b1bbe33fdee32a3b3ec87a9d770d8684347f7c4b)
Marc Dionne [Tue, 12 Jun 2007 19:39:41 +0000]
DEVEL15-linux-configure-vfs-update-
20070612
FIXES 62017
clean up output
(cherry picked from commit
391d657c6ed80b5479d1db6ded957c8ddf688cb2)
Marc Dionne [Tue, 12 Jun 2007 19:34:16 +0000]
DEVEL15-linux-vfs-flush-3arg-
20070612
FIXES 62203
3rd arg for passing lock owner id. add configure gunk also
(cherry picked from commit
6eabfbd4b969d9efcc1eef646899af28a5077f0f)
Jeffrey Altman [Tue, 12 Jun 2007 16:38:43 +0000]
DEVEL15-windows-volume-status-tracking-
20070612
* re-write cm_Analyze to make better use of the known volume
status. VL_Server queries cannot result in CM_ERROR_ALLOFFLINE
messages.
* renamed cm_CheckBusyVolumes to cm_CheckOfflineVolumes.
busy volumes will be reset to srv_non_busy by the function
but there is no mechanism for querying the busy state other
than by attempting to access the resource.
* cm_Analyze will query the state of an offline volume before
deciding whether or not to retry when all volume instances
are offline.
(cherry picked from commit
86b3330c7148c25c0a7ee4ea8f15e3098695a667)
Marc Dionne [Tue, 12 Jun 2007 06:44:00 +0000]
DEVEL15-linux-2-6-22-updates-
20070611
FIXES 61767
1 - task_struct loses thread_info, which is now accessible through the
task_thread_info() macro. A configure test is added to deal with this.
2 - the SLAB_CTOR_VERIFY flag is gone
(cherry picked from commit
37a0b14e016af74176d714cc1b25a2af00275d56)
Steven Jenkins [Tue, 12 Jun 2007 05:02:13 +0000]
DEVEL15-man-vos-online-
20070611
Add initial man pages for vos offline and vos online.
(cherry picked from commit
ce209b23a5c64ed4b0d79ed775acf6cc000f4a35)
Lars Wilke [Tue, 12 Jun 2007 04:58:36 +0000]
DEVEL15-man-fileserver-args-
20070611
Missed another erroneous option argument.
(cherry picked from commit
ee37fd74ef67ea6c9543544b23ca69fd9f624572)
Jeffrey Altman [Sun, 10 Jun 2007 18:05:14 +0000]
DEVEL15-windows-notes-
20070610
changes since 1.5.20. not ready for 1.5.21 yet
Jeffrey Altman [Sun, 10 Jun 2007 18:00:07 +0000]
DEVEL15-windows-volume-status-tracking-
20070610
* changed the enum values for cm_serverRef_t state info to use a
private name space to avoid collisions (srv_)
* added a srv_deleted state for cm_serverRef_t objects. This
state is set when cm_FreeServerList() is called with the
CM_FREESERVERLIST_DELETE flag set. cm_FreeServerList() may
not always delete the cm_serverRef_t from the list if it is
still in use by another thread. the srv_deleted state means
the object's contents are no longer valid and it must be
skipped. It will be deleted the next time the object is
freed and the refcount hits zero.
* the srv_deleted state is also used when a file server reports
either VNOVOL or VMOVED instead of marking the cm_serverRef_t
as offline. This is done to prevent additional usage of the
stale vldb data while waiting for the update volume request
to complete.
* added a state field to the cm_volume_t object (enum volstate
vl_ name space) that maintains the state of the volume based
upon the states of all of the cm_serverRef_t and cm_server_t
objects.
* modified cm_UpdateVolume() to set the state of the cm_volume_t
RW, RO, and BK to either vl_alldown or vl_online. There can't
be any other states because cm_UpdateVolume() destroys any
previous knowledge we might have had regarding busy or offline
volume status
* modified cm_UpdateVolume() to update the volume name in the
cm_volume_t to the volume base name if the previous value was
a volume ID.
* modified cm_FollowMountPoint() to check to see if the volume
name is a volume ID and if so call cm_GetVolumeByID instead
of cm_GetVolumeByName. This ensures that volume IDs are always
looked up as numeric values. There is no longer a need to
maintain a separate cm_volume_t containing the string representation
of the ID value.
* Added a flags parameter to cm_GetVolumeByName() and cm_GetVolumeByID().
The first flag is a "CREATE" flag which is set by all existing
calls. The flag is not set by calls to cm_GetVolumeByID() from
the server probe code when volume status is being updated. We
do not want the server probe operation to result in additional
turnover in the cached volume data. The second flag is NO_LRU_UPDATE
which is set when the server probe code updates the volume status.
This flag will be used to prevent the server probe operation from
changing the order of the least recently used queue.
* Modified cm_GetVolumeByName to ensure that only one cm_volume_t is
allocated for a given set of normal, readonly, and backup volumes
regardless of whether or not the volume is accessed via name or
ID number. The cm_volume_t namep field is always the base name
of the volume.
* Added a new volume state, vl_unknown. This state is used as
the initial state for all cm_volume_t when the cache manager starts,
for each cm_volume_t at creation, and for each cm_volume_t when
recycling. The cache manager does not know the state of all
volumes in the world, only those that are in the cache and for
which it has queried the VLDB and hosting file servers.
* modified cm_GetVolumeByName() to initialize the state of a
volume to vl_unknown. The actual state will be set when a
cm_VolumeUpdate() call completes successfully.
* changed name of scache hash table variables to avoid ambiguity
when adding hash tables for volumes
* fix a buffer overrun in sys\pioctl_nt.c pioctl().
(thanks Asanka)
* modified cm_UpdateVolume() to handle the case in which there is
no RW volume but there is are RO volumes for a given base name.
This is done by querying for the ".readonly" volume name if the
base name does not exist in the VLDB. We never query for the
.backup name because under the current usage model a .backup
volume may only exist on the server that the read-write volume
is located. If there is no RW volume, there can be no .backup.
* Added four hash tables for cm_volume_t objects to improve the
search time of cm_GetVolumeByID(), cm_GetVolumeByName() and
cm_ForceUpdateVolume(). One each for Name, RWID, ROID, and
BKID. Three ID hash tables are necessary as long as it is
desireable to maintain a single cm_volume_t containing all
of the related RW, RO, and BK volume data. Having the RW and
RO volume data in the same object is necessary for the
implementation of cm_GetROVolumeID() which returns either the
RO or RW ID depending upon the existence of RO volume instances.
* Added a volume LRU queue so that volume reuse becomes fairer.
This does not replace the all Volumes list which is used when
it is desireable to walk a list of all the volumes whose order
is not going to change out from underneath you which makes it
safe to drop the cm_volumeLock.
* handles volume hash table updates where volume name to
volume ID number changes. The volume name remains
constant in the cm_volume_t. if a vos rename is performed,
the name of the volume will change and the volume IDs will be
updated. Subsequent access to the old volume ID will create a
new cm_volume_t with the new name.
* Added a daemon thread operation to query the state of volumes
listed as busy or offline. cm_CheckBusyVolumes() calls
RXAFS_GetVolumeStatus() for each volume ID that is marked vl_busy
or vl_offline. If the volume is now online, the status on the
volume is updated. The default period is 600 seconds. This can
be configured with the BusyVolumeCheckInterval registry value.
* Added prototype for smb_IoctlPrepareRead() which was missing a
return type in the function definition.
* Added volume id lists to the cm_server_t. These lists are
allocated in blocks of ~32 IDs. When a cm_PingServer()
detects a change in server state, the state of the cm_volume_t
is updated.
* Added volID to the cm_serverRef_t object. volID is used
to identify the volume for which the object is a referral.
cm_FreeServerList() uses the volID to remove the volume
from the cm_server_t.
* In cm_Analyze, when VNOVOL or VMOVED are received,
call cm_ForceVolumeUpdate() to force a refresh of the volume
location data.
* Added cm_VolumeStatusNotification() which is used at the moment
to log volume status changes to the trace log. It will also
be used as the access point to the File System Filter driver
notification engine.
* Added an all cm_scache_t list to cm_data. This replaces the use
of the stat cache LRU queue when we need to enumerate all
entries. The LRU list order is not static and when using it to
enumerate all entries it can result in items being missed or
items being processed more than once.
* Modified cm_Analyze(). Instead of reseting the busy or offline
state of a volume and forcing a retry of the operation
cm_Analyze will defer to the background daemon thread that will
update the state once every 600 seconds.
* Added the automatic generation of a Freelance ".root" read-write
mountpoint that refers to the root.afs volume of the workstation
cellname at the time the mountpoint is created.
(cherry picked from commit
66adaf326861ae8a544650928bc6934d26a91d1d)
Jeffrey Altman [Sun, 10 Jun 2007 15:25:29 +0000]
DEVEL15-rxkad-badticket-
20070610
In rxkad_CheckResponse, when checking the return value from tkt_CheckTimes,
the order is == 0, == -1, < -1, <= 0. The <= 0 case is extraneous so
remove it. Both < -1 and <= 0 returned RXKADBADTICKET.
(cherry picked from commit
f4bd2604222c1199fc0ece0eaa82c034fa50b977)
Asanka Herath [Sun, 10 Jun 2007 06:55:42 +0000]
DEVEL15-windows-pioctl-buffer-overrun-
20070609
this patch protects against a buffer overrun in the client if the
server were to send more data than the receiving buffer can hold.
(cherry picked from commit
8a814a5596e9d8db1c24326715f794ae46966b3b)
Derrick Brashear [Sun, 10 Jun 2007 06:43:11 +0000]
DEVEL15-linux-kmem-destroy-fix-
20070609
don't destroy if create failed
(cherry picked from commit
18484f0fc64a550c1abacb6d2614c7ea12af4052)
Derrick Brashear [Wed, 6 Jun 2007 18:56:19 +0000]
DEVEL15-vsprocs-avoid-bogus-error-
20070606
don't EPRINT if it's not an error
(cherry picked from commit
fcfdcc3cc1c272966574103f7e8bd495c7fcbb84)
Derrick Brashear [Wed, 6 Jun 2007 18:33:28 +0000]
DEVEL15-lwp-linux-ucontext-
20070606
to revert other changes which got pushed down here; make things like the head
Derrick Brashear [Wed, 6 Jun 2007 18:22:05 +0000]
DEVEL15-aix-declare-setlim-
20070606
maybe fix lwp.c compiling with modern aix
(cherry picked from commit
cb18c5f80257d2ef239933dbe055cbe753b312c6)
Derrick Brashear [Tue, 5 Jun 2007 18:11:28 +0000]
DEVEL15-solaris-sparc-default-to-v8-insns-for-kmod-
20070605
FIXES 23935
don't use the default instruction set since the compiler has changed over time
(cherry picked from commit
a62104968094bec86a7d3692158bbc84db035cdd)
Jeffrey Hutzelman [Tue, 5 Jun 2007 04:54:29 +0000]
DEVEL15-fix-kbuild-linux-ppc64-
20070604
The Linux 2.6 kbuild environment requires assembly files end in .S, not .s.
(cherry picked from commit
e8493e06f9d62c282bca2df8a4a0ac20caa4c70c)
Jeffrey Altman [Mon, 4 Jun 2007 13:16:56 +0000]
DEVEL15-windows-release-notes-
20070604
in the 1.5.9 release time frame sections 4 and 5 on debugging and bug
reporting got lost. restore them.
Derrick Brashear [Fri, 18 May 2007 06:53:56 +0000]
DEVEL15-clone-dont-hold-vol-lock-
20070516
same deal as purge. a transaction on the volume outstanding holds it. we don't need to preclude all access
====================
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.
====================
same deal as purge. a transaction on the volume outstanding holds it. we don't n
eed to preclude all access
====================
same deal as purge. a transaction on the volume outstanding holds it. we don't n
eed to preclude all access
(cherry picked from commit
aa5d46b71b3700d6256f47237fadf0a4829daee6)
Derrick Brashear [Fri, 18 May 2007 06:22:33 +0000]
DEVEL15-openafs-1-5-20-
20070518
make 1.5.20
Derrick Brashear [Thu, 17 May 2007 19:36:01 +0000]
DEVEL15-linux-posix-lock-file-has-wait-arg-now-
20070517
FIXES 58590
hopefully this works, i can't actually try it now
(cherry picked from commit
ad98eacdadf6b9e079d1606f40cfc352450650a1)
Jeffrey Altman [Thu, 17 May 2007 17:19:03 +0000]
DEVEL15-windows-notes-
20070517
notes for 1.5.20
Jeffrey Altman [Thu, 17 May 2007 17:12:52 +0000]
DEVEL15-windows-version-
20070517
1.5.2000.0 == 1.5.20
Arkadi Shishlov [Thu, 17 May 2007 07:51:27 +0000]
DEVEL15-linux-sparc-arch-detection-
20070517
FIXES 60288
use arch to figure out if we are sparc64
(cherry picked from commit
9352435f1c128ee011fc820e41c6fba508d141dd)
Derrick Brashear [Thu, 17 May 2007 07:36:42 +0000]
DEVEL15-linux-posix-lock-file-has-wait-arg-now-
20070517
FIXES 58590
hopefully this works, i can't actually try it now
(cherry picked from commit
59eb3de5ea3bc9588c91d3f2dbb6a598fa56ad43)
Rainer Toebbicke [Thu, 17 May 2007 07:14:06 +0000]
DEVEL15-bucoord-dump-levels-
20070517
FIXES 57246
dont use memory past what you've allocated
(cherry picked from commit
87a93241dab68696a54c8e43df4ffb70928fce21)
Jeffrey Altman [Wed, 16 May 2007 23:37:08 +0000]
DEVEL15-windows-release-notes-
20070516
updates to release notes for 1.5.20.
Lukas Hluze [Wed, 16 May 2007 21:58:43 +0000]
DEVEL15-libafs-common-placate-irix-make-
20070516
FIXES 59153
irix make wants $@ to be $(@) inside other braces
(cherry picked from commit
5987e2923a2670a27a801461dc9668ec88ed7d2a)
Chaskiel M Grundman [Wed, 16 May 2007 21:49:56 +0000]
DEVEL15-rx-ack-idle-comment-
20070516
FIXES 60046
fix comment
(cherry picked from commit
d143385ec6e633c0b8a953550a4d2b9e5c1b2171)
Chaskiel M Grundman [Wed, 16 May 2007 21:45:25 +0000]
DEVEL15-rx-tq-busy-
20070516
FIXES 60046
abstract tq busy wait code
(cherry picked from commit
7a72e2445fa8da7947a4370080edb9eb4df67e17)
Chaskiel M Grundman [Wed, 16 May 2007 21:37:47 +0000]
DEVEL15-rx-send-req-ack-
20070516
FIXES 60046
change reply code where appropriate
(cherry picked from commit
a900fe30894b5c1bf3a55f2f539179c75c177dad)
Arkadi Shishlov [Wed, 16 May 2007 21:22:30 +0000]
DEVEL15-glibc24-jmp-buf-mangling-
20070516
FIXES 60440
glibc 2.4 does jmp buf manging for "security"
whatever. deal.
(cherry picked from commit
f550e3b3ffeac6be73a780fa3ed43ab3dc4600ba)
Marcus Watts [Wed, 16 May 2007 20:55:49 +0000]
DEVEL15-supergroup-cleanup-
20070516
FIXES 60809
Problems fixed with this patch:
/1/ supergroup bug: when updating an entry in prdb, the logic in
pt_mywrite is supposed to unset flagged & found bitmap entries.
This failed on little-endian architecture machines.
/2/ warnings; a few fixes to eliminate some compiler noise.
(cherry picked from commit
d608809c247c9b8105c95e230449f98705767476)
Marcus Watts [Wed, 16 May 2007 20:44:12 +0000]
DEVEL15-ptserver-fix-bitmap-
20070516
FIXES 60680
make sure bitmap code is correct else supergroups returns invalid answer
fix verify code to be correct on little endian hosts
(cherry picked from commit
62dc1975410ad0dbea12a0c7e3c11a37230e5971)
Jeffrey Altman [Wed, 16 May 2007 16:55:16 +0000]
DEVEL15-windows-afsd-list-acl-only-dir-
20070516
FIXES 60258
Do not return access denied when applying directory patches if the
user does not have read permission. This is the case we want to
fake the directory entries for. Also, make sure we set the directory
attribute on non-files so that the path can be accessed via the
Explorer Shell.
(cherry picked from commit
03e3b77553bed4d395393a53d81069c71d67dbea)
Jeffrey Altman [Wed, 16 May 2007 16:51:05 +0000]
DEVEL15-windows-afsd-uninitialized-
20070516
Do not use uninitialized variables in log messages
Do not dereference NULL pointers
(cherry picked from commit
82d2cc5b7fb638073e859e6a2b03b97722f518d9)
Jeffrey Altman [Wed, 16 May 2007 04:44:44 +0000]
DEVEL15-windows-afsd-list-acl-only-dir-
20070515
FIXES 60258
When the ACL on a directory is list only, attempts to read the status
of items in the directory will fail. Therefore, it is pointless to try.
Instead, when we know the user ACL does not have read permission, we
should immediately lie about the status info. That way we don't pound
the file server with requests that will produce an abort which in turn
will trigger force the file server to delay responses to the client.
This change has the added benefit that cached status info is no longer
leaked to callers that do not have appropriate permissions.
With this change the Explorer Shell is much more responsive.
(cherry picked from commit
e02fa3e73b258938135244f7e3c09baa464e0c26)
Jeffrey Altman [Wed, 16 May 2007 04:34:58 +0000]
DEVEL15-windows-aklog-
20070515
FIXES 60938
do not copy an uninitialized field
(cherry picked from commit
60bbb56b546438d5e89854f61bcea368c5537341)
Jeffrey Altman [Tue, 15 May 2007 21:20:55 +0000]
DEVEL15-windows-fs-getcacheparms-
20070515
fix output of cache parms now that they are 64-bit
(cherry picked from commit
11cec9e764eb4bc47e61eb9475b1776d9e58bc87)
Rainer Toebbicke [Mon, 14 May 2007 22:43:43 +0000]
DEVEL15-namei-dont-randomly-full-salvage-
20070514
FIXES 61300
trivial fix to clear forcep
(inode already does this)
(cherry picked from commit
c78b4c61f70f6756a79440748ecacea2affec8ab)
Chaskiel M Grundman [Mon, 14 May 2007 22:37:51 +0000]
DEVEL15-getdcache-no-slowpass-enforcement-on-dynroot-
20070514
don't enforce slowpass restriction on dynroot vcaches (and don't do unneeded work)
====================
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.
====================
oops, another change slipped in
(cherry picked from commit
1b1c0eda5a3db6fe92d46d5f3d8529bf7c6378c2)
Frank Cusack [Thu, 10 May 2007 23:42:33 +0000]
DEVEL15-fix-partition-check-
20070510
oops
(cherry picked from commit
08cbee9b2d941d79b9f7919f4c76b1ab45ef3643)
Derrick Brashear [Thu, 10 May 2007 01:16:57 +0000]
DEVEL15-vos-namelen-for-dump-restore-is-stupid-
20070509
fixes bug reported by stephen joyce which i am too lazy to go get the RT number of
(cherry picked from commit
f2761c416320a3ff2bb0af4298ca95b8ecb04211)
Russ Allbery [Mon, 7 May 2007 18:24:34 +0000]
DEVEL15-up-preserve-dir-mtime-
20070507
FIXES 34522
Set the mtime on newly created directories to match the original directory.
(cherry picked from commit
1d4d8f5c4f125707fc6af432024d99e2672cadab)
Asanka Herath [Sat, 5 May 2007 22:14:48 +0000]
DEVEL15-windows-netidmgr-
20070505
Only automatically add configuration for cell foo.com if the realm
of the cell matches the realm of the identity
(cherry picked from commit
958bbb77bfbfc100031850b6fd7836658c35912a)
Jeffrey Altman [Fri, 4 May 2007 07:06:13 +0000]
DEVEL15-windows-checkvols-freelance-
20070504
do not flush mount point values for freelance volume
(cherry picked from commit
c8a3a0ecf210a7475f38267952ad8c96f27c08d2)
Jeffrey Altman [Fri, 4 May 2007 03:49:57 +0000]
DEVEL15-windows-wix-shell-ext-
20070503
When installing on 64-bit Windows we need to install the 32-bit and 64-bit
shell extensions under different HKCR keys. Otherwise, only one of the
explorer versions will get an extension handler.
(cherry picked from commit
2b442dbddb5d44f4b7e08eb04ae277c24a5e8964)
Jeffrey Altman [Fri, 4 May 2007 00:13:31 +0000]
DEVEL15-windows-wix-beta-upgrades-
20070503
This change is not as important for OpenAFS as it was for KFW as
OpenAFS does not issue betas with the same build numbers as final
releases. However, for users of daily builds when build numbers
are not being incremented it will provide benefit.
We modify the upgrade rules to include the current version number
and then block the uninstall if the currently installed package
is the one that is being installed.
The change applies to both the regular installer and the 32-bit
tools for WOW64 environments.
(cherry picked from commit
9f508ce443f1ef2103fbb74c6a094aef3aa96e86)
Jeffrey Altman [Thu, 3 May 2007 01:45:58 +0000]
DEVEL15-windows-flush-mountpoints-
20070502
When flushing volume location information also flush the mount point
data. This change results in behavior that matchs the Unix client.
(cherry picked from commit
d9946ba827b7099848dfe659f0eaf10167e9413b)
Jeffrey Altman [Thu, 26 Apr 2007 19:45:16 +0000]
DEVEL15-windows-wix-html-installgd-
20070426
FIXES 59827
The wix installer creates the wrong directory name for the IBM Quick Guide
Remember to specify the LongName.
(cherry picked from commit
113ccb9963be8ccd602520b4987f2cc0a5f52b51)
Asanka Herath [Thu, 26 Apr 2007 19:08:00 +0000]
DEVEL15-windows-dropbox-fix-
20070426
FIXES 60161
A dropbox is a directory with ACLs 'li' that permits a user to create
a new file but not be able to read other files within the same directory.
The 1.5 Windows clients have not been able to write to dropboxes since
the addition of the locking code. The lock acquisition test assumed
that if the user did not have PRSFS_LOCK or PRSFS_WRITE that it would
be unable to obtain a lock. It did not take into account the special
treatment of PRSFS_INSERT by the file server and so never bothered to
ask.
As it turns out though, the locking situation is more complex than one
might think. If the server is 1.4.1 or earlier, it will not grant
any locks for users with INSERT. The PRSFS_LOCK privilege is required.
For 1.4.2 through 1.4.4, write locks will be granted if the user has
PRSFS_INSERT but a read lock will not be granted unless the user has
PRSFS_LOCK. Therefore, if the server advertises the WRITELOCKACL
capability bit if the read lock is not granted a write lock can be
attempted.
For 1.4.5 and 1.5.20 and above, the file server will grant read locks
if the user has PRSFS_WRITE or PRSFS_INSERT. (Insert only applies if
the user is the creator of the file).
This patch handles all of the above possibilities. In the pre-1.4.2
case a read-lock request will be faked locally.
(cherry picked from commit
bfed93d7fce113690c20e1cad102c8b23c0aa17f)
Derrick Brashear [Wed, 25 Apr 2007 20:48:51 +0000]
DEVEL15-rx-call-abort-release-refcount-
20070425
don't leak a call ref when doing a call abort
(cherry picked from commit
92ecfdd675e8a851c7f0f19e5359362fa00c1c8f)
Jeffrey Altman [Tue, 24 Apr 2007 01:28:28 +0000]
DEVEL15-viced-write-perm-grants-read-lock-
20070423
the permission to obtain a write-lock is granted either by having the
"w" permission or the "i" when owning the file. The permission to obtain
a read-lock has been granted by having the "k" permission. However it
makes no sense that someone can obtain a write-lock but not a read-lock.
This patch grants permission to obtain read-locks to those who can obtain
write-locks.
(cherry picked from commit
bb61e1dc678ea28132c195438fc1f157fa580cd1)
Jeffrey Altman [Fri, 20 Apr 2007 12:02:25 +0000]
DEVEL15-windows-wix-html-installgd-
20070420
FIXES 59827
The wix installer creates the wrong directory name for the IBM Quick Guide
(cherry picked from commit
c5c23b7bc4544af2c1204622cd67b835b27bcdab)
Derrick Brashear [Thu, 19 Apr 2007 05:04:29 +0000]
DEVEL15-openafs-1-5-19-
20070419
make 1.5.19
Christopher Allen Wing [Wed, 18 Apr 2007 19:19:59 +0000]
DEVEL15-linux-symlink-handling-avoid-crash-
20070418
Background: OpenAFS is vulnerable to crashing in the linux kernel symlink
code when running on kernel versions between 2.6.10 to 2.6.12. This also
includes all RHEL4 kernels, because RHEL4 includes the code from 2.6.10. The
problem is that the symlink text caching API, page_follow_link() et al, is
unsuitable for network filesystems where the page cache may be invalidated
in parallel with a path lookup.
This crash can be triggered easily by doing a bunch of path lookups
involving symlinks (e.g., stat() on various files pointed to through links),
while simultaneously running 'fs flushvol' on the volume containing the
symlinks.
The simplest way to fix this problem is to disable the use of symlink text
caching when the kernel does not provide a usable symlink API.
(cherry picked from commit
2d18bd1777b8d18a3b855685928dcdafcbe609b8)
Chaskiel M Grundman [Wed, 18 Apr 2007 19:02:47 +0000]
DEVEL15-vmalloc-no-glock-
20070418
Based on Chris Wing's analysis which stated in part:
GFP_NOFS tells the allocator not to recurse back into the filesystem if it's
necessary to free up memory. However, vmalloc() does not have such an
option. Therefore, calling osi_Alloc() to request more than a page of
memory may end up recursing back into AFS to try to free unused inodes or
dentries.
In this case, what happened was that osi_Alloc() is called within an
AFS_GLOCK(); osi_Alloc() calls vmalloc() which tries to free dentry objects,
which then calls back into the AFS module. Unfortunately, AFS_GLOCK() is
already held and we deadlock.
(cherry picked from commit
9943fe1fd71fc29331dcac7cd6a51bd37f307876)
Jeffrey Altman [Wed, 18 Apr 2007 17:10:27 +0000]
DEVEL15-windows-version-
20070418
1.5.1900
Jeffrey Altman [Wed, 18 Apr 2007 17:08:29 +0000]
DEVEL15-windows-notes-
20070418
1.5.19
Jeffrey Altman [Wed, 18 Apr 2007 17:03:22 +0000]
DEVEL15-windows-release-notes-
20070417
1.5.19
Jeffrey Altman [Wed, 18 Apr 2007 16:59:35 +0000]
DEVEL15-windows-afskfw-bluescreen-
20070418
The afskfw library contains an unprotected call to krb5_free_context
which can result in krb5_free_context being called with a NULL pointer.
MIT's Kerberos libraries do not check that the pointer is non-NULL and
will attempt to use it as a valid pointer which will in turn result
in an invalid memory access error.
This library is used by afslogon.dll which is loaded by winlogon.exe.
If the krb5 profile is invalid, the krb5_init_context call will fail
to allocate a krb5_context structure which can then result in
krb5_free_context being called with a NULL pointer.
An unhandled exception within winlogon.exe will cause a blue screen event
on Windows 2000, XP and 2003.
(cherry picked from commit
85a23a70c783364e039f2a1b402ba718c1fc34a5)
Jeffrey Altman [Tue, 17 Apr 2007 05:04:36 +0000]
DEVEL15-windows-afslogon-station-name-
20070416
Use case insensitive comparisons for the station name. Otherwise, we
will fail to notice that the logon is interactive on Vista.
(cherry picked from commit
a82252fcc80a70d900ab7446fe84a10a467d749d)
Jeffrey Altman [Tue, 17 Apr 2007 01:11:29 +0000]
DEVEL15-windows-kfw-krb5_init_context-
20070416
If krb5_init_context() fails make sure that no further krb5 calls
are performed.
krb5_init_context() will fail if the krb5.ini file is damaged.
(cherry picked from commit
c810b46e9eda0cf626499a1a3c72bb53ce0d81d6)
Jeffrey Altman [Tue, 17 Apr 2007 01:06:25 +0000]
DEVEL15-windows-temp-path-
20070416
Use GetTempPath() instead of testing environment variables ourselves.
(cherry picked from commit
44ca92226ae8e780b6c6134c83b08b3c8c266c95)
Jeffrey Altman [Sat, 14 Apr 2007 19:49:36 +0000]
DEVEL15-windows-vioc-path-availability-
20070414
add a new Windows only pioctl VIOC_PATH_AVAILABILITY that is used
to query the server status for a specified path. Return values
include:
online
offline
all busy
all down
not afs
(cherry picked from commit
5bc88af797eeb8db631e6ad8e9d56d39a687dd96)
Jeffrey Altman [Thu, 12 Apr 2007 15:13:48 +0000]
DEVEL15-windows-netidmgr-provider-
20070412
do not use ellipsis for actions that do not need additional data to
complete.
"Help for OpenAFS plugin" -> "AFS" since its on the Help menu already
(cherry picked from commit
fb5b0dcce6874464c1021842ac1b48f4578ac105)
Jeffrey Altman [Tue, 10 Apr 2007 23:09:18 +0000]
DEVEL15-windows-netidmgr-afs-provider-
20070410
when using krb524 with a cross-realm service ticket the resulting krb4
cred will not contain the user's realm as there is only one realm field.
(cherry picked from commit
5bcd5ab54d2e76dc9b253fda6ea6b6bb4dfe87f0)
Derrick Brashear [Tue, 10 Apr 2007 19:49:17 +0000]
DEVEL15-comerr-rename-
20070410
nag nag nag
(cherry picked from commit
e0fa8ff72fb4f50a4f8e48b8f18d6846c7f5e4f6)
Jeffrey Altman [Sun, 8 Apr 2007 03:41:10 +0000]
DEVEL15-windows-netidmgr-plugin-
20070407
protect against pr_CreateUser modifying the username buffer.
(cherry picked from commit
fece50be72ebb182d10faaa0de5179eb4ff786b3)
Jeffrey Altman [Fri, 6 Apr 2007 17:56:53 +0000]
DEVEL15-windows-afslogon-
20070406
Fix eventlog reporting. Do not attempt to log an event if the event
source registration fails. Use DebugEvent0 instead of DebugEvent
when there are no parameters.
Modify the LOOKUPKEYCHAIN macro to recognize ERROR_MORE_DATA errors.
Fix the reading of Domain specific configuration for LogonScript and
TheseCells. Previously the dwSize value was being overwritten so that
subsequent RegQueryValueEx call would fail.
Fix a memory leak in the TheseCells reading code.
Add support for Domain specific "Realm" specification. The realm is
the realm to be appended to the username. When logging in as a domain
or to the local machine, the specified "Domain" name is not going to be
a valid realm name.
Construct a proper principal name based upon the domain specified realm
for use in obtaining tokens with KFW.
If the domain specified "TheseCells" list includes the default cell,
do not obtain tokens twice.
(cherry picked from commit
a47faf3eea14931fc5edf2d90550729dc78322df)
Jeffrey Altman [Wed, 4 Apr 2007 21:26:10 +0000]
DEVEL15-windows-aklog-
20070404
FIXES 58164
correct for the fact that pr_CreateUser tampers with the contents
of the username input buffer.
(cherry picked from commit
bbbf3ee9ffe7b4da314285509ae8e0b6f4e70c8e)
Derrick Brashear [Tue, 3 Apr 2007 20:46:20 +0000]
DEVEL15-openafs-1-5-18-
20070403
make openafs 1.5.18
Peter Breitenlohner [Tue, 3 Apr 2007 19:54:15 +0000]
DEVEL15-move-tasklist-lock-extern-outside-func-
20070403
FIXES 53441
make tasklist-lock extern with pragma weak possibly work right
(cherry picked from commit
9c592530b18144ffbd91283fcd9690a9680c6cd9)
Jeffrey Altman [Tue, 3 Apr 2007 15:50:40 +0000]
DEVEL15-windows-vista-sdk-ntsecapi-compat-
20070403
There is no way to replace FOO with the value of BAR in cpp.
(cherry picked from commit
c7c7242e78fd5035572b7d4f2071bf105190826c)
Jeffrey Altman [Tue, 3 Apr 2007 14:34:52 +0000]
DEVEL15-windows-libadmin-vos-registry-
20070403
Move the session data from TransarcCorporation to OpenAFS.
(cherry picked from commit
644cd83dbdd8203e6792f3a03aabb52efefa12d5)
Jeffrey Altman [Tue, 3 Apr 2007 14:31:34 +0000]
DEVEL15-rx-dpf-
20070403
The function rx_MakeCall was at some point renamed to rx_NewCall
but the dpf output was never changed.
Add a dpf entry for rxi_ResetCall.
(cherry picked from commit
125d9f877d72843e4b1c2b99ec671bf75cef35fc)
Jeffrey Altman [Tue, 3 Apr 2007 14:25:42 +0000]
DEVEL15-windows-version-
20070403
1.5.1800 == 1.5.18
Jeffrey Altman [Tue, 3 Apr 2007 14:15:04 +0000]
DEVEL15-windows-release-notes-
20070402
1.5.18
Jeffrey Altman [Tue, 3 Apr 2007 14:08:35 +0000]
DEVEL15-windows-notes-
20070403
1.5.18
Jeffrey Altman [Tue, 3 Apr 2007 06:41:24 +0000]
DEVEL15-windows-vista-sdk-ntsecapi-compat-
20070402
fix inclusion of ntsecapi.h in network identity manager plug-in
(cherry picked from commit
fbcafac2f6f58dfd55af8f9f54c856b2d31ecd2a)
Jeffrey Altman [Tue, 3 Apr 2007 05:33:20 +0000]
DEVEL15-windows-afslogon-
20070402
restore token acquisition for non-interactive logons.
(cherry picked from commit
26b381dc17a7705af8b9d1ba1d26d1188ae649ed)
Jeffrey Altman [Sat, 31 Mar 2007 13:53:49 +0000]
DEVEL15-windows-nim-plugin-
20070331
correct a NULL pointer de-reference introduced in
windows-nim-plugin-
20070328
(cherry picked from commit
20890b4e2edb6d1803148493e0f83d44c4e8a8d6)
Jeffrey Altman [Wed, 28 Mar 2007 23:30:44 +0000]
DEVEL15-windows-afslogon-
20070328
There are two serious problems with integrated logon:
(1) openafs afslogon.dll obtains Kerberos v5 tickets and then forwards them
into the logon session. This was done because MIT KFW did not have
such functionality. As of KFW 3.1, KFW does, so we are removing it.
the functionality worked by copying the credentials to a FILE ccache
and then using the Logon Event Handler to move the credentials into
an API ccache and delete the temporary file. For non-interactive
logons the Logon Event handlers do not get triggered. Neither do
LogonScripts get executed. As a side effect, for each logon a
credential cache file was left behind.
(2) when combined with non-interactive logons, there are some very bad
side effects if a network provider performs Kerberos v5 operations.
Each logon occurs in a new logon session and will spawn a private
copy of krbcc32s.exe.
As a result, integrated logon is being disabled for non-interactive
logons.
(cherry picked from commit
934f76fb185ee5e162aee3bc9f5711079bbbca5b)
Jeffrey Altman [Wed, 28 Mar 2007 23:19:57 +0000]
DEVEL15-windows-nim-plugin-
20070328
if the service ticket in the cache is expired, delete it from the cache
(cherry picked from commit
60e5fc151ea0af4aa85a174ede774c949983962b)
Neale Ferguson [Tue, 27 Mar 2007 04:23:41 +0000]
DEVEL15-s390x-syscall-patch-fix-
20070326
make s390x syscall table patching work correctly
(cherry picked from commit
74e22e219036ca2c42182b1356371daa07ae6494)
Jeffrey Altman [Sat, 24 Mar 2007 05:03:11 +0000]
DEVEL15-windows-vista-sdk-ntsecapi-compat-
20070324
When loading the Vista SDK ntsecapi.h we must set _WIN32_WINNT
to 0x0501 or greater
(cherry picked from commit
a6cb25c5d34db370e73d5e0044eaa88cf291228a)
Jeffrey Altman [Sat, 24 Mar 2007 05:00:39 +0000]
DEVEL15-windows-fs-whereis-freelance-
20070324
do not assert on the lack of a cell when calling fs whereis on the
freelance volume. return CM_ERROR_NOCELL instead.
(cherry picked from commit
48cd8daff8c8bd384a6583bab07e1d84ae461efd)
Derrick Brashear [Thu, 22 Mar 2007 15:59:52 +0000]
DEVEL15-tvolser-locking-updates-
20070322
rework locking in tvolser slightly to avoid potential transaction leak
(cherry picked from commit
1c9ede0bcf892ccc3b9b5cae819c7d94b0407b38)
Chas Williams [Tue, 20 Mar 2007 19:31:06 +0000]
DEVEL15-darwin-remunlink-
20070320
FIXES 55280
make reumlink work the way it's supposed to
(cherry picked from commit
c2fb9440f3d3f80c452590b40f7bd8ecdb13edfe)
Douglas Engert [Tue, 20 Mar 2007 19:21:52 +0000]
DEVEL15-nfs-gc-fix-
20070320
FIXES 56459
avoid issue with nfs gc handler and mismatched types
(cherry picked from commit
ff81d7e77a4a302224dbb0f0c6b960ded42cafbe)
Robert Banz [Tue, 20 Mar 2007 19:00:43 +0000]
DEVEL15-namei-allow-zfs-
20070320
don't force AlwaysAttach on ZFS in namei
(cherry picked from commit
af0a976f1151f7ca7642013357d1dcc7267c6457)