samba.git
8 years agolib: Fix CID 1306764 Unchecked return value
Volker Lendecke [Tue, 16 Jun 2015 06:12:47 +0000 (06:12 +0000)]
lib: Fix CID 1306764 Unchecked return value

tevent_req_oom exists right for this case :-)

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: "Stefan (metze) Metzmacher" <metze@samba.org>
8 years agoGroup creation: Add msSFU30Name only when --nis-domain was given
Marc Muehlfeld [Thu, 11 Jun 2015 19:20:55 +0000 (21:20 +0200)]
Group creation: Add msSFU30Name only when --nis-domain was given

This fixes a bug, that all new created groups automatically get an
msSFU30Name attribute added. This should only be the case, when
we also have a nis-domain (samba-tool --nis-domain=...).

Bugreport: https://bugzilla.samba.org/show_bug.cgi?id=11315

Signed-off-by: Marc Muehlfeld <mmuehlfeld@samba.org>
Reviewed-by: Christian Ambach <ambi@samba.org>
Autobuild-User(master): Christian Ambach <ambi@samba.org>
Autobuild-Date(master): Tue Jun 16 11:58:02 CEST 2015 on sn-devel-104

8 years agolib: ldap: Properly check talloc error returns.
Jeremy Allison [Mon, 15 Jun 2015 22:49:07 +0000 (15:49 -0700)]
lib: ldap: Properly check talloc error returns.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Tue Jun 16 04:16:13 CEST 2015 on sn-devel-104

8 years agolibads: further split resolve_and_ping into dns and netbios implementations
Uri Simchoni [Thu, 11 Jun 2015 11:24:36 +0000 (14:24 +0300)]
libads: further split resolve_and_ping into dns and netbios implementations

split the resolve_and_ping function, which does name lookup followed by
cldap ping, into two variants:
- resolve_and_ping_dns() which uses AD name resolution
- resolve_and_ping_netbios() which uses pre-AD name resolution

Signed-off-by: Uri Simchoni <urisimchoni@gmail.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
8 years agolibads: Fix fallback logic when finding a domain controller
Uri Simchoni [Tue, 9 Jun 2015 11:30:14 +0000 (14:30 +0300)]
libads: Fix fallback logic when finding a domain controller

This is a patch to fix bug 11321.

When finding a domain controller, the method is to resolve
the IP address of candidate servers, and then do an ldap ping until a
suitable server answers.

In case of failure, there's fallback from DNS lookup to netbios lookup
(if netbios is enabled) and then back to site-less DNS lookup. The two
problems here are:
1. It makes more sense to try site-less DNS before NetBIOS because the
fallback to NetBIOS is not likely to give better results.
2. The NetBIOS fallback screws the site-less fallback (I suppose the
"goto considered harmful fellows are sometimes right after all...).

This fix extracts the core code that does name resolving+ldap ping
into a separate function and then activates this function in up to
three modes - site-aware, site-less, and netbios, in that order.

Signed-off-by: Uri Simchoni <urisimchoni@gmail.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
8 years agonamequery: remove dead code
Uri Simchoni [Mon, 8 Jun 2015 05:42:58 +0000 (08:42 +0300)]
namequery: remove dead code

When composing the list of servers out of the server affinity cache
and "password server" parameter, there's fallback to DNS-SRV-record-
based search if the "password server" + session affinity yield an empty
list. However:
1. The way the code is written, it never gets executed because the empty list
   is not an empty string (it contains a comma)
2. This fallback is doe in any case just a few lines down the function

Therefore this patch simply removes this fallback code.

Signed-off-by: Uri Simchoni <urisimchoni@gmail.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
8 years agolibads: Keep 'good' server at the head of custom KDC list
Uri Simchoni [Mon, 18 May 2015 10:36:46 +0000 (13:36 +0300)]
libads: Keep 'good' server at the head of custom KDC list

When creating a custom krb.conf file for a domain, make sure
that the DC which already answered the ldap ping is not queried
again, and is always first in the custom KDC list. This has two
advantages:
1. Avoid re-sending an ldap ping to this server
2. The generated list is made up of the servers that answered
   first. Since the DC which already answered an LDAP ping
   is typically the "last good server", this change keeps it
   out of the contest and guarantees that we keep using last
   good server as long as it works.

Signed-off-by: Uri Simchoni <urisimchoni@gmail.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
8 years agonamequery: correctly merge kdc ip address list
Uri Simchoni [Thu, 21 May 2015 07:38:42 +0000 (10:38 +0300)]
namequery: correctly merge kdc ip address list

When finding DCs, there are three sources of addresses:
1. "Last good server"
2. Configured password server
3. SRV DNS queries

Since those different sources may return the same addresses, the
IP list is checked for duplicates, e.g. in order to save on
the LDAP ping that usually follows. Both IP address and port are
compared.

This change fixes the address duplicate removal for the case of KDC
search, where the "last good server" or configured password server
also appears in the DNS SRV query response.

An (undocumented?) assumption is that the "password server" parameter
is applicable to KDCs as well, but if a port is specified (e.g.
dc1.example.com:390), then this is the ldap port.

Signed-off-by: Uri Simchoni <urisimchoni@gmail.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
8 years agokerberos: Move DEFAULT_KRB5_PORT to a header file
Uri Simchoni [Thu, 4 Jun 2015 19:10:55 +0000 (22:10 +0300)]
kerberos: Move DEFAULT_KRB5_PORT to a header file

Move the kerberos port number definition to a header file, so that
it can be used by DNS code.

Signed-off-by: Uri Simchoni <urisimchoni@gmail.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
8 years agonamequery: fix get_kdc_list() to look for _kerberos records
Uri Simchoni [Wed, 3 Jun 2015 10:50:25 +0000 (13:50 +0300)]
namequery: fix get_kdc_list() to look for _kerberos records

get_kdc_list() should look for _kerberos.xxx SRV records rather
than _ldap.xxx records. This has significance in two cases:
- Non-default DNS configurations
- When building a custom krb5.conf file for a domain, an attempt is
  made to get site-specific as well as site-less records, but the
  search for _ldap records yields a cached site-specific result even
  for the site-less query.

Signed-off-by: Uri Simchoni <urisimchoni@gmail.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
8 years agolibads: fix indentation in generated krb5.conf
Uri Simchoni [Thu, 21 May 2015 05:40:24 +0000 (08:40 +0300)]
libads: fix indentation in generated krb5.conf

In case of multiple KDCs, the automatically-generated
domain-specific kerberos configuration file lists all the
KDCs it can find, but the indentation of additional KDCs
is not aligned with that of the first KDC.

Signed-off-by: Uri Simchoni <urisimchoni@gmail.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
8 years agonet: Fix messaging_init for clustering
Volker Lendecke [Mon, 15 Jun 2015 12:14:43 +0000 (12:14 +0000)]
net: Fix messaging_init for clustering

A full loadparm with include=registry implicitly initializes a
messaging_context. We need to use that.

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): Mon Jun 15 22:44:57 CEST 2015 on sn-devel-104

