summaryrefslogtreecommitdiff
path: root/source3/smbd/process.c
AgeCommit message (Collapse)AuthorFilesLines
2010-06-28 s3: Change exit on immediate socket failure.Ira Cooper1-4/+4
This change makes it so socket errors early in the smbd child process cause orderly exits not coredumps. Signed-off-by: Jeremy Allison <jra@samba.org>
2010-06-12s3: Explicitly pass sconn to [remove|schedule]_deferred_open_message_smb2Volker Lendecke1-2/+2
2010-06-12s3: Explicitly pass sconn to open_was_deferred_smb2Volker Lendecke1-1/+1
2010-06-12s3: Remove smbd_server_conn from switch_messageVolker Lendecke1-1/+1
2010-06-12s3: Explicitly pass sconn to is_valid_writeX_bufferVolker Lendecke1-1/+2
2010-06-12s3: Pass sconn explicitly to reply_specialVolker Lendecke1-1/+1
2010-06-12s3: Use "sconn" argument in smbd_[un]lock_socket_internalVolker Lendecke1-8/+8
Metze, please check!
2010-06-12s3: Pass sconn to init_smb_request()Volker Lendecke1-5/+7
2010-06-12s3: Add "smbd_server_connection" to smb_requestVolker Lendecke1-0/+1
2010-06-11s3: Fix starving the echo responderVolker Lendecke1-0/+11
When both the echo responder and the 445 socket want to send stuff to the worker smbd, the select loop is not fair. It always chooses the smaller file descriptor to work on. This can mean that on a busy system the echo responder never gets around to feed its stuff to the parent. This fix chooses the async echo responder socket when both the 445 and the echo responder socket are readable. Yes, it is a very hackish fix which is required *now* I think. The proper fix would be to either assign priorities to fd's in tevent, or the from my point of view better fix would be to make tevent kindof round-robin. Round-robin would mean that whenever a fd has been dealt with, it is taken off the list of interested sockets, and only if no other socket is active, all of the ones waiting are put back. This is a bit like EPOLL_ONESHOT, which I would like to use for this in the epoll case. Although, I need to do some research if maybe epoll already guarantees round-robin, I did not find anything in the docs yet. Volker
2010-06-09Rename "allow_smb2" -> "using_smb2" and make the usage clearer.Jeremy Allison1-9/+18
2010-06-09Ensure we don't send SMB1 keepalives on an SMB2 connection.Jeremy Allison1-0/+6
Jeremy.
2010-05-31s3:smbd make yp cache local.Simo Sorce1-3/+0
The my_yp_domain variable is just a static cache needed to avoid making over and over expensive and potentially blocking calls to yp_get_default_domain(). Instead of keeping this onto the smbd_server_connection struct, just keep it local to the only function ever using this variable. This disentagle this function (and a number of calling functions) from having to pass around smbd_server_connection and thus having to link against smbd. It also removes a few ifdefs. Nothing changes from a global/local pov, as the smbd_server_connection variable passed around is also a global one. Signed-off-by: Andreas Schneider <asn@samba.org>
2010-05-28s3:auth use info3 in auth_serversupplied_infoSimo Sorce1-2/+1
Signed-off-by: Günther Deschner <gd@samba.org>
2010-05-27s3: Fix a bad memleak in the async echo responderVolker Lendecke1-1/+1
2010-05-06s3: only include gen_ndr headers where needed.Günther Deschner1-0/+1
This shrinks include/includes.h.gch by the size of 7 MB and reduces build time as follows: ccache build w/o patch real 4m21.529s ccache build with patch real 3m6.402s pch build w/o patch real 4m26.318s pch build with patch real 3m6.932s Guenther
2010-04-27Fix the "allow_smb2" bug being set to false that was driving me mad :-).Jeremy Allison1-1/+5
The first packet from a rebooted Win7 on an SMB2 connection is an SMB1 negprot... Jeremy.
2010-04-27s3:smbd: keep local and remote tsocket_address per connectionStefan Metzmacher1-9/+63
metze
2010-04-23Allow smb2 create requests to be cancelled.Jeremy Allison1-0/+2
Jeremy.
2010-04-22Make deferred opens (NT_STATUS_SHARING_VIOLATION) work over SMB2.Jeremy Allison1-4/+4
Makes SMB2Create call re-entrant internally. Now this infrastructure is in place, oplocks will follow shortly. Tested with Win7 client and with W2K8R2. Jeremy.
2010-04-12Move to using 64-bit mid values in our internal open file database.Jeremy Allison1-33/+40
This will allow us to share logic much easier between SMB1 and SMB2 servers. Jeremy
2010-04-09Plumb SMB2 stubs into all the places we defer SMB1 operations.Jeremy Allison1-19/+65
Rename functions to be internally consistent. Next step is to cope queueing single (non-compounded) SMB2 requests to put some code inside the stubs. Jeremy.
2010-04-08Stop smb2 from calling into smb1 blocking lock request code.Jeremy Allison1-0/+1
Allocate a uint16_t internal SMB1 mid for an SMB2 request. Add a back pointer from the faked up smb_request struct to the smb2 request. Getting ready to add restart code for blocking locks, share mode violations and oplocks in SMB2. Jeremy.
2010-04-07Start to plumb smb2 into the oplock system. Calls dummy functions for now.Jeremy Allison1-0/+6
Jeremy.
2010-04-01Move initialize_async_io_handler() inside of smbd/aio.c.Jeremy Allison1-3/+0
Call from actual aio read or write. No reason to call this globally on startup. Jeremy.
2010-03-31Make smbd_lock_socket/smbd_unlock_socket recursive with a ref_count.Jeremy Allison1-40/+38
As these always call exit_server, make that part of the function. Use _internal functions for the echo client. Metze please check ! Jeremy.
2010-03-31s3:smbd: handle SMB2 in deadtime_fn() and avoid disconnecting non idle clientsStefan Metzmacher1-1/+13
metze
2010-03-22s3: Implement an asynchronous echo responder processVolker Lendecke1-19/+478
This replies to echo requests when the main smbd is stuck somewhere Signed-off-by: Stefan Metzmacher <metze@samba.org>
2010-03-22s3:smbd: don't allow SMB2 if the async echo handler is activeStefan Metzmacher1-1/+2
metze
2010-03-22s3:smbd: don't use recvfile if the echo handler is activeStefan Metzmacher1-1/+2
metze
2010-03-22s3:smbd: pass down trusted_channel via receive_smb_talloc()Stefan Metzmacher1-3/+5
metze
2010-03-22s3:smbd: send keepalive packets under the socket lockStefan Metzmacher1-1/+16
metze
2010-03-22s3:smbd: smbd_[un]lock_socket() while accessing the socket to the clientStefan Metzmacher1-1/+24
metze
2010-03-22s3:smbd: add smbd_[un]lock_socket() dummiesStefan Metzmacher1-0/+10
metze
2010-03-22s3:smbd: add an option to skip signings checks srv_check_sign_mac for ↵Stefan Metzmacher1-1/+1
trusted channels metze
2010-03-11s3: Make init_smb_request return boolVolker Lendecke1-5/+10
Centralize the exit_server_cleanly()
2010-03-09s3: Fix a NULL pointer dereferenceVolker Lendecke1-1/+10
Found by Laurent Gaffie <laurent.gaffie@gmail.com>. Thanks! Volker
2010-01-23s3: Fix some nonempty blank linesVolker Lendecke1-3/+3
2010-01-21s3: Initialize the seqnum in "init_smb_request"Volker Lendecke1-4/+4
This makes it a bit more obvious for me that the signing sequence number is tied to the SMB request.
2010-01-21s3: Make "init_smb_request" static to process.cVolker Lendecke1-4/+2
2009-12-22s3: Move smb_splice_chain to smbd/process.c, its only userVolker Lendecke1-0/+174
2009-12-21Rename reply_doserror() -> reply_force_doserror().Jeremy Allison1-2/+2
Rewrite all calls to reply_nterror(NT_STATUS_DOS()) to reply_force_doserror() and update the comment in smbd/error.c Jeremy.
2009-12-21Remove all calls to reply_doserror - turn them intoJeremy Allison1-4/+4
correct reply_nterror calls. Next rename reply_doserror -> reply_force_doserror and plumb in when NT_STATUS_DOS is used. Jeremy.
2009-11-26s3-smbd: no drsuapi server stubs yet in s3. Fixes the build, sorry.Günther Deschner1-1/+0
Guenther
2009-11-26s3-rpc: Avoid including every pipe's client and server stubs everywhere in ↵Günther Deschner1-0/+15
samba. Guenther
2009-11-23Revert "s3: Move the global variable Protocol to struct smbd_server_connection"Volker Lendecke1-1/+0
This reverts commit c85a4c9ba4a7de65a7850f6f9708df66bd24deea.
2009-11-21s3: Move the global variable Protocol to struct smbd_server_connectionVolker Lendecke1-0/+1
2009-10-01Fix for CVE-2009-2906.Jeremy Allison1-5/+25
Summary: Specially crafted SMB requests on authenticated SMB connections can send smbd into a 100% CPU loop, causing a DoS on the Samba server.
2009-09-24s3 onefs: Add some debugging/asserts to give more info when there is bad ↵Zack Kirsch1-0/+2
deferred open state. Signed-off-by: Tim Prouty <tprouty@samba.org>
2009-09-06Fix bug 6673 - smbpasswd does not work with "unix password sync = yes".Jeremy Allison1-2/+2
Revert change from 3.3 -> 3.4 with read_socket_with_timeout changed from sys_read() to sys_recv(). read_socket_with_timeout() is called with non-fd's (with a pty in chgpasswd.c and with a disk file in lib/dbwrap_file.c via read_data()). recv works for the disk file, but not the pty. Change the name of read_socket_with_timeout() to read_fd_with_timeout() to make this clear (and add comments). Jeremy.