4839 Commits

Author SHA1 Message Date
Jeffrey Altman
ef6917ff9d DEVEL15-windows-nim-afscred-supports-krb4-20080102
LICENSE MIT

Do not trust the registry to determine whether or not krb4 support
is available.  In a roaming profile the user data can say 'yes' even
if the plug-in or the kerberos library does not exist.


(cherry picked from commit d59d1db605280bfa9b2234f5272d61152ca7d7de)
2008-01-02 15:02:29 +00:00
Jeffrey Altman
ba37e97f8a DEVEL15-windows-nim-afs-krb524-20080102
LICENSE MIT

Don't call krb524_convert_creds_kdc if it doesn't exist.
64-bit KFW doesn't support krb4 and the function isn't present.


(cherry picked from commit cfcaa0be3cc22fce97737ae4f6387a8200de770d)
2008-01-02 07:08:00 +00:00
Derrick Brashear
68f0d6a331 DEVEL15-hpux11-sys-no-syscall-object-20071230
LICENSE IPL10
2007-12-31 03:23:48 +00:00
Derrick Brashear
b26f4c7b91 DEVEL15-vgetvnode-debuglog-vio-20071228
LICENSE IPL10

provide a way to log otherwise unlogged VIO error cause


(cherry picked from commit 2e135307b52b04003a22aa9985807a70b407accc)
2007-12-28 22:15:02 +00:00
Jeffrey Altman
3eca2f7e0b DEVEL15-windows-notes-20071228
LICENSE MIT
openafs-devel-1_5_29
2007-12-28 20:25:41 +00:00
Jeffrey Altman
c171eff70c DEVEL15-windows-version-20071228
LICENSE MIT

1.5.2900.0 == 1.5.29
2007-12-28 20:19:10 +00:00
Derrick Brashear
86a4eaadf3 DEVEL15-openafs-1-5-29-20071228
LICENSE IPL10

make 1.5.29
2007-12-28 20:14:49 +00:00
Jeffrey Altman
f03bcb3e92 DEVEL15-windows-release-notes-20071228
LICENSE MIT

update version number to 1.5.29
2007-12-28 19:47:11 +00:00
Jeffrey Altman
0558536b55 DEVEL15-windows-syncop-20071228
LICENSE MIT

avoid a race condition between cm_SyncOpCheckContinue and cm_SyncOpDone
that can leave a request on an scp stuck in the waiting state even though
there are no other requests to wake it up.


(cherry picked from commit 4d2c1d532bb44320afcf4debfee9ded403647e1e)
2007-12-28 15:47:43 +00:00
Jeffrey Altman
2ba19804b9 DEVEL15-windows-get-buffer-20071228
LICENSE MIT

cm_BkgPrefetch() contained two errors.  First, the loop at the top of the
function that ensures that a cm_buf_t is allocated for each of the offset
positions failed to actually obtain the buffer for the specified offset.
Instead, it repeatedly obtained the buffer for the starting base address.

Second, cm_GetBuffer() would reserve all of the buffers associated with
the cm_scache_t even in the case where we already have a callback and the
existing buffer has the proper data version number.  In that situation
reserving the buffers simply wastes valuable time.


(cherry picked from commit 33aeecd83f8ce670269868145648ae6e277cf3cb)
2007-12-28 07:26:00 +00:00
Jeffrey Altman
3f8a21aaf8 DEVEL15-windows-cell-aliases-20071228
LICENSE MIT

Fix the lookup of cell aliases to:

1. avoid re-reading CellServDB each time a cell alias is specified
2. avoid reconstructing the vlserver list for the cell each time an
   alias is specified
3. permit aliases to be used when AFSDB records were used previously
   with the full cell name


(cherry picked from commit d942d97ed82b9f4b86fdea8443912ec64b28dd96)
2007-12-28 07:13:15 +00:00
Jeffrey Altman
c963b262fb DEVEL15-windows-bkg-daemon-threads-20071228
LICENSE MIT

Reduce the default number of background daemon threads used for prefetch and
store operations to one.  Given the current implementation when more than
one thread is allocated they step on each other's toe while fighting over
locks.