8 years agoctdbd_conn: Fix a leak on talloc_tos()
Volker Lendecke [Mon, 15 Jun 2015 14:47:50 +0000 (14:47 +0000)]
ctdbd_conn: Fix a leak on talloc_tos()

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agosource/libsmb: Fix CID 1272955 Logically dead code
Anoop C S [Mon, 15 Jun 2015 09:33:19 +0000 (15:03 +0530)]
source/libsmb: Fix CID 1272955 Logically dead code

Signed-off-by: Anoop C S <achiraya@redhat.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agosource3/registry: Fix CID 1273100 Stray semicolon
Anoop C S [Mon, 15 Jun 2015 09:28:46 +0000 (14:58 +0530)]
source3/registry: Fix CID 1273100 Stray semicolon

Signed-off-by: Anoop C S <achiraya@redhat.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agosource3/registry: Fix CID 1273421 Useless call
Anoop C S [Mon, 15 Jun 2015 09:10:00 +0000 (14:40 +0530)]
source3/registry: Fix CID 1273421 Useless call

Signed-off-by: Anoop C S <achiraya@redhat.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agotdb: version 1.3.6 tdb-1.3.6
Stefan Metzmacher [Fri, 12 Jun 2015 07:10:39 +0000 (09:10 +0200)]
tdb: version 1.3.6

* Fix runtime detection for robust mutexes in the standalone build.
  bug #11326
* Possible fix for the build with robust mutexes on solaris 11
  bug #11319

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Fri Jun 12 19:55:34 CEST 2015 on sn-devel-104

