nivanova/samba-autobuild/.git
8 years agoKCC: InternalEdge should know its sitelink
Douglas Bagnall [Wed, 6 May 2015 04:34:58 +0000 (16:34 +1200)]
KCC: InternalEdge should know its sitelink

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: use rep.is_default rather than non-existent part.is_default
Douglas Bagnall [Thu, 19 Mar 2015 03:50:11 +0000 (16:50 +1300)]
KCC: use rep.is_default rather than non-existent part.is_default

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: debugging changes
Douglas Bagnall [Thu, 19 Mar 2015 03:48:25 +0000 (16:48 +1300)]
KCC: debugging changes

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: add colouring for DSA link graphs
Douglas Bagnall [Thu, 19 Mar 2015 03:47:42 +0000 (16:47 +1300)]
KCC: add colouring for DSA link graphs

Red for RODC, blue otherwise.

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 fake guids in readonly mode
Douglas Bagnall [Thu, 19 Mar 2015 03:05:24 +0000 (16:05 +1300)]
KCC: Use fake guids in readonly mode

This is necessary because the connections need to look valid so they are
found when unnecesary connections are removed. The usual way is to query
the database for the guid.

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: beginning of --test-all-reps-from, exposing brokenness
Douglas Bagnall [Thu, 19 Mar 2015 01:26:16 +0000 (14:26 +1300)]
KCC: beginning of --test-all-reps-from, exposing brokenness

This should produce a list of repsFrom links from all DSAs, which together
should produce a nice graph.

samba_kcc --test-all-reps-from won't actually run, but the problems are
things it found rather than caused.

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: kcc.list_dsas() returns a list rather than prints it
Douglas Bagnall [Thu, 19 Mar 2015 01:22:42 +0000 (14:22 +1300)]
KCC: kcc.list_dsas() returns a list rather than prints it

This will be useful for the --test-all-reps-from option.

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: intrasite doesn't need a ring with < 3 nodes
Douglas Bagnall [Wed, 18 Mar 2015 23:07:29 +0000 (12:07 +1300)]
KCC: intrasite doesn't need a ring with < 3 nodes

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: intrasite graph only uses local DSAs
Douglas Bagnall [Wed, 18 Mar 2015 23:06:36 +0000 (12:06 +1300)]
KCC: intrasite graph only uses local DSAs

In the specs this is implied by the special definition of 'implies'.

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: post-Kruskal graph test only needs multi-edge-forest
Douglas Bagnall [Wed, 18 Mar 2015 23:04:40 +0000 (12:04 +1300)]
KCC: post-Kruskal graph test only needs multi-edge-forest

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: minor formatting changes
Douglas Bagnall [Wed, 18 Mar 2015 23:03:53 +0000 (12:03 +1300)]
KCC: minor formatting changes

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: move console colours from kcc_utils to graph_utils
Douglas Bagnall [Wed, 18 Mar 2015 23:03:08 +0000 (12:03 +1300)]
KCC: move console colours from kcc_utils to graph_utils

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: pep8 for ldif_utils.py
Douglas Bagnall [Thu, 9 Apr 2015 02:46:05 +0000 (14:46 +1200)]
KCC: pep8 for ldif_utils.py

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: move ldif import/export functions into their own module
Douglas Bagnall [Wed, 18 Mar 2015 21:46:47 +0000 (10:46 +1300)]
KCC: move ldif import/export functions into their own module

They might be of use elsewhere, and they are easily separable from the
KCC core.

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: rearrange samba_kcc entry point
Douglas Bagnall [Wed, 18 Mar 2015 21:42:37 +0000 (10:42 +1300)]
KCC: rearrange samba_kcc entry point

For locality, so that it becomes clearer which variables are used
where.

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: move import to top of file
Douglas Bagnall [Wed, 18 Mar 2015 20:29:00 +0000 (09:29 +1300)]
KCC: move import to top of file

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: add an option to list valid DSA dn_strs
Douglas Bagnall [Wed, 18 Mar 2015 05:24:52 +0000 (18:24 +1300)]
KCC: add an option to list valid DSA dn_strs

This makes testing a bit easier.

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 graph_utils: rename KCCGraphError, GraphError
Douglas Bagnall [Wed, 18 Mar 2015 05:23:06 +0000 (18:23 +1300)]
KCC graph_utils: rename KCCGraphError, GraphError

