summaryrefslogtreecommitdiff
path: root/source4/smbd/service_stream.c
AgeCommit message (Collapse)AuthorFilesLines
2010-11-15s4-server: make server sockets a child of the task contextAndrew Tridgell1-2/+3
We previously allocated sockets as direct children of the event context. That led to crashes if a service called task_server_terminate(), as it left the socket open and handling events for a dead protocol. Making them a child of the task allows the task to terminate and take all its sockets with it. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-07-16s4-loadparm: 2nd half of lp_ to lpcfg_ conversionAndrew Tridgell1-3/+3
this converts all callers that use the Samba4 loadparm lp_ calling convention to use the lpcfg_ prefix. Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-05-18Finish removal of iconv_convenience in public API's.Jelmer Vernooij1-3/+1
2010-03-07s4:libcli/wrepl: rewrite the low level request handling to use tevent_queue ↵Stefan Metzmacher1-11/+2
and tstream_context metze
2010-02-26s4-smb: Migrate named_pipe_server to tsocket.Andreas Schneider1-1/+1
This is an improved version of commit 69d5cea2e59162f19460e7ce4b6382fc5fdd6ca0, which was reverted by commit 71c20f703b0c603d6aada63ed5634070a26df052. Signed-off-by: Stefan Metzmacher <metze@samba.org>
2010-02-24Revert "s4-smb: Migrate named_pipe_server to tsocket."Simo Sorce1-1/+1
This reverts commit 69d5cea2e59162f19460e7ce4b6382fc5fdd6ca0. This commit causes issues with the RPC server, revert it until we find the exact issue and possibly have a torture test to avoid it happening again. Found playing with w2k8r2 and forest trusts.
2010-02-23s4-smb: Migrate named_pipe_server to tsocket.Andreas Schneider1-1/+1
2009-12-24s4:smbd: hold tsocket_addresses on the stream_connectionStefan Metzmacher1-9/+23
metze
2009-09-19s4-smbd: removed unnecessary includesAndrew Tridgell1-3/+0
2009-05-02Fix Coverity 911: FORWARD_NULL. Metze, please check!Volker Lendecke1-1/+2
2009-02-02s4:service_stream: s/private/private_dataStefan Metzmacher1-2/+2
metze
2009-02-02s4:smbd: s/private/private_dataStefan Metzmacher1-12/+12
metze
2009-01-03s4:smbd: convert to tevent_* apiStefan Metzmacher1-10/+20
metze
2009-01-03s4:socket: use a socket_wrapper aware function to auto close the fd event ↵Stefan Metzmacher1-10/+15
for sockets metze
2008-12-29s4:lib/tevent: rename structsStefan Metzmacher1-7/+7
list="" list="$list event_context:tevent_context" list="$list fd_event:tevent_fd" list="$list timed_event:tevent_timer" for s in $list; do o=`echo $s | cut -d ':' -f1` n=`echo $s | cut -d ':' -f2` r=`git grep "struct $o" |cut -d ':' -f1 |sort -u` files=`echo "$r" | grep -v source3 | grep -v nsswitch | grep -v packaging4` for f in $files; do cat $f | sed -e "s/struct $o/struct $n/g" > $f.tmp mv $f.tmp $f done done metze
2008-09-30Fix segfault.Jelmer Vernooij1-1/+1
2008-09-30Eliminate another global_loadparm.Jelmer Vernooij1-1/+1
2008-09-24log stream terminationAndrew Tridgell1-0/+2
2008-06-19Fix segfault caused by talloc_free() being called while still processingAndrew Bartlett1-2/+2
The problem here was that with the packet code set to serialise, we can have multiple packets 'processing' at once, and previously the second packet (allowed because we are spining on an event context down the stack) would clear the flag. Andrew Bartlett (This used to be commit 33789111241a1d97fc105ec4edd7b8054895b28c)
2008-05-17smbd: pass down lp_ctx to stream_new_connection_merge()Stefan Metzmacher1-0/+2
metze (This used to be commit 91e9062265a68e3a1fe5e092503ec44ae5ea034e)
2008-02-28Remove sDefault as static variable.Jelmer Vernooij1-1/+1
(This used to be commit 16f36ce499e93860dd535034a584ec2b93e7a172)
2008-02-27Set lp_ctx properly.Jelmer Vernooij1-0/+1
(This used to be commit 5d274f19aedbb022d61b1493857dce66877dc809)
2008-02-04Rework cluster_id() to take an additional argument, as we needAndrew Bartlett1-3/+13
<node>.<pid>.<fd> to be unique in a prefork process environment. Andrew Bartlett and David Disseldorp (This used to be commit 931994a7f185bbc98924823e9e8cef1011dd0957)
2008-01-05r26672: Janitorial: Remove uses of global_loadparm.Jelmer Vernooij1-3/+9
(This used to be commit 18cd08623eaad7d2cd63b82ea5275d4dfd21cf00)
2007-12-21r26441: Remove global_loadparm uses.Jelmer Vernooij1-1/+3
(This used to be commit 32007c6277efa46341da7741b749a98633d71640)
2007-12-21r26313: Fix more uses of static loadparm.Jelmer Vernooij1-3/+5
(This used to be commit 6fd0d9d3b75546d08c24c513e05b1843d5777608)
2007-12-21r26274: Some syntax fixes, remove more global_loadparm instances.Jelmer Vernooij1-1/+1
(This used to be commit 3809113d86dbd35b906356a05bb481a1e2bfe4b7)
2007-12-21r25922: Make it easier to bind to a unix domain socket, without messing withAndrew Bartlett1-1/+9
ports... Andrew Bartlett (This used to be commit 70de473980e99eeeb719bf9f63d23a399847b23b)
2007-10-10r25454: Use standard bool types in a couple more places.Jelmer Vernooij1-2/+2
(This used to be commit 9243b551f30c7aa2763115516a6adcfe5bbddc58)
2007-10-10r25446: Merge some changes I made on the way home from SFO:Jelmer Vernooij1-1/+3
2007-09-29 More higher-level passing around of lp_ctx. 2007-09-29 Fix warning. 2007-09-29 Pass loadparm contexts on a higher level. 2007-09-29 Avoid using global loadparm context. (This used to be commit 3468952e771ab31f90b6c374ade01c5550810f42)
2007-10-10r25398: Parse loadparm context to all lp_*() functions.Jelmer Vernooij1-1/+2
(This used to be commit 3fcc960839c6e5ca4de2c3c042f12f369ac5f238)
2007-10-10r25035: Fix some more warnings, use service pointer rather than service ↵Jelmer Vernooij1-1/+1
number in more places. (This used to be commit df9cebcb97e20564359097148665bd519f31bc6f)
2007-10-10r25026: Move param/param.h out of includes.hJelmer Vernooij1-0/+1
(This used to be commit abe8349f9b4387961ff3665d8c589d61cd2edf31)
2007-10-10r24937: Merge tests spoolss RPC callbacks.Jelmer Vernooij1-2/+4
(This used to be commit 9b256a0ca232ea6e89771bf73a1adf877273a752)
2007-10-10r24276: don't mark a stream readable until after the messaging setup isAndrew Tridgell1-2/+4
complete. This is needed because messaging setup with ctdb involve events, and we don't want a SMB packet to be processed on this stream until after the stream structure is fully setup (This used to be commit 8e378051e594372dfb2c00a380ef4bc151021ea2)
2007-10-10r23792: convert Samba4 to GPLv3Andrew Tridgell1-3/+2
There are still a few tidyups of old FSF addresses to come (in both s3 and s4). More commits soon. (This used to be commit fcf38a38ac691abd0fa51b89dc951a08e89fdafa)
2007-10-10r23702: fixed a "falling back to select" error in the standard processAndrew Tridgell1-1/+5
model. It's much cleaner to get the event system to close the fd, especially with the complexity of forks (This used to be commit d1b710f09c95a8181d2b642081282d8c97b37811)
2007-10-10r20646: first preparations for cluster enablement. This changes "Andrew Tridgell1-4/+5
uint32_t server_id to struct server_id server_id; which allows a server ID to have an node number. The node number will be zero in non-clustered case. This is the most basic hook needed for clustering, and ctdb. (This used to be commit 2365abaa991d57d68c6ebe9be608e01c907102eb)
2007-10-10r18806: fixed two spelling errorsAndrew Tridgell1-2/+2
(This used to be commit f11112d7f0a6b1550008fd8192be2592412fb222)
2007-10-10r17227: don't call a function which takes some nonoptional argsStefan Metzmacher1-9/+15
with NULL. metze (This used to be commit 3711b968adf8a0951171ad1a90be65a9ae0dc03b)
2007-10-10r17197: This patch moves the encryption of bulk data on SASL negotiated securityAndrew Bartlett1-0/+5
contexts from the application layer into the socket layer. This improves a number of correctness aspects, as we now allow LDAP packets to cross multiple SASL packets. It should also make it much easier to write async LDAP tests from windows clients, as they use SASL by default. It is also vital to allowing OpenLDAP clients to use GSSAPI against Samba4, as it negotiates a rather small SASL buffer size. This patch mirrors the earlier work done to move TLS into the socket layer. Unusual in this pstch is the extra read callback argument I take. As SASL is a layer on top of a socket, it is entirely possible for the SASL layer to drain a socket dry, but for the caller not to have read all the decrypted data. This would leave the system without an event to restart the read (as the socket is dry). As such, I re-invoke the read handler from a timed callback, which should trigger on the next running of the event loop. I believe that the TLS code does require a similar callback. In trying to understand why this is required, imagine a SASL-encrypted LDAP packet in the following formation: +-----------------+---------------------+ | SASL Packet #1 | SASL Packet #2 | ----------------------------------------+ | LDAP Packet #1 | LDAP Packet #2 | ----------------------------------------+ In the old code, this was illegal, but it is perfectly standard SASL-encrypted LDAP. Without the callback, we would read and process the first LDAP packet, and the SASL code would have read the second SASL packet (to decrypt enough data for the LDAP packet), and no data would remain on the socket. Without data on the socket, read events stop. That is why I add timed events, until the SASL buffer is drained. Another approach would be to add a hack to the event system, to have it pretend there remained data to read off the network (but that is ugly). In improving the code, to handle more real-world cases, I've been able to remove almost all the special-cases in the testnonblock code. The only special case is that we must use a deterministic partial packet when calling send, rather than a random length. (1 + n/2). This is needed because of the way the SASL and TLS code works, and the 'resend on failure' requirements. Andrew Bartlett (This used to be commit 5d7c9c12cb2b39673172a357092b80cd814850b0)
2007-10-10r14079: I just found the setproctitle library from alt linux:-)Stefan Metzmacher1-0/+25
- add set_title hook to the process models - use setproctitle library in process_model standard if available - the the title for the task servers and on connections metze (This used to be commit 526f20bbecc9bbd607595637c15fc4001d3f0c70)
2007-10-10r12804: This patch reworks the Samba4 sockets layer to use a socket_addressAndrew Bartlett1-2/+13
structure that is more generic than just 'IP/port'. It now passes make test, and has been reviewed and updated by metze. (Thankyou *very* much). This passes 'make test' as well as kerberos use (not currently in the testsuite). The original purpose of this patch was to have Samba able to pass a socket address stucture from the BSD layer into the kerberos routines and back again. It also removes nbt_peer_addr, which was being used for a similar purpose. It is a large change, but worthwhile I feel. Andrew Bartlett (This used to be commit 88198c4881d8620a37086f80e4da5a5b71c5bbb2)
2007-10-10r12125: make the deferred connection termination the default,Stefan Metzmacher1-3/+24
so that I can remove all the other versions of it metze (This used to be commit 82de98b8e9f3030449225634935a71a3dd7e117c)
2007-10-10r10768: add a function to create a stream_connection from an alreadyStefan Metzmacher1-0/+33
existing socket connection, that's used for protocols which switch the client/server roles inside a session metze (This used to be commit d4b4d963353e6986da5b42680739329069f5affe)
2007-10-10r10682: force the free of the fd event first when a stream terminates. That ↵Andrew Tridgell1-0/+1
ensures destructors hanging off the stream connection don't trip more socket events. this should help with the problem volker described (This used to be commit fd8eccd5bf0c742a7809f3991101f4ac75b5e037)
2007-10-10r7294: implemented the irpc messaging system. This is the core of theAndrew Tridgell1-0/+1
management system I proposed on samba-technical a couple of days ago. Essentially it is a very lightweight way for any code in Samba to make IDL based rpc calls to anywhere else in the code, without the client or server having to go to the trouble of setting up a full rpc service. It can be used with any of our existing IDL, but I expect it will mostly be used for a new set of Samba specific management calls. The LOCAL-IRPC torture test demonstrates how it can be used by calling the echo_AddOne() call over this transport. (This used to be commit 3d589a09954eb8b318f567e1150b0c27412fb942)
2007-10-10r5304: removed lib/socket/socket.h from includes.hAndrew Tridgell1-0/+1
(This used to be commit b902ea546d2d1327b23f40ddaeeaa8e7e3662454)
2007-10-10r5197: moved events code to lib/events/ (suggestion from metze)Andrew Tridgell1-1/+1
(This used to be commit 7f54c8a339f36aa43c9340be70ab7f0067593ef2)
2007-10-10r5195: most events don't need the time of the event, so save a ↵Andrew Tridgell1-4/+4
gettimeofday() call and just use timeval_current() when its actually needed (This used to be commit 236403cc4dc2924ed6a898acae0bb44cc1688dcc)