8 years agolib/replace: remove unused HAVE_DECL_PTHREAD_{MUTEXATTR_SETROBUST,MUTEX_CONSISTENT...
Stefan Metzmacher [Fri, 12 Jun 2015 09:01:21 +0000 (11:01 +0200)]
lib/replace: remove unused HAVE_DECL_PTHREAD_{MUTEXATTR_SETROBUST,MUTEX_CONSISTENT}_NP checks

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agolib/replace: fix PTHREAD_MUTEX_ROBUST fallback to PTHREAD_MUTEX_ROBUST_NP on solaris 11
Stefan Metzmacher [Fri, 12 Jun 2015 09:01:21 +0000 (11:01 +0200)]
lib/replace: fix PTHREAD_MUTEX_ROBUST fallback to PTHREAD_MUTEX_ROBUST_NP on solaris 11

Without this we got the following defines in config.h:

   #define HAVE_DECL_PTHREAD_MUTEXATTR_SETROBUST_NP 1
   #define HAVE_DECL_PTHREAD_MUTEX_CONSISTENT_NP 1
   #define HAVE_PTHREAD_MUTEXATTR_SETROBUST 1
   #define HAVE_PTHREAD_MUTEX_CONSISTENT 1
   #define HAVE_ROBUST_MUTEXES 1
   #define USE_TDB_MUTEX_LOCKING 1

And the build failed with PTHREAD_MUTEX_ROBUST being unknown.

Note that PTHREAD_MUTEX_ROBUST and PTHREAD_MUTEX_ROBUST_NP are enum values
while they're defines on solaris 11
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11319

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agowafsamba: let CHECK_DECLS() find enum values
Stefan Metzmacher [Fri, 12 Jun 2015 10:13:23 +0000 (12:13 +0200)]
wafsamba: let CHECK_DECLS() find enum values

In the current state this still generates the same config.h
at least on ubuntu 14.04 amd64.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agowafsamba: remove unused allow_warnings=True from SAMBA_PYTHON()
Stefan Metzmacher [Thu, 11 Jun 2015 08:01:15 +0000 (10:01 +0200)]
wafsamba: remove unused allow_warnings=True from SAMBA_PYTHON()

This is not needed anymore all python bindings build without wawrnings now.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agos3:pysmbd: #include <Python.h> must be the first include in order to avoid compiler...
Stefan Metzmacher [Fri, 12 Jun 2015 09:45:39 +0000 (11:45 +0200)]
s3:pysmbd: #include <Python.h> must be the first include in order to avoid compiler warnings

This is the only exception, normally "replace.h" or "includes.h" need to be the
first include.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agopidl:NDR/Parser: check [ref] pointers before pushing anything else
Stefan Metzmacher [Thu, 11 Jun 2015 07:01:24 +0000 (09:01 +0200)]
pidl:NDR/Parser: check [ref] pointers before pushing anything else

This was reported by Coverity as
CID 1288527:  Null pointer dereferences  (REVERSE_INULL)

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agopidl:NDR/Parser: protect for loops against $length being an expression instead of...
Stefan Metzmacher [Thu, 11 Jun 2015 06:54:11 +0000 (08:54 +0200)]
pidl:NDR/Parser: protect for loops against $length being an expression instead of a scalar variable

This changes

for (value_cntr_1 = 0; value_cntr_1 < r->out.length?*r->out.length:0; value_cntr_1++) {

into:

for (value_cntr_1 = 0; value_cntr_1 < (r->out.length?*r->out.length:0); value_cntr_1++) {

it fixes a possible endless loop resulting in a crash.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agopidl:Python: protect for loops against $length being an expression instead of a scala...
Stefan Metzmacher [Thu, 11 Jun 2015 06:54:11 +0000 (08:54 +0200)]
pidl:Python: protect for loops against $length being an expression instead of a scalar variable

This changes

for (value_cntr_1 = 0; value_cntr_1 < r->out.length?*r->out.length:0; value_cntr_1++) {

into:

for (value_cntr_1 = 0; value_cntr_1 < (r->out.length?*r->out.length:0); value_cntr_1++) {

it fixes a possible endless loop resulting in a crash.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agopidl:Python: use discard_const() to pass a possible const pointer to talloc_unlink()
Stefan Metzmacher [Thu, 11 Jun 2015 07:58:13 +0000 (09:58 +0200)]
pidl:Python: use discard_const() to pass a possible const pointer to talloc_unlink()

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agos4:ntvfs/pyposix_eadb: fix initposix_eadb() prototype
Stefan Metzmacher [Thu, 11 Jun 2015 07:57:23 +0000 (09:57 +0200)]
s4:ntvfs/pyposix_eadb: fix initposix_eadb() prototype

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agotevent: version 0.9.25 tevent-0.9.25
Stefan Metzmacher [Fri, 12 Jun 2015 06:58:26 +0000 (08:58 +0200)]
tevent: version 0.9.25

* Fix compile error in Solaris ports backend.
* Fix access after free in tevent_common_check_signal(). bug #11308
* Improve pytevent bindings.
* Testsuite fixes.
* Improve the documentation of the tevent_add_fd()
  assumtions. It must be talloc_free'ed before closing the fd!
  See bug #11141 and bug #11316.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agopytevent: add a TeventTimer_Object_ref helper structure to make the code clearer
Stefan Metzmacher [Thu, 11 Jun 2015 07:51:19 +0000 (09:51 +0200)]
pytevent: add a TeventTimer_Object_ref helper structure to make the code clearer

This gives talloc_set_destructor to verify the type,
which removes a compiler warning.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agopytevent: remove const warnings using discard_const_p()
Stefan Metzmacher [Thu, 11 Jun 2015 07:50:35 +0000 (09:50 +0200)]
pytevent: remove const warnings using discard_const_p()

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agopytevent: remove dead code TEVENT_DEPRECATED is never defined
Stefan Metzmacher [Thu, 11 Jun 2015 07:49:18 +0000 (09:49 +0200)]
pytevent: remove dead code TEVENT_DEPRECATED is never defined

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agotalloc:guide: fix documented signature of talloc_unlink().
Michael Adam [Fri, 12 Jun 2015 08:23:41 +0000 (10:23 +0200)]
talloc:guide: fix documented signature of talloc_unlink().

The second argument is void *, not const void *.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 years agotalloc:manpage: fix documented signature of talloc_unlink().
Michael Adam [Fri, 12 Jun 2015 08:16:40 +0000 (10:16 +0200)]
talloc:manpage: fix documented signature of talloc_unlink().

The second argument is void *, not const void *.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 years agotalloc: sync the talloc_reference() description between talloc_guide and manpage
Stefan Metzmacher [Thu, 11 Jun 2015 14:39:35 +0000 (16:39 +0200)]
talloc: sync the talloc_reference() description between talloc_guide and manpage

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
8 years agoctdb-vacuum: revert "Do not delete VACUUM MIGRATED records immediately"
Michael Adam [Fri, 12 Jun 2015 08:59:54 +0000 (10:59 +0200)]
ctdb-vacuum: revert "Do not delete VACUUM MIGRATED records immediately"

This reverts commit 257311e337065f089df688cbf261d2577949203d.

That commit was due to a misunderstanding, and it
does not fix what it was supposed to fix.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
8 years agoctdb-ib: make sure the tevent_fd is removed before the fd is closed
Stefan Metzmacher [Fri, 5 Jun 2015 08:30:39 +0000 (10:30 +0200)]
ctdb-ib: make sure the tevent_fd is removed before the fd is closed

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agolibcli/smb: make sure we remove the writev_send() request when a request is destroyed
Stefan Metzmacher [Fri, 29 May 2015 14:14:40 +0000 (16:14 +0200)]
libcli/smb: make sure we remove the writev_send() request when a request is destroyed

This way smbXcli_conn_disconnect() removes all tevent_fd structures attached to
the sock_fd before closing it.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agolibcli/smb: add smb1 requests to the pending array before writev_send()
Stefan Metzmacher [Fri, 29 May 2015 13:48:26 +0000 (15:48 +0200)]
libcli/smb: add smb1 requests to the pending array before writev_send()

This way we have a change to destroy the pending writev_send request before
closing the socket in smbXcli_conn_disconnect().

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agolibcli/smb: make sure the writev_send of smbXcli_conn_samba_suicide() is removed...
Stefan Metzmacher [Fri, 29 May 2015 13:29:31 +0000 (15:29 +0200)]
libcli/smb: make sure the writev_send of smbXcli_conn_samba_suicide() is removed before closing the socket

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agolibcli/smb: remove unused split of read_fd and write_fd
Stefan Metzmacher [Thu, 28 May 2015 11:22:19 +0000 (13:22 +0200)]
libcli/smb: remove unused split of read_fd and write_fd

The tevent epoll backend supports separate read and write tevent_fd structure
on a single fd, so there's no need for a dup() anymore.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agolibcli/smb: close the socket fd at the end of smbXcli_conn_disconnect()
Stefan Metzmacher [Thu, 28 May 2015 11:09:11 +0000 (13:09 +0200)]
libcli/smb: close the socket fd at the end of smbXcli_conn_disconnect()

We need to cancel all pending requests before closing the socket fds,
otherwise we cause problem with the interaction with the epoll event backend.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agolibcli/smb: use tevent_req_received(req) in read_smb_recv()
Stefan Metzmacher [Thu, 21 May 2015 20:29:55 +0000 (22:29 +0200)]
libcli/smb: use tevent_req_received(req) in read_smb_recv()

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agolib/async_req: remove the tevent_fd as early as possible via a wait_for_read_cleanup...
Stefan Metzmacher [Thu, 21 May 2015 20:28:14 +0000 (22:28 +0200)]
lib/async_req: remove the tevent_fd as early as possible via a wait_for_read_cleanup() hook

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agolib/async_req: remove the tevent_fd as early as possible via a read_packet_cleanup...
Stefan Metzmacher [Thu, 21 May 2015 20:28:14 +0000 (22:28 +0200)]
lib/async_req: remove the tevent_fd as early as possible via a read_packet_cleanup() hook

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agolib/async_req: use tevent_req_nomem/tevent_req_post in read_packet_send()
Stefan Metzmacher [Thu, 21 May 2015 20:28:14 +0000 (22:28 +0200)]
lib/async_req: use tevent_req_nomem/tevent_req_post in read_packet_send()

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agolib/async_req: s/result/req/ in read_packet_send()
Stefan Metzmacher [Thu, 21 May 2015 20:28:14 +0000 (22:28 +0200)]
lib/async_req: s/result/req/ in read_packet_send()

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agolib/async_req: remove the tevent_fd as early as possible via a writev_cleanup() hook
Stefan Metzmacher [Thu, 21 May 2015 20:28:14 +0000 (22:28 +0200)]
lib/async_req: remove the tevent_fd as early as possible via a writev_cleanup() hook

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agolib/async_req: simplify async_connect_* using a _cleanup() hook
Stefan Metzmacher [Thu, 21 May 2015 20:28:14 +0000 (22:28 +0200)]
lib/async_req: simplify async_connect_* using a _cleanup() hook

This makes sure we remove the tevent_fd as soon as possible
and always reset the old_sockflags.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agolib/async_req: s/result/req/ in async_connect_send()
Stefan Metzmacher [Fri, 5 Jun 2015 11:58:19 +0000 (13:58 +0200)]
lib/async_req: s/result/req/ in async_connect_send()

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agolib/async_req: remove unused sendto_{send,recv} and recvfrom_{send,recv}
Stefan Metzmacher [Thu, 21 May 2015 10:25:38 +0000 (12:25 +0200)]
lib/async_req: remove unused sendto_{send,recv} and recvfrom_{send,recv}

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agos3:libsmb: convert nb_trans_send/recv internals to tdgram
Stefan Metzmacher [Thu, 21 May 2015 02:43:27 +0000 (04:43 +0200)]
s3:libsmb: convert nb_trans_send/recv internals to tdgram

This simplifies/fixes the cleanup, because we need to remove any
tevent_fd object before closing the socket fd.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agos3:libsmb: convert nb_packet_reader to tstream_* functions
Stefan Metzmacher [Thu, 21 May 2015 00:18:26 +0000 (02:18 +0200)]
s3:libsmb: convert nb_packet_reader to tstream_* functions

By using the tstream abstraction we don't need to take care
error handling regarding dangling tevent_fd structures.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agos3:libsmb: convert nb_packet_client to tstream_* functions
Stefan Metzmacher [Wed, 20 May 2015 23:53:44 +0000 (01:53 +0200)]
s3:libsmb: convert nb_packet_client to tstream_* functions

By using the tstream abstraction we don't need to take care
error handling regarding dangling tevent_fd structures.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agos3:libsmb: let nb_packet_server_destructor() explicitly destroy the tevent_fd
Stefan Metzmacher [Thu, 21 May 2015 00:20:00 +0000 (02:20 +0200)]
s3:libsmb: let nb_packet_server_destructor() explicitly destroy the tevent_fd

The need to destroy the tevent_fd before closing the socket fd.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agos3:libsmb: remove pending requests as early as possible via a smbsock_any_connect_cle...
Stefan Metzmacher [Thu, 21 May 2015 01:01:30 +0000 (03:01 +0200)]
s3:libsmb: remove pending requests as early as possible via a smbsock_any_connect_cleanup() hook

Once we got an error or a valid connection we should destroy all other
connection attempts as early as possible.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agos3:libsmb: remove subreqs as early as possible via a smbsock_connect_cleanup() hook
Stefan Metzmacher [Thu, 21 May 2015 01:01:05 +0000 (03:01 +0200)]
s3:libsmb: remove subreqs as early as possible via a smbsock_connect_cleanup() hook

open_socket_out_send() or nb_connect_send() likely use socket fds and
tevent_fd objects. We should clean them up as early as possible.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agos3:libsmb: remove the cli_session_request as early as possible via a nb_connect_clean...
Stefan Metzmacher [Thu, 21 May 2015 01:00:17 +0000 (03:00 +0200)]
s3:libsmb: remove the cli_session_request as early as possible via a nb_connect_cleanup() hook

cli_session_request_send() is likely to use tevent_fd objects on the given
socket fd, so we need to destroy the request before closing the socket fd.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agos3:lib/addrchange: make use of tdgram_* in addrchange_*()
Stefan Metzmacher [Thu, 21 May 2015 10:17:24 +0000 (12:17 +0200)]
s3:lib/addrchange: make use of tdgram_* in addrchange_*()

This makes the cleanup handling easier to get right,
as we need to make sure any tevent_fd is removed before
closing a socket fd.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agos3:lib/addrchange: look at the correct nl_pid in addrchange_done()
Stefan Metzmacher [Fri, 5 Jun 2015 12:19:00 +0000 (14:19 +0200)]
s3:lib/addrchange: look at the correct nl_pid in addrchange_done()

state->fromaddr is the address we got from recvfrom_send/recv.

state->addr is completely untouched after tevent_req_create().

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agos3:lib/background: make sure we destroy a pending read_packet_send() before closing...
Stefan Metzmacher [Thu, 28 May 2015 11:31:17 +0000 (13:31 +0200)]
s3:lib/background: make sure we destroy a pending read_packet_send() before closing the pipe fd

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agos3:wscript: move lib/util_tsock.c from 'TLDAP' to 'samba3util'
Stefan Metzmacher [Thu, 21 May 2015 01:45:36 +0000 (03:45 +0200)]
s3:wscript: move lib/util_tsock.c from 'TLDAP' to 'samba3util'

tstream_read_packet_send/recv() is a generic helper function...

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
8 years agos4:libcli/raw: make sure smbcli_transport_connect_send/recv correctly cleanup on...
Stefan Metzmacher [Thu, 28 May 2015 12:25:27 +0000 (14:25 +0200)]
s4:libcli/raw: make sure smbcli_transport_connect_send/recv correctly cleanup on error

We need to make sure that we remove any pending writev_send or read_smb_send
request before closing the socket fd. As a side effect we always close the
socket fd if we don't return success for any any reason.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
8 years agolib/tsocket: add tdgram_inet_udp_broadcast_socket()
Stefan Metzmacher [Thu, 21 May 2015 09:39:38 +0000 (11:39 +0200)]
lib/tsocket: add tdgram_inet_udp_broadcast_socket()

This is similar to tdgram_inet_udp_socket(), but it allows
the use of ipv4 broadcast traffic.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
8 years agolib/tsocket: add tdgram_bsd_existing_socket() helper function
Stefan Metzmacher [Thu, 21 May 2015 09:37:06 +0000 (11:37 +0200)]
lib/tsocket: add tdgram_bsd_existing_socket() helper function

This is similar to tstream_bsd_existing_socket().
Both help to migrate strange code path to using the tstream or tdgram
abstractions.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
8 years agotevent.h: propose tstream_ versions of read_packet_send/recv and writev_send/recv
Stefan Metzmacher [Thu, 28 May 2015 07:32:26 +0000 (09:32 +0200)]
tevent.h: propose tstream_ versions of read_packet_send/recv and writev_send/recv

The functions operating on the raw file descriptor are for advanced callers,
which take extra care and avoid the problems of
https://bugzilla.samba.org/show_bug.cgi?id=11141.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
8 years agotevent/testsuite: make sure we cleanup tevent_fd structures in the correct order
Stefan Metzmacher [Fri, 29 May 2015 23:42:08 +0000 (01:42 +0200)]
tevent/testsuite: make sure we cleanup tevent_fd structures in the correct order

First we need to remove the tevent_fd structures without
tevent_fd_set_auto_close(). Closing the fd needs to be the last
thing...

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
8 years agoctdb-locking: move all auto_mark logic into process_callbacks()
Stefan Metzmacher [Tue, 2 Jun 2015 10:43:17 +0000 (12:43 +0200)]
ctdb-locking: move all auto_mark logic into process_callbacks()

The caller should not dereference lock_ctx after invoking
process_callbacks(), it might be destroyed already.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Autobuild-User(master): Amitay Isaacs <amitay@samba.org>
Autobuild-Date(master): Fri Jun 12 15:28:57 CEST 2015 on sn-devel-104

8 years agoctdb-locking: make process_callbacks() more robust
Stefan Metzmacher [Tue, 2 Jun 2015 10:39:17 +0000 (12:39 +0200)]
ctdb-locking: make process_callbacks() more robust

We should not dereference lock_ctx after invoking the callback
in the auto_mark == false case. The callback could have destroyed it.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
8 years agoctdb-locking: Add a comment to explain auto_mark usage
Amitay Isaacs [Tue, 2 Jun 2015 03:15:37 +0000 (13:15 +1000)]
ctdb-locking: Add a comment to explain auto_mark usage

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

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 years agoctdb-locking: Avoid resetting talloc destructor
Amitay Isaacs [Tue, 2 Jun 2015 01:25:44 +0000 (11:25 +1000)]
ctdb-locking: Avoid resetting talloc destructor

Let ctdb_lock_request_destructor() take care of the proper cleanup.
If the request if freed from the callback function, then the lock context
should not be freed.  Setting request->lctx to NULL takes care of that
in the destructor.

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

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 years agoctdb-locking: Avoid memory leak in the failure case
Amitay Isaacs [Tue, 2 Jun 2015 01:15:11 +0000 (11:15 +1000)]
ctdb-locking: Avoid memory leak in the failure case

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

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 years agoctdb-locking: Set destructor when lock_context is created
Amitay Isaacs [Mon, 1 Jun 2015 14:22:07 +0000 (00:22 +1000)]
ctdb-locking: Set destructor when lock_context is created

There is already code in the destructor to correctly remove it from the
pending or the active queue.  This also ensures that when lock context
is in pending queue and if the lock request gets freed, the lock context
is correctly removed from the pending queue.

Thanks to Stefan Metzmacher for noticing this and suggesting the fix.

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

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 years agoctdb-locking: Set the lock_ctx->request to NULL when request is freed
Stefan Metzmacher [Mon, 1 Jun 2015 14:15:11 +0000 (00:15 +1000)]
ctdb-locking: Set the lock_ctx->request to NULL when request is freed

The code was added to ctdb_lock_context_destructor() to ensure that
the if a lock_ctx gets freed first, the lock_request does not have a
dangling pointer.  However, the reverse is also true.  When a lock_request
is freed, then lock_ctx should not have a dangling pointer.

In commit 374cbc7b0ff68e04ee4e395935509c7df817b3c0, the code for second
condition was dropped causing a regression.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
8 years agoctdb-locking: Avoid memory corruption in ctdb_lock_context_destructor
Stefan Metzmacher [Tue, 26 May 2015 14:45:34 +0000 (16:45 +0200)]
ctdb-locking: Avoid memory corruption in ctdb_lock_context_destructor

If the lock request is freed from within the callback, then setting
lock_ctx->request to NULL in ctdb_lock_context_destructor will end up
corrupting memory.  In this case, lock_ctx->request could be reallocated
and pointing to something else.  This may cause unexpected abort trying
to dereference a NULL pointer.

So, set lock_ctx->request to NULL before processing callbacks.

This avoids the following valgrind problem.

==3636== Invalid write of size 8
==3636==    at 0x151F3D: ctdb_lock_context_destructor (ctdb_lock.c:276)
==3636==    by 0x58B3618: _talloc_free_internal (talloc.c:993)
==3636==    by 0x58AD692: _talloc_free_children_internal (talloc.c:1472)
==3636==    by 0x58AD692: _talloc_free_internal (talloc.c:1019)
==3636==    by 0x58AD692: _talloc_free (talloc.c:1594)
==3636==    by 0x15292E: ctdb_lock_handler (ctdb_lock.c:471)
==3636==    by 0x56A535A: epoll_event_loop (tevent_epoll.c:728)
==3636==    by 0x56A535A: epoll_event_loop_once (tevent_epoll.c:926)
==3636==    by 0x56A3826: std_event_loop_once (tevent_standard.c:114)
==3636==    by 0x569FFFC: _tevent_loop_once (tevent.c:533)
==3636==    by 0x56A019A: tevent_common_loop_wait (tevent.c:637)
==3636==    by 0x56A37C6: std_event_loop_wait (tevent_standard.c:140)
==3636==    by 0x11E03A: ctdb_start_daemon (ctdb_daemon.c:1320)
==3636==    by 0x118557: main (ctdbd.c:321)
==3636==  Address 0x9c5b660 is 96 bytes inside a block of size 120 free'd
==3636==    at 0x4C29D17: free (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==3636==    by 0x58B32D3: _talloc_free_internal (talloc.c:1063)
==3636==    by 0x58B3232: _talloc_free_children_internal (talloc.c:1472)
==3636==    by 0x58B3232: _talloc_free_internal (talloc.c:1019)
==3636==    by 0x58B3232: _talloc_free_children_internal (talloc.c:1472)
==3636==    by 0x58B3232: _talloc_free_internal (talloc.c:1019)
==3636==    by 0x58AD692: _talloc_free_children_internal (talloc.c:1472)
==3636==    by 0x58AD692: _talloc_free_internal (talloc.c:1019)
==3636==    by 0x58AD692: _talloc_free (talloc.c:1594)
==3636==    by 0x11EC30: daemon_incoming_packet (ctdb_daemon.c:844)
==3636==    by 0x136F4A: lock_fetch_callback (ctdb_ltdb_server.c:268)
==3636==    by 0x152489: process_callbacks (ctdb_lock.c:353)
==3636==    by 0x152489: ctdb_lock_handler (ctdb_lock.c:468)
==3636==    by 0x56A535A: epoll_event_loop (tevent_epoll.c:728)
==3636==    by 0x56A535A: epoll_event_loop_once (tevent_epoll.c:926)
==3636==    by 0x56A3826: std_event_loop_once (tevent_standard.c:114)
==3636==    by 0x569FFFC: _tevent_loop_once (tevent.c:533)
==3636==    by 0x56A019A: tevent_common_loop_wait (tevent.c:637)
==3636==    by 0x56A37C6: std_event_loop_wait (tevent_standard.c:140)
==3636==    by 0x11E03A: ctdb_start_daemon (ctdb_daemon.c:1320)
==3636==    by 0x118557: main (ctdbd.c:321)

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
8 years agodocs: Add missing SRVSVC entries in rpcclient manpage
Christof Schmitt [Thu, 11 Jun 2015 22:21:17 +0000 (15:21 -0700)]
docs: Add missing SRVSVC entries in rpcclient manpage

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Fri Jun 12 12:39:08 CEST 2015 on sn-devel-104

8 years agorpcclient: Add netsharesetdfsflags command
Christof Schmitt [Thu, 11 Jun 2015 22:03:41 +0000 (15:03 -0700)]
rpcclient: Add netsharesetdfsflags command

This allows setting the DFS flags through a NetShareSetInfo with info
level 1005.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agorpcclient: Add info level 1005 for netsharegetinfo
Christof Schmitt [Thu, 11 Jun 2015 20:55:15 +0000 (13:55 -0700)]
rpcclient: Add info level 1005 for netsharegetinfo

This allows querying the DFS flags and the csc policy. Also update the
usage info that ths share name is not optional and print the supported
info levels.

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agorpcclient: Add netsharedel command
Christof Schmitt [Thu, 11 Jun 2015 19:06:33 +0000 (12:06 -0700)]
rpcclient: Add netsharedel command

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agorpcclient: Add netshareadd command
Christof Schmitt [Thu, 11 Jun 2015 18:53:43 +0000 (11:53 -0700)]
rpcclient: Add netshareadd command

Signed-off-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
8 years agoKCC: use python 2.6 compatible dictonary comprehensions
Douglas Bagnall [Wed, 10 Jun 2015 23:11:06 +0000 (11:11 +1200)]
KCC: use python 2.6 compatible dictonary comprehensions

The `{k: v for k, v in whatever}` syntax is "new" in Python 2.7.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Fri Jun 12 09:46:13 CEST 2015 on sn-devel-104

8 years agoKCC: intrasite double_directed_ring test shouldn't include RODCs
Douglas Bagnall [Wed, 27 May 2015 06:04:15 +0000 (18:04 +1200)]
KCC: intrasite double_directed_ring test shouldn't include RODCs

RODCs don't belong in the ring. In practice, they don't really belong
in the same site as a ring, but that is another matter.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: use logger.critical rather than print >> sys.stderr
Douglas Bagnall [Fri, 15 May 2015 03:04:01 +0000 (15:04 +1200)]
KCC: use logger.critical rather than print >> sys.stderr

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: draw a site-edges graph for each partition
Douglas Bagnall [Fri, 15 May 2015 03:03:35 +0000 (15:03 +1200)]
KCC: draw a site-edges graph for each partition

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: use KccError, simplify logic in NTDSConn.commit_modified
Douglas Bagnall [Wed, 13 May 2015 03:36:09 +0000 (15:36 +1200)]
KCC: use KccError, simplify logic in NTDSConn.commit_modified

silence a pep8 thing.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: remove unused create_edge_set() function
Douglas Bagnall [Wed, 13 May 2015 02:43:29 +0000 (14:43 +1200)]
KCC: remove unused create_edge_set() function

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: ignore the bridges_required option
Douglas Bagnall [Wed, 13 May 2015 01:58:15 +0000 (13:58 +1200)]
KCC: ignore the bridges_required option

At least until we have SiteLinkBridges to test against.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: fix the polarity of bridges_required option
Douglas Bagnall [Wed, 13 May 2015 01:55:00 +0000 (13:55 +1200)]
KCC: fix the polarity of bridges_required option

If one of the *_BRIDGES_REQUIRED flags is set, bridges_required is
True.

We ignore this option anyway.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: remove a TODO with seemingly no basis in specification
Douglas Bagnall [Wed, 13 May 2015 01:33:51 +0000 (13:33 +1200)]
KCC: remove a TODO with seemingly no basis in specification

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: clarify setup-vertices docstring, remove TODO
Douglas Bagnall [Fri, 5 Jun 2015 00:14:12 +0000 (12:14 +1200)]
KCC: clarify setup-vertices docstring, remove TODO

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: note about the meaning of None in schedule types
Douglas Bagnall [Fri, 8 May 2015 04:38:42 +0000 (16:38 +1200)]
KCC: note about the meaning of None in schedule types

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: combine_repl_info() returns the combined replinfo
Douglas Bagnall [Wed, 10 Jun 2015 04:01:52 +0000 (16:01 +1200)]
KCC: combine_repl_info() returns the combined replinfo

Previously it returned False if there was no intersections (i.e,
the new repl_info duration was 0). Now the same check can be performed
by checking the duration directly.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Conflicts:
python/samba/kcc/graph.py

8 years agoKCC: remove unnecessary comment
Douglas Bagnall [Wed, 13 May 2015 03:09:03 +0000 (15:09 +1200)]
KCC: remove unnecessary comment

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: reword comment, removing unwarranted XXX
Douglas Bagnall [Wed, 13 May 2015 03:08:47 +0000 (15:08 +1200)]
KCC: reword comment, removing unwarranted XXX

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: remove an unwarranted XXX comment
Douglas Bagnall [Wed, 13 May 2015 03:08:06 +0000 (15:08 +1200)]
KCC: remove an unwarranted XXX comment

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: let kcc.graph.ReplInfo know its duration
Douglas Bagnall [Fri, 5 Jun 2015 00:35:39 +0000 (12:35 +1200)]
KCC: let kcc.graph.ReplInfo know its duration

This is going to lead to a few simplifications.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: docstring for kcc.graph.InternalEdge
Douglas Bagnall [Fri, 8 May 2015 02:53:41 +0000 (14:53 +1200)]
KCC: docstring for kcc.graph.InternalEdge

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: docstring for kcc.graph.MultiEdge
Douglas Bagnall [Fri, 8 May 2015 02:53:27 +0000 (14:53 +1200)]
KCC: docstring for kcc.graph.MultiEdge

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: docstring for kcc.graph.Vertex
Douglas Bagnall [Fri, 8 May 2015 02:53:16 +0000 (14:53 +1200)]
KCC: docstring for kcc.graph.Vertex

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: docstring for kcc.graph.VertexColour()
Douglas Bagnall [Fri, 8 May 2015 02:52:59 +0000 (14:52 +1200)]
KCC: docstring for kcc.graph.VertexColour()

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: docstring for kcc.graph.setup_graph()
Douglas Bagnall [Fri, 8 May 2015 02:52:41 +0000 (14:52 +1200)]
KCC: docstring for kcc.graph.setup_graph()

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>