In case it gets used elsewhere.

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: try graphing edges in colour for partition type
Douglas Bagnall [Wed, 18 Mar 2015 05:22:14 +0000 (18:22 +1300)]
KCC: try graphing edges in colour for partition type

It doesn't add much.

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: shift graph plotting and verification into a separate module
Douglas Bagnall [Wed, 18 Mar 2015 04:17:02 +0000 (17:17 +1300)]
KCC: shift graph plotting and verification into a separate module

These might possibly be useful outside the KCC context, and the don't
rely on the rest of kcc_utils.

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: improved documentation for verify_graph_directed_double_ring
Douglas Bagnall [Wed, 18 Mar 2015 04:00:07 +0000 (17:00 +1300)]
KCC: improved documentation for verify_graph_directed_double_ring

The actual function is still somewhat broken.

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: more graph verification: repsFrom
Douglas Bagnall [Wed, 18 Mar 2015 03:58:29 +0000 (16:58 +1300)]
KCC: more graph verification: repsFrom

Some of these graphs are wrong headed and broken

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: the commit that mops up stray comments
Douglas Bagnall [Wed, 18 Mar 2015 01:27:50 +0000 (14:27 +1300)]
KCC: the commit that mops up stray comments

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: add --attempt-live-connections to verify real life links
Douglas Bagnall [Wed, 18 Mar 2015 01:24:07 +0000 (14:24 +1300)]
KCC: add --attempt-live-connections to verify real life links

The spec makes these connections in a couple of places. That makes no
sense in our main testing environment which is a samba database
pretending to be a network.

The default should be changed to True when failed link detection is
implemented.

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: make --verify graph errors fatal
Douglas Bagnall [Wed, 18 Mar 2015 01:23:21 +0000 (14:23 +1300)]
KCC: make --verify graph errors fatal

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: attempt to use correct verification tests for graphs
Douglas Bagnall [Tue, 17 Mar 2015 22:33:53 +0000 (11:33 +1300)]
KCC: attempt to use correct verification tests for graphs

Before they were liberally assigned because the failures were as
interesting as the passes.

Also add a stub for the forest_of_rings test.

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: debug nc_type by name rather than enum number
Douglas Bagnall [Tue, 17 Mar 2015 22:30:14 +0000 (11:30 +1300)]
KCC: debug nc_type by name rather than enum number

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: sitelink graph is undirected
Douglas Bagnall [Wed, 20 May 2015 00:19:02 +0000 (12:19 +1200)]
KCC: sitelink graph is undirected

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 ndr_pack for connection GUID comparisons
Douglas Bagnall [Mon, 16 Mar 2015 22:58:00 +0000 (11:58 +1300)]
KCC: use ndr_pack for connection GUID comparisons

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: consistently use ndr_pack() for DSA GUID comparisons
Douglas Bagnall [Mon, 16 Mar 2015 22:57:22 +0000 (11:57 +1300)]
KCC: consistently use ndr_pack() for DSA GUID comparisons

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 ndrpack(GUID) sorting for all graph vertex operations
Douglas Bagnall [Mon, 16 Mar 2015 22:50:02 +0000 (11:50 +1300)]
KCC: Use ndrpack(GUID) sorting for all graph vertex operations

For intrasite rings, DSA GUIDs are sorted by their ndr_pack
representation, not their string/as-if-128-bit-int representation.

Supposing some consistency across KCC, the graph vertex guids might be
compared the same way. But we don't yet know for sure.

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: reduce brokenness of --import-lidf
Andrew Bartlett [Wed, 6 May 2015 04:11:35 +0000 (16:11 +1200)]
kcc: reduce brokenness of --import-lidf

It still doesn't combine well with --forced-local-dsa, due it seems to
pervasive fragile cross-dependencies within the ldb system.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-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: skip looking for extra edges if we have enough
Douglas Bagnall [Fri, 13 Mar 2015 00:56:55 +0000 (13:56 +1300)]
KCC: skip looking for extra edges if we have enough

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: do not skip unrelated edges when rodc topology is found
Douglas Bagnall [Fri, 13 Mar 2015 00:53:51 +0000 (13:53 +1300)]
KCC: do not skip unrelated edges when rodc topology is found

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: A whole lot of debugging and other non-functional changes
Douglas Bagnall [Fri, 13 Mar 2015 03:40:11 +0000 (16:40 +1300)]
KCC: A whole lot of debugging and other non-functional changes

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: sort guids by ndr_pack representation
Douglas Bagnall [Fri, 13 Mar 2015 03:39:00 +0000 (16:39 +1300)]
kcc: sort guids by ndr_pack representation

