Jeremy Allison [Wed, 18 Jul 2007 01:27:03 +0000 (01:27 +0000)]
r23942: Fix issue found by Shlomi Yaakobovich <Shlomi@exanet.com> where
invalid names sent as a resume name were incorrectly mapped into
. and .. Ensure they really *are . and ..
Jeremy.
Jeremy Allison [Tue, 17 Jul 2007 18:48:39 +0000 (18:48 +0000)]
r23935: We were lying to the client in the case of POSIX_UNLINK
if a Windows client had the file open. We were setting
delete on close and returning "ok". The POSIX client then
believed the file was gone (and it wasn't). Fix this to
return SHARING_VIOLATION if there is an existing NTcreateX
open on the file and someone calls POSIX_UNLINK. Still one
more Cthon test to fix but getting closer now. Should
be in 3.0.25c also.
Jeremy.
Michael Adam [Tue, 17 Jul 2007 13:06:29 +0000 (13:06 +0000)]
r23932: Fill extended status with information in case the validation traverse
functions did not do so but returned an error. (This is the case when
error occurred deeper than at the level of the content checking done by
the per entry validate_fn.)
Michael Adam [Tue, 17 Jul 2007 12:49:22 +0000 (12:49 +0000)]
r23930: Introduce tdb_validate_and_backup:
This is a wrapper around tdb_validate, that does backup handling:
* if the given tdb is valid, a backup is created (name.bak)
* if the tdb is invalid, if a valid bakup is found (validated
with the same validation function) under the name "name.bak"
the orignal tdb is moved to name.corrupt and the backup
is restored.
For the backup handling, a variant of the backup_tdb function
from lib/tdb/tools/tdbbackup.c is included in lib/util_tdb.c.
The copy function for the traverse action eliminates the need
to maintain a global success state by using a struct wrapping
the target tdb and a success flag as the private data.
Jeremy Allison [Tue, 17 Jul 2007 05:55:10 +0000 (05:55 +0000)]
r23913: Revert back to Volker's original logic to fix the
RAW-SFILEINFO-RENAME until I can figure out what
is different from the way CIFSFS drives this in
the cthon tests and the way smbtorture drives it.
Jeremy.
Jeremy Allison [Tue, 17 Jul 2007 04:47:36 +0000 (04:47 +0000)]
r23911: Revert r23910 to try and fix the build farm. I
need to look at this more closely tomorrow.
Stevef's cthon tests definately show we're not
matching Windows behaviour (as his tests pass
against Windows but not SAMBA_3_2) but this isn't
the fix.
Jeremy.
Jeremy Allison [Tue, 17 Jul 2007 02:17:23 +0000 (02:17 +0000)]
r23910: We used to deny renames on the
source open for non-delete open.
Turns out this is not the case.
VL please test but this matches
Windows behaviour. (I'll add a
torture test tomorrow).
Jeremy.
Jeremy Allison [Tue, 17 Jul 2007 00:50:48 +0000 (00:50 +0000)]
r23908: Fix bug with interaction of optimization with
POSIX locking. We can't do lock counts with POSIX,
so stop counting if we get a POSIX lock request.
Jeremy.
Jeremy Allison [Fri, 13 Jul 2007 01:22:09 +0000 (01:22 +0000)]
r23858: Added srvstr_pull_buf_talloc() and srvstr_pull_talloc()
calls and converted reply_tcon and reply_tconX to use
them - to show the boilerplate usage (valgrind tested).
In conjunction with Volker's srvstr_get_path_talloc()
work this should allow us to start eliminating all
pstrings/fstrings out of the main path processing
code.
I'll watch the build farm tonight...
Jeremy.
Jeremy Allison [Wed, 11 Jul 2007 23:40:14 +0000 (23:40 +0000)]
r23845: Second part of the fix for #4777. Looks like on AIX opendir
returns an errno of ELOOP for a symlink of msdfs:server\path\to\link.
Cope with this by mapping to a known error NT_STATUS_OBJECT_PATH_NOT_FOUND
that we know dfs_path_lookup should ignore.
Jeremy.
Jeremy Allison [Wed, 11 Jul 2007 21:01:06 +0000 (21:01 +0000)]
r23843: Fix bug #4777, reported by Bill Marshall <bmarsh@us.ibm.com>.
Doing a DFS traverse through a deep link could fail (not using
explorer).
Jeremy.
r23839: Try to get the attribute name from schema GUIDs or the display name from
extended rights GUID from ad while dumping the security descriptors's aces.
This would perform much better with a guid cache, but for the rare cases where
it is used
net ads search cn=mymachine ntSecurityDescriptor -U user%pass
Michael Adam [Tue, 10 Jul 2007 16:41:26 +0000 (16:41 +0000)]
r23819: It is currently unnecessary to pass the extended validation status
from the validating child process down to the parent though the
pipe. All the parent evaluates is the overall success, so the exit
status should do.