summaryrefslogtreecommitdiff
path: root/source3/smbd/reply.c
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r20454: Get rid of a bogus variable that was only assigned but never read.Volker Lendecke1-4/+0
Jeremy, please check this. Thanks, Volker (This used to be commit 2becbb9e5f7d1b04962178e6f0c97c3ccf2b0f88)
2007-10-10r20451: Survive the first of the filter-tests (mkdir).Volker Lendecke1-3/+4
Add lots of TODOs :-) Volker (This used to be commit 0e953884a15873b0962ab1ab064d6b3a436726c0)
2007-10-10r20442: Slight rewrite of the change notify infrastructure. This now ↵Volker Lendecke1-12/+12
survives the first of the raw-notify subtests, the one-level test_notify_dir without any flags around yet. The tricky part was getting the data structures right, I hope the next tests don't let that fall over. fsp->notify is now by default NULL, meaning that nobody has issued a changenotify call. This means nobody is interested in changes for this directory. If that has happened, notify_change_buf collects the changes if no current request is outstanding, and it collects the requests if no change has happened since the last request. Happy New Year, somewhere on this planet it's already 2007 :-) Volker P.S: Jeremy, there's a question for you in smbd/files.c line 367. (This used to be commit ce0ad24988075465addcac0b9afc872e909135af)
2007-10-10r20433: Work in progress: Survive more of RAW-NOTIFY.Volker Lendecke1-1/+20
call_nt_transact_notify_change() is now sync if there are changes around. A notify_message does a direct reply from within the message, so process_pending_change_notify_queue is not needed anymore for samba-generated events. Next step is to restructure the kernel-mechanisms to generate messages. Volker (This used to be commit c813f71d0036ec52c99a97e60fe33ee47d0635fa)
2007-10-10r20394: This is a *VERY* early start of my work on notify.Volker Lendecke1-4/+19
Checking in because Jeremy was bugging me. Potentially this becomes quite intrusive, I'm not sure if I should open a temporary branch for this. Jeremy, Jerry, do you think 3_0 is the right place for this? Volker (This used to be commit bcf5c751cbe203c00814642e26440cf88f300bce)
2007-10-10r20393: Debug level 1 is a bit excessive hereVolker Lendecke1-1/+1
(This used to be commit 48798b5e57fcb2ee7debfe9d5178adef37907f92)
2007-10-10r20371: In renames (via SMBmv) both src and dest can containJeremy Allison1-4/+5
wcards. I had forgotten this and had refused to allow dest to contain wcards. We now pass all the normal Samba4 smbtorture RAW-RENAME tests. Jeremy (This used to be commit 4183c1b49fd5a6107aa87249b7be236af092ed8b)
2007-10-10r20370: Now we've gone to the trouble of getting an NT statusJeremy Allison1-1/+1
from open_file_ntcreate make sure we return it on rename error. Jeremy. (This used to be commit 633f02fb860223585f388e64c1a2d770db52d4f0)
2007-10-10r20339: Make mkdir_internal static to open.cVolker Lendecke1-48/+2
(This used to be commit 6dd0886b49969d0edfe16861f19d35275217b2af)
2007-10-10r20338: Restructure open_directory a bit. This gets rid of a race condition ↵Volker Lendecke1-2/+3
regarding error messages: We relied upon a stat that a directory did not exist to later on then do the mkdir or not. This does the mkdir directly and copes with a potential error. The second one is more important: It's possible with Samba 3 to do a ntcreate&x with NTCREATEX_OPTIONS_DIRECTORY and we happily do a NT_STATUS_OK. Also move up the use_nt_status() logic a bit. I think this does not belong into the core routines, the smb server as such should take care of it. Jeremy, do you think this should go to 3.0.24? I'll update samba4torture when the build farm has picked up this checkin. Volker (This used to be commit 472fb11f4968d30cedc9851215c63acd3132f3db)
2007-10-10r20264: Two lines above this we just checked if (fsp->is_directory) ...Volker Lendecke1-1/+1
(This used to be commit 88ab54b3b7ec6c0ac1958fca435880e29eeefd69)
2007-10-10r20253: Reduce some code duplication, make reply_mkdir go through the same ↵Volker Lendecke1-25/+10
code paths ncreate does. This is a bit slower (about 10-20%), because it goes touches the share mode db, but I think not having to call change_owner_to_parent and friends in fewer places outweighs this. And, mkdir is not the way current Windows boxes create directories, they do it via the ncreate call. Volker (This used to be commit ddae494fbe36e4a74776f71c212b00cce61fbf81)
2007-10-10r20237: Replace exit_server with exit_server_cleanly where appropriate. AllJames Peach1-16/+16
send_smb failures should be clean exits. All times when we exit as a matter of policy should also be clean exits. (This used to be commit d6382092e72120a3c89ffe81975e8898d454bf06)
2007-10-10r20229: Avoid a silly function call in mkdir_internal. None of the callers ↵Volker Lendecke1-2/+1
look at errno, all go straight to ERROR_NT(status). Volker (This used to be commit 9d8b48c0ef0af5792b879565915832ee141c853c)
2007-10-10r18787: Fix the strlen_m and strlen_m_term code by mergingJeremy Allison1-3/+24
in (and using elsewhere) next_codepoint from Samba4. Jerry please test. Jeremy. (This used to be commit ece00b70a4621633f1ac9e576c4bbe332031de09)
2007-10-10r17220: If we're going to fail a write with an errno, makeJeremy Allison1-0/+4
sure we return -1. Jeremy. (This used to be commit 89b83237b03066785ca4bf3b9d120519bddeffad)
2007-10-10r17108: Make the default timeout parameter for lock waitingJeremy Allison1-3/+3
be lp_lock_spin(). lock spin count is no longer used. I'll update the man pages. Jeremy. (This used to be commit 0451a170c9be88399202abd225af35ddc45023f0)
2007-10-10r17107: Make the 200 ms timeout value tunable in local.h...Jeremy Allison1-3/+3
Might need to be a parameter ? Jeremy. (This used to be commit 98d8d9399bb287319578daaf2a2fb42f3c48f858)
2007-10-10r17106: Match Windows timing values on locks.Jeremy Allison1-0/+5
Jeremy. (This used to be commit b5aaff665937313370e0e87225e146f9af7b7e67)
2007-10-10r17105: Fix the race Volker found - we had a non-lockedJeremy Allison1-81/+53
region between detecting a pending lock was needed and when we added the blocking lock record. Make sure that we hold the lock over all this period. Removed the old code for doing blocking locks on SMB requests that never block (the old SMBlock and friends). Discovered something interesting about the strange NT_STATUS_FILE_LOCK_CONFLICT return. If we asked for a lock with zero timeout, and we got an error of NT_STATUS_FILE_LOCK_CONFLICT, treat it as though it was a blocking lock with a timeout of 150 - 300ms. This only happens when timeout is sent as zero and can be seen quite clearly in ethereal. This is the real replacement for old do_lock_spin() code. Re-worked the blocking lock select timeout to correctly use milliseconds instead of the old second level resolution (far too coarse for this work). Jeremy. (This used to be commit b81d6d1ae95a3d3e449dde629884b565eac289d9)
2007-10-10r17098: Samba3 now cleanly passes Samba4 RAW-LOCK tortureJeremy Allison1-47/+76
test. Phew - that was painful :-). But what it means is that we now implement lock cancels and I can add lock cancels into POSIX lock handling which will fix the fast/slow system call issue with cifsfs ! Jeremy. (This used to be commit f1a9cf075b87c76c032d19da0168424c90f6cb3c)
2007-10-10r16945: Sync trunk -> 3.0 for 3.0.24 code. Still needJeremy Allison1-80/+92
to do the upper layer directories but this is what everyone is waiting for.... Jeremy. (This used to be commit 9dafb7f48ca3e7af956b0a7d1720c2546fc4cfb8)
2007-10-10r16397: Fix Klocwork #11767 and drasticly simplify theJeremy Allison1-0/+7
logic in smbd/process.c. All interested (Volker, Jerry, James etc). PLEASE REVIEW THIS CHANGE. The logic should be identical but *much* easier to follow and change (and shouldn't confuse Klockwork :-). Jeremy. (This used to be commit d357f8b33594472ffa78d0a112accccc2a8b1fe7)
2007-10-10r15951: oplock_request must be an int, not a BOOL. WeJeremy Allison1-3/+3
were getting away with mixing types. Not cool. Jeremy. (This used to be commit ad3bc112a21afd3a04449ec3f604e017d753c224)
2007-10-10r15450: Change profiling data macros to use stack variables rather thanJames Peach1-7/+8
globals. This catches mismatched start/end calls and removes the need for special nested profiling calls. (This used to be commit ee750498812190edd3ec52ca3c750258f3b8a97a)
2007-10-10r15112: Move strict locking default to auto. Fix up the errorJeremy Allison1-1/+1
return for one of the Samba4 torture tests. Jeremy. (This used to be commit 9db6617756ff155eb7549c3c622a9920189e577d)
2007-10-10r15030: On a performace hunt... Remove as many extraneousJeremy Allison1-16/+16
memset's as possible. Jeremy. (This used to be commit 1217ed392b75aa8bfefa9c3f1ec5fa3bba841ee0)
2007-10-10r15020: Fix issue with samba4 netbench torture tester,Jeremy Allison1-1/+8
it sends break replies to "break to none from level2" requests and it shouldn't. Just don't log a debug level zero message. Jeremy. (This used to be commit dc6a13da33a031d0c2374b692737dbe9215f0f74)
2007-10-10r15018: Merge Volker's ipc/trans2/nttrans changes overJeremy Allison1-26/+86
into 3.0. Also merge the new POSIX lock code - this is not enabled unless -DDEVELOPER is defined. This doesn't yet map onto underlying system POSIX locks. Updates vfs to allow lock queries. Jeremy. (This used to be commit 08e52ead03304ff04229e1bfe544ff40e2564fc7)
2007-10-10r14574: Allow use of sendfile as long as the write cache has not been enabledJames Peach1-3/+4
on the particular file we are performing I/O on, irrespective of whether the write cache is globally enabled (This used to be commit 0809e2cb1dfff1cd0e8631b23b415cb2d8a67312)
2007-10-10r14460: SMBexit closes by pid and vuid. Tested with smbtorture.Jeremy Allison1-1/+1
Jeremy. (This used to be commit 71e81580421225d5b35a25d46a7b6064a826685c)
2007-10-10r13571: Replace all calls to talloc_free() with thye TALLOC_FREE()Gerald Carter1-5/+5
macro which sets the freed pointer to NULL. (This used to be commit b65be8874a2efe5a4b167448960a4fcf6bd995e2)
2007-10-10r13293: Rather a big patch I'm afraid, but this should fix bug #3347Jeremy Allison1-13/+13
by saving the UNIX token used to set a delete on close flag, and using it when doing the delete. libsmbsharemodes.so still needs updating to cope with this change. Samba4 torture tests to follow. Jeremy. (This used to be commit 23f16cbc2e8cde97c486831e26bcafd4ab4a9654)
2007-10-10r12956: Fix for bug #3035 from SATOH Fumiyasu <fumiyas@miraclelinux.com>Jeremy Allison1-1/+13
On a Windows share, a file with read-only dosmode can be opened with DELETE_ACCESS. But on a Samba share (delete readonly = no), it fails with NT_STATUS_CANNOT_DELETE error. This semantic causes a problem that a user can not rename a file with read-only dosmode on a Samba share from a Windows command prompt (i.e. cmd.exe, but can rename from Windows Explorer). Jeremy. (This used to be commit dd185c7aa8de156dab58b065bf73905b2a29f40d)
2007-10-10r12491: End profile fixes from SATOH Fumiyasu <fumiya@samba.gr.jp>.Jeremy Allison1-1/+1
Jeremy. (This used to be commit 2187502732e41690bf266f229312bb9c7177cf22)
2007-10-10r12234: Reduce the race condition for renames by holding the lockJeremy Allison1-19/+29
longer. Instigated by complaints on the fix for #3303 from SATOH Fumiyasu <fumiyas@miraclelinux.com>. Jeremy. (This used to be commit 855f5f8c32aa530dbad244805a40200824724618)
2007-10-10r12213: Final fix for #3303 - send rename messages to smbd'sJeremy Allison1-5/+23
that have open file handles to allow them to correctly implement delete on close. There is a further correctness fix I'm intending to add to this to cope with different share paths, but not right now... Jeremy. (This used to be commit 932e337db8788e75344e1c7cf1ef009d090cb039)
2007-10-10r12194: Ensure that when we set a connection path we've canonicalizedJeremy Allison1-1/+1
the name (must be abolute - start with /, must not end in /, must have ./ and ../ removed). Of course for realpath resolved paths this won't be the case but for others we need this name to be canonicalized. This name is going into the sharemode db for #3303 so needs to be in a normalized format. Jeremy. (This used to be commit 22e3300911809692b595f49e87d91e3111923e6a)
2007-10-10r11511: A classic "friday night check-in" :-). This moves muchJeremy Allison1-18/+20
of the Samba4 timezone handling code back into Samba3. Gets rid of "kludge-gmt" and removes the effectiveness of the parameter "time offset" (I can add this back in very easily if needed) - it's no longer being looked at. I'm hoping this will fix the problems people have been having with DST transitions. I'll start comprehensive testing tomorrow, but for now all modifications are done. Splits time get/set functions into srv_XXX and cli_XXX as they need to look at different timezone offsets. Get rid of much of the "efficiency" cruft that was added to Samba back in the day when the C library timezone handling functions were slow. Jeremy. (This used to be commit 414303bc0272f207046b471a0364fa296b67c1f8)
2007-10-10r11451: Fix -O1 "might be using uninitialized" errors.Jeremy Allison1-1/+1
Jeremy. (This used to be commit cab76c3c33883aad444eefb6562ab1b27d9ca88a)
2007-10-10r11448: Move decl before code.Jeremy Allison1-1/+2
Jeremy. (This used to be commit f22822790cdbbe7d5a237421c1eda73a504e488d)
2007-10-10r11428: Fix bug #3192 by actually hooking up the dfree cachingJeremy Allison1-1/+1
function. Oops. Jeremy. (This used to be commit 7edb26e7657fc01710abe563b941779749409ef2)
2007-10-10r11420: Fix issue pointed out by Dina Fine <dina@exanet.com>. We canJeremy Allison1-44/+78
only tell at parse time from the wire if an incoming name has wildcards or not. If it's a mangled name and we demangle the demangled name may contain wildcard characters. Ensure these are ignored. Jeremy. (This used to be commit 4cd8e2a96b98ff711905e8c6f416b22440c16062)
2007-10-10r11137: Compile with only 2 warnings (I'm still working on that code) on a gcc4Jeremy Allison1-2/+2
x86_64 box. Jeremy. (This used to be commit d720867a788c735e56d53d63265255830ec21208)
2007-10-10r10750: Ensure we match W2K3 in forcing DOS errors in a couple of cases.Jeremy Allison1-2/+2
Jeremy. (This used to be commit 62ba3454251daf59071a6b2663035b04c5438647)
2007-10-10r10749: Remove one more Samba4 smbtorture RAW-OPEN difference from W2K3.Jeremy Allison1-1/+1
Jeremy. (This used to be commit 0e8cf8eef59e38ba9a79f6c688abe9f1ac3bf64d)
2007-10-10r10656: BIG merge from trunk. Features not copied overGerald Carter1-56/+77
* \PIPE\unixinfo * winbindd's {group,alias}membership new functions * winbindd's lookupsids() functionality * swat (trunk changes to be reverted as per discussion with Deryck) (This used to be commit 939c3cb5d78e3a2236209b296aa8aba8bdce32d3)
2007-10-10r10551: We need to check if the source path is a parent directory of the ↵Jeremy Allison1-0/+41
destination (ie. a rename of /foo/bar/baz -> /foo/bar/baz/bibble/bobble. If so we must refuse the rename with a sharing violation. Under UNIX the above call can *succeed* if /foo/bar/baz is a symlink to another area in the share. We probably need to check that the client is a Windows one before disallowing this as a UNIX client (one with UNIX extensions) can know the source is a symlink and make this decision intelligently. Found by an excellent bug report from <AndyLiebman@aol.com>. Jeremy. (This used to be commit fc311adc7964feef5bac85096727f54922d1186c)
2007-10-10r10136: Fix for bug #3060 from Leo Weppelman <leo@wau.mis.ah.nl>.Jeremy Allison1-1/+1
Ensure SMBcreate truncates the file if it exists. Jeremy. (This used to be commit 9014b0ddcbd87c98613f06033718e4091e3be21c)
2007-10-10r9985: Move the all the strict sync logic into file_sync().James Peach1-13/+7
(This used to be commit cc680bbe22b8bfc5a1900f11c2cbaeca3a9f9922)