summaryrefslogtreecommitdiffstats
path: root/source3/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* pthreadpool: Slightly serialize jobsVolker Lendecke2014-08-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | Using the new msg_source program with 1.500 instances against a single msg_sink I found the msg_source process to spawn two worker threads for synchronously sending the data towards the receiving socket. This should not happen: Per destination node we only create one queue. We strictly only add pthreadpool jobs one after the other, so a single helper thread should be perfectly sufficient. It turned out that under heavy overload the main sending thread was scheduled before the thread that just had finished its send() job. So the helper thread was not able to increment the pool->num_idle variable indicating that we don't have to create a new thread when the new job is added. This patch moves the signalling write under the mutex. This means that indicating readiness via the pipe and the pool->num_idle variable happen both under the same mutex lock and thus are atomic. No superfluous threads anymore. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* messaging_dgm: Factor out messaging_dgm_lockfile_nameVolker Lendecke2014-08-221-9/+15
| | | | | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Fri Aug 22 05:20:43 CEST 2014 on sn-devel-104
* messaging_dgm: Use %ju to fill lockfileVolker Lendecke2014-08-221-1/+1
| | | | | | | | | ... much nicer than PRIu64 Also, append a \n. Makes it better readable when looking at the lockfile Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* messaging3: Don't print a message if there's nothing to clean upVolker Lendecke2014-08-211-2/+4
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ronnie sahlberg <ronniesahlberg@gmail.com>
* lib: Check socket length in ctdbd_connectVolker Lendecke2014-08-211-1/+9
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ronnie sahlberg <ronniesahlberg@gmail.com>
* messaging3: Include messages_dgm.h only in messages.cVolker Lendecke2014-08-121-0/+1
| | | | | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Tue Aug 12 02:21:32 CEST 2014 on sn-devel-104
* messaging3: Move messaging_hdr handling to messages.c.Volker Lendecke2014-08-113-68/+51
| | | | | | | | This makes messages_dgm a simple byte-transport across processes that knows almost nothing about server_id etc. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* messaging3: Only store the pid in messaging_dgm_contextVolker Lendecke2014-08-111-6/+4
| | | | | | | That's all we need here Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* messaging3: Save 48 bytes .textVolker Lendecke2014-08-111-5/+5
|
* messaging3: Remove one-context protection from messages.cVolker Lendecke2014-08-111-22/+0
| | | | | | | messages_dgm.c takes care of it. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* messaging3: Protect messaging_dgm against multiple contextsVolker Lendecke2014-08-111-0/+14
| | | | | | | We can't rely on posix locking within a process Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* messaging3: Add messages_dgm.hVolker Lendecke2014-08-112-1/+47
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* messaging3: Pass on msg_type unmaskedVolker Lendecke2014-08-111-1/+1
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* messaging3: I don't see 2 versions running concurrently...Volker Lendecke2014-08-111-2/+0
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* messaging3: Avoid "enum messaging_type" in messages_dgmVolker Lendecke2014-08-111-2/+1
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* messaging3: Pass dir_owner to messaging_dgm_init()Volker Lendecke2014-08-112-7/+8
|
* messaging3: Pass cache_dir to messaging_dgm_init()Volker Lendecke2014-08-112-8/+5
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* messaging3: Move [un]become_root() calls out of messaging_dgm_send()Volker Lendecke2014-08-112-2/+3
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* messaging3: Move sec_init() call out of messaging_dgm_init()Volker Lendecke2014-08-112-2/+2
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* messaging3: Directly refer to messaging_dgm in messages.cVolker Lendecke2014-08-112-57/+27
| | | | | | | | | | | | | This removes the messaging_backend abstraction layer from messages_dgm.c. That layer was introduced for ctdb and is still used there. But as the messaging_dgm interface is very slim anyway, I don't think directly calling it is too bad. Why this commit? It is another step towards making messages_dgm independent of messages.[ch], thus it might become usable in other contexts like ctdb and source4 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* messaging3: Add messaging_cleanupVolker Lendecke2014-08-111-0/+13
| | | | | | | | Rename smbcontrol's dgm-cleanup to msg-cleanup. We haven't published this UI yet :-) Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* messaging_dgm: Remove unused "messaging_context"Volker Lendecke2014-08-112-6/+3
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* messaging3: Explicitly pass server_id to messaging_dgm_initVolker Lendecke2014-08-112-5/+7
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* messaging3: Explicitly pass tevent_context to messaging_dgm_initVolker Lendecke2014-08-112-4/+5
| | | | | | | One dependency less on messaging_context() Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* messaging_dgm: Receive through a cb functionVolker Lendecke2014-08-112-14/+47
| | | | | | | This avoids calling messaging_dispatch_rec directly from messaging_dgm.c Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* messaging3: Fix an error path memleakVolker Lendecke2014-08-111-0/+1
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* ctdbd_conn: Only poll if there's a timeoutVolker Lendecke2014-08-061-9/+11
| | | | | | | | | | | At this point the ctdb socket is blocking, so we can save a syscall when we wait indefinitely anyway. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Michael Adam <obnox@samba.org> Autobuild-User(master): Michael Adam <obnox@samba.org> Autobuild-Date(master): Wed Aug 6 18:01:54 CEST 2014 on sn-devel-104
* ctdbd_conn: Remove ctdb_packetVolker Lendecke2014-08-061-273/+0
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
* ctdbd_conn: Remove ctdb_packet dependencyVolker Lendecke2014-08-061-334/+219
| | | | | | | This was an early, failed attempt at async socket handling. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
* lib: Remove unused serverid_register_msg_flags()Volker Lendecke2014-07-311-55/+0
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
* unix_msg: simplify unix_msg_sendVolker Lendecke2014-07-281-12/+5
| | | | | | | | We have a variable array inside one-fragment fast path anyway. Moving that to the toplevel of the function saves us a malloc/free pair. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* unix_msg: Use struct initializersVolker Lendecke2014-07-281-32/+32
| | | | | | | Saves a few lines and bytes of .text Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* unix_msg: Use empty arrays in structsVolker Lendecke2014-07-281-3/+3
| | | | | | | Just a simple style update Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* lib: directory_create_or_exist() does not use "uid" parameterVolker Lendecke2014-07-282-2/+2
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* messaging3: Remove an unnecessary variableVolker Lendecke2014-07-251-4/+1
| | | | | | | | | | We can inspect rec.buf with a debugger, no separate variable needed Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Volker Lendecke <vl@samba.org> Autobuild-Date(master): Fri Jul 25 00:03:48 CEST 2014 on sn-devel-104
* messaging3: Simplify ping_message()Volker Lendecke2014-07-241-10/+4
| | | | | | | | The talloc_strnup was only used to \0-terminate the data for printing. The same can be achieved by %.* in the printf format. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
* messaging3: Remove two procid_str_static callsVolker Lendecke2014-07-241-3/+6
| | | | | | | ... and thus implicit talloc_tos() calls Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
* lib: Fix a valgrind errorVolker Lendecke2014-07-221-1/+12
| | | | | | | See the comment inside Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
* lib/util: move memcache.[ch] to the toplevel 'samba-util' libraryStefan Metzmacher2014-07-186-426/+5
| | | | | | | | | | This is generic enough that it could be used in all code. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Fri Jul 18 15:43:33 CEST 2014 on sn-devel-104
* s3:lib/memcache: only include the required header filesStefan Metzmacher2014-07-181-1/+6
| | | | | | | We don't need the full "includes.h". Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
* s3:lib/memcache: make use of talloc for memcache_elementsStefan Metzmacher2014-07-181-6/+5
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
* s3:lib/memcache: use uint8_t instead of uint8Stefan Metzmacher2014-07-181-2/+2
| | | | | Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
* param: avoid the use of lp_do_parameter in poptGarming Sam2014-07-071-1/+1
| | | | | | | | | lp_do_parameter ideally should not be used outside of loadparm Change-Id: I310f1a0ff81867151accbda551751bafcdfd8c4d Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Nadezhda Ivanova <nivanova@samba.org>
* lib: Align nt_time_to_unix_timespec with unix_timespec_to_nt_timeVolker Lendecke2014-06-301-1/+1
| | | | | | | Both take and return values now Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* lib: Align unix_timespec_to_nt_time with nt_time_to_unix_timespecVolker Lendecke2014-06-301-1/+1
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* dbwrap: Print wait times with full precisionVolker Lendecke2014-06-271-3/+3
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Christof Schmitt <cs@samba.org>
* s3: smbd - fix processing of packets with invalid DOS charset conversions.Jeremy Allison2014-06-251-9/+17
| | | | | | | | | | | | | | | CVE-2014-3493 Bug 10654 - Segmentation fault in smbd_marshall_dir_entry()'s SMB_FIND_FILE_UNIX handler https://bugzilla.samba.org/show_bug.cgi?id=10654 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Wed Jun 25 03:47:55 CEST 2014 on sn-devel-104
* s3: nmbd: Fix bug 10633 - nmbd denial of serviceJeremy Allison2014-06-251-5/+2
| | | | | | | | | | | | | | | | | The Linux kernel has a bug in that it can give spurious wakeups on a non-blocking UDP socket for a non-deliverable packet. When nmbd was changed to use non-blocking sockets it became vulnerable to a spurious wakeup from poll/epoll. Fix sys_recvfile() to return on EWOULDBLOCK/EAGAIN. CVE-2014-0244 https://bugzilla.samba.org/show_bug.cgi?id=10633 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
* messaging3: Make messaging_dgm_init return 0/errnoVolker Lendecke2014-06-182-20/+19
| | | | | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Wed Jun 18 21:17:57 CEST 2014 on sn-devel-104
* messaging3: Use "goto fail_nomem" where appropriateVolker Lendecke2014-06-181-4/+2
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>