sfrench/samba-autobuild/.git
2 years agodns_server: clobber MNAME in the SOA
Andrew Bartlett [Tue, 11 Apr 2017 00:43:22 +0000 (12:43 +1200)]
dns_server: clobber MNAME in the SOA

Otherwise, we always report the first server we created/provisioned the AD domain on
which does not match AD behaviour.  AD is multi-master so all RW servers are a master.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agoselftest: run dns tests in multiple envs
Andrew Bartlett [Thu, 8 Jun 2017 04:20:42 +0000 (16:20 +1200)]
selftest: run dns tests in multiple envs

This will let us check the negative behaviour: that updates against RODCs fail
and un-authenticated updates fail.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agoselftest: confirm we clobber the MNAME in the SOA query in the DNS server
Andrew Bartlett [Thu, 8 Jun 2017 03:54:22 +0000 (15:54 +1200)]
selftest: confirm we clobber the MNAME in the SOA query in the DNS server

All RW DCs should be their own master DNS server.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agosamba_dnsupate: Try to get ticket to the SOA, not the NS servers
Andrew Bartlett [Mon, 10 Apr 2017 05:13:46 +0000 (17:13 +1200)]
samba_dnsupate: Try to get ticket to the SOA, not the NS servers

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agosamba_dnsupdate: Make nsupdate use the server given by the SOA record
Andrew Bartlett [Mon, 10 Apr 2017 05:10:27 +0000 (17:10 +1200)]
samba_dnsupdate: Make nsupdate use the server given by the SOA record

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agojoin.py: Do not expose the old machine password over NTLM if -k yes was set
Andrew Bartlett [Mon, 10 Apr 2017 04:10:00 +0000 (16:10 +1200)]
join.py: Do not expose the old machine password over NTLM if -k yes was set

This makes the test for a valid machine account stricter (as a kerberos error could
cause this to fail and so skip the validation), but we never wish to use NTLM
if the administrator disabled it on the command line

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agopydsdb_dns: Allow the partition DN to be specified into py_dsdb_dns_lookup
Andrew Bartlett [Fri, 9 Jun 2017 04:05:31 +0000 (16:05 +1200)]
pydsdb_dns: Allow the partition DN to be specified into py_dsdb_dns_lookup

This allows lookups to be confined to one partition, which in turn avoids issues
when running this against MS Windows, which does not match Samba behaviour
for dns_common_zones()

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agopydsdb_dns: Use TypeError not LdbError for mismatched types
Andrew Bartlett [Mon, 10 Apr 2017 04:06:13 +0000 (16:06 +1200)]
pydsdb_dns: Use TypeError not LdbError for mismatched types

This avoids the samba-tool command handling code blowing up when trying to parse an LdbError

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agopython: Allow sd_utils to take a Dn object, not just a string DN
Andrew Bartlett [Tue, 28 Feb 2017 01:15:12 +0000 (14:15 +1300)]
python: Allow sd_utils to take a Dn object, not just a string DN

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agopydns: Also return the DN of the LDB object when finding a DNS record
Andrew Bartlett [Mon, 27 Feb 2017 04:09:56 +0000 (17:09 +1300)]
pydns: Also return the DN of the LDB object when finding a DNS record

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agopydns: Fix leak of talloc_stackframe() in python bindings
Andrew Bartlett [Mon, 27 Feb 2017 03:51:45 +0000 (16:51 +1300)]
pydns: Fix leak of talloc_stackframe() in python bindings

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agosamba_dnsupdate: Ensure we only force "server" under resolv_wrapper
Andrew Bartlett [Fri, 17 Feb 2017 05:24:27 +0000 (18:24 +1300)]
samba_dnsupdate: Ensure we only force "server" under resolv_wrapper

This ensures that nsupdate can use a namserver in /etc/resolv.conf that is a
cache or forwarder, rather than the AD DC directly.

This avoids a regression from forcing the nameservers to the
/etc/resolv.conf nameservers in
e85ef1dbfef4b16c35cac80c0efc563d8cd1ba3e

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agodsdb: Improve error messages when dsdb_set_schema_from_ldif() fails
Andrew Bartlett [Tue, 23 May 2017 03:56:55 +0000 (15:56 +1200)]
dsdb: Improve error messages when dsdb_set_schema_from_ldif() fails

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agoctdbd_conn: Fix ctdbd_connection_destructor
Volker Lendecke [Fri, 9 Jun 2017 06:41:49 +0000 (08:41 +0200)]
ctdbd_conn: Fix ctdbd_connection_destructor

clang had complained with