This gives the correct rings in intrasite.

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: rewrite random intrasite connection addition for clarity
Douglas Bagnall [Thu, 12 Mar 2015 04:08:55 +0000 (17:08 +1300)]
KCC: rewrite random intrasite connection addition for clarity

And add debug messages. No change in results though.

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: intrasite_post_ntdscon is directed
Douglas Bagnall [Thu, 12 Mar 2015 02:56:30 +0000 (15:56 +1300)]
KCC: intrasite_post_ntdscon is directed

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: add NC identifiers to dot file names
Douglas Bagnall [Thu, 12 Mar 2015 01:47:51 +0000 (14:47 +1300)]
KCC: add NC identifiers to dot file names

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: stub for check of 1 or 2 node or double ring directed graph
Douglas Bagnall [Thu, 12 Mar 2015 01:44:54 +0000 (14:44 +1300)]
KCC: stub for check of 1 or 2 node or double ring directed graph

1 node graphs might have no directed edges.
2 node graphs might only have one pair.

I think I have seen this behaviour but I can't remember where.

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: Interpret msDS-hasMasterNCs as hasMasterNCs
Garming Sam [Thu, 12 Mar 2015 01:44:34 +0000 (14:44 +1300)]
kcc: Interpret msDS-hasMasterNCs as hasMasterNCs

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: Fix original script for inverted logic
Garming Sam [Wed, 11 Mar 2015 23:13:36 +0000 (12:13 +1300)]
KCC: Fix original script for inverted logic

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: rename "fully_connected" check, "complete"
Douglas Bagnall [Wed, 11 Mar 2015 23:00:03 +0000 (12:00 +1300)]
KCC: rename "fully_connected" check, "complete"

We also change some of the graphs to do only the relevent validations.

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: write_dot_graph prints filename in --debug mode
Douglas Bagnall [Wed, 11 Mar 2015 22:56:59 +0000 (11:56 +1300)]
KCC: write_dot_graph prints filename in --debug mode

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: Set option --readonly to default to False
Douglas Bagnall [Wed, 11 Mar 2015 21:25:03 +0000 (10:25 +1300)]
KCC: Set option --readonly to default to False

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: add directed double ring verification
Douglas Bagnall [Wed, 11 Mar 2015 21:21:42 +0000 (10:21 +1300)]
KCC: add directed double ring verification

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: add an option to list the graph verification options
Douglas Bagnall [Wed, 11 Mar 2015 21:19:51 +0000 (10:19 +1300)]
KCC: add an option to list the graph verification options

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: comment noting the progression of edge limit calculation
Douglas Bagnall [Wed, 11 Mar 2015 03:29:16 +0000 (16:29 +1300)]
KCC: comment noting the progression of edge limit calculation

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: add a wider range of colour DEBUG messages
Douglas Bagnall [Wed, 11 Mar 2015 03:23:55 +0000 (16:23 +1300)]
KCC: add a wider range of colour DEBUG messages

and use them in a couple of places, for no good reason.

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: add graph verification at all dot file points
Douglas Bagnall [Wed, 11 Mar 2015 03:22:43 +0000 (16:22 +1300)]
KCC: add graph verification at all dot file points

The tests are not yet relevant.

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: add an option to verify graph properties
Douglas Bagnall [Wed, 11 Mar 2015 00:53:38 +0000 (13:53 +1300)]
KCC: add an option to verify graph properties

Any function with a name in the form "verify_graph_FOO" will be available
as a graph verification option (with the property name "FOO"). The
signature is "verify_graph_FOO(edges, vertices, edge_vertices)", where
edge_vertices is the set of vertices found on the edges, while vertices
is the set of vertices given to verify_graph (or a copy of
edge_vertices if no such set was given).

This makes it easier to add new tests without making the function too
unwieldy.

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 agos3-libsmbclient: change vnum to 0.2.2
David Disseldorp [Mon, 25 May 2015 13:18:44 +0000 (15:18 +0200)]
s3-libsmbclient: change vnum to 0.2.2

To reflect new splice ABI.

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri May 29 05:30:06 CEST 2015 on sn-devel-104

8 years agos3: libsmbclient: Add server-side copy support
Ross Lagerwall [Wed, 27 May 2015 22:13:15 +0000 (23:13 +0100)]
s3: libsmbclient: Add server-side copy support

