1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-15 23:24:37 +03:00

787 Commits

Author SHA1 Message Date
Volker Lendecke
165f5f3f40 r20433: Work in progress: Survive more of RAW-NOTIFY.
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-10 12:16:49 -05:00
Volker Lendecke
98c082489b r20394: This is a *VERY* early start of my work on notify.
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-10 12:16:46 -05:00
Volker Lendecke
143a364d62 r20393: Debug level 1 is a bit excessive here
(This used to be commit 48798b5e57fcb2ee7debfe9d5178adef37907f92)
2007-10-10 12:16:46 -05:00
Jeremy Allison
3430c1ddb8 r20371: In renames (via SMBmv) both src and dest can contain
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-10 12:16:45 -05:00
Jeremy Allison
654f747e6d r20370: Now we've gone to the trouble of getting an NT status
from open_file_ntcreate make sure we return it on rename
error.
Jeremy.
(This used to be commit 633f02fb860223585f388e64c1a2d770db52d4f0)
2007-10-10 12:16:44 -05:00
Volker Lendecke
d0c6f9b728 r20339: Make mkdir_internal static to open.c
(This used to be commit 6dd0886b49969d0edfe16861f19d35275217b2af)
2007-10-10 12:16:42 -05:00
Volker Lendecke
469b42c61f r20338: Restructure open_directory a bit. This gets rid of a race condition 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-10 12:16:42 -05:00
Volker Lendecke
9e41616b06 r20264: Two lines above this we just checked if (fsp->is_directory) ...
(This used to be commit 88ab54b3b7ec6c0ac1958fca435880e29eeefd69)
2007-10-10 12:16:37 -05:00
Volker Lendecke
f4f1814f8c r20253: Reduce some code duplication, make reply_mkdir go through the same 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-10 12:16:37 -05:00
James Peach
5bb49b08f3 r20237: Replace exit_server with exit_server_cleanly where appropriate. All
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-10 12:16:34 -05:00
Volker Lendecke
0379e088dc r20229: Avoid a silly function call in mkdir_internal. None of the callers look at
errno, all go straight to ERROR_NT(status).

Volker
(This used to be commit 9d8b48c0ef0af5792b879565915832ee141c853c)
2007-10-10 12:16:34 -05:00
Jeremy Allison
f18c9365ca r18787: Fix the strlen_m and strlen_m_term code by merging
in (and using elsewhere) next_codepoint from Samba4.
Jerry please test.
Jeremy.
(This used to be commit ece00b70a4621633f1ac9e576c4bbe332031de09)
2007-10-10 12:00:57 -05:00
Jeremy Allison
120422f723 r17220: If we're going to fail a write with an errno, make
sure we return -1.
Jeremy.
(This used to be commit 89b83237b03066785ca4bf3b9d120519bddeffad)
2007-10-10 11:38:19 -05:00
Jeremy Allison
1cd8d56fda r17108: Make the default timeout parameter for lock waiting
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-10 11:38:12 -05:00
Jeremy Allison
38af904c31 r17107: Make the 200 ms timeout value tunable in local.h...
Might need to be a parameter ?
Jeremy.
(This used to be commit 98d8d9399bb287319578daaf2a2fb42f3c48f858)
2007-10-10 11:38:12 -05:00
Jeremy Allison
a456a31309 r17106: Match Windows timing values on locks.
Jeremy.
(This used to be commit b5aaff665937313370e0e87225e146f9af7b7e67)
2007-10-10 11:38:12 -05:00
Jeremy Allison
b737f26764 r17105: Fix the race Volker found - we had a non-locked
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-10 11:38:12 -05:00
Jeremy Allison
e1da1fcf12 r17098: Samba3 now cleanly passes Samba4 RAW-LOCK torture
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-10 11:38:11 -05:00
Jeremy Allison
fbdcf2663b r16945: Sync trunk -> 3.0 for 3.0.24 code. Still need
to do the upper layer directories but this is what
everyone is waiting for....