../source3/lib/ctdbd_conn.c:1784:34: warning: variable 'send_state' used in loop condition
      not modified in loop body [-Wfor-loop-analysis]
        for (send_state = c->send_list; send_state != NULL;) {
                                        ^~~~~~~~~~
../source3/lib/ctdbd_conn.c:1791:34: warning: variable 'recv_state' used in loop condition
      not modified in loop body [-Wfor-loop-analysis]
        for (recv_state = c->recv_list; recv_state != NULL;) {
                                        ^~~~~~~~~~

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Sat Jun 10 03:33:13 CEST 2017 on sn-devel-144

2 years agoctdbd_conn: Fix a copy&paste error
Volker Lendecke [Fri, 9 Jun 2017 06:41:16 +0000 (08:41 +0200)]
ctdbd_conn: Fix a copy&paste error

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2 years agosamba-tool: You cannot add members to a group if the member exists as a sAMAccountNam...
Rowland Penny [Wed, 7 Jun 2017 14:57:53 +0000 (15:57 +0100)]
samba-tool: You cannot add members to a group if the member exists as a sAMAccountName and a CN.

Signed-off-by: Rowland Penny <rpenny@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
Autobuild-User(master): Alexander Bokovoy <ab@samba.org>
Autobuild-Date(master): Fri Jun  9 23:24:47 CEST 2017 on sn-devel-144

2 years agos4:rpc_server: Do some checks of LogonSamLogon flags
Stefan Metzmacher [Thu, 8 Jun 2017 16:01:59 +0000 (18:01 +0200)]
s4:rpc_server: Do some checks of LogonSamLogon flags

This matches a Windows Server, at least if it is itself a
DC of the forest root and the requested domain is the local domain of the DC.
Both constraints are true on a Samba AD DC, as we don't really support
trusts yet.

Pair-Programmed-With: Andreas Schneider <asn@samba.org>

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Fri Jun  9 17:06:04 CEST 2017 on sn-devel-144

2 years agos3:winbindd: Send flags=0 in netr_LogonSamLogon{WithFlags,Ex}()
Stefan Metzmacher [Thu, 8 Jun 2017 15:10:12 +0000 (17:10 +0200)]
s3:winbindd: Send flags=0 in netr_LogonSamLogon{WithFlags,Ex}()

These extra flags are an [in,out] argument, so we have to initialize
them to 0. If we pass NETLOGON_SAMLOGON_FLAG_PASS_TO_FOREST_ROOT
or NETLOGON_SAMLOGON_FLAG_PASS_CROSS_FOREST_HOP, a Windows Server
will just return NT_STATUS_NO_SUCH_USER with authoritative=1
(at least if it is itself a DC of the forest root and the requested
 domain is the local domain of the DC).

Pair-Programmed-With: Andreas Schneider <asn@samba.org>

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Andreas Schneider <asn@samba.org>
2 years agonetlogon.idl: Add netr_LogonSamLogon_flags bitmap
Stefan Metzmacher [Thu, 8 Jun 2017 15:20:50 +0000 (17:20 +0200)]
netlogon.idl: Add netr_LogonSamLogon_flags bitmap

See [MS-NRPC] 3.5.4.5.1 NetrLogonSamLogonEx (Opnum 39).

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2 years agos3:libsmb: add cli_state_update_after_sesssetup() helper function
Stefan Metzmacher [Wed, 15 Mar 2017 17:04:44 +0000 (17:04 +0000)]
s3:libsmb: add cli_state_update_after_sesssetup() helper function

This function updates cli->server_{os,type,domain} to valid values
after a session setup.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12779

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2 years agolibcli:smb: Add unit test for smb_bytes_pull_str()
Andreas Schneider [Thu, 8 Jun 2017 14:08:15 +0000 (16:08 +0200)]
libcli:smb: Add unit test for smb_bytes_pull_str()

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12824

Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Andreas Schneider <asn@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2 years agolibcli/smb: Fix alignment problems of smb_bytes_pull_str()
Stefan Metzmacher [Wed, 15 Mar 2017 17:04:30 +0000 (17:04 +0000)]
libcli/smb: Fix alignment problems of smb_bytes_pull_str()

This function needs to get the whole smb buffer in order to get
the alignment for unicode correct.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12824

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2 years agoRevert "libcli:smb: Fix pulling strings from the wire"
Andreas Schneider [Thu, 8 Jun 2017 13:02:16 +0000 (15:02 +0200)]
Revert "libcli:smb: Fix pulling strings from the wire"

This reverts commit a4efe647c51700cee93b7574e5955e264aa96893.

A different fix will follow.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12824

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2 years agoRevert "s3:libsmb: Fix printing the session setup information"
Andreas Schneider [Thu, 8 Jun 2017 14:08:54 +0000 (16:08 +0200)]
Revert "s3:libsmb: Fix printing the session setup information"

This reverts commit b6f87af427a1fa2bd397668d9f14cb0cf8ec5015.

A different fix will follow.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12824

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2 years agosamba tool - tests: Fix shell metacharacters in generated password
Gary Lockyer [Wed, 7 Jun 2017 19:21:05 +0000 (07:21 +1200)]
samba tool - tests: Fix shell metacharacters in generated password

Restrict the random password to [A-Za-z0-9] to ensure there are no shell
metacharacters in the generated password.

The tests use "samba-tool user create" to create the test user.
Occasionally the generated password contained shell metachatacters and
the command failed.

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Fri Jun  9 09:50:28 CEST 2017 on sn-devel-144

2 years agoprovision: Update root DNS servers list
Amitay Isaacs [Thu, 8 Jun 2017 12:59:56 +0000 (22:59 +1000)]
provision: Update root DNS servers list

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2 years agotevent: Fix a race condition in tevent context rundown
Volker Lendecke [Wed, 24 May 2017 14:22:34 +0000 (16:22 +0200)]
tevent: Fix a race condition in tevent context rundown

We protect setting tctx->event_ctx=NULL with tctx->event_ctx_mutex.
But in _tevent_threaded_schedule_immediate we have the classic
TOCTOU race: After we checked "ev==NULL", looking at
tevent_common_context_destructor the event context can go after
_tevent_threaded_schedule_immediate checked. We need to serialize
things a bit by keeping tctx->event_ctx_mutex locked while we
reference "ev", in particular in the

DLIST_ADD_END(ev->scheduled_immediates,im);

I think the locking hierarchy is still maintained, tevent_atfork_prepare()
first locks all the tctx locks, and then the scheduled_mutex.  Also,
I don't think this will impact parallelism too badly: event_ctx_mutex
is only used to protect setting tctx->ev.

Found by staring at code while fixing the FreeBSD memleak due to
not destroying scheduled_mutex.

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 Jun  9 00:45:26 CEST 2017 on sn-devel-144

2 years agotevent: Fix a memleak on FreeBSD
Volker Lendecke [Wed, 24 May 2017 14:21:40 +0000 (16:21 +0200)]
tevent: Fix a memleak on FreeBSD

FreeBSD has malloc'ed memory attached to mutexes. We need to clean this up.

valgrind really helped here

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2 years agotevent: Add tevent_re_initialise to threaded test
Volker Lendecke [Mon, 5 Jun 2017 05:29:11 +0000 (07:29 +0200)]
tevent: Add tevent_re_initialise to threaded test

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2 years agotevent: Re-init threading in tevent_re_initialise
Volker Lendecke [Mon, 5 Jun 2017 05:16:17 +0000 (07:16 +0200)]
tevent: Re-init threading in tevent_re_initialise

Without this threading is not usable after that call

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2 years agotevent: Factor out context initialization
Volker Lendecke [Mon, 5 Jun 2017 04:58:37 +0000 (06:58 +0200)]
tevent: Factor out context initialization

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2 years agotevent: Fix a typo
Volker Lendecke [Mon, 5 Jun 2017 05:23:27 +0000 (07:23 +0200)]
tevent: Fix a typo

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2 years agomessaging: fix net command failure due to unhandled return code
David Mulder via samba-technical [Wed, 7 Jun 2017 12:43:07 +0000 (06:43 -0600)]
messaging: fix net command failure due to unhandled return code

messaging_init_internal() blanket returned NT_STATUS_INTERNAL_ERROR
instead of correctly changing the return code to an NTSTATUS code. Also
return more appropriate mem error.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=12828

Signed-off-by: David Mulder <dmulder@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): Thu Jun  8 08:04:05 CEST 2017 on sn-devel-144

2 years agoWHATSNEW: Add Dynamic RPC port range
Andreas Schneider [Wed, 7 Jun 2017 14:18:11 +0000 (16:18 +0200)]
WHATSNEW: Add Dynamic RPC port range

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Thu Jun  8 00:27:24 CEST 2017 on sn-devel-144

2 years agoctdb-client: Document ctdb client API
Amitay Isaacs [Thu, 1 Jun 2017 06:03:43 +0000 (16:03 +1000)]
ctdb-client: Document ctdb client API

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Wed Jun  7 20:19:06 CEST 2017 on sn-devel-144

2 years agoctdb-client: Move eventd API to a separate header
Amitay Isaacs [Thu, 1 Jun 2017 04:22:03 +0000 (14:22 +1000)]
ctdb-client: Move eventd API to a separate header

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2 years agoctdb-client: Move sync API to a separate header
Amitay Isaacs [Sat, 6 May 2017 10:01:30 +0000 (20:01 +1000)]
ctdb-client: Move sync API to a separate header

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2 years agoctdb-client: Move ctdb_ctrl_modflags() to ctdb tool
Amitay Isaacs [Wed, 19 Apr 2017 01:46:48 +0000 (11:46 +1000)]
ctdb-client: Move ctdb_ctrl_modflags() to ctdb tool

This function is only required by the tool.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2 years agoctdb-client: Add async api for detaching a database
Amitay Isaacs [Tue, 18 Apr 2017 06:44:29 +0000 (16:44 +1000)]
ctdb-client: Add async api for detaching a database

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2 years agoctdb-client: Create sync wrappers for managing message handlers
Amitay Isaacs [Tue, 18 Apr 2017 06:22:12 +0000 (16:22 +1000)]
ctdb-client: Create sync wrappers for managing message handlers

This wraps the entire async computation for setting and removing message
handlers instead of calling multiple sync calls.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2 years agoctdb-tools: Use traverse api to re-implement ctdb catdb command
Amitay Isaacs [Tue, 4 Apr 2017 08:30:01 +0000 (18:30 +1000)]
ctdb-tools: Use traverse api to re-implement ctdb catdb command

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2 years agoctdb-client: Refactor cluster-wide database traverse api
Amitay Isaacs [Tue, 4 Apr 2017 08:25:28 +0000 (18:25 +1000)]
ctdb-client: Refactor cluster-wide database traverse api

This implements the async version of the traverse code in the ctdb tool
for catdb command.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2 years agoctdb-protocol: Allocate SRVID range for ctdb client
Amitay Isaacs [Thu, 1 Jun 2017 06:43:55 +0000 (16:43 +1000)]
ctdb-protocol: Allocate SRVID range for ctdb client

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2 years agoctdb-client: Rename ctdb_db_travese to ctdb_db_traverse_local
Amitay Isaacs [Tue, 4 Apr 2017 07:31:11 +0000 (17:31 +1000)]
ctdb-client: Rename ctdb_db_travese to ctdb_db_traverse_local

This function only traverses the database on local node.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2 years agoLog the actual error returned when creating a pipe for client logging in CTDB fails...
Richard Sharpe [Tue, 6 Jun 2017 20:34:51 +0000 (13:34 -0700)]
Log the actual error returned when creating a pipe for client logging in CTDB fails. Helps with debugging issues.

Signed-off-by: Richard Sharpe <realrichardsharpe@gmail.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Wed Jun  7 09:22:29 CEST 2017 on sn-devel-144

2 years agos3:tests: Add a test which checks that the smbclient session setup works
Andreas Schneider [Tue, 6 Jun 2017 15:54:18 +0000 (17:54 +0200)]
s3:tests: Add a test which checks that the smbclient session setup works

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12824

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2 years agos3:libsmb: Fix printing the session setup information
Andreas Schneider [Tue, 6 Jun 2017 15:29:16 +0000 (17:29 +0200)]
s3:libsmb: Fix printing the session setup information

This fixes a regression and prints the session setup on connect again:

Domain=[SAMBA-TEST] OS=[Windows 6.1] Server=[Samba 4.7.0pre1-DEVELOPERBUILD]
smb: \>

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12824

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2 years agolibcli:smb: Fix pulling strings from the wire
Andreas Schneider [Tue, 6 Jun 2017 15:27:44 +0000 (17:27 +0200)]
libcli:smb: Fix pulling strings from the wire

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12824

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2 years agolibcli:util: Update werror table
Andreas Schneider [Tue, 6 Jun 2017 14:07:10 +0000 (16:07 +0200)]
libcli:util: Update werror table

This adds ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED for MS-PAR.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2 years agoselftest/rodc: Do not run in single mode, this causes deadlocks
Garming Sam [Wed, 15 Mar 2017 03:40:16 +0000 (16:40 +1300)]
selftest/rodc: Do not run in single mode, this causes deadlocks

Attempting to 'ls' the file server against a single process AD will get
stuck. This also appears as the KDC being busy.

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Garming Sam <garming@samba.org>
Autobuild-Date(master): Wed Jun  7 05:14:17 CEST 2017 on sn-devel-144

2 years agos3/utils: Add warning to testparm for "client ipc signing" param values
Noel Power [Fri, 2 Jun 2017 14:50:48 +0000 (15:50 +0100)]
s3/utils: Add warning to testparm for "client ipc signing" param values

We should warn about security sensitive settings where we can,
client ipc signing has 2 values that can allow connections to proceed
without SMB signing. This may be unavoidable (e.g. connecting to legacy
systems) but nevertheless it is worthwhile to warn.

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Tue Jun  6 22:40:12 CEST 2017 on sn-devel-144

2 years agounittest: Add testsuite for smb_probe_module()
Andreas Schneider [Fri, 12 May 2017 12:13:42 +0000 (14:13 +0200)]
unittest: Add testsuite for smb_probe_module()

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12780

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2 years agolib:util: Make loading of modules more secure
Andreas Schneider [Mon, 15 May 2017 09:08:19 +0000 (11:08 +0200)]
lib:util: Make loading of modules more secure

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12780

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2 years agolib:util: Make probing of modules more secure
Andreas Schneider [Mon, 15 May 2017 09:05:59 +0000 (11:05 +0200)]
lib:util: Make probing of modules more secure

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12780

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2 years agolib:util: Rename smb_load_modules()
Andreas Schneider [Mon, 15 May 2017 08:49:07 +0000 (10:49 +0200)]
lib:util: Rename smb_load_modules()

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12780

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2 years agolib:util: Add new function to load modules from absolute path
Andreas Schneider [Mon, 15 May 2017 07:06:51 +0000 (09:06 +0200)]
lib:util: Add new function to load modules from absolute path

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12780

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2 years agounittest: Add testsuite for is_known_pipename()
Andreas Schneider [Thu, 11 May 2017 09:29:25 +0000 (11:29 +0200)]
unittest: Add testsuite for is_known_pipename()

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12780

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2 years agowafsamba: Pass down the install argument for samba modules
Andreas Schneider [Thu, 11 May 2017 09:29:50 +0000 (11:29 +0200)]
wafsamba: Pass down the install argument for samba modules

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2 years agolib: Fix illegal use of 0-length arrays
Volker Lendecke [Mon, 29 May 2017 19:13:16 +0000 (21:13 +0200)]
lib: Fix illegal use of 0-length arrays

Found and confirmed to work by albert chin (china@thewrittenword.com)

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2 years agowscript: Fix some typos
Anoop C S [Mon, 5 Jun 2017 16:40:44 +0000 (22:10 +0530)]
wscript: Fix some typos

Signed-off-by: Anoop C S <anoopcs@redhat.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Tue Jun  6 05:26:37 CEST 2017 on sn-devel-144

2 years agoselftest: use an additional directory of knownfail/flapping files
Douglas Bagnall [Thu, 1 Jun 2017 03:26:48 +0000 (15:26 +1200)]
selftest: use an additional directory of knownfail/flapping files

This makes it easier to add a temporary knownfail to cover a patch
series.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Sat Jun  3 13:55:41 CEST 2017 on sn-devel-144

2 years agovfs_gpfs: Fix compile error in gpfsacl_sys_acl_set_fd
Christof Schmitt [Fri, 2 Jun 2017 23:16:16 +0000 (16:16 -0700)]
vfs_gpfs: Fix compile error in gpfsacl_sys_acl_set_fd

../source3/modules/vfs_gpfs.c: In function ‘gpfsacl_sys_acl_set_fd’:
../source3/modules/vfs_gpfs.c:1280:6: error: passing argument 2 of ‘gpfsacl_sys_acl_set_file’ from incompatible pointer type [-Werror]
      SMB_ACL_TYPE_ACCESS, theacl);
      ^