Introduce a new operation, splice, which copies data from one SMBCFILE
to another. Implement this operation using FSCTL_SRV_COPYCHUNK_WRITE for
SMB2+ protocols and using read+write for older protocols. Since the
operation may be long running, it takes a callback which gets called
periodically to indicate progress to the application and given an
opportunity to stop it.

Signed-off-by: Ross Lagerwall <rosslagerwall@gmail.com>
Reviewed-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
8 years agos4:torture:smb2:compound: compound read and padding
Ralph Boehme [Thu, 14 May 2015 02:27:54 +0000 (04:27 +0200)]
s4:torture:smb2:compound: compound read and padding

Add test to check that compound read responses are padded to an 8 byte
boundary.

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

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Thu May 28 16:50:39 CEST 2015 on sn-devel-104

8 years agos3:smb2: add padding to last command in compound requests
Ralph Boehme [Thu, 28 May 2015 07:02:17 +0000 (09:02 +0200)]
s3:smb2: add padding to last command in compound requests

Following Windows behaviour, the last command in a compound request
should be padded to an 8 byte boundary and OS X clients crash badly if
we don't pad.

[MS-SMB2] 3.3.4.1.3, "Sending Compounded Responses", doesn't make it
clear whether the padding requirement governs the last command in a
compound response, a future MS-SMB2 update will document Windwows
product behaviour in a footnote.

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

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

Signed-off-by: Ralph Boehme <slow@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
8 years agomessages_ctdb: Use message_hdr_[get/put]
Volker Lendecke [Mon, 25 May 2015 17:59:22 +0000 (17:59 +0000)]
messages_ctdb: Use message_hdr_[get/put]

This also avoids the message copy when sending to ctdb by
using ctdbd_messaging_send_iov

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Thu May 28 14:00:29 CEST 2015 on sn-devel-104

8 years agomessaging: Remove an unused variable
Volker Lendecke [Mon, 25 May 2015 17:50:46 +0000 (17:50 +0000)]
messaging: Remove an unused variable

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 years agoctdbd_conn: Introduce ctdbd_messaging_send_iov()
Volker Lendecke [Mon, 25 May 2015 06:50:35 +0000 (08:50 +0200)]
ctdbd_conn: Introduce ctdbd_messaging_send_iov()

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 years agomessaging: Make messaging_dispatch_rec static
Volker Lendecke [Sun, 24 May 2015 19:25:56 +0000 (21:25 +0200)]
messaging: Make messaging_dispatch_rec static

It's not needed in ctdbd_conn.c anymore

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 years agomessaging: With dgm_ref, don't destroy the dgm ctx
Volker Lendecke [Fri, 22 May 2015 16:40:25 +0000 (18:40 +0200)]
messaging: With dgm_ref, don't destroy the dgm ctx

Since we use messaging_dgm_ref, we must rely on that to destroy the dgm
context when the last reference goes.

This is a real bugfix in case we have multiple messaging contexts.

I'm not sure if we should move towards just one single messaging context
per process, just like we have it for the dgm context.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 years agoctdbd_conn: ctdb_handle_message does not need msg_ctx
Volker Lendecke [Wed, 20 May 2015 15:59:53 +0000 (17:59 +0200)]
ctdbd_conn: ctdb_handle_message does not need msg_ctx

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 years agoctdbd_conn: Move ndr marshalling to messages_ctdb.c
Volker Lendecke [Wed, 20 May 2015 09:17:25 +0000 (11:17 +0200)]
ctdbd_conn: Move ndr marshalling to messages_ctdb.c

The inter-node message format belongs into messages_ctdb, not into the
generic ctdb connection layer

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 years agoctdbd_conn: simplify ctdbd_register_ips
Volker Lendecke [Wed, 20 May 2015 06:12:46 +0000 (08:12 +0200)]
ctdbd_conn: simplify ctdbd_register_ips

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 years agoctdbd_conn: Move ctdbd_register_reconfigure to a callback
Volker Lendecke [Tue, 19 May 2015 20:15:57 +0000 (22:15 +0200)]
ctdbd_conn: Move ctdbd_register_reconfigure to a callback

Move functionality out of ctdbd_conn to its right place into smbd

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 years agoctdbd_conn: Move message handling out of ctdbd_conn.c
Volker Lendecke [Tue, 19 May 2015 14:55:32 +0000 (16:55 +0200)]
ctdbd_conn: Move message handling out of ctdbd_conn.c

