1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-29 16:23:52 +03:00
Commit Graph

173 Commits

Author SHA1 Message Date
Volker Lendecke
cd07f93a8a r20846: Before this gets out of control...
This add a struct event_context and infrastructure for fd events to smbd. This
is step zero to import lib/events.

Jeremy, I rely on you to watch the change in receive_message_or_smb()
closely. For the normal code path this should be the only relevant change. The
rest is either not yet used or is cosmetic.

Volker
2007-10-10 12:17:13 -05:00
Jeremy Allison
3d52268095 r20742: Rename chkpth -> checkpath for sanity's sake :-).
Start removing unneeded "BOOL ok" from this reply.c
(this logic is old, old, old..... :-).
Jeremy.
2007-10-10 12:17:07 -05:00
Volker Lendecke
c846153b2e r20700: In the main processing loop we select() on the fam socket. If it fires, it
might be possible that we hang in the receive_smb() although that socket is
not the reason for the select() to return.

This immediately reacts to the fam socket to become readable, and goes into
the select loop again. This fixes delays in files showing up in Windows.

Jeremy, James please review this and merge to 3_0_24 if appropriate.

Thanks,

Volker
2007-10-10 12:17:04 -05:00
Volker Lendecke
22163fee59 r20432: Apply some const 2007-10-10 12:16:49 -05:00
Stefan Metzmacher
2f58645b70 r18605: sync dlinklist.h with samba4, that means DLIST_ADD_END()
and DLIST_DEMOTE() now take the type of the tmp pointer
not the tmp pointer itself anymore.

metze
2007-10-10 11:51:59 -05:00
Volker Lendecke
eb45de167d r17569: Make 'max smbd processes' more robust. Counting on the child to decrement a
tdb entry is not the most reliable way to count children correctly.

This increments the number of children after a fork and decrements it upon
SIGCLD. I'm keeping a list of children just for consistency checks, so that we
at least get a debug level 0 message if something goes wrong.

Volker
2007-10-10 11:38:39 -05:00
Jeremy Allison
b81d6d1ae9 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.
2007-10-10 11:38:12 -05:00
Jeremy Allison
9dafb7f48c 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.
2007-10-10 11:19:14 -05:00
Jeremy Allison
d357f8b335 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.
2007-10-10 11:18:52 -05:00
Volker Lendecke
8cedbbfbcf r15495: current_user_info is not referenced in process.c 2007-10-10 11:16:54 -05:00
Jeremy Allison
8272a5ab06 r15088: Remove all time() and gettimeofday() calls out of the mainline
packet processing code. Only do these when needed (ie. in the
idle timeout code). We drop an unneccessary global here too.
Jeremy.
2007-10-10 11:16:22 -05:00
Jeremy Allison
23dcff4d50 r15084: Try and squeeze more out of the non-read/write code path.
Jeremy.
2007-10-10 11:16:22 -05:00
Jeremy Allison
1217ed392b r15030: On a performace hunt... Remove as many extraneous
memset's as possible.
Jeremy.
2007-10-10 11:15:58 -05:00
Jeremy Allison
13c3abf031 r15022: Fix core dumps on normal server exit.
Jeremy.
2007-10-10 11:15:57 -05:00
Jeremy Allison
08e52ead03 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.
2007-10-10 11:15:57 -05:00
James Peach
56bc02d644 r14898: This change is an attempt to improve the quality of the information that
is produced when a process exits abnormally.

First, we coalesce the core dumping code so that we greatly improve our
odds of being able to produce a core file, even in the case of a memory
fault. I've removed duplicates of dump_core() and split it in two to
reduce the amount of work needed to actually do the dump.

Second, we refactor the exit_server code path to always log an explanation
and a stack trace. My goal is to always produce enough log information
for us to be able to explain any server exit, though there is a risk
that this could produce too much log information on a flaky network.

Finally, smbcontrol has gained a smbd fault injection operation to test
the changes above. This is only enabled for developer builds.
2007-10-10 11:15:53 -05:00
Volker Lendecke
19e9bc03f8 r14559: Oplocks have changed, process_smb can be static again 2007-10-10 11:15:37 -05:00
Jeremy Allison
0483807872 r14229: Something Coverity hasn't caught (yet) but I've gotten
sensitive to null derefs. get_timed_events_timeout()
can potentially return NULL. Cope with this.
Jeremy.
2007-10-10 11:15:18 -05:00
Gerald Carter
b65be8874a r13571: Replace all calls to talloc_free() with thye TALLOC_FREE()
macro which sets the freed pointer to NULL.
2007-10-10 11:10:14 -05:00
Jeremy Allison
006cf9c365 r13498: Fix the kernel oplocks code for IRIX. Should fix #3515.
Jeremy.
2007-10-10 11:10:07 -05:00
James Peach
1dce945ccb r13482: Push the FAM notification file descriptor into the select
set to avoid unnecessary polling.
2007-10-10 11:10:05 -05:00
Gerald Carter
17e63ac4ed r13316: Let the carnage begin....
Sync with trunk as off r13315
2007-10-10 11:06:23 -05:00
Gerald Carter
939c3cb5d7 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)
2007-10-10 11:04:48 -05:00
Jeremy Allison
3b8a8e2947 r10188: 64-bit warning fix.
Jeremy.
2007-10-10 11:03:36 -05:00
Jeremy Allison
a18c5ff3ea r9126: Fix valgrind bug Volker found in interaction with new aio buffer
flipping and oplocks.
Jeremy.
2007-10-10 11:00:26 -05:00
Volker Lendecke
404b817d72 r8798: Save one system call per SMB. smb_run_idle_events right now is only used to
close idle pdb_ldap connections, and from my point of view this can wait until
normal timeout handling, this does not need to be done per client request.