../source3/modules/vfs_gpfs.c:1235:12: note: expected ‘const struct smb_filename *’ but argument is of type ‘char *’
 static int gpfsacl_sys_acl_set_file(vfs_handle_struct *handle,

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Sat Jun  3 05:52:32 CEST 2017 on sn-devel-144

2 years agos4:torture: Fix comparison between pointer and zero character constant
Andreas Schneider [Thu, 1 Jun 2017 12:28:08 +0000 (14:28 +0200)]
s4:torture: Fix comparison between pointer and zero character constant

Fixes building with GCC 7.1

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Jun  1 23:42:58 CEST 2017 on sn-devel-144

2 years agowaf: Do not trhow a format-truncation error for test/snprintf.c
Andreas Schneider [Thu, 1 Jun 2017 12:24:42 +0000 (14:24 +0200)]
waf: Do not trhow a format-truncation error for test/snprintf.c

This fixes building with GCC 7.1

Error:
../lib/replace/test/testsuite.c:355:6: error: ‘%d’ directive output
truncated writing 1 byte into a region of size 0
[-Werror=format-truncation=]

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2 years agoreplace: Use the same size as d_name member of struct dirent
Andreas Schneider [Thu, 1 Jun 2017 12:16:56 +0000 (14:16 +0200)]
replace: Use the same size as d_name member of struct dirent

This fixes an error with GCC 7.1

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2 years agopassword_hash: conditional compilation for crypt_r
Gary Lockyer [Tue, 30 May 2017 22:35:25 +0000 (10:35 +1200)]
password_hash: conditional compilation for crypt_r

Add check for crypt_r, and if absent fall back to crypt

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Volker Lendecke <vl@samba.org>
2 years agodnsserver: Stop dns_name_equal doing OOB read
Garming Sam [Thu, 1 Jun 2017 02:36:07 +0000 (14:36 +1200)]
dnsserver: Stop dns_name_equal doing OOB read

This has been the cause of a large number of flakey autobuilds. Every
now and again dns_name_equal would not be equal between two empty
strings, thus causing failures.

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12813

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Thu Jun  1 19:34:38 CEST 2017 on sn-devel-144

2 years agoctdb-common: Fix crash in logging initialisation
Martin Schwenke [Thu, 1 Jun 2017 04:37:40 +0000 (14:37 +1000)]
ctdb-common: Fix crash in logging initialisation

Setting CTDB_LOGGING to syslog:nonblocking or syslog:udp will cause
ctdbd to crash at startup due to NULL pointer dereference.
Refactoring in commit c9124a001f5abf7bb577a8f5341da4cc7411ed22
introduced this regression.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12814

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Autobuild-User(master): Amitay Isaacs <amitay@samba.org>
Autobuild-Date(master): Thu Jun  1 15:26:19 CEST 2017 on sn-devel-144

2 years agomit_samba: Fix the MIT KDC build with the latest changes
Andreas Schneider [Tue, 30 May 2017 11:58:43 +0000 (13:58 +0200)]
mit_samba: Fix the MIT KDC build with the latest changes

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Autobuild-User(master): Garming Sam <garming@samba.org>
Autobuild-Date(master): Thu Jun  1 07:12:47 CEST 2017 on sn-devel-144

2 years agos3: VFS: Change SMB_VFS_GETXATTR to use const struct smb_filename * instead of const...
Jeremy Allison [Thu, 25 May 2017 23:42:04 +0000 (16:42 -0700)]
s3: VFS: Change SMB_VFS_GETXATTR to use const struct smb_filename * instead of const char *.

We need to migrate all pathname based VFS calls to use a struct
to finish modernising the VFS with extra timestamp and flags parameters.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Jun  1 02:58:53 CEST 2017 on sn-devel-144

2 years agos3: VFS: Change SMB_VFS_SETXATTR to use const struct smb_filename * instead of const...
Jeremy Allison [Thu, 25 May 2017 19:41:31 +0000 (12:41 -0700)]
s3: VFS: Change SMB_VFS_SETXATTR to use const struct smb_filename * instead of const char *.

We need to migrate all pathname based VFS calls to use a struct
to finish modernising the VFS with extra timestamp and flags parameters.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2 years agos3: VFS: Change SMB_VFS_REMOVEXATTR to use const struct smb_filename * instead of...
Jeremy Allison [Wed, 24 May 2017 18:35:50 +0000 (11:35 -0700)]
s3: VFS: Change SMB_VFS_REMOVEXATTR to use const struct smb_filename * instead of const char *.

We need to migrate all pathname based VFS calls to use a struct
to finish modernising the VFS with extra timestamp and flags parameters.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2 years agos3: VFS: Change SMB_VFS_LISTXATTR to use const struct smb_filename * instead of const...
Jeremy Allison [Tue, 23 May 2017 20:12:29 +0000 (13:12 -0700)]
s3: VFS: Change SMB_VFS_LISTXATTR to use const struct smb_filename * instead of const char *.

We need to migrate all pathname based VFS calls to use a struct
to finish modernising the VFS with extra timestamp and flags parameters.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2 years agos3: VFS: Change SMB_VFS_SYS_ACL_SET_FILE to use const struct smb_filename * instead...
Jeremy Allison [Wed, 24 May 2017 17:47:46 +0000 (10:47 -0700)]
s3: VFS: Change SMB_VFS_SYS_ACL_SET_FILE to use const struct smb_filename * instead of const char *.

We need to migrate all pathname based VFS calls to use a struct
to finish modernising the VFS with extra timestamp and flags parameters.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2 years agos3: VFS: Change SMB_VFS_SYS_ACL_BLOB_GET_FILE to use const struct smb_filename *...
Jeremy Allison [Wed, 24 May 2017 00:35:59 +0000 (17:35 -0700)]
s3: VFS: Change SMB_VFS_SYS_ACL_BLOB_GET_FILE to use const struct smb_filename * instead of const char *.

We need to migrate all pathname based VFS calls to use a struct
to finish modernising the VFS with extra timestamp and flags parameters.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2 years agos3: VFS: Change SMB_VFS_SYS_ACL_GET_FILE to use const struct smb_filename * instead...
Jeremy Allison [Wed, 24 May 2017 00:11:18 +0000 (17:11 -0700)]
s3: VFS: Change SMB_VFS_SYS_ACL_GET_FILE to use const struct smb_filename * instead of const char *.

We need to migrate all pathname based VFS calls to use a struct
to finish modernising the VFS with extra timestamp and flags parameters.

Requires a few extra cleanups in calling code.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2 years agos3: VFS: Change SMB_VFS_SYS_ACL_DELETE_DEF_FILE to use const struct smb_filename...
Jeremy Allison [Tue, 23 May 2017 22:33:31 +0000 (15:33 -0700)]
s3: VFS: Change SMB_VFS_SYS_ACL_DELETE_DEF_FILE to use const struct smb_filename * instead of const char *.

We need to migrate all pathname based VFS calls to use a struct
to finish modernising the VFS with extra timestamp and flags parameters.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2 years agos3: lib: Add new utility function cp_smb_filename_nostream().
Jeremy Allison [Tue, 30 May 2017 18:46:49 +0000 (11:46 -0700)]
s3: lib: Add new utility function cp_smb_filename_nostream().

Will be needed when we migrate lower-level VFS functions to
take an struct smb_filename *, especially the SYS_ACL and
XATTR modification modules, as these must ignore a passed-in
stream name.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2 years agodsdb: Use ldb_handle_use_global_event_context for rootdse modifies
Andrew Bartlett [Thu, 11 May 2017 23:55:45 +0000 (01:55 +0200)]
dsdb: Use ldb_handle_use_global_event_context for rootdse modifies

The modify operations on the rootDSE turn into IRPC messages, and these need
to be handled on the global event context, not the per-operation context

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Wed May 31 10:47:46 CEST 2017 on sn-devel-144

2 years agoschema: Use ldb_schema_set_override_indexlist for faster index selection
Andrew Bartlett [Thu, 30 Mar 2017 00:25:35 +0000 (13:25 +1300)]
schema: Use ldb_schema_set_override_indexlist for faster index selection

This allows Samba to provide a binary tree lookup for the existance of an index on the attribute
rather than the O(n) lookup that was being done for each attribute during a search or modify

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agoldb: Version 1.1.30 ldb-1.1.30
Andrew Bartlett [Thu, 30 Mar 2017 00:54:58 +0000 (13:54 +1300)]
ldb: Version 1.1.30

* let ldbdump parse the -i option
* don't allow the reveal_internals control for ldbedit
* only allow --show-binary for ldbsearch
* don't let ldbsearch create non-existing files
* fix ldb_tdb search inconsistencies
* add cmocka based tests
* provide an interface for improved indexing for callers
  like Samba, which will allow much better performance.
* Makes ldb access to tdb:// databases use a private event context
  rather than the global event context passed in by the caller.
  This is because running other operations while locks are held
  or a search is being conducted is not safe.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agoldb: Add Doxygen documentation for ldb_handle_use_global_event_context()
Andrew Bartlett [Tue, 30 May 2017 09:12:33 +0000 (21:12 +1200)]
ldb: Add Doxygen documentation for ldb_handle_use_global_event_context()

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
2 years agoldb: Add Doxygen docs for ldb_set_require_private_event_context()
Andrew Bartlett [Tue, 30 May 2017 09:17:57 +0000 (21:17 +1200)]
ldb: Add Doxygen docs for ldb_set_require_private_event_context()

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
2 years agoldb: Add Doxygen docs for ldb_handle_get_event_context()
Andrew Bartlett [Thu, 4 May 2017 09:39:21 +0000 (11:39 +0200)]
ldb: Add Doxygen docs for ldb_handle_get_event_context()

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
2 years agoldb: Add Doxygen docs for ldb_schema_set_override_indexlist()
Andrew Bartlett [Tue, 30 May 2017 09:04:02 +0000 (21:04 +1200)]
ldb: Add Doxygen docs for ldb_schema_set_override_indexlist()

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
2 years agoldb: Add Doxygen docs for ldb_schema_attribute_set_override_handler
Andrew Bartlett [Tue, 30 May 2017 09:00:34 +0000 (21:00 +1200)]
ldb: Add Doxygen docs for ldb_schema_attribute_set_override_handler

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
2 years agoldb: Add Doxygen comments for ldb_req_*trusted() functions
Andrew Bartlett [Tue, 30 May 2017 08:57:23 +0000 (20:57 +1200)]
ldb: Add Doxygen comments for ldb_req_*trusted() functions

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
2 years agoldb: Add test for ldb_build_search_req()
Andrew Bartlett [Tue, 30 May 2017 02:59:16 +0000 (14:59 +1200)]
ldb: Add test for ldb_build_search_req()

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agoldb: Add tests for new ldb handle and event context behaviour
Andrew Bartlett [Tue, 30 May 2017 02:39:49 +0000 (14:39 +1200)]
ldb: Add tests for new ldb handle and event context behaviour

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agoldb: Add ldb_handle_use_global_event_context()
Andrew Bartlett [Fri, 5 May 2017 06:25:40 +0000 (08:25 +0200)]
ldb: Add ldb_handle_use_global_event_context()

This will allow the IRPC to be processed in the main event loop of the
server, not the private event context for this request

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agoldb: Use the private event context in ldb_tdb and ldb_wait()
Andrew Bartlett [Fri, 12 May 2017 00:30:01 +0000 (02:30 +0200)]
ldb: Use the private event context in ldb_tdb and ldb_wait()

This enables the previous commits, and ensures that ldb_tdb is safe from operations while locks
are held

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agoldb: Force use of a private event context in ldb_tdb
Andrew Bartlett [Fri, 12 May 2017 00:28:02 +0000 (02:28 +0200)]
ldb: Force use of a private event context in ldb_tdb

ldb_tdb holds locks while making callbacks, so force the use of a per-request event context

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agoldb: Create private event contexts in top level requests, chain to children
Andrew Bartlett [Fri, 12 May 2017 00:26:04 +0000 (02:26 +0200)]
ldb: Create private event contexts in top level requests, chain to children

We must ensure that the ldb_request we call ldb_wait() will share an event context with all
the eventual request that the ldb backend creates events on

Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agoldb: Add ldb_set_require_private_event_context()
Andrew Bartlett [Fri, 12 May 2017 00:21:28 +0000 (02:21 +0200)]
ldb: Add ldb_set_require_private_event_context()

This will allow us to force use of the global event context for use when Samba
must make an IRPC call from within the ldb stack, to another part of the same
process

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agoldb: Add ldb_handle_get_event_context()
Andrew Bartlett [Thu, 4 May 2017 09:39:21 +0000 (11:39 +0200)]
ldb: Add ldb_handle_get_event_context()

This will allow us to obtain a private event context for use while we hold
locks in ldb_tdb, that is not shared with the global state of the application.

This will ensure we do not perform other operations while we hold the lock

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agoldb: Add ldb_build_req_common() helper function
Andrew Bartlett [Thu, 4 May 2017 20:27:24 +0000 (22:27 +0200)]
ldb: Add ldb_build_req_common() helper function

Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agoldb: Add tests for the schema and index override hooks
Andrew Bartlett [Tue, 30 May 2017 01:53:01 +0000 (13:53 +1200)]
ldb: Add tests for the schema and index override hooks

Because this uses ldb_private.h we no longer build the
test binary if we are building against a system ldb

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agoldb: Move test_ldb_attrs_case_insensitive closer to setup/teardown functions
Andrew Bartlett [Tue, 30 May 2017 00:47:58 +0000 (12:47 +1200)]
ldb: Move test_ldb_attrs_case_insensitive closer to setup/teardown functions

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agoldb_tdb: Avoid reading the index list from the DB if we are already set to override it
Andrew Bartlett [Thu, 30 Mar 2017 00:10:22 +0000 (13:10 +1300)]
ldb_tdb: Avoid reading the index list from the DB if we are already set to override it

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2 years agoldb: Allow a caller (in particular Samba) to handle the list of attributes with an...
Andrew Bartlett [Thu, 30 Mar 2017 00:23:44 +0000 (13:23 +1300)]
ldb: Allow a caller (in particular Samba) to handle the list of attributes with an index

By doing that, Samba will use a binary search to locate the attributes
rather than an O(n) search, during every search or modify of the database.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>