This also removes the deferred message handling. It's no longer required,
because the messaging_send_iov_from always goes through the kernel which
takes at least one round through tevent.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 years agoctdbd_conn: Call back when we get a msg
Volker Lendecke [Tue, 19 May 2015 13:07:33 +0000 (15:07 +0200)]
ctdbd_conn: Call back when we get a msg

This activates the callbacks just added

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 years agoctdbd_conn: Add callback args to register_with_ctdbd
Volker Lendecke [Tue, 19 May 2015 05:05:24 +0000 (07:05 +0200)]
ctdbd_conn: Add callback args to register_with_ctdbd

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 years agoctdbd_conn: Add callback fields for registered serverids
Volker Lendecke [Tue, 19 May 2015 05:01:55 +0000 (07:01 +0200)]
ctdbd_conn: Add callback fields for registered serverids

The idea is to move message handling out of ctdbd_conn

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 years agomessaging: Register a tevent context for secondary dgm refs
Volker Lendecke [Mon, 18 May 2015 11:15:35 +0000 (13:15 +0200)]
messaging: Register a tevent context for secondary dgm refs

When a secondary messaging context is initialized, we need to register
its tevent context with the lower level dgm context. Seen when using
smbstatus with clustering.

The TALLOC_FREE(r->tevent_handle) in the destructor might not be
necessary, but I want to free the tevent reference before
the context goes away.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 years agoctdbd_conn: Use read_data()
Volker Lendecke [Sun, 17 May 2015 18:23:35 +0000 (20:23 +0200)]
ctdbd_conn: Use read_data()

This is a much smaller dependency than read_data_ntstatus

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
8 years agoKCC: more pythonic expression in select_istg
Douglas Bagnall [Fri, 6 Mar 2015 04:59:14 +0000 (17:59 +1300)]
KCC: more pythonic expression in select_istg

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): Thu May 28 10:14:12 CEST 2015 on sn-devel-104

8 years agoKCC: Write out more DOT files and debug
Douglas Bagnall [Wed, 22 Apr 2015 23:46:09 +0000 (11:46 +1200)]
KCC: Write out more DOT files and debug

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: Comment noting verbose nature of construct_intrasite_graph()
Douglas Bagnall [Wed, 22 Apr 2015 23:45:33 +0000 (11:45 +1200)]
KCC: Comment noting verbose nature of construct_intrasite_graph()

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
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: Add comments regarding time handling
Douglas Bagnall [Thu, 23 Apr 2015 00:16:36 +0000 (12:16 +1200)]
KCC: Add comments regarding time handling

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: add --forced-local-dsa option for changing local dsa
Andrew Bartlett [Wed, 22 Apr 2015 23:44:12 +0000 (11:44 +1200)]
KCC: add --forced-local-dsa option for changing local dsa

For testing it is useful to pretend a DSA is local against the preferences
of the database.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
8 years agoKCC: add comments, idiomatic changes to intrasite_graph code
Douglas Bagnall [Fri, 6 Mar 2015 02:32:27 +0000 (15:32 +1300)]
KCC: add comments, idiomatic changes to intrasite_graph code

Using `x in foo_dict.keys()` is the same as `x in foo_dict`, except it
is O(n) instead of O(1) and is not the way things are done in Python.

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: improve log legibility with colour; make more dot graphs
Douglas Bagnall [Fri, 6 Mar 2015 02:28:29 +0000 (15:28 +1300)]
KCC: improve log legibility with colour; make more dot graphs

To see the colours in less, use -R.

  bin/samba_kcc --debug  -H whatever/sam.ldb | less -R

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: helper function to find config NC replica for a DSA
Douglas Bagnall [Fri, 6 Mar 2015 02:17:24 +0000 (15:17 +1300)]
KCC: helper function to find config NC replica for a DSA

This logic is going to be used elsewhere (for dot debugging).

Also add a dedicated KCC Exception class.

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 agosamba_kcc: try to implement rep deletion in translate_ntdsconn()
Douglas Bagnall [Thu, 5 Mar 2015 04:30:34 +0000 (17:30 +1300)]
samba_kcc: try to implement rep deletion in translate_ntdsconn()

The trouble is it does nothing in our test case as there are no reps
that need deleting.

