summaryrefslogtreecommitdiff
path: root/source3/libnet/libnet_dssync.c
AgeCommit message (Collapse)AuthorFilesLines
2008-08-07Fix "might be used uninitialized" warnings.Jeremy Allison1-3/+3
Jeremy. (This used to be commit 5abd12eec1c9b6d30af5ec1ba16c0922e78d5bea)
2008-08-01libnet dssync: start memory allocation cleanup: use tmp ctx in libnet_dssync().Michael Adam1-2/+9
Don't leak temporary data to callers but use a temporary context that is freed at the end. Michael (This used to be commit 2d98ad57f56ddd4318bc721929a3ca9ede189a25)
2008-08-01libnet dssync: fix memory allocation for error/result messages.Michael Adam1-7/+7
Use the libnet_dssync_context as a talloc context for the result_message and error_message string members. Using the passed in mem_ctx makes the implicit assumption that mem_ctx is at least as long-lived as the libnet_dssync_context, which is wrong. Michael (This used to be commit 635baf6b7d2a1822ceb48aa4bc47569ef19d51cc)
2008-08-01libnet dssync: add my C after dssync keytab changes.Michael Adam1-0/+1
Michael (This used to be commit 9391aec8d4600c685b14d3cd1624f8758f2cc80d)
2008-08-01dssync: add clean_old_entries flag to dssync_ctx.Michael Adam1-0/+1
Initialize it to false. And pass it down to the libnet_keytab context in libnet_dssync_keytab.c:keytab_startup(). Unused yet. Michael Note: This might not be not 100% clean design to put this into the toplevel dssync context while it is keytab specific. But then, on the other hand, other imaginable backends might want to use this flag, too... (This used to be commit 12e884f227e240860e49f9e41d8c1f45e10ad3be)
2008-08-01libnet dssync: rename flag single to single_object_replicationMichael Adam1-6/+12
So that it is more obvious what this controls. Michael (This used to be commit 2360f0a19f0fb89798b814a02cfca335a4a35b6d)
2008-08-01libnet dssync: rename repl_nodiff flag to force_full_replication.Michael Adam1-1/+1
Michael (This used to be commit ec959b4609c3f4927a9f2811c46d738f9c78a914)
2008-08-01libnet dssync: support lists of dns (instead of one dn) for single object ↵Michael Adam1-16/+24
replication. Just specify several DNs separated by spaces on the command line of "net rpc vampire keytab" to get the passwords for each of these accouns via single object replication. Michael (This used to be commit 6e53dc2db882d88470be5dfa1155b420fac8e6c5)
2008-08-01libnet dssync: move determination of request level into build_request()Michael Adam1-10/+15
...where it belongs. Michael (This used to be commit 012b33f1c52df086e4f20e7494248d98fbced76a)
2008-08-01libnet dssync: refactor dsgetncchanges loop out into ↵Michael Adam1-59/+80
libnet_dssync_getncchanges(). Michael (This used to be commit 93cda1aa0a627e81eff46547b247801aec2880a3)
2008-08-01libnet dssync: fix single object replication by adding one check.Michael Adam1-1/+1
Before, this used the old uptodate vector in the request... Michael (This used to be commit 04fb9322d5f52d5cb3d9fe2a95dbfb2481ab7f9d)
2008-08-01libnet dssync: simplify logic of libnet_dssync_process() main loop.Michael Adam1-83/+64
Untangle parsing of results and processing. Make loop logic more obvious. Call finishing operation after the loop, not inside. Michael (This used to be commit 47c8b3391cb1bb9656f93b55f9ea39c78b74ed36)
2008-08-01libnet dssync: refactor creation of request out into new functionMichael Adam1-64/+122
libnet_dssync_build_request(). Michael (This used to be commit d745c1af405058ec23d7d0c139505576a99f9057)
2008-08-01vampire keytab: add switch --repl-nodiff to trigger full replication.Michael Adam1-1/+1
I.e. replication without keeping track of the up to date vector. Michael (This used to be commit d4b36e447bce8692416e132ab9f53a6282f54cac)
2008-08-01dssync: allow replications of a single obj with net rpc vampire keytab.Michael Adam1-6/+26
This is triggered by setting the new "single" flag in the dssync_context and filling the "object_dn" member with the dn of the object to be fetched. This call is accomplished by specifying the DRSUAPI_EXOP_REPL_OBJ extended operation in the DsGetNCCHanges request. This variant does honor an up-to-date-ness vectore passed in, but the answer does not return a new up-to-dateness vector. Call this operation as "net rpc vampire keytab /path/keytab object_dn" . Michael (This used to be commit f4a01178a3d8d71f416a3b67ce6b872420f211c0)
2008-08-01dssync: pass uptodateness vector into and out of DsGetNCChanges request.Michael Adam1-2/+42
Also store the new uptodateness vector in the backend after completion and retrieve the old vector before sending the DsGetNCChanges request. This effectively accomplishes differential replication. Michael (This used to be commit a2a88808df16d153f45337b740391d419d87e87a)
2008-08-01dssync: either use the req5 or the req8 request, depending on the ↵Michael Adam1-8/+24
supported_extenstion that have been recorded in the remote_info28 in the dssync_context. Michael (This used to be commit 3a2a69137e69c4bd0faa6af22d17e11dac022049)
2008-08-01dssync: record the bind info in the new remote_info28 in libnet_dssync_bind().Michael Adam1-0/+29
This extracts the info24 data in case this is what was returned (instead of info28). E.g. windows 2000 returns info24. Michael (This used to be commit 61b41aa615d5d46305653845584df7b1803f07ec)
2008-08-01dssync keytab: add support for keeping track of the up-to-date-ness vector.Michael Adam1-2/+2
The startup operation should get the old up-to-date-ness vector from the backend and the finish operation should store the new vector to the backend after replication. This adds the change of the signatures of the operations ot the dssync_ops struct and the implementation for the keytab ops. The up-to-date-ness vector is stored under the principal constructed as UTDV/$naming_context_dn@$dns_domain_name. The vector is still uninterpreted in libnet_dssync_process(). This will be the next step... This code is essentially by Metze. Michael (This used to be commit 01318fb27a1aa9e5fed0d4dd882a123ab568ac37)
2008-08-01dssync: replace the processing_fn by startup/process/finish ops.Michael Adam1-12/+24
This remove static a variable for the keytab context in the keytab processing function and simplifies the signature. The keytab context is instead in the new private data member of the dssync_context struct. This is in preparation of adding support for keeping track of the up-to-date-ness vector, in order to be able to sync diffs instead of the whole database. Michael (This used to be commit c51c3339f35e3bd921080d2e226e2422fc23e1e6)
2008-07-22Change occurrences of the u1 member of DsBindInfo* to pid after idl change.Michael Adam1-1/+1
Michael (This used to be commit 42f3d681cac4a443347d1ed253848d45f8746f89)
2008-07-18dssync: fix missing prototype warning by including the proper header.Michael Adam1-1/+1
Michael (This used to be commit 7d7b63e89bb2a067783362a24d81e44e0d67e2ec)
2008-07-16libnet_dssync: use ctr[1|6]->more_dataStefan Metzmacher1-2/+2
metze (This used to be commit 6b7ddb6d664f5f3b62161cdb3abf12633b263a64)
2008-06-27libnet_dssync: add last_query flag to processing routine.Günther Deschner1-4/+16
Guenther (This used to be commit 22bdee7fe0cdcd95e0bade70cacb095e0b348abf)
2008-06-27libnet_dssync: add output filename and dns_domain_name to dssync struct.Günther Deschner1-0/+6
Guenther (This used to be commit c16e1820f86f105853aa855eda322ba6cbff3a84)
2008-06-26libnet_dssync: pass down drsuapi_DsReplicaOIDMapping_Ctr to callback.Günther Deschner1-0/+2
Guenther (This used to be commit cbff970facae295650742d12768f23c7f67380a6)
2008-06-26libnet_dssync: always decrypt attributes before passing them to the ↵Günther Deschner1-0/+127
processing routine. Guenther (This used to be commit 6eedd167e77969e2ab7d5abe7311de62fc413d17)
2008-06-26net_vampire: add some error output to libnet_dssync.Günther Deschner1-1/+16
Guenther (This used to be commit 891d4cca0ca5ccb075940517af25f3760a315219)
2008-06-25rpc_client: let cli_get_session_key() return talloced session key.Günther Deschner1-1/+1
Thanks, Volker, for pointing this out. Guenther (This used to be commit b47899195e0c190445953243fe80da4e92994dd1)
2008-06-24net_vampire: add basic libnet_dssync() infrastructure.Günther Deschner1-0/+353
Guenther (This used to be commit 9486e532da602da587769d4ff8a1a2825e541a30)