Commit Graph

4131 Commits

Author SHA1 Message Date
Jeffrey Altman
afa909e66c windows-fake-stat-20070622
When we are faking the status data we can use the vnode value to determine
if the object should be treated as a directory or file.  even is a directory
and odd is a file.  This works even when we have never successfully
obtained status data for the object.
2007-06-22 07:00:27 +00:00
Jeffrey Altman
2675d25f69 windows-mountpoint-is-directory-20070622
when the CIFS client requests a directory listing without directories,
do not include mount points.
2007-06-22 06:30:47 +00:00
Jeffrey Altman
d7d8de3041 windows-revoke-callback-20070619
If the we can match up the host address from which the revoke was received
with one of our cm_server_t objects, then we know which cell the revoke
has been received from.  With that information we can ensure that we only
revoke the status of cm_scache_t objects belonging to that cell.
2007-06-19 21:10:56 +00:00
Jeffrey Altman
adb83635bb windows-all-cell-list-20070619
Reverse the order of the allCellsp list.  Append new cells onto the end
of the list.  This ensures that the workstation cell will always be the
first in the list.  Adding additional cells will not degrade the performance
to the workstation cell.
2007-06-19 19:29:41 +00:00
Jeffrey Altman
01c3c334d5 windows-updatecell-20070619
No longer permit cm_GetCell() or cm_FindCellByID() to return NULL simply
because cm_UpdateCell() failed.  The cm_cell_t object still exists and
is valid even if the vlServersp list is empty.

Modify the lock management in cm_GetCell_Gen() to ensure we drop all the
locks.

In cm_Analyze() update the volume status when one of the servers reports
VBUSY or VRESTARTING.
2007-06-19 17:14:14 +00:00
Jeffrey Altman
59db981220 windows-deadlock-20070619
fix deadlock on cm_volumeLock introduced by last week's work

in cm_Analyze, make sure we get a cm_cell_t reference otherwise we
won't find the cm_volume_t we are searching for when ALLOFFLINE or
ALLBUSY.
2007-06-19 12:51:11 +00:00
Jeffrey Altman
f1db63646c windows-amd64-20070619
Use 0x0502 instead of 0x0500. There is no 64-bit Windows 2000 support.

Explicitly list the machine type as X64 for linking.
2007-06-19 06:29:07 +00:00
Jeffrey Altman
aed66fda2c windows-misc-20070619
VMWare adapters have proven unreliable replacements for the Microsoft
loopback adapter.  Registering AFS often results in a name space collision.

Add cm_DumpCells() function and dump the cells as part of "fs memdump"

Dump all cm_scache_t and cm_volume_t regardless of reference counts

Fix cm_GetCell_Gen() to not allocate a new cm_cell_t when evaluating
mount points to aliases.  Instead, after looking up the alias successfully
search the allCellsp list for the fullname of the cell.  If found, use
the existing entry and cleanup the one we were about to allocate.

Use read locks whenever possible instead of write locks when searching
the allCellsp list.
2007-06-19 06:24:23 +00:00
Derrick Brashear
5672867638 macos-realtime-ip-updates-20070618
notice and deal with IP address changes
2007-06-18 19:48:33 +00:00
Derrick Brashear
39b027504b avoid-empty-uuid-20070618
avoid issue where uuid can potentially be 0: set one always at AFSOP_GO step
2007-06-18 19:03:00 +00:00
Derrick Brashear
0c5cf6028d darwin-collect-network-errors-for-fast-timeout-20070618
same optimization we do on windows, linux
2007-06-18 18:57:31 +00:00
Derrick Brashear
125e4511a9 darwin-afs-syscall-eliminate-needless-vfs-context-hold-20070618
avoid potential deadlock if e.g. SetTokens is called before the kernel module initialization completes
2007-06-18 18:05:05 +00:00
Asanka Herath
6bc5c0899a 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.
2007-06-17 05:49:32 +00:00
Jeffrey Altman
e8fa4d0e40 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.
2007-06-14 21:58:07 +00:00
Jeffrey Altman
0187bf2feb 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.
2007-06-14 21:54:16 +00:00
Jeffrey Altman
46a931d020 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.
2007-06-14 20:04:10 +00:00
Jeffrey Altman
c27c00f8a9 windows-pioctl-add-error-translations-20070614
add error translations for CM_ERROR_ALLDOWN, CM_ERROR_ALLBUSY,
CM_ERROR_ALLOFFLINE, CM_ERROR_NOSUCHPATH
2007-06-14 19:29:51 +00:00
Asanka Herath
5ac7a7db9a 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
2007-06-13 23:25:45 +00:00
Jeffrey Altman
c74a23fc40 windows-server-ping-deadlock-20070612
avoid deadlock in cm_ServerPing due to volume status update code
2007-06-13 07:04:55 +00:00
Derrick Brashear
b1bbe33fde newuuid-20070612
add the newuuid command
2007-06-12 19:59:02 +00:00
Marc Dionne
391d657c6e linux-configure-vfs-update-20070612
FIXES 62017

clean up output
2007-06-12 19:38:20 +00:00
Marc Dionne
6eabfbd4b9 linux-vfs-flush-3arg-20070612
FIXES 62203

3rd arg for passing lock owner id. add configure gunk also
2007-06-12 19:32:19 +00:00
Simon Wilkinson
a6294ee79a linux-sysctl-update-20070612
FIXES 61906

2.6.21.1 introduces an additional .parent pointer in the middle of
the structure. As the OpenAFS code just initialises the structure
with a list, this causes it to assign the value intended
for .proc_handler to .parent
2007-06-23 07:32:56 +00:00
Jeffrey Altman
86b3330c71 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.
2007-06-12 16:23:09 +00:00
Marc Dionne
37a0b14e01 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
2007-06-12 06:41:06 +00:00
Jeffrey Altman
66adaf3268 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.
2007-06-10 17:58:51 +00:00
Jeffrey Altman
f4bd260422 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.
2007-06-10 15:20:43 +00:00
Asanka Herath
8a814a5596 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.
2007-06-10 06:52:51 +00:00
Derrick Brashear
18484f0fc6 linux-kmem-destroy-fix-20070609
don't destroy if create failed
2007-06-10 06:39:15 +00:00
Marc Dionne
c0010267f2 restore-missing_afs_realm_names-20070606
FIXES 62016