Jeremy.
(This used to be commit 9dafb7f48ca3e7af956b0a7d1720c2546fc4cfb8)
2007-10-10 11:19:14 -05:00
Jeremy Allison
ce61fb21d9 r16397: Fix Klocwork #11767 and drasticly simplify the
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-10 11:18:52 -05:00
Jeremy Allison
bef4969247 r15951: oplock_request must be an int, not a BOOL. We
were getting away with mixing types. Not cool.
Jeremy.
(This used to be commit ad3bc112a21afd3a04449ec3f604e017d753c224)
2007-10-10 11:17:14 -05:00
James Peach
4d55a81958 r15450: Change profiling data macros to use stack variables rather than
globals. This catches mismatched start/end calls and removes
the need for special nested profiling calls.
(This used to be commit ee750498812190edd3ec52ca3c750258f3b8a97a)
2007-10-10 11:16:47 -05:00
Jeremy Allison
5445694eb9 r15112: Move strict locking default to auto. Fix up the error
return for one of the Samba4 torture tests.
Jeremy.
(This used to be commit 9db6617756ff155eb7549c3c622a9920189e577d)
2007-10-10 11:16:24 -05:00
Jeremy Allison
fc13f28417 r15030: On a performace hunt... Remove as many extraneous
memset's as possible.
Jeremy.
(This used to be commit 1217ed392b75aa8bfefa9c3f1ec5fa3bba841ee0)
2007-10-10 11:15:58 -05:00
Jeremy Allison
6c237e04b2 r15020: Fix issue with samba4 netbench torture tester,
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-10 11:15:57 -05:00
Jeremy Allison
22dbd67708 r15018: Merge Volker's ipc/trans2/nttrans changes over
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-10 11:15:57 -05:00
James Peach
1af229a8f8 r14574: Allow use of sendfile as long as the write cache has not been enabled
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-10 11:15:37 -05:00
Jeremy Allison
f04d5530cc r14460: SMBexit closes by pid and vuid. Tested with smbtorture.
Jeremy.
(This used to be commit 71e81580421225d5b35a25d46a7b6064a826685c)
2007-10-10 11:15:31 -05:00
Gerald Carter
fb5362c069 r13571: Replace all calls to talloc_free() with thye TALLOC_FREE()
macro which sets the freed pointer to NULL.
(This used to be commit b65be8874a2efe5a4b167448960a4fcf6bd995e2)
2007-10-10 11:10:14 -05:00
Jeremy Allison
d14af63e6a r13293: Rather a big patch I'm afraid, but this should fix bug #3347
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-10 11:06:21 -05:00
Jeremy Allison
2dd7fd8f69 r12956: Fix for bug #3035 from SATOH Fumiyasu <fumiyas@miraclelinux.com>
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-10 11:06:09 -05:00
Jeremy Allison
c4ccc8f37e r12491: End profile fixes from SATOH Fumiyasu <fumiya@samba.gr.jp>.
Jeremy.
(This used to be commit 2187502732e41690bf266f229312bb9c7177cf22)
2007-10-10 11:05:58 -05:00
Jeremy Allison
e7d2e311a2 r12234: Reduce the race condition for renames by holding the lock
longer. Instigated by complaints on the fix for #3303 from
SATOH Fumiyasu <fumiyas@miraclelinux.com>.
Jeremy.
(This used to be commit 855f5f8c32aa530dbad244805a40200824724618)
2007-10-10 11:05:50 -05:00
Jeremy Allison
ab7a4f7e8e r12213: Final fix for #3303 - send rename messages to smbd's
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-10 11:05:49 -05:00
Jeremy Allison
fa4df827d0 r12194: Ensure that when we set a connection path we've canonicalized
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-10 11:05:48 -05:00
Jeremy Allison
6d5757395a r11511: A classic "friday night check-in" :-). This moves much
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-10 11:05:19 -05:00
Jeremy Allison
c9effb004c r11451: Fix -O1 "might be using uninitialized" errors.
Jeremy.
(This used to be commit cab76c3c33883aad444eefb6562ab1b27d9ca88a)
2007-10-10 11:05:16 -05:00
Jeremy Allison
a3d66dfef7 r11448: Move decl before code.
Jeremy.
(This used to be commit f22822790cdbbe7d5a237421c1eda73a504e488d)
2007-10-10 11:05:16 -05:00
Jeremy Allison
86909281c8 r11428: Fix bug #3192 by actually hooking up the dfree caching
function. Oops.
Jeremy.
(This used to be commit 7edb26e7657fc01710abe563b941779749409ef2)
2007-10-10 11:05:15 -05:00
Jeremy Allison
6baec64a73 r11420: Fix issue pointed out by Dina Fine <dina@exanet.com>. We can
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-10 11:05:15 -05:00
Jeremy Allison
8d7c886671 r11137: Compile with only 2 warnings (I'm still working on that code) on a gcc4
x86_64 box.
Jeremy.
(This used to be commit d720867a788c735e56d53d63265255830ec21208)
2007-10-10 11:05:02 -05:00
Jeremy Allison
8a1aa2c003 r10750: Ensure we match W2K3 in forcing DOS errors in a couple of cases.
Jeremy.
(This used to be commit 62ba3454251daf59071a6b2663035b04c5438647)
2007-10-10 11:04:53 -05:00
Jeremy Allison
5b455c1755 r10749: Remove one more Samba4 smbtorture RAW-OPEN difference from W2K3.
Jeremy.
(This used to be commit 0e8cf8eef59e38ba9a79f6c688abe9f1ac3bf64d)
2007-10-10 11:04:51 -05:00
Gerald Carter
54abd2aa66 r10656: BIG merge from trunk. Features not copied over
* \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-10 11:04:48 -05:00
Jeremy Allison
a757c6d57f r10551: We need to check if the source path is a parent directory of the 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-10 11:03:42 -05:00
Jeremy Allison
d99d15446a r10136: Fix for bug #3060 from Leo Weppelman <leo@wau.mis.ah.nl>.
Ensure SMBcreate truncates the file if it exists.
Jeremy.
(This used to be commit 9014b0ddcbd87c98613f06033718e4091e3be21c)
2007-10-10 11:03:33 -05:00
James Peach
93954d6390 r9985: Move the all the strict sync logic into file_sync().
(This used to be commit cc680bbe22b8bfc5a1900f11c2cbaeca3a9f9922)
2007-10-10 11:03:30 -05:00
Jeremy Allison
87801bc387 r8609: Fix for bugid #2889. I think the problem is that the top 16 bits of the "server state" field must be
non-zero. As we're using the 32 bit field as an offset then normally this field
will be zero. W2K3 fills this field with a counter enumerating the number of
SMBsearch calls on this directory - starting at 1. Add back the 1<<31 bit flag
DPTR_MASK to ensure this is non-zero - with better checks on use.
Jeremy.
(This used to be commit 6415657942c49ea51d4e4f4ee2189c7d70b9c5fa)
2007-10-10 11:00:13 -05:00
Jeremy Allison
01822a7e05 r8556: Fix bug #2878 - Norton commander not running on OS/2 client - we were
not correctly returning the requested open mode. Thanks to alex@infobit.ru
for reporting this.
Jeremy.
(This used to be commit 7ff7211b808e708c00a3b0f57be8d1af3c632bd7)
2007-10-10 11:00:09 -05:00
Jeremy Allison
0d8ef1cec4 r8457: Fix from Marcel Müller <mueller@maazl.de> to ensure
we correctly set the return packet size to include
the pad bytes in reply_readbmpx().
Jeremy.
(This used to be commit 3070ec288c64880485ed159d512e91346f5d1b4e)
2007-10-10 11:00:05 -05:00