Stefan Metzmacher [Tue, 10 Jun 2014 13:05:41 +0000 (15:05 +0200)]
s3:smbd: rename 'conn' to 'xconn' in smbd_process()
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Tue, 10 Jun 2014 11:34:55 +0000 (13:34 +0200)]
s3:smbd: remember smbXsrv_connection for each smb_request
This prepares the structures for multi-channel support.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Tue, 10 Jun 2014 11:34:55 +0000 (13:34 +0200)]
s3:smb2_server: remember smbXsrv_connection for each smbd_smb2_request
This prepares the structures for multi-channel support.
Each request needs to respond on the same connection,
where it arrived.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Tue, 10 Jun 2014 11:34:55 +0000 (13:34 +0200)]
s3:smb2_server: talloc smbd_smb2_request as child of smbXsrv_connection
As the list of pending requests moved from sconn->smb2.requests to xconn->smb2.requests,
it is more logical to use smbXsrv_connection as talloc parent.
This prepares the structures for multi-channel support.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Tue, 10 Jun 2014 11:24:50 +0000 (13:24 +0200)]
s3:smb2_server: move sconn->smb2.requests to xconn->smb2.requests
This prepares the structures for multi-channel support.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Fri, 23 May 2014 10:10:23 +0000 (12:10 +0200)]
s3:smb2_server: move sconn->smb2.*credits* to xconn->smb2.credits.*
This prepares the structures for multi-channel support.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Thu, 12 Jun 2014 06:36:08 +0000 (08:36 +0200)]
s3:smb2_negprot: remove unused variable 'conn' we already have 'xconn'...
We don't need two helper variables for the same thing.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Fri, 23 May 2014 08:22:34 +0000 (10:22 +0200)]
s3:smb2_server: use xconn->smb2.server.max_* instead of sconn->smb2.max_*
We don't need this twice...
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Fri, 23 May 2014 08:07:21 +0000 (10:07 +0200)]
s3:smb2_server: move sconn->smb2.negprot_2ff to xconn->smb2.allow_2ff
This prepares the structures for multi-channel support.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Fri, 23 May 2014 07:53:21 +0000 (09:53 +0200)]
s3:smb2_server: move sconn->smb2.send_queue* to xconn->smb2.send_queue*
This prepares the structures for multi-channel support.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Fri, 23 May 2014 07:41:57 +0000 (09:41 +0200)]
s3:smb2_server: move sconn->smb2.request_read_state to xconn->smb2.request_read_state
This prepares the structures for multi-channel support.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Fri, 23 May 2014 07:36:24 +0000 (09:36 +0200)]
s3:smb2_server: use xconn->transport.fde also for smb2
This prepares the structures for multi-channel support.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Thu, 12 Jun 2014 06:32:47 +0000 (08:32 +0200)]
s3:smbd: move libasys state from smbXsrv_connection to smbd_server_connection
This doesn't belong to a connection, it's state used within the VFS stack.
And smbd_server_connection is the legacy structure we're using for
global VFS state.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Wed, 11 Jun 2014 10:36:14 +0000 (12:36 +0200)]
s3:smbd: move xconn->msg_state to xconn->smb1.msg_state
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Tue, 10 Jun 2014 10:57:38 +0000 (12:57 +0200)]
s3:smbd: move sconn->smb1.unix_info.* to xconn->smb1.unix_info.*
This prepares the structures for multi-channel support.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Fri, 23 May 2014 07:26:26 +0000 (09:26 +0200)]
s3:smbd: move sconn->smb1.echo_handler.* to xconn->smb1.echo_handler.*
This prepares the structures for multi-channel support.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Wed, 21 May 2014 12:44:01 +0000 (14:44 +0200)]
s3:smbd: move sconn->smb1.signing_state to xconn->smb1.signing_state
This prepares the structures for multi-channel support.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Wed, 21 May 2014 08:56:26 +0000 (10:56 +0200)]
s3:smbd: move sconn->smb1.sessions.* to xconn->smb1.sessions.*
This prepares the structures for multi-channel support.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Wed, 21 May 2014 08:27:50 +0000 (10:27 +0200)]
s3:smbd: move sconn->smb1.negprot.* to xconn->smb1.negprot.*
This prepares the structures for multi-channel support.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Fri, 23 May 2014 07:07:47 +0000 (09:07 +0200)]
s3:smbd: move sconn->status to xconn->transport.status
This prepares the structures for multi-channel support.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Fri, 23 May 2014 06:45:01 +0000 (08:45 +0200)]
s3:smbd: move sconn->smb1.fde to xconn->transport.fde
This prepares the structures for multi-channel support.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Wed, 21 May 2014 21:23:34 +0000 (23:23 +0200)]
s3:smbd: move sconn->sock to xconn->transport.sock
This prepares the structures for multi-channel support.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Tue, 20 May 2014 17:59:12 +0000 (19:59 +0200)]
s3:smbd: move sconn->nbt.* to xconn->transport.nbt.*
This prepares the structures for multi-channel support.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Fri, 23 May 2014 10:59:43 +0000 (12:59 +0200)]
s3:smbd: avoid get_peer_addr() and use smbXsrv_connection_dbg()
There's no need to do syscalls, if we already have the information
in userspace.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Stefan Metzmacher [Mon, 21 Jul 2014 16:58:52 +0000 (18:58 +0200)]
s3:smbd: add smbXsrv_connection_dbg()
This is similar to fsp_fnum_dbg() and fsp_str_dbg().
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Sun, 3 Aug 2014 14:28:50 +0000 (16:28 +0200)]
locking: posix_lock_list does not use "fsp"
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 Aug 6 03:27:36 CEST 2014 on sn-devel-104
Volker Lendecke [Sun, 3 Aug 2014 09:51:40 +0000 (11:51 +0200)]
locking: Avoid a pointless cast
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Volker Lendecke [Tue, 5 Aug 2014 09:21:07 +0000 (09:21 +0000)]
lib: strings: Simplify strcasecmp
This makes us fallback to strcasecmp early if any INVALID_CODEPOINT
appears. Without this patch we just continue to compare if both strings
happen to have an INVALID_CODEPOINT in the same spot.
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Jeremy Allison [Mon, 4 Aug 2014 20:36:42 +0000 (13:36 -0700)]
s4: tests: Added local.charset test for Bug 10716 - smbd constantly crashes when filename contains non-ascii character
https://bugzilla.samba.org/show_bug.cgi?id=10716
Signed-off-by: Jeremy Allison <jra@samba.org>
Jeremy Allison [Sat, 2 Aug 2014 04:38:59 +0000 (21:38 -0700)]
lib: strings: Fix the behavior of strncasecmp_m_handle() in the face of bad conversions.
When either string has a bad conversion, we fall back to
doing raw ascii byte comparisons using strcasecmp(). This
is wrong - we should fall back to strncasecmp.
The problem is we've already stepped past the character
that failed the conversion, so we're not re-testing those
characters for comparison. This can have the effect of
causing strncasecmp_m_handle() to report that two strings
are identical when they are not, if the failed conversion
takes place at the end of the string.
The correct behavior is to step back to the point of
the string(s) that failed the conversion, and continue
the test from there.
This is a litle trickier than the previous fix, as
it requires converting the incoming n variable from
remaining characters to compare to remaining bytes to
compare.
As bytes are always the smallest character size
(1 byte) then it's safe to convert the remaining
characters to check by decrementing the source string
by the last character length (in bytes) and incrementing
the remaining bytes to scan by the same value, then
calling strncasecmp() with the stepped back strings
remaining.
Signed-off-by: Jeremy Allison <jra@samba.org>
Jeremy Allison [Sat, 2 Aug 2014 04:29:21 +0000 (21:29 -0700)]
lib: strings: Fix the behavior of strcasecmp_m_handle() in the face of bad conversions.
When either string has a bad conversion, we fall back to
doing raw ascii byte comparisons using strcasecmp().
The problem is we've already stepped past the character
that failed the conversion, so we're not re-testing those
characters for comparison. This can have the effect of
causing strcasecmp_m_handle() to report that two strings
are identical when they are not, if the failed conversion
takes place at the end of the string.
The correct behavior is to step back to the point of
the string(s) that failed the conversion, and continue
the test from there.
Found by <lev@zadarastorage.com> when investigating bug
10716 - smbd constantly crashes when filename contains non-ascii character.
Given the normal character set of utf-8, and an on
disk filename of ISO-8859-1 of file-é on disk hex
value: 66 69 6c 65 2d e9, an incoming open given the
correct utf8 name of file-é will collide when it
should not.
Fixes:
Bug 10716 - smbd constantly crashes when filename contains non-ascii character
https://bugzilla.samba.org/show_bug.cgi?id=10716
Signed-off-by: Jeremy Allison <jra@samba.org>
Amitay Isaacs [Thu, 24 Jul 2014 05:56:41 +0000 (15:56 +1000)]
ctdb-locking: Add per database queues for pending and active lock requests
This avoids traversing a single pending queue which is quite expensive
when there are lots of pending lock requests. This seems to happen
quite a lot on a loaded cluster for notify_index.tdb.
Adding per database queues avoids the need to traverse pending queue
for that database if there are already the maximum number of active
lock requests.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Mon Aug 4 20:23:45 CEST 2014 on sn-devel-104
Amitay Isaacs [Wed, 23 Jul 2014 02:52:03 +0000 (12:52 +1000)]
ctdb-locking: Update a comment
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Amitay Isaacs [Tue, 15 Jul 2014 04:49:44 +0000 (14:49 +1000)]
ctdb-locking: Simplify check for locks on record or database
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Amitay Isaacs [Tue, 15 Jul 2014 04:38:52 +0000 (14:38 +1000)]
ctdb-locking: Decrement pending statistics when lock is scheduled
and not when the lock is obtained.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Amitay Isaacs [Tue, 15 Jul 2014 04:38:12 +0000 (14:38 +1000)]
ctdb-locking: Update ctdb statistics for all lock types
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Amitay Isaacs [Tue, 15 Jul 2014 04:13:25 +0000 (14:13 +1000)]
ctdb-locking: Add DB lock requests to head of the pending queue
This allows to schedule DB locks quickly without having to scan through
the pending lock requests.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Amitay Isaacs [Tue, 15 Jul 2014 02:59:57 +0000 (12:59 +1000)]
ctdb-locking: Remove unused variable lock_num_pending
The number of pending locks displayed in ctdb statistics are stored in
ctdb_statistics structure and not ctdb_context.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Amitay Isaacs [Tue, 15 Jul 2014 06:41:31 +0000 (16:41 +1000)]
ctdb-locking: Increase number of lock processes per database to 200
This was the original limit in the older versions of CTDB.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Amitay Isaacs [Tue, 15 Jul 2014 02:13:53 +0000 (12:13 +1000)]
ctdb-locking: Add new tunable LockProcessesPerDB
This allows to change the maximum number of lock processes that can
be active.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Amitay Isaacs [Fri, 30 May 2014 05:49:46 +0000 (15:49 +1000)]
ctdb-locking: Allocate lock request soon after allocating lock context
This avoids extra work in case lock request allocation fails.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Amitay Isaacs [Tue, 15 Jul 2014 04:44:55 +0000 (14:44 +1000)]
ctdb-locking: Remove unused function find_lock_context()
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Amitay Isaacs [Thu, 29 May 2014 07:27:32 +0000 (17:27 +1000)]
ctdb-locking: Schedule the next possible lock based on per-db limit
This prevents searching through active lock requests for every pending
lock request to check if the pending lock request can be scheduled or not.
The locks are scheduled in strict first-in-first-out order.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Amitay Isaacs [Fri, 30 May 2014 05:36:03 +0000 (15:36 +1000)]
ctdb-locking: Remove multiple lock requests per lock context (part 2)
Store only a single request instead of storing a queue in lock context.
Lock request structure does not need to be a linked list any more.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Amitay Isaacs [Fri, 30 May 2014 05:36:28 +0000 (15:36 +1000)]
ctdb-locking: Remove multiple lock requests per lock context (part 1)
This was a bad idea and caused out of order scheduling of lock requests.
The logic to append lock requests to existing lock context is already
commented. Remove the commented code and there is no need to check if
lock_ctx is NULL, since we are always creating a new one.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Amitay Isaacs [Fri, 30 May 2014 03:57:44 +0000 (13:57 +1000)]
ctdb-locking: Remove unused structure members
block_child was used to keep track of a process which was created to debug
why a lock process has blocked. That logic was replaced to execute an
external debug script.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Amitay Isaacs [Fri, 30 May 2014 03:48:45 +0000 (13:48 +1000)]
ctdb-locking: Fix the lock_type_str corresponding to LOCK_ALLDB
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Andreas Schneider [Fri, 25 Jul 2014 14:45:29 +0000 (16:45 +0200)]
selftest: Improve check to detect if nmbd is working.
With this change you mostly have to wait only for one second till the
tests get executed instead of ten seconds.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Autobuild-User(master): Michael Adam <obnox@samba.org>
Autobuild-Date(master): Mon Aug 4 17:58:58 CEST 2014 on sn-devel-104
Andreas Schneider [Fri, 25 Jul 2014 14:35:25 +0000 (16:35 +0200)]
selftest: Use the actual name of the nmblookup binary.
nmblookup3 is just a binary mapping. We shouldn't use the mapping
anymore.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Mon, 4 Aug 2014 05:29:14 +0000 (07:29 +0200)]
lib: Remove unused nstrcpy
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Mon Aug 4 09:58:16 CEST 2014 on sn-devel-104
Volker Lendecke [Wed, 30 Jul 2014 14:12:54 +0000 (14:12 +0000)]
lib: Make DEBUG a subsystem of its own
In the future this might become a library, but even with the SUBSYSTEM
it should be clear what debug.c depends upon.
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): Sat Aug 2 00:36:50 CEST 2014 on sn-devel-104
Volker Lendecke [Thu, 31 Jul 2014 09:40:04 +0000 (09:40 +0000)]
lib: Make close_low_fd() independently linkable
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 18:43:05 +0000 (20:43 +0200)]
debug: Use close_low_fd in reopen_logs_internal
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 18:42:18 +0000 (20:42 +0200)]
lib: Use close_low_fd in close_low_fds
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 18:35:10 +0000 (20:35 +0200)]
lib: Add close_low_fd
This factors out the essential code from close_low_fds for one file
descriptor: Redirect a fd to /dev/null
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Volker Lendecke [Tue, 22 Jul 2014 05:02:00 +0000 (07:02 +0200)]
fix unstrcpy
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10735
CVE-2014-3560: unstrcpy macro length is invalid
Autobuild-User(master): Ira Cooper <ira@samba.org>
Autobuild-Date(master): Fri Aug 1 22:10:23 CEST 2014 on sn-devel-104
Shirish Pargaonkar [Sat, 26 Jul 2014 15:41:25 +0000 (10:41 -0500)]
samba: Retain case sensitivity of cifs client
When a client supports extended security but server does not,
and that client, in Flags2 field of smb header indicates that
- it supports extended security negotiation
- it does not support security signatures
- it does not require security signatures
Samba server treats a client as a Vista client.
That turns off case sensitivity and that is a problem for cifs vfs client.
So include remote cifs client along with remote samba client
to not do so otherwise.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10755
Signed-off-by: Shirish Pargaonkar <spargaonkar@suse.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: David Disseldorp <ddiss@samba.org>
Autobuild-User(master): David Disseldorp <ddiss@samba.org>
Autobuild-Date(master): Fri Aug 1 16:11:43 CEST 2014 on sn-devel-104
Andrew Bartlett [Thu, 24 Jul 2014 04:01:05 +0000 (16:01 +1200)]
winbindd-irpc: Ensure not to call irpc_send_reply twice on error
As found during investigation of the previous commit, when the RPC
call fails totally, we must only try and send one error reply.
Andrew Bartlett
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Pair-programmed-with: Garming Sam <garming@catalyst.net.nz>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Fri Aug 1 12:11:29 CEST 2014 on sn-devel-104
Andrew Bartlett [Thu, 24 Jul 2014 03:54:58 +0000 (15:54 +1200)]
libcli/auth: Ensure that the dns_names in/out parameter is preserved
This is in dcerpc_netr_DsrUpdateReadOnlyServerDnsRecords, which has
status variables filled in by the server and placed in this in/out
array.
This showed up as a segfault in winbindd during RODC DNS update.
Andrew Bartlett
Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Pair-programmed-with: Garming Sam <garming@catalyst.net.nz>
Andreas Schneider [Thu, 31 Jul 2014 08:22:10 +0000 (10:22 +0200)]
waf: socket_wrapper should check for HAVE_FUNCTION_ATTRIBUTE_FORMAT.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Autobuild-User(master): Michael Adam <obnox@samba.org>
Autobuild-Date(master): Thu Jul 31 21:12:07 CEST 2014 on sn-devel-104
Jakub Hrozek [Thu, 31 Jul 2014 08:20:40 +0000 (10:20 +0200)]
uwrap: Support dropping all supplemetary groups with setgroups()
Dropping all supplementary groups is a common practice when changing
UIDs. This patch adds support for dropping all supplementary groups when
setgroups is called with size=0.
Signed-off-by: Jakub Hrozek <jakub.hrozek@gmail.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Andreas Schneider [Thu, 31 Jul 2014 08:19:58 +0000 (10:19 +0200)]
uwrap: Add logging if uwrap is enabled correctly.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Andreas Schneider [Thu, 31 Jul 2014 08:19:28 +0000 (10:19 +0200)]
uwrap: Log error if we are out of memory.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Andreas Schneider [Thu, 31 Jul 2014 08:18:59 +0000 (10:18 +0200)]
uwrap: Add a better logging function.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Andreas Schneider [Thu, 31 Jul 2014 08:18:13 +0000 (10:18 +0200)]
uwrap: Check for HAVE_FUNCTION_ATTRIBUTE_FORMAT.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Andreas Schneider [Thu, 31 Jul 2014 08:13:40 +0000 (10:13 +0200)]
uwrap: Fall back to RTLD_NEXT if we can't find libc.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Andreas Schneider [Thu, 31 Jul 2014 08:13:10 +0000 (10:13 +0200)]
uwrap: Add mutex in uwrap_destructor().
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Andreas Schneider [Thu, 31 Jul 2014 08:12:15 +0000 (10:12 +0200)]
uwrap: Fix memory leak on error.
Found by Coverity.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 18:01:31 +0000 (20:01 +0200)]
debug: Avoid dependency on str_list_make
strtok_r just also does the job and is available in libc
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Wed, 30 Jul 2014 09:35:43 +0000 (09:35 +0000)]
debug: Fix blank line endings
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Wed, 30 Jul 2014 09:22:59 +0000 (09:22 +0000)]
debug: Increase maximum header length
With function names it can become quite long
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Wed, 30 Jul 2014 09:22:21 +0000 (09:22 +0000)]
debug: In dbghdrclass, don't call strlen repeatedly
Also properly protect against header_str overflow
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 18:44:28 +0000 (20:44 +0200)]
debug: Fix a typo
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 16:09:10 +0000 (16:09 +0000)]
debug: Simplify debug_parse_levels
Just some minimal refactoring
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 16:04:25 +0000 (16:04 +0000)]
debug: Simplify Debug1() -- no va_args
All callers just have "%s" as format string now, so we don't need to
vasprintf anymore.
This could speed up DEBUG a bit, we don't do a separate copy and the
printf logic
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 15:59:06 +0000 (15:59 +0000)]
debug: Remove an "else"
No else necessary, we just did a "goto done:"
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 15:47:07 +0000 (15:47 +0000)]
debug: Remove two pointless assignments
"goto done:" jumps to that exact assignment :-)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 15:31:48 +0000 (15:31 +0000)]
debug: Only call Debug1 once in dbghdrclass
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 15:26:22 +0000 (15:26 +0000)]
debug: Move adding timeval and loglevel
The whole routine incrementally creates the hdr_string, do it for the
time string and the debuglevel as well
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 15:09:00 +0000 (15:09 +0000)]
debug: slprintf->snprintf
snprintf does not need the -1 in sizeof(buf)-1
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 15:06:17 +0000 (15:06 +0000)]
debug: Use timeval_str_buf in dbghdrclass
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 15:02:22 +0000 (15:02 +0000)]
debug: Simplify dbghdrclass with an early return
No code change, visible with "git diff -w"
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 18:54:44 +0000 (20:54 +0200)]
lib: Create time_basic.[ch]
Make the two functions that debug.c needs a subsystem of their own. The
goal is to put debug.c on a diet. Anybody who wants to use it should
not be forced to pull in half of Samba :-)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 14:52:42 +0000 (14:52 +0000)]
lib: Use timeval_str_buf in timeval_string
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 14:43:39 +0000 (14:43 +0000)]
lib: Add timeval_str_buf
Similarly to server_id_str_buf it does not do any allocation
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 12:58:53 +0000 (12:58 +0000)]
debug: Statically allocate format_bufr
Everybody needs this, so there's no point talloc'ing it. The side effect
is that it removes a dependency on smb_panic()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 12:48:55 +0000 (12:48 +0000)]
debug: Fix debug_parse_params
The additional check this patch removes potentially drops some debuglevel
class settings. While not documented, it is possible to add a debug class
like for example "tdb:10" multiple times with multiple values. Later
settings overwrite earlier ones, but only if the overall number of
settings does not exceed the total number of available debug classes.
This patch changes our behaviour, but I can't imagine a situation where
someone relies on this check.
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 12:22:05 +0000 (12:22 +0000)]
debug: Make Debug1 static
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 12:11:54 +0000 (12:11 +0000)]
nmbd: Call DEBUGADD instead of Debug1
These were the only external callers of Debug1. To be honest, I don't
really care if these debug messages now look a bit differently :-)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 11:22:09 +0000 (11:22 +0000)]
debug: Remove a dependency on charconv
util_str has:
/* characters below 0x3F are guaranteed to not appear in
non-initial position in multi-byte charsets */
if ((c & 0xC0) == 0) {
return strrchr(s, c);
}
'/' is 0x2f, so there's no point in calling strrchr_m and thus pulling
in a whole lot of stuff
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 11:20:27 +0000 (11:20 +0000)]
debug: Add some readability to debug_logtype
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 11:05:06 +0000 (11:05 +0000)]
debug: Factor out debug_parse_param()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 10:25:32 +0000 (10:25 +0000)]
debug: Move variables where they are used
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 10:23:04 +0000 (10:23 +0000)]
debug: Fix indentation in debug_parse_params
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Mon, 28 Jul 2014 12:27:29 +0000 (12:27 +0000)]
lib: Remove unused serverid_register_msg_flags()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Volker Lendecke [Tue, 29 Jul 2014 10:05:42 +0000 (10:05 +0000)]
libcli: Fix a typo
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Michael Adam [Tue, 29 Jul 2014 10:19:23 +0000 (12:19 +0200)]
param: remove a redundant (and wrong) comment frop lpcfg_service_ok()
Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Michael Adam [Tue, 29 Jul 2014 10:09:39 +0000 (12:09 +0200)]
s3:param: remove unused function lp_string_set()
Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Stefan Metzmacher [Thu, 24 Jul 2014 07:12:14 +0000 (09:12 +0200)]
lib/param: change the default for "winbind expand groups" to "0"
Expanding groups requires the usage of SAMR, which is often not possible
with the trust account credentials. This has caused a lot of trouble
in the past, as this is the only operation which requires a member to
contact a dc of a trusted domain directly, which is not always possible.
With this changed default, it should only be required to contact
a dc of our own domain. This is the correct behavior for a domain member.
As expanding groups is mostly cosmetic, we should avoid it.
This is similar to "winbind enum users" and "winbind enum groups",
which are also off by default.
Only some broken applications calculate the group memberships of
users by traversing groups, such applications will require
"winbind expand groups = 1".
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Björn Jacke <bj@sernet.de>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Thu Jul 31 18:48:36 CEST 2014 on sn-devel-104
Volker Lendecke [Wed, 30 Jul 2014 10:19:58 +0000 (10:19 +0000)]
debug: Remove thread-related code from debug.c
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Thu Jul 31 16:20:53 CEST 2014 on sn-devel-104