restore AFS_REALM_NAMES
2007-06-07 03:18:21 +00:00
Derrick Brashear
fcfdcc3cc1 vsprocs-avoid-bogus-error-20070606
don't EPRINT if it's not an error
2007-06-06 18:55:04 +00:00
Derrick Brashear
cb18c5f802 aix-declare-setlim-20070606
maybe fix lwp.c compiling with modern aix
2007-06-06 18:21:05 +00:00
Derrick Brashear
a621049680 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
2007-06-05 18:10:00 +00:00
Jeffrey Hutzelman
e8493e06f9 fix-kbuild-linux-ppc64-20070604
The Linux 2.6 kbuild environment requires assembly files end in .S, not .s.
2007-06-05 04:47:09 +00:00
Derrick Brashear
aa5d46b71b 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
2007-05-18 06:52:37 +00:00
Derrick Brashear
ad98eacdad linux-posix-lock-file-has-wait-arg-now-20070517
FIXES 58590

hopefully this works, i can't actually try it now
2007-05-17 19:28:10 +00:00
Derrick Brashear
59eb3de5ea linux-posix-lock-file-has-wait-arg-now-20070517
FIXES 58590

hopefully this works, i can't actually try it now
2007-05-17 07:34:15 +00:00
Rainer Toebbicke
87a93241da bucoord-dump-levels-20070517
FIXES 57246

dont use memory past what you've allocated
2007-05-17 06:42:03 +00:00
Lukas Hluze
5987e2923a libafs-common-placate-irix-make-20070516
FIXES 59153

irix make wants $@ to be $(@) inside other braces
2007-05-16 21:57:20 +00:00
Chaskiel M Grundman
d143385ec6 rx-ack-idle-comment-20070516
FIXES 60046

fix comment
2007-05-16 21:48:27 +00:00
Chaskiel M Grundman
7a72e2445f rx-tq-busy-20070516
FIXES 60046

abstract tq busy wait code
2007-05-16 21:44:07 +00:00
Chaskiel M Grundman
a900fe3089 rx-send-req-ack-20070516
FIXES 60046

change reply code where appropriate
2007-05-16 21:36:33 +00:00
Arkadi Shishlov
f550e3b3ff glibc24-jmp-buf-mangling-20070516
FIXES 60440

glibc 2.4 does jmp buf manging for "security"

whatever. deal.
2007-05-16 21:21:44 +00:00
Marcus Watts
d608809c24 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.
2007-05-16 20:54:42 +00:00
Marcus Watts
62dc197541 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
2007-05-16 20:42:56 +00:00
Jeffrey Altman
03e3b77553 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.
2007-05-16 16:54:16 +00:00
Jeffrey Altman
82d2cc5b7f windows-afsd-uninitialized-20070516
Do not use uninitialized variables in log messages

Do not dereference NULL pointers
2007-05-16 16:49:19 +00:00
Jeffrey Altman
e02fa3e73b 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.
2007-05-16 04:43:47 +00:00
Jeffrey Altman
60bbb56b54 windows-aklog-20070515
FIXES 60938

do not copy an uninitialized field
2007-05-16 04:33:38 +00:00
Jeffrey Altman
11cec9e764 windows-fs-getcacheparms-20070515
fix output of cache parms now that they are 64-bit
2007-05-15 21:19:37 +00:00
Rainer Toebbicke
c78b4c61f7 namei-dont-randomly-full-salvage-20070514
FIXES 61300

trivial fix to clear forcep
(inode already does this)
2007-05-14 22:42:09 +00:00
Chaskiel M Grundman
1b1c0eda5a 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
2007-05-14 22:36:22 +00:00
Frank Cusack
08cbee9b2d fix-partition-check-20070510
oops
2007-05-10 23:41:32 +00:00
Jim Rees
7e0571b0e5 openbsd41-20070510
OpenBSD 4.1 config files
2007-05-10 21:48:33 +00:00
Derrick Brashear
f2761c4163 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
2007-05-10 01:15:57 +00:00
Russ Allbery
707feb4fdd ka-forwarder-licensing-20070508
ka-forwarder is under a different copyright not previously covered, so
embed the actual licensing in the source rather than referring to a file
that doesn't exist and add the relevant information to the LICENSE files.
2007-05-08 23:49:44 +00:00
Russ Allbery
1d4d8f5c4f up-preserve-dir-mtime-20070507
FIXES 34522

Set the mtime on newly created directories to match the original directory.
2007-05-07 18:17:42 +00:00
Asanka Herath
958bbb77bf windows-netidmgr-20070505
Only automatically add configuration for cell foo.com if the realm
of the cell matches the realm of the identity
2007-05-05 22:13:20 +00:00
Jeffrey Altman
c8a3a0ecf2 windows-checkvols-freelance-20070504
do not flush mount point values for freelance volume
2007-05-04 07:05:05 +00:00
Jeffrey Altman
2b442dbddb 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.
2007-05-04 03:49:06 +00:00
Jeffrey Altman
9f508ce443 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.
2007-05-04 00:12:15 +00:00
Jeffrey Altman
d9946ba827 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.
2007-05-03 01:44:50 +00:00
Jeffrey Altman
113ccb9963 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.
2007-04-26 19:44:18 +00:00
Asanka Herath
bfed93d7fc 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.
2007-04-26 19:06:44 +00:00
Derrick Brashear
92ecfdd675 rx-call-abort-release-refcount-20070425
don't leak a call ref when doing a call abort
2007-04-25 20:47:13 +00:00
Jeffrey Altman
bb61e1dc67 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.
2007-04-24 01:27:30 +00:00
Jeffrey Altman
c5c23b7bc4 windows-wix-html-installgd-20070420
FIXES 59827

The wix installer creates the wrong directory name for the IBM Quick Guide
2007-04-20 11:58:22 +00:00
Christopher Allen Wing
2d18bd1777 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.
2007-04-18 19:18:35 +00:00
Chaskiel M Grundman
9943fe1fd7 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.
2007-04-18 19:01:31 +00:00
Jeffrey Altman
85a23a70c7 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.
2007-04-18 16:57:05 +00:00
Jeffrey Altman
a82252fcc8 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.
2007-04-17 05:03:39 +00:00
Jeffrey Altman
c810b46e9e 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.
2007-04-17 01:10:28 +00:00
Jeffrey Altman
44ca92226a windows-temp-path-20070416
Use GetTempPath() instead of testing environment variables ourselves.
2007-04-17 01:04:47 +00:00
Jeffrey Altman
5bc88af797 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
2007-04-14 19:46:22 +00:00
Jeffrey Altman
fb5b0dcce6 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
2007-04-12 15:12:36 +00:00
Jeffrey Altman
5bcd5ab54d 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.
2007-04-10 23:08:11 +00:00
Jeffrey Altman
0ff92e9a5b comerr-rename-two-20070410
fix afsrpc.def add_to_error_table
2007-04-10 23:06:02 +00:00
Derrick Brashear
e0fa8ff72f comerr-rename-20070410
nag nag nag
2007-04-10 19:58:13 +00:00
Jeffrey Altman
fece50be72 windows-netidmgr-plugin-20070407
protect against pr_CreateUser modifying the username buffer.
2007-04-08 03:39:52 +00:00
Jeffrey Altman
a47faf3eea 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.
2007-04-06 17:55:35 +00:00
Jeffrey Altman
bbbf3ee9ff windows-aklog-20070404
FIXES 58164

correct for the fact that pr_CreateUser tampers with the contents
of the username input buffer.
2007-04-04 21:24:48 +00:00
Peter Breitenlohner
9c592530b1 move-tasklist-lock-extern-outside-func-20070403
FIXES 53441

make tasklist-lock extern with pragma weak possibly work right
2007-04-03 19:52:44 +00:00
Jeffrey Altman
c7c7242e78 windows-vista-sdk-ntsecapi-compat-20070403
There is no way to replace FOO with the value of BAR in cpp.
2007-04-03 15:48:37 +00:00
Jeffrey Altman
644cd83dbd windows-libadmin-vos-registry-20070403
Move the session data from TransarcCorporation to OpenAFS.
2007-04-03 14:34:19 +00:00
Jeffrey Altman
125d9f877d 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.
2007-04-03 14:30:25 +00:00
Jeffrey Altman
fbcafac2f6 windows-vista-sdk-ntsecapi-compat-20070402
fix inclusion of ntsecapi.h in network identity manager plug-in
2007-04-03 06:40:27 +00:00
Jeffrey Altman
26b381dc17 windows-afslogon-20070402
restore token acquisition for non-interactive logons.
2007-04-03 05:32:03 +00:00
Jeffrey Altman
20890b4e2e windows-nim-plugin-20070331
correct a NULL pointer de-reference introduced in
windows-nim-plugin-20070328
2007-03-31 13:52:17 +00:00
Jeffrey Altman
934f76fb18 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.
2007-03-28 23:29:49 +00:00
Jeffrey Altman
60e5fc151e windows-nim-plugin-20070328
if the service ticket in the cache is expired, delete it from the cache
2007-03-28 23:18:41 +00:00
Neale Ferguson
74e22e2190 s390x-syscall-patch-fix-20070326
make s390x syscall table patching work correctly
2007-03-27 04:21:09 +00:00
Jeffrey Altman
a6cb25c5d3 windows-vista-sdk-ntsecapi-compat-20070324
When loading the Vista SDK ntsecapi.h we must set _WIN32_WINNT
to 0x0501 or greater
2007-03-24 05:02:16 +00:00
Jeffrey Altman
48cd8daff8 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.
2007-03-24 04:59:13 +00:00
Derrick Brashear
1c9ede0bcf tvolser-locking-updates-20070322
rework locking in tvolser slightly to avoid potential transaction leak
2007-03-22 15:58:45 +00:00
Chas Williams
c2fb9440f3 darwin-remunlink-20070320
FIXES 55280

make reumlink work the way it's supposed to
2007-03-20 19:29:41 +00:00
Douglas Engert
ff81d7e77a nfs-gc-fix-20070320
FIXES 56459

avoid issue with nfs gc handler and mismatched types
2007-03-20 19:20:24 +00:00
Robert Banz
af0a976f11 namei-allow-zfs-20070320
don't force AlwaysAttach on ZFS in namei
2007-03-20 18:59:22 +00:00
Chaskiel M Grundman
29951ff73c linux-task-pointer-safety-20070320
hold applicable locks while futzing with task list
2007-03-20 18:45:58 +00:00
Chaskiel M Grundman
97d8703809 keyring-pag-finduser-requires-glock-20070320
identical to the fix from chas@cmf.nrl.navy.mil
2007-03-20 18:41:02 +00:00
Derrick Brashear
c4183dbc1f no-default-setuid-20070319
FIXES 54713

disable default setuid for localcell
2007-03-20 01:13:06 +00:00
Jeffrey Altman
b4f323eaeb windows-var-renaming-20070319
give rx call variables a distinct name from cm call variables
in order to avoid confusion
2007-03-19 13:44:41 +00:00
Jim Rees
92f10ea1a2 obsd-kernel-opts-20070317
adjust module compile opts (KOPTS) to better match those of the kernel
2007-03-17 18:20:15 +00:00
Jeffrey Altman
f1862d783a windows-afsd-nat-handling-20070310
Improve cache manager performance behind NATs:

 * drop cm_daemonCheckUpInterval from 10 minutes to 4 minutes to bring
   it under the minimum recommended default port mapping idle timeout
   value for NATs

 * when a timeout on an rx connection occurs, retry the request once
   after forcing a new rx connection.  If there was a NAT and the port
   mapping changed, the server would respond to the original addr:port
   associated with the rx connection.  Forcing a new connection will
   allow the request to be responded to if the server is accessible.

   This should eliminate the UP-DOWN-UP-DOWN bouncing that user's have
   seen when working from behind a NAT.
2007-03-10 15:48:01 +00:00
Jeffrey Altman
ce776b4809 windows-registry-20070310
move the AFS Server Manager and AFS Account Manager data cache from
the TransarcCorporation key to the OpenAFS key.  The data formats are
not compatible between the two versions and we don't want to be forced
to erase data if users switch back and forth between the two products
during OpenAFS evaluation.
2007-03-10 14:25:00 +00:00
Derrick Brashear
226c1ee8f9 java-lock-fix-200702310
make it portable. ugh.
2007-03-10 07:11:09 +00:00
Jeffrey Hutzelman
97fd54f399 cellservdb-20070309 2007-03-10 04:52:04 +00:00
Jeffrey Altman
a7db1780b3 windows-afsd-remove-generated-file-20070308
afsd_eventmessages.rc is a generated file.  Don't maintain in cvs.
2007-03-08 17:44:13 +00:00
Jim Rees
fc36880fed af-byteorder-bis-20070307
everyone wants AF in host order
2007-03-07 21:42:20 +00:00
Jeffrey Altman
5332348bdf windows-plug-n-play-network-fix-20070307
Move the detection of which LAN adapter to use from smb_Init to
smb_NetbiosInit so that it is executed after the service is resumed
via a power management event.  Otherwise, when the network comes back
up the service attempts to bind to all LAN adapters instead of just
the loopback or the configured one.
2007-03-07 18:13:25 +00:00
Jim Rees
413a906142 af-byteorder-20070307
bsd wants AF in host order
2007-03-07 17:00:57 +00:00
Jeffrey Altman
e4d3681e3d windows-fs-checkserver-20070302
FIXES 55234

The "fs checkservers" command when not being used to change the check
interval should not require admin privilege.
2007-03-03 01:29:11 +00:00
Jeffrey Altman
561f8b742f windows-partially-restore-find-lana-by-name-20070227
find lana by name is used by the afs control panel to populate the
lana list box.  don't use the function to find by name.  just use
it to generate the list of all lana names.
2007-02-28 00:38:04 +00:00
Jeffrey Altman
b8d09aff6a windows-afsd-no-krb_h-20070226
Don't include krb.h when we don't use it for anything
2007-02-27 01:30:39 +00:00
Chaskiel M Grundman
9d5de311a6 forcenewconns-even-with-one-interface-20070226
otherwise we don't discard vlserver connections when a server is "down"
2007-02-26 22:13:33 +00:00
Derrick Brashear
0d5642e3ee uae-etoomanyrefs-avoid-dup-20070222
when ETOOMANYREFS is EIO don't rewrite the EIO slot with UAETOOMANYREFS
2007-02-26 18:48:22 +00:00
Stephan Wiesand
a3a4096830 conditionalize-tasklist-lock-20070226
FIXES 54922

make rx_knet use tasklist_lock conditionally also
2007-02-26 17:55:55 +00:00
Stephan Wiesand
bed42291bc update-tasklist-lock-test-20070226
FIXES 54916

make the tasklist lock test actually detect GPL stupidity
2007-02-26 17:50:37 +00:00
Derrick Brashear
844f045692 md5-inum-round-down-20070223
make our computed md5-style inode numbers be actually 32 bit
2007-02-23 00:42:46 +00:00
Marc Dionne
f1a6107e08 linux-2621-20070222
FIXES 54645

configure support for new sysctl api
2007-02-22 21:46:13 +00:00
Rainer Toebbicke
4f86aa379d linux-unlink-avoid-infrequent-leak-20070222
FIXES 54689

avoid minor leak
2007-02-22 21:40:11 +00:00
Kevin Hildebrand
6ce156741b linux-lookup-crfree-20070220
FIXES 54549

add missing crfree to avoid leak
2007-02-20 18:03:26 +00:00
Jeffrey Altman
79c1cdb83f windows-afs3-directory-format-20070219
correct the documentation of the directory format in the headers
2007-02-20 03:13:41 +00:00
Jeffrey Altman
b2ed3c527b remove-find-lana-by-name-20070219
Remove the find lana by name functionality.  It is crucial that the
name computed by the afs service can also be computed by the pioctl
function executed by generic end users without privilege.  Unfortunately,
the undocumented functions used to implement find lana by name require
access to registry keys that a generic user cannot read.
2007-02-20 03:06:05 +00:00
Asanka Herath
b00dddcd7d windows-netidmgr-help-registration-20070215
In preparation for KFW 3.2, add conditional help registration.
When used with a version of NetIdMgr that supports the functionality
the OpenAFS plug-in will register its HtmlHelp on the NetIdMgr Help
menu.
2007-02-15 21:51:00 +00:00
Jeffrey Altman
5ae8e5064c windows-move-rxdebug-20070215
back in 2001 rxdebug was moved from src/rx to src/rxdebug for Unix
but not for Windows.  Move it for Windows as well.
2007-02-15 18:09:36 +00:00
Jeffrey Hutzelman
e92739f2b9 rxdebug-backoff-20070215
make rxdebug be less aggressive when retransmitting
2007-02-15 17:11:09 +00:00
Jeffrey Altman
2e6a87e109 rx-rxdebug-long-option-20070215
add the -long option from src/rxdebug/rxdebug.c to src/rx/rdebug.c
2007-02-15 11:47:24 +00:00
Jeffrey Altman
1f530ff095 windows-rmdir-not-empty-error-code-20070215
Ensure that removing a directory containing existing files returns
the correct error to the caller.
2007-02-15 05:59:14 +00:00
Adam Megacz
65d8923252 java-locking-redux-20070214
change the -1 len check for java locks slightly
2007-02-15 00:33:39 +00:00
Chaskiel M Grundman
465a6d533b darwin-missing-dropnames-20070214
for correctness, not to fix anything which has yet been observed
2007-02-15 00:27:09 +00:00
Jeffrey Hutzelman
083f3bcb2b libafsdep-correction-20070214
FIXES 53441

apply the rest of the patch
2007-02-14 23:55:09 +00:00
Jeffrey Hutzelman
51774c137b osi-probe-harder-20070213
2.6.16 i386 didn't probe successfully before in at least one case
2007-02-13 22:54:00 +00:00
Derrick Brashear
5b0ba22734 amd64-syscall-probe-20070212
FIXES 53441

based on suggested change from cg2v@andrew.cmu.edu
tasklist_lock not being exported makes this useless otherwise
S: ----------------------------------------------------------------------

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

based on suggested change from cg2v@andrew.cmu.edu
tasklist_lock not being exported makes this useless otherwise
2007-02-13 18:39:34 +00:00
Jeffrey Altman
4d5138c403 windows-afsd-symlink-to-dot-20070213
FIXES 53878

When parsing a path containing a symlink to ".", do not short circuit
the evaluation.  Allow cm_Lookup to do its job.  Its slower but correct.
2007-02-13 05:45:47 +00:00
Jeffrey Altman
111100732f windows-netidmgr-20070212
combo boxes should drop down.
2007-02-13 03:48:27 +00:00
Jeffrey Altman
6c703a483c windows-unused-vars-20070212
remove unused vars
2007-02-13 03:07:55 +00:00
Adam Megacz
01882246c8 lock-mask-64bit-negative-1-for-java-20070212
java sends a 64 bit long -1... which isn't going to be useful most of the time
2007-02-13 01:33:20 +00:00
Jeffrey Altman
645f7e8f81 aklog-krb5-referrals-compat-20070210
MIT Kerberos version 5 release 1.6 adds support for referrals in the
client.  As a result krb5_get_host_realm() returns the nul-string for
the realm whenever there is no local domain-realm mapping in the
profile.

aklog must now manually perform the fallback to using the domain of
the vlserver as basis for the realm name if referrals fail.
2007-02-10 13:56:11 +00:00
Asanka Herath
25c7f567f2 windows-smb-file-lock-20070209
When processing exclusive locks for files that were opened read-only,
obtain a read-lock instead of a write-lock.

In NTCreateX, if the file is being opened as OPEN_ALWAYS and the file
already exists, do not require write permission
2007-02-10 00:00:01 +00:00
Jeffrey Altman
a9b0dbb30c windows-access-check-20070209
disable the test for the EACCESS flag in cm_HaveAccessRights.
2007-02-09 23:53:11 +00:00
Jeffrey Altman
1a00759d8b windows-fs-memdump-20070209
only dump the dead smb_vcp list once
2007-02-09 23:50:06 +00:00
Jeffrey Altman
584e1bd98e windows-nim-plugin-krb5-referrals-compat-20070209
MIT Kerberos version 5 release 1.6 adds support for referrals in the
client.  As a result krb5_get_host_realm() returns the nul-string for
the realm whenever there is no local domain-realm mapping in the
profile.

aklog must now manually perform the fallback to using the domain of
the vlserver as basis for the realm name if referrals fail.

This will be required for KFW 3.2 support.
2007-02-09 19:56:47 +00:00
Peter Breitenlohner
b5c39e4373 libafsdep-mods-20070209
FIXES 53381

don't break vpath builds
2007-02-09 18:41:46 +00:00
Jeffrey Hutzelman
a1d9a92090 linux-compile-test-24-20070209
FIXES 53385

no linux/namei.h on 2.4
2007-02-09 18:26:57 +00:00
Jeffrey Altman
2287f5f578 windows-aklog-krb5-referrals-compat-20070209
MIT Kerberos version 5 release 1.6 adds support for referrals in the
client.  As a result krb5_get_host_realm() returns the nul-string for
the realm whenever there is no local domain-realm mapping in the
profile.

aklog must now manually perform the fallback to using the domain of
the vlserver as basis for the realm name if referrals fail.

This will be required for KFW 3.2 support.
2007-02-09 17:29:01 +00:00
Marcus Watts
a05fa83336 ktc-cleanup-20070208
FIXES 53212

clean up ktc code, prototyping et al

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

restore ktc_GetToken prototype
2007-02-09 03:12:51 +00:00
Christopher Allen Wing
171676011b linux-locking-pre-2618-20070208
FIXES 53457

deal with pre 2.6.18 locking behavior
2007-02-09 01:34:08 +00:00
Derrick Brashear
00c5dbfd04 tasklist-export-check-20070208
work around tasklist lock export harder
2007-02-09 01:30:00 +00:00
Adam Megacz
797f46a88e afs-magic-for-linux-20070208
FIXES 52442

use the afs magic number
2007-02-09 01:22:03 +00:00
Dave Cottle
87a3cd2a70 obsd40-initial-20070208
FIXES 53283

doesn't work right, and the patch in 53296 can't be taken as is
2007-02-09 01:12:16 +00:00
Marcus Watts
226f3b1b47 linux24-update-20070208
FIXES 53199

update for linux 2.4
2007-02-09 01:04:28 +00:00
Marcus Watts
9dd8d7f817 auth-cleanup-20070208
FIXES 53208

remove unneeded includes of auth.h
2007-02-09 00:57:39 +00:00
Marcus Watts
6e947cd3be bozo-cleanup-20070208
FIXES 53202

clean up bosserver
2007-02-09 00:54:22 +00:00
Marc Dionne
0dfd1d0ed8 keyring-pag-avoid-shadowing-20070208
FIXES 38959

avoid shadowing the pag variable
2007-02-09 00:25:42 +00:00
Derrick Brashear
8ecad072df getcbi-limit-addresses-20070208
FIXES 36643

don't write addresses (if we have too many) over random memory
2007-02-09 00:17:24 +00:00
Derrick Brashear
a4d52ee772 use-unix-sockets-20070208
option to use unix socket for fssync
2007-02-08 23:59:16 +00:00
Jeffrey Hutzelman
b0425c4e7f linux-lock-tracking-20070208
FIXES 31818

avoid a potential leaked lock when closing firefox.
2007-02-08 22:37:41 +00:00
Jeffrey Altman
403b5086dd windows-scp-recycle-init-20070208
when we recycle a stat cache object be sure to clear the file type so
we don't inherit the previous file type if the fetch status fails.

in merge status, clear the file type if the errorCode is EACCESS
2007-02-08 13:49:58 +00:00
Jeffrey Altman
0cc59928b9 windows-merge-parent-fid-20070207
modify cm_MergeStatus to take a pointer to the parent stat cache entry
so that the parent fid can be set when bulk status returns an error.
2007-02-07 17:34:09 +00:00
Jeffrey Altman
92c282f40c windows-mounttab-remove-debugging-20070207
remove unused variables
2007-02-07 16:37:42 +00:00
Jeffrey Altman
e9fb99c770 windows-merge-eaccess-20070207
when merging status info that has an errorCode of EACCESS set,
merge the garbage we received.

When checking the access to the object return EACCESS if the
stat cache object has the EACCESS flag set.  This will be cleared
the next time a BulkStatus succeeds.
2007-02-07 08:12:27 +00:00
Olivier Calle
36233e1e31 multiple-local-realms-20070201
FIXES 52459

when the name is foreign, execute the body of afs_is_foreign_ticket_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.
====================
FIXES 52459

The Name to ID RPC must distinguish between local and foreign names
2007-02-07 04:52:18 +00:00
Jeffrey Altman
55653d5dd0 windows-merge-status-20070206
when merging status for store data ops, use the fileHashTable to reduce
the number of buffers we must examine
2007-02-06 16:46:09 +00:00
Jeffrey Altman
4e8bc6d501 windows-merge-status-20070204
For each StoreData operation the dataVersion on the object is incremented.
To prevent all of the cached buffers from being considered out of date,
if the dataVersion has been incremented by exactly one, then update the
dataVersion of the buffers that match the FID and the previous dataVersion
2007-02-05 11:07:44 +00:00
Jeffrey Altman
cec0b902f6 windows-buffer-mgmt-20070204
Instead of using a fixed sized hashtable of 1024 entries regardless
of the number of buffers, compute the hashtable to be large enough
for on average 7 buffers per bucket.

Remove the 'size' field from cm_buf_t since it is never used.

Add more info to the output of cm_buf_t objects when using "fs memdump"
2007-02-05 03:41:06 +00:00
Jeffrey Altman
333005c463 windows-store-biod-20070204
Add a 'failed' parameter to the cm_ReleaseBIOD function.  This enables
the clearing of the CM_BUF_DIRTY flag to be conditional upon successful
completion of the store operation.
2007-02-04 15:37:34 +00:00
Jeffrey Altman
78c83150f6 windows-mounttab-remove-debugging-20070203
no longer need the Debug Output String statements
2007-02-04 02:49:28 +00:00
Jeffrey Altman
37d16dd70b windows-bkgdaemon-retry-failed-requests-20070203
background request functions such as BkgFetch and BkgStore do not
return success or failure.  the bkgDaemon thread simply executes
the request and discards it regardless of whether or not the request
was completed.  this can result in background store event failing
to be written to the file server.

modify the background request functions to return success or failure.

modify the background daemon to put failed requests back onto the queue
if the reason for failure was transient.

modify the background daemon only to process requests when the servers
for the volume are marked up.
2007-02-04 02:45:21 +00:00
Jeffrey Altman
9a9e0976c8 windows-buf-refcount-leak-fix-20070203
Plug a buffer refcount leak.   This is why the client slows down over
time.  It runs out of buffers it can use.
2007-02-04 02:01:12 +00:00
Jeffrey Altman
84a0ef8e1a windows-buf-dump-fix-20070203
restore the missing format string to the Buffer Hash Table Dump routine
2007-02-03 18:03:55 +00:00
Jeffrey Altman
1e44ef074a windows-log-eol-20070203
ensure that log files use CR-LF for end of line.   the "fs memdump"
output and the afsd_init.log initialization output were still using LF.
2007-02-03 17:48:07 +00:00
Jeffrey Altman
7d6baa2df1 windows-drive-mappings-20070202
FIXES 45545

Correct the return types and values of the Window Procedures.
This fixes the drive mappings problems.

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

Remove "Drive " from the drive mappings.  This way the drive letters
can be selected with a single key press.
2007-02-03 04:47:41 +00:00
Chaskiel M Grundman
fd1c37ebe7 linux-and-locks-cleanup-20070202
fix linux flock, remove a bogus lock assert, and fix pid tracking to avoid useless panic
2007-02-03 03:23:16 +00:00
Jeffrey Altman
ab294cfdc5 windows-afsd-volume-ref-leak-20070202
When looking up a volume by ID or Name, if the volume server data requires
refreshing and the UpdateVolume operation failed, do not leak the refCount.
2007-02-02 15:43:07 +00:00
Jeffrey Altman
38d6f48507 windows-nsis-20070202
even if afsd_service.exe can be shut down the binary might still not
be able to be replaced due to the windows Protection Service.
Use the ReplaceDLL macro
2007-02-02 15:36:45 +00:00
Jeffrey Altman
564d41d96e venus-include-afs-com_err-20070201
FIXES 51424

include afs/com_err.h for error_message() prototype to prevent crashes
on platforms with 64-bit pointers and 32-bit int
2007-02-01 13:23:45 +00:00
Jeffrey Altman
bd5ed7d332 windows-freelance-20070131
FIXES 52069

If an app tries to open the freelance directory for WRITE then the
default anonymous access privileges, read/lookup, are not sufficient
and cm_HaveAccessRights will fail.  Freelance can't get access rights
from anywhere.  Therefore, cm_HaveAccessRights should special case
the Freelance directory.
2007-02-01 04:28:37 +00:00
Jeffrey Altman
f3c4bbd41a windows-delete-test-file-not-dir-20070131
the cm_CheckNTDelete function was testing the permissions of the
directory and not the permissions of the file being deleted.
This resulted in inconsistencies between the attributes of the
file and the ability to delete it.

this patch also adds a large amount of trace log entries as there
was none in this section of the code before.
2007-01-31 17:02:02 +00:00
Jeffrey Altman
908918a89d windows-shell-ext-reformat-20070130
reformat the source code to make it easier to read/edit
2007-01-30 12:41:19 +00:00
Jeffrey Altman
daddcd3bcc windows-netidmgr-string-updates-20070130
As per the NetIdMgr model, refer to credentials instead of tokens.

Update the copyright strings
2007-01-30 12:28:29 +00:00
Jeffrey Altman
0b669007c7 windows-vol-fssync-debug-20070130
add a resource file for fssync-debug for when we decide to build it
2007-01-30 12:23:28 +00:00
Jeffrey Altman
c4a89f3f79 windows-vol-fix-salvager-20070130
The salvager on Windows was not being built properly.  The fssync-debug.c
main() was being used instead of the salvager.c main().  Remove
fssync-debug.obj from the library and fixup the includes and global
variable declarations.
2007-01-30 12:14:49 +00:00
Jeffrey Altman
b02c32b069 windows-procmgmt-20070130
Do not raise an exception if SIGQUIT is received prior to the
registration of the Shutdown handler
2007-01-30 12:04:22 +00:00
Jeffrey Hutzelman
91ce7a066d volume-dont-artificially-untimeout-vlservers-20061218
FIXES 48959

remove synthetic event to undo timeouts of vlservers we "haven't talked to yet"
2007-01-25 11:19:19 +00:00
Jim Rees
42e90ef1a0 asetkey-includes-20060122
fix includes
2007-01-22 22:30:15 +00:00
Derrick Brashear
676bf342dd make-cleaner-20070122
this stuff was missed
2007-01-22 17:19:26 +00:00
Jeffrey Altman
f9697113d9 windows-fix-volume-refcount-leak-20070121
Plug a volume refcount leak

Add volume data to the "fs memdump" output

Add memmap stat data to the afsd_init.log output at startup and shutdown
2007-01-22 02:16:38 +00:00
Jeffrey Hutzelman
c88ab63663 linux-kbuild-test-fixes-20070119
fixes to build for linux when doing objdir builds
2007-01-19 19:31:05 +00:00
Jeffrey Altman
41df987014 windows-nsis-fix-rpc-20070116
remove the rpc fix.  the original code was correct
2007-01-16 17:24:30 +00:00
Jeffrey Altman
d32af98079 windows-nsis-installer-20070115
Fix the RPC check to actually check the RPC status

Update the copyright date

Add Vista version detection
2007-01-15 23:40:38 +00:00
Jeffrey Altman
20f4265686 windows-open-dir-lookup-20070115
add new error code when requested InfoLevel is not supported

CIFS NTCreateX Read privilege means PRSFS_LOOKUP when the object is a
directory
2007-01-15 19:50:51 +00:00
Chaskiel M Grundman
aef763b3c0 alloc-sem-is-sem-20070115
this change didn't belong...
2007-01-15 18:15:45 +00:00
Chaskiel M Grundman
2f3558f341 linux26-large-pag-groups-20070115
working from base provided by shadow@dementia.org
2007-01-15 20:41:23 +00:00
Derrick Brashear
2b7f13c227 locker-thread-tracking-20070111
track thread ids so we can properly not deadlock
2007-01-12 16:27:57 +00:00
Derrick Brashear
2502379d75 netinfo-fake-support-correction-20070112
fix NetInfo "f" line fake IP address support to work when either
1) NetRestrict file is in place or
2) existing sysid file does not list fake address
2007-01-12 05:18:52 +00:00
Tom Keiser
0732c4637d rx-deal-with-afs34-jumbograms-again-20070111
FIXES 51116

try again at dealing with old jumbograms
2007-01-12 03:48:29 +00:00
Jeffrey Altman
284668200e client-handle-vicetokendead-with-reconnect-20070109
client-handle-vicetokendead-with-reconnect-20070104 failed
to alter the behavior of the RXKADEXPIRED and other cases.
2007-01-09 15:26:56 +00:00
Derrick Brashear
cbba8d8b88 tsfpq-macro-naming-20070105
rename the queue-splicing versions of the checkin/checkout macros
2007-01-06 01:18:46 +00:00
Derrick Brashear
6029f002be buildpkg-dmg-path-20070105
reported by marcus watts
2007-01-05 23:30:10 +00:00
Derrick Brashear
52b036747c rx-deal-with-afs34-jumbograms-again-20070105
try again at dealing with old jumbograms
2007-01-05 23:14:21 +00:00
Derrick Brashear
4be015449d multiple-local-realms-20070105
FIXES 51104

do the correct check
2007-01-05 23:05:13 +00:00
Kevin Hildebrand
b975875e79 pts-rename-fix-20070105
FIXES 51066

fix pts rename to do the right thing
2007-01-05 18:20:08 +00:00
Jeffrey Altman
290b05b6b6 windows-unix-mode-bit-enforcement-20070105
modify the write-lock permission test so that the UnixMode bits do not
subtract PRSFS_WRITE from the rights when testing PRSFS_WRITE | PRSFS_LOCK.

PRSFS_WRITE implies PRSFS_LOCK so add it

Add new registry value "DeleteReadOnly" to permit deletion of read-only
files.  The default is 0.  Set to non-zero value to activate.
2007-01-05 17:13:11 +00:00
Sean O'Malley
2d68f6a3ef bucoord-protoize-20070104
FIXES 50870

protoize bucoord

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

undo redundant include

====================
FIXES 50870

protoize bucoord

====================
FIXES 50870

protoize bucoord
2007-01-05 06:07:37 +00:00
Derrick Brashear
aab62fe05e pr-changeentry-arg-types-20070105
oops. put it back
2007-01-05 06:02:28 +00:00
Derrick Brashear
b5dbc4fe60 solaris-but-seriously-20070105
guess chas had the right idea
2007-01-05 05:02:39 +00:00
Derrick Brashear
fd4a1c1c32 free-packet-avoid-issue-with-34-jumbograms-20070104
try to deal with rainer toebbicke's ongoing issue
2007-01-05 04:56:09 +00:00
Derrick Brashear
267b548a48 solaris-mypid-track-threads-20070104
based on suggestion by tkeiser
2007-01-05 04:48:32 +00:00
Derrick Brashear
ba017be750 unroll-namei-delay-fsync-20070104
has been shown to cause problems with releases per haba@pdc.kth.se testing, unroll until we figure out why
2007-01-05 03:39:16 +00:00
Marcus Watts
c8503d73a1 asetkey-with-heimdal-20070104
FIXES 50973

just make asetkey build with heimdal
2007-01-05 03:21:34 +00:00
Derrick Brashear
349474755b darwin-fake-more-free-20070104
fake more free disk space for dumb apps
2007-01-04 22:08:26 +00:00
Derrick Brashear
b745079fb2 client-handle-vicetokendead-with-reconnect-20070104
basically, if the issue is really expired tokens then we force the server to tell us that instead of that our older connection is still using the old tokens for some reason, by letting a new connection happen first
2007-01-04 21:55:21 +00:00
Derrick Brashear
526a589fd3 macos-installer-fix-20070104
this time for sure
2007-01-04 21:48:28 +00:00
Derrick Brashear
48afec37ed linux-workqueue-prereq-20070104
FIXES 49890

make the workqueue configure test actually work on 2.4
2007-01-04 21:42:24 +00:00
Marc Dionne
1a5628981e freezer-h-existance-20070104
FIXES 50941

only include freezer.h if it exists
2007-01-04 21:15:16 +00:00
Marcus Watts
182a18931a linux-kbuild-configure-20070104
FIXES 40604

Test whether Linux kernel builds work at all before going into specific
builds so that we can fail earlier with a better error message.  Try to
put more errors from the kernel build into config.log.
2007-01-04 20:05:20 +00:00
Derrick Brashear
ee9d148cc5 md5-inode-even-odd-hack-20070104
the even-odd hack didn't work with the new md5 inode numbers. fix it. suggested by Bennett Todd.
2007-01-04 15:59:35 +00:00
Jeffrey Altman
56d5e6970d windows-unix-mode-bit-enforcement-20070102
When the Unix mode bits do not include the write bit (0200), then the
file is reported to Windows as read-only.  This also prevents the
acquisition of write-locks.  It should also prevent deletion but the
code in cm_HaveAccessRights() did not remove the PRSFS_DELETE privilege
from the reported rights.
2007-01-03 00:44:27 +00:00
Derrick Brashear
365351a161 taking-rx-back-into-the-20th-century-20061228
ken's patch is now on the ipv6 branch

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

restore deleted taddr declaration.

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

ken's patch is now on the ipv6 branch
2007-01-02 17:17:49 +00:00
Jim Rees
11999d395c strl-20070102
str->strl
2007-01-02 16:48:33 +00:00
Marc Dionne
a132e7f545 fix-linux-2-6-20-configure-test-20070102
FIXES 50594

make the cc flags modification not break things
2007-01-02 15:59:13 +00:00
Marc Dionne
84cfee7d07 ifdef-nfs-translator-20070102
FIXES 50602

appropriately wrap nfs translator code in ifdefs
2007-01-02 15:40:35 +00:00
Dale Ghent
71f6f346ca solaris10-suser-replace-20070102
FIXES 50246

suser is dead, long live suser
2007-01-02 07:33:23 +00:00
Jeffrey Altman
f50452b6e1 windows-no-version-20061230
set the version numbers on the head to 0.0.0.0 so there is no confusion
that this code is not ready for prime time
2006-12-30 17:09:48 +00:00
Jeffrey Altman
0995d4d9b3 kaserver-deprecation-warning-20061230
The following message is now logged to both the BosLog and the AuthLog
at startup.

  WARNING: kaserver is deprecated due to its weak security properties.
  Migrating to a Kerberos 5 KDC is advised.
  http://www.openafs.org/no-more-des.html
2006-12-30 17:00:51 +00:00
Jeffrey Altman
47b4f514ca afsdb-resolver-reinit-20061230
FIXES 50576

replace 'try' with 'try_init' and declare 'try_init'.
'try' is a reserved word on some compilers.  not sure how this code
was compiling on MacOS X and Windows as 'try' was not declared.
2006-12-30 16:55:02 +00:00
Jeffrey Altman
a305a8c3c7 windows-optimize-smb-dir-search-if-no-wildcard-20061229
do not follow mountpoints when calling cm_Lookup as part of the
optimization.  otherwise the shortname is computed incorrectly.
2006-12-30 02:44:39 +00:00
Derrick Brashear
224eb9ff60 proc-unixusers-cleanup-on-linux-20061228
FIXES 49978

maybe?
2006-12-28 22:32:52 +00:00
Dale Ghent
c4c90e33be null-terminate-solaris-ops-20061228
FIXES 50340

vfsops and vnodeops need a NULL at the end of the structs
2006-12-28 22:25:41 +00:00
Dale Ghent
a537d3ae96 add-solaris-11-support-v2-20061228
FIXES 50343

initial 5.11 support
2006-12-28 21:57:24 +00:00
Dale Ghent
7756a870f3 solaris10-suser-replace-20061228
FIXES 50246

suser is dead, long live suser
2006-12-28 21:48:25 +00:00
Marc Dionne
84078738ee linux-install-correct-modules-20061228
FIXES 49787

actually install the correct MP/EP/BM et al modules
2006-12-28 21:35:17 +00:00
Marc Dionne
064926fd1b linux-2620-rc1-update-20061228
FIXES 49890

updates for linux 2.6.20-rc1
2006-12-28 21:28:31 +00:00
Derrick Brashear
fe649aac81 afsdb-resolver-reinit-20061228
as reported by Adam Megacz, but my own version of the fix
2006-12-28 20:36:26 +00:00
Derrick Brashear
c454508d39 macos-installer-fix-20061227
make the installer build correctly again
2006-12-27 15:46:26 +00:00
Jeffrey Altman
2a9d3e91d0 windows-server-config-20061226
Reformat the entire directory.

Add Freelance mode awareness.

Map the root.afs volume starting from Z: and work down.
2006-12-26 20:21:16 +00:00
Jeffrey Altman
432bede1e5 windows-optimize-smb-dir-search-if-no-wildcard-20061226
fix the computation of the ShortName.  Take into account the network
byte order of the cm_dirFid_t fields.

send error packets from within the function as needed.  do not return
the error to the caller.
2006-12-26 20:17:25 +00:00
Derrick Brashear
b2601916f6 bosserver-avoid-bosconfig-truncation-20061221
why the heck would it be a good idea to rewrite the BosConfig while we are starting, exactly?

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

why the heck would it be a good idea to rewrite the BosConfig while we are start
ing, exactly?
2006-12-22 06:45:40 +00:00
Derrick Brashear
0420827630 split-cache-update-20061220
move closer to 1.4 implementation esp when split cache is turned off
2006-12-20 21:17:12 +00:00
Dale Ghent
c1c2a80c1b solaris10-avoid-direct-cred-access-20061220
avoid a panic after we muck with groups by being less evil
2006-12-20 20:07:02 +00:00
Jim Rees
f4247e465d strl-20061220
convert sys_errlist -> strerror, strcat ->strlcat, strcpy -> strlcpy
2006-12-20 17:03:59 +00:00
Jeffrey Altman
ea60a4dd39 windows-afslogon-20061219
Initialize Winsock from within afslogon.c so that ka_UserAuth will
work again.
2006-12-19 17:55:44 +00:00
Hartmut Reuter
7a2d34be17 volser-dumpstuff-20061218
FIXES 46937

"vos release" per default does an incremental dump.
volser-dump-validate-input-20060417 ends up with keeping dead vnodes and
data in the remote RO-volume.  This patch corrects the behavior for
RO-volumes.

See ticket for extensive discussion.
2006-12-19 04:50:16 +00:00
Chas Williams
db8339c3c4 rx-mtu-fixes-20061218
http://www.openafs.org/pipermail/openafs-devel/2006-November/014487.html
2006-12-19 04:35:29 +00:00
Derrick Brashear
8a7e66fb28 openafs-kernel-src-fix-20061218
FIXES 44573

ok, so, we need to emit Makefile.version when we build openafs-kernel
2006-12-19 04:18:48 +00:00
Jeffrey Altman
13cc6c5c37 volser-undo-cleanup-20061218
uncommit an inappropriate commit

  DELTA volser-cleanup-xx-20061128
2006-12-19 03:37:34 +00:00
Derrick Brashear
acca80fd67 rx-globals-avoid-INIT-reuse-20061218
FIXES 45515

avoid calling our macro INIT
2006-12-19 03:17:57 +00:00
Jeffrey Hutzelman
c4adc63872 volume-dont-artificially-untimeout-vlservers-20061218
FIXES 48959

remove synthetic event to undo timeouts of vlservers we "haven't talked to yet"
2006-12-19 02:32:55 +00:00
Chas Williams
01c0e029f7 linux-osi-cred-pool-byebye-20061218
ok, unneeded abstraction removed.
2006-12-19 02:28:19 +00:00
Jeffrey Altman
8a1debde84 windows-afslogon-20061218
test for the existence of the mutex and not the bInit flag
during the DLL attach
2006-12-18 23:56:19 +00:00