Volker
2007-10-10 11:00:17 -05:00
Jeremy Allison
ccef758171 r8782: Fix bug #2918. The problem was using Inbuffer to push a deferred open message onto the queue
when we're in a chained message set - we're actually processing a different
buffer then. Added current_inbuf as a static inside smbd/process.c to ensure the
correct message gets pushed and processed.
Jeremy.
2007-10-10 11:00:16 -05:00
Jeremy Allison
1de27da470 r7963: Add aio support to 3.0.
Jeremy.
2007-10-10 10:58:05 -05:00
Simo Sorce
da227d5f43 r7961: randomize reloading so that smbds do not pverload cupsd
by reloading printers all at the same time.
						sss
2007-10-10 10:58:05 -05:00
Jeremy Allison
9506b8e145 r7882: Looks like a large patch - but what it actually does is make Samba
safe for using our headers and linking with C++ modules. Stops us
from using C++ reserved keywords in our code.
Jeremy
2007-10-10 10:58:00 -05:00
Jeremy Allison
0288823aac r7550: Steal the correct error return for invalid TID on NTcreateX from Samba4
(thanks tridge !).
Jeremy.
2007-10-10 10:57:13 -05:00
Volker Lendecke
560f9d3735 r7344: Correctly return if malloc fails.
Jeremy, you might want to check this.

Thanks,

Volker
2007-10-10 10:57:06 -05:00
Jeremy Allison
743174da86 r6346: Add a counter for the number of SMB operations per connection/file.
You will need to do a make clean after SVN updating this. Next will
come a smbcontrol message to dump this info. This should be interesting
to profile client activity.
Jeremy.
2007-10-10 10:56:37 -05:00
Herb Lewis
efea76ac71 r6225: get rid of warnings from my compiler about nested externs 2007-10-10 10:56:30 -05:00
Jeremy Allison
d3379fe61b r6172: Tidy up error processing significantly. Remove unix_ERR_XXX global nastyness.
Jeremy.
2007-10-10 10:56:27 -05:00
Gerald Carter
1cad525093 r4539: patch from Rob -- adding real printcap name cache function to speed up printcap reloads 2007-10-10 10:53:46 -05:00
Jeremy Allison
63cfa904ad r4190: When changing length calculations, get them right......
Jeremy.
2007-10-10 10:53:37 -05:00
Jeremy Allison
831cb21a87 r4186: Fix client & server to allow 127k READX calls.
Jeremy.
2007-10-10 10:53:36 -05:00
Jeremy Allison
620f2e608f r4088: Get medieval on our ass about malloc.... :-). Take control of all our allocation
functions so we can funnel through some well known functions. Should help greatly with
malloc checking.
HEAD patch to follow.
Jeremy.
2007-10-10 10:53:32 -05:00
Jeremy Allison
284689aa18 r1936: Fix bug noticed by Steve - ensure extended security bit is on only
if we negotiated extended security. Do not merge for 3.0.6. Works
with W2K but needs further testing.
Jeremy.
2007-10-10 10:52:24 -05:00
Jeremy Allison
42cdeccc36 r1263: Make "defer sharing violations" a global parameter.
Jeremy.
2007-10-10 10:52:04 -05:00
Jeremy Allison
cf84c0fe1a r1154: Change default setting for case sensitivity to "auto". If set to auto
then is the client supports it (current clients supported are Samba and
CIFSVFS - detected by the negprot strings "Samba", "POSIX 2" and a bare
"NT LM 0.12" string) then the setting of the per packet flag smb_flag
FLAG_CASELESS_PATHNAMES is taken into account per packet. This allows
the linux CIFS client to use Samba in a case sensitive manner.
Additional command in smbclient "case_sensitive", toggles the
flag in subsequent packets.
Docs to follow.
Jeremy.
2007-10-10 10:51:57 -05:00
Jeremy Allison
7e2a5c3661 r1089: Removed spurious oplock message in deferred open processing.
Fix smb signing sequence counts.
Jeremy.
2007-10-10 10:51:54 -05:00
Jeremy Allison
894cc6d162 r1085: Now it's had some proper user testing, merge in the deferred open fix. I'm
still doing more testing, but it fixes a behaviour that we've been wrong
on ever since the start of Samba.
Jeremy.
2007-10-10 10:51:54 -05:00
Jeremy Allison
7ac7cd4162 r998: Arrrgggh. Do it right this time :-(.
Jeremy.
2007-10-10 10:51:53 -05:00
Jeremy Allison
6bd6359090 r996: Fix error in change to queuing code (dlink).
Jeremy.
2007-10-10 10:51:53 -05:00
Jeremy Allison
9de6b25c9e r971: Auto remove store dos attributes if underlying filesystem
doesn't support EA's.
Jeremy.
2007-10-10 10:51:51 -05:00
Herb Lewis
61da0bb1f6 r814: conn is 0 during ioctl (at least during smbtorture IOCTL test)
fix smbd panic
2007-10-10 10:51:47 -05:00
Gerald Carter
fac9074113 r799: BUG 1259 -- add 'printcap cache time' patch from Lars 2007-10-10 10:51:46 -05:00
Jeremy Allison
a03b6a05e0 r656: Make widelinks use realpath(). Tidy up cases where we need to become a service.
Jeremy.
2007-10-10 10:51:33 -05:00