Also adding some tidy-ups and pointers to the reference.

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 more pythonic construct for get_current_replica
Douglas Bagnall [Thu, 5 Mar 2015 04:26:53 +0000 (17:26 +1300)]
KCC: use more pythonic construct for get_current_replica

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: Reduce code verbosity in dumpstr_* functions
Douglas Bagnall [Thu, 5 Mar 2015 01:53:55 +0000 (14:53 +1300)]
kcc: Reduce code verbosity in dumpstr_* functions

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: add labels to dot files
Douglas Bagnall [Wed, 4 Mar 2015 22:50:24 +0000 (11:50 +1300)]
kcc: add labels to dot files

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: highlight our deviation from the spec in color_vertices
Douglas Bagnall [Wed, 4 Mar 2015 22:46:39 +0000 (11:46 +1300)]
KCC: highlight our deviation from the spec in color_vertices

The documentation didn't make much sense.

Worked out by Garming.

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 agosamba_kcc: add an option to set assumed current time
Douglas Bagnall [Wed, 4 Mar 2015 22:40:55 +0000 (11:40 +1300)]
samba_kcc: add an option to set assumed current time

The KCC algorithm contains a timeouts in a couple of places, and we
need to be able to set the time for testing these.

This also means samba_kcc uses the same time in all places.

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: Create Graphviz dot files showing network topology
Douglas Bagnall [Fri, 27 Feb 2015 05:21:19 +0000 (18:21 +1300)]
KCC: Create Graphviz dot files showing network topology

This tries to record some information about what the graph is (e.g
which partition), though it is not very readable.

Pair-programmed-with: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agoKCC: correct the comparison for lost link timeout
Douglas Bagnall [Wed, 4 Mar 2015 00:05:37 +0000 (13:05 +1300)]
KCC: correct the comparison for lost link timeout

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: Add a TODO for is_bridgehead_failed
Garming Sam [Fri, 13 Mar 2015 03:22:18 +0000 (16:22 +1300)]
kcc: Add a TODO for is_bridgehead_failed

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agokcc: add some more debug messages
Garming Sam [Fri, 13 Mar 2015 03:21:44 +0000 (16:21 +1300)]
kcc: add some more debug messages

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agokcc: correctly calculate the number of components
Garming Sam [Fri, 13 Mar 2015 03:21:02 +0000 (16:21 +1300)]
kcc: correctly calculate the number of components

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agokcc: Export extended_dn to be used by import
Garming Sam [Fri, 13 Mar 2015 03:20:37 +0000 (16:20 +1300)]
kcc: Export extended_dn to be used by import

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agokcc: Make debugging slightly clearer
Garming Sam [Fri, 13 Mar 2015 03:17:42 +0000 (16:17 +1300)]
kcc: Make debugging slightly clearer

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agokcc: Use remote vertex instead of local vertex in getting bridgehead
Garming Sam [Fri, 13 Mar 2015 03:14:20 +0000 (16:14 +1300)]
kcc: Use remote vertex instead of local vertex in getting bridgehead

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agokcc: Use correct parent in kruskal algorithm
Garming Sam [Fri, 27 Feb 2015 05:20:38 +0000 (18:20 +1300)]
kcc: Use correct parent in kruskal algorithm

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agokcc: Remove unused is_sitelink call
Garming Sam [Tue, 24 Feb 2015 01:14:33 +0000 (14:14 +1300)]
kcc: Remove unused is_sitelink call

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agokcc: Remove DN translation for Site GUID
Garming Sam [Tue, 24 Feb 2015 01:13:52 +0000 (14:13 +1300)]
kcc: Remove DN translation for Site GUID

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agokcc: Factor out MAX_DWORD
Garming Sam [Mon, 23 Feb 2015 22:44:11 +0000 (11:44 +1300)]
kcc: Factor out MAX_DWORD

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agokcc: convert identification of sites from DN to GUID
Garming Sam [Mon, 23 Feb 2015 22:04:58 +0000 (11:04 +1300)]
kcc: convert identification of sites from DN to GUID

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agokcc: remove unnecessary find site link code
Garming Sam [Mon, 23 Feb 2015 21:48:34 +0000 (10:48 +1300)]
kcc: remove unnecessary find site link code

This code was originally used to form n-to-n replication.

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agokcc: Convert transport identification from DN to GUID
Garming Sam [Mon, 23 Feb 2015 02:06:41 +0000 (15:06 +1300)]
kcc: Convert transport identification from DN to GUID

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
8 years agokcc: Start using proper GUIDs for comparison
Garming Sam [Mon, 23 Feb 2015 01:28:34 +0000 (14:28 +1300)]
kcc: Start using proper GUIDs for comparison

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