A better model might be to divide up threads based upon cells or volumes
as a means of preventing contention.


(cherry picked from commit 7a1253d1d180716f2aace6e8c115f845fbfe003d)
2007-12-28 07:09:11 +00:00
Jeffrey Altman
b5af8893b4 DEVEL15-windows-default-chunksize-20071227
LICENSE MIT

Drop the default chunksize to 18 (256KB) from 20 (1MB) due to the increased
propensity to timeout reads on slow network connections.


(cherry picked from commit 1e262e133d2fa0464d6419b1acc6fd2c075f9dbd)
2007-12-27 21:00:41 +00:00
Jeffrey Altman
557fc12e45 DEVEL15-windows-callback-restore-multi-cell-servers-20071226
LICENSE MIT

The case of openafs.org and grand.central.org is a hideous abuse of
the AFS cell name space.  There are many negatives associated with
trying to support two different cell names pointing at overlapping
vlserver lists:

(1) The CM can store duplicate entries for all of the data simply because
    the cell name that was used is different

(2) If the CM attempts to optimize the data storage by aliasing or otherwise
    combining the cell names as part of one cm_cell_t object, then future
    attempts to separate the two cell names will require the destruction
    of the cache.

(3) If the CM does not associate a callback revoke with a particular cell,
    then the status data associated with any entry that matches the revoked
    AFSFid will be discarded.  For volume callbacks this can have a serious
    impact because volume IDs are not unique across cells and discarding
    status data for readonly volumes that are in use can result in a
    significant number of FetchStatus requests being sent to the associated
    file server.

There are other issues as well involving authentication.

The case of openafs.org advertising the vlserver addresses of
grand.central.org should be considered a hack; a hack that the Windows
client will no longer ensure will work.

Additional debugging messages have been added to assist individuals attempting
to debug why callback revokes do not appear to take affect when two cell
names share the same vlserver data.


(cherry picked from commit 56a82598b19e4232b0095c2b5778d4571c8aa9b2)
2007-12-26 16:22:19 +00:00
Jeffrey Altman
4961bbbe67 DEVEL15-windows-pthread-20071225
LICENSE MIT

The pthread_cond_timedwait/wait implementations were broken.  Not only
did they return the wrong error values but more importantly, they did not
always return with the mutex locked.


(cherry picked from commit b41b3bb52eaba52bba8fda0c49083322d6959238)
2007-12-25 23:06:14 +00:00
Jeffrey Altman
5f52934c18 DEVEL15-rx-event-handler-20071225
LICENSE MIT

Update event_handler() for Windows.  The return code of
pthread_cond_timedwait() is not limited to 0 and -1 because 'errno'
cannot be set.  Instead of setting 'errno' the error code is returned
directly by the function as the return code.

This patch is only for debugging purposes to track the number of
success, timeout, and other errors experienced by the routine.


(cherry picked from commit 6b1537b246732e4f7f67661d8230d051db8f3f8d)
2007-12-25 22:59:46 +00:00
Jason Edgecombe
d8998f30b0 DEVEL15-man-page-license-change-20071225
LICENSE BSD

Update man pages submitted by Jason Edgecombe to the BSD license.


(cherry picked from commit 7dc4925cd35036e7f7b448d15a291791cd025e86)
2007-12-25 22:29:58 +00:00
Jason Edgecombe
0ee2915063 DEVEL15-man-page-misc-updates-20071225
LICENSE BSD

Add some additional cross-references, add some missing man pages, fix a
few references to the OpenAFS manuals, document the -live flag to vos
move, and add an example for rxdebug.


(cherry picked from commit 84ef02b0f392c761211adc7d5876217ad835c6c0)
2007-12-25 22:26:43 +00:00
Andrew Deason
46a95257cc DEVEL15-man-page-fileserver-debug-20071225
LICENSE BSD

The file server debug flag is -d, not -debug.


(cherry picked from commit 9f97c5cf74358116a109a4982588d61164456714)
2007-12-25 22:23:43 +00:00
Jeffrey Altman
bf65f02e62 DEVEL15-windows-callback-revoke-multi-cell-servers-20071225
LICENSE MIT

Remove the callback revoke optimization that prevents a (vol,vn,uniq)
tupple from invalidating entries from multiple cells.  We cannot reliably
determine the cell from the server because the server might be identified
as belonging to more than one cell.  For example, openafs.org and
grand.central.org.


(cherry picked from commit 69d62d59689c7cd9758177f1f23d3b60df3a8a40)
2007-12-25 22:01:44 +00:00
Jeffrey Altman
efb0e9ebd8 DEVEL15-windows-hold-server-mutex-for-vol-list-20071223
LICENSE MIT

When walking or modifying the cm_server_vols_t associated with a given
cm_server_t the mutex must be held.  Otherwise, races can occur.


(cherry picked from commit b0bae13aec9acb944d5d6a64c11df857ffc40eb3)
2007-12-24 05:30:37 +00:00
Jeffrey Altman
50bf917efd DEVEL15-windows-daemon-threads-shutdown-sync-20071223
LICENSE MIT

Windows Error Reporting received crashes caused by a failure to synchronize
the shutdown of the AFS client service with the background daemon threads.
The daemon threads (cm_Daemon, cm_BkgDaemon+, cm_IPAddrDaemon) could be
accessing data structures as they were being freed or unmapped.

Add synchronization mechanisms to signal the termination of the threads
with the shutdown of the service.


(cherry picked from commit 8a923a199d91aae6d1fc9bb6a2f1856fe5dbcb07)
2007-12-24 05:24:14 +00:00
Jeffrey Altman
a4dc1317ca DEVEL15-windows-update-volume-status-20071223
LICENSE MIT

Refactor cm_UpdateVolumeStatus.  Revise behavior to treat volid 0 as
update the volume status for all volumes in the volume group.


(cherry picked from commit 815cd6f19ec37330e7829506c1208c9426b3a41f)
2007-12-24 05:19:09 +00:00
Jeffrey Altman
f3d00f8f23 DEVEL15-windows-server-lock-error-20071224
LICENSE MIT

The cm_serverLock must be write locked to modify the refCount


(cherry picked from commit 1b90fc5329dc7dd2055ab9150e3709b2b2cfac06)
2007-12-24 05:15:42 +00:00
Jeffrey Altman
a1076e12af DEVEL15-windows-volstat-and-vista-dfs-support-20071222
LICENSE MIT

This patch completes the implementation of smb_ReceiveTran2GetDFSReferral()
which is called by Vista even if we do not advertise the support of DFS
referrals.  It also adds DFS link mapping notifications to the volstat
interface which can be used by volstat plug-ins to redirect requests to
the dfs target path.

Other miscellaneous items:

(1) return EAS_NOT_SUPPORTED instead of EA length 0 and silently accepting
    but not storing EA data

(2) Call cm_VolStatus_Service_Started() before smb initialization instead
    of afterwards

(3) During directory enumeration and link assembly push the UNC path into
    the lower levels by storing references to the tidPath and the relative
    paths within the cm_req_t object.

(4) During directory enumeration make absolutely sure that we do not
    reference an unallocated cm_dirEntry_t object

(5) publish a prototype for cm_FollowMountPoint()

(6) return ERROR_RETRY instead of BAD_NETWORK_PATH if the server returns
    VBUSY

(7) return PATH_NOT_COVERED instead of BADSHARENAME for DfsLinks when
    a volstat plugin is in use


(cherry picked from commit 150919d690eca9ee00d3ce549554a058662c360c)
2007-12-23 04:52:58 +00:00
Jeffrey Altman
eb71f6a0a1 DEVEL15-windows-freelance-scache-20071222
LICENSE MIT

(1) remove a race condition caused by holding and releasing the
    cm_Freelance_Lock while using a pointer into a private freelance
    data structure

(2) do not reference a localMountPoint object that is not allocated

(3) properly assign the DFSLINK file type

(4) update the buffer data versions when we update the contents of
    the stat cache object and its buffers to match the registry
    contents


(cherry picked from commit bb77b085ff420d8b13c1a71b3144b6b31258ad3d)
2007-12-23 04:16:54 +00:00
Jeffrey Altman
e3c7a1e756 DEVEL15-windows-pioctl-listlink-20071222
LICENSE MIT

In the error case (1) reference the mountPointString instead of the
output of cm_AssembleLink() which was not generated and (2) do not
free memory and objects that were not allocated nor reference counted.


(cherry picked from commit 111fb3a0a9525bb9d618dfa23cd1df3eb8eb61c5)
2007-12-23 03:44:58 +00:00
Jeffrey Altman
84cf7ecd86 DEVEL15-windows-freelance-20071222
LICENSE MIT

remove unused next field in cm_localMountPoint_t


(cherry picked from commit 0421cb2afcc19f05e83a2e415c3e93df8516da98)
2007-12-23 03:39:59 +00:00
Jeffrey Altman
10e8a05fb2 DEVEL15-windows-fix-cb-expiration-20071222
LICENSE MIT

corrects cb expiration that was broken by the osi_Time() -> time() change
in delta windows-readonly-volume-callbacks-20071109


(cherry picked from commit 89203eb7065d7bd4e2a40f2afd5fab979ddf1008)
2007-12-23 03:27:29 +00:00
Derrick Brashear
861a8762b4 DEVEL15-darwin-dont-assert-on-lock-state-in-remove-20071219
LICENSE IPL10

remove panic due to lock being grabbedin another thread can't be accurately
covered with this test on darwin, as e.g. proc_selfthread() is not in the KPI


(cherry picked from commit f54187bfc59797fe955e779d432d155ab3792022)
2007-12-19 20:57:55 +00:00
Derrick Brashear
79c3dfcaef DEVEL15-fix-verbose-vos-dump-20071217
LICENSE IPL10

fix verbose vos dump to not put garbage in the stream when dumping to stdout


(cherry picked from commit b072deb257da24746e8c1ec2b01ff3b779e866c8)
2007-12-18 15:16:31 +00:00
Chaskiel M Grundman
1a7e37c141 DEVEL15-shlibafsrpc-export-more-20071217
LICENSE IPL10

shlibafsauthent uses these, export them


(cherry picked from commit 49a968ab68c9f0014d3d5801893c280d00696940)
2007-12-17 21:12:57 +00:00
Chaskiel M Grundman
9895831a6d DEVEL15-comerr-rename-20071217
LICENSE IPL10

the mapfile was renamed so this got dropped in pullup
2007-12-17 20:49:39 +00:00
Adam Megacz
8a75ccfb90 DEVEL15-java-admin-interface-updates-20071214
LICENSE IPL10

pdate java admin interface including support for 1.5


(cherry picked from commit f72145f79a2f9b04a042de93940456a41cb6e8b0)
2007-12-14 21:35:55 +00:00
Jeffrey Altman
e0861ff42b DEVEL15-windows-make-cleanup-20071214
LICENSE MIT

Modify the dependencies for building the cbd and file server resource
files and delete the resource files as part of 'clean'.


(cherry picked from commit 77c86d6fd39cb8e21f2028292e682155dd587803)
2007-12-14 13:35:39 +00:00
Jeffrey Altman
7053b5bc22 DEVEL15-emulate-vsyslog-20071214
LICENSE IPL10

Do not include vsyslog on Windows.

Include syslog.h for the syslog() prototype.


(cherry picked from commit 059031b3c6ff61340daad288deb378dc48cbd43a)
2007-12-14 13:19:43 +00:00
Derrick Brashear
79fb0e6508 DEVEL15-aix-lam-aklog-set-token-name-20071213
LICENSE IPL10

so we set an afs id in the tokens here also


(cherry picked from commit bf26bc9486de7831ae298b11e9ca33ac14ed92a7)
2007-12-13 23:06:08 +00:00
Derrick Brashear
6337cbab32 DEVEL15-emulate-vsyslog-20071213
LICENSE IPL10

aix 5.3 lacks vsyslog. the fixed buffer is poor, but...


(cherry picked from commit ea3d49eaea3d825e5b328e0fbb4382fe5b0249cd)
2007-12-13 22:41:53 +00:00
Derrick Brashear
c0271c31a5 DEVEL15-aix-curpag-redux-20071213
LICENSE IPL10

add curpag() support for aix, based on work by tom keiser


(cherry picked from commit af3a4e78523596427235b45fc1892725a29bd1d6)
2007-12-13 21:22:39 +00:00
Simon Wilkinson
ef005a57be DEVEL15-redhat-rpm-mockable-20071213
LICENSE IPL10

make us able to autobuild with mock. (may need krb5-devel outside the
if krb5support; if we do more thought will be involved)


(cherry picked from commit fcc8aa021f6305209fb8cf638d5446206029f581)
2007-12-13 20:06:26 +00:00
Derrick Brashear
48c758109c DEVEL15-vcache-track-maxvcount-accurately-20071213
LICENSE IPL10

if we can alloc more vnodes, and we are looking for vlru cycles, a legit
vnode is not indicative of a cycle.


(cherry picked from commit 51d6d9cbbc5971623097624a58e400cf8ab5e5ab)
2007-12-13 19:47:46 +00:00
Derrick Brashear
eecd963f65 DEVEL15-shutdown-cleanup-20071213
LICENSE IPL10

get rid of cold_shutdown; it's in afs_prototypes.h.
log when we don't clean up memory


(cherry picked from commit b33fb96fff39c421064d03ff058dde76f2aeed8b)
2007-12-13 19:18:29 +00:00
Jeffrey Altman
8cf0381646 DEVEL15-windows-afslogon-null-pointer-deref-20071211
LICENSE MIT

'tokenUser' can be dereferenced when NULL if GetTokenInformation() fails.


(cherry picked from commit 8f84815d0d8c9cc0b49eb29bfceeb03a7ae7f04f)
2007-12-12 04:25:38 +00:00
Mike Meffie
f59669b16a DEVEL15-afs-serveriprank-return-void-20071211
LICENSE IPL10

can't return 0 from void function


(cherry picked from commit 319ad227d12b8ab301d464c2460be74f7a44ec4d)
2007-12-11 21:30:04 +00:00
Mike Meffie
a0abdcd99b DEVEL15-vldb-check-dont-return-int-from-void-20071211
LICENSE IPL10

void functions shouldn't return 0


(cherry picked from commit 2e057314d957a8854ee3c912715a916c3f002863)
2007-12-11 20:43:50 +00:00
Derrick Brashear
c2db2e5c7c DEVEL15-butc-no-retval-in-void-func-20071211
LICENSE IPL10

fix the build again


(cherry picked from commit bc70f0f0abcc0843c23a0f63ee6b2ad6b842983d)
2007-12-11 16:27:06 +00:00
Derrick Brashear
1a7f3b21b7 DEVEL15-ubik-avoid-truncating-live-database-during-recovery-20071210
LICENSE IPL10
FIXES 77183

currently we can truncate the live database while we are doing recovery.
address that.


(cherry picked from commit 0f9529171c37c4ef1e76156da111d83d04b38505)
2007-12-10 22:45:55 +00:00
Derrick Brashear
a695815869 DEVEL15-afs-shutdown-cleanup-20071210
LICENSE IPL10
FIXES 74479

clean up allocated resources when we shut down


(cherry picked from commit f5fde5736f333e284a244467641f08727481b4ae)
2007-12-10 22:42:30 +00:00
Mike Meffie
0af46a9fa3 DEVEL15-find-cpp-from-slash-20071210
LICENSE IPL10

find cpp using a full path, not the user's path, at least for now


(cherry picked from commit e26be7b8e3c8ca73e6ef6640c7d2b8d8200a0c65)
2007-12-10 22:26:24 +00:00
Jeffrey Altman
871f79b8a0 DEVEL15-windows-remove-out-of-date-buffers-from-hash-tables-20071210
LICENSE MIT

When a cm_MergeStatus operation determines that the current data buffers
are out of date, remove them from the buffer hash tables in order to speed
the lookup of valid data buffers.


(cherry picked from commit 649194188e4af21370faa1bf1217a887adae2572)
2007-12-10 20:45:16 +00:00