summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/libnet/libnet_dssync.c2
-rw-r--r--source3/libnet/libnet_dssync.h1
-rw-r--r--source3/utils/net.c2
-rw-r--r--source3/utils/net.h1
-rw-r--r--source3/utils/net_rpc_samsync.c2
5 files changed, 7 insertions, 1 deletions
diff --git a/source3/libnet/libnet_dssync.c b/source3/libnet/libnet_dssync.c
index fa2bb2de14..cb8fa80ffa 100644
--- a/source3/libnet/libnet_dssync.c
+++ b/source3/libnet/libnet_dssync.c
@@ -410,7 +410,7 @@ static NTSTATUS libnet_dssync_process(TALLOC_CTX *mem_ctx,
goto out;
}
- if (old_utdv) {
+ if (!ctx->repl_nodiff && old_utdv) {
pcursors = &cursors;
ZERO_STRUCTP(pcursors);
diff --git a/source3/libnet/libnet_dssync.h b/source3/libnet/libnet_dssync.h
index 13a68de4c7..7869b1620a 100644
--- a/source3/libnet/libnet_dssync.h
+++ b/source3/libnet/libnet_dssync.h
@@ -36,6 +36,7 @@ struct dssync_context {
struct rpc_pipe_client *cli;
const char *nc_dn;
bool single;
+ bool repl_nodiff;
const char *object_dn;
struct policy_handle bind_handle;
DATA_BLOB session_key;
diff --git a/source3/utils/net.c b/source3/utils/net.c
index e90e8f0a0f..c1b68eceb0 100644
--- a/source3/utils/net.c
+++ b/source3/utils/net.c
@@ -652,6 +652,8 @@ static struct functable net_func[] = {
{"exclude", 'X', POPT_ARG_STRING, &c->opt_exclude},
{"destination", 0, POPT_ARG_STRING, &c->opt_destination},
{"tallocreport", 0, POPT_ARG_NONE, &c->do_talloc_report},
+ /* Options for 'net rpc vampire (keytab)' */
+ {"repl-nodiff", 0, POPT_ARG_NONE, &c->opt_repl_nodiff},
POPT_COMMON_SAMBA
{ 0, 0, 0, 0}
diff --git a/source3/utils/net.h b/source3/utils/net.h
index 4f59ff995c..34e34a758a 100644
--- a/source3/utils/net.h
+++ b/source3/utils/net.h
@@ -57,6 +57,7 @@ struct net_context {
const char *opt_destination;
int opt_testmode;
bool opt_kerberos;
+ int opt_repl_nodiff;
int opt_have_ip;
struct sockaddr_storage opt_dest_ip;
diff --git a/source3/utils/net_rpc_samsync.c b/source3/utils/net_rpc_samsync.c
index 11ada717da..1e477e3a09 100644
--- a/source3/utils/net_rpc_samsync.c
+++ b/source3/utils/net_rpc_samsync.c
@@ -296,6 +296,8 @@ static NTSTATUS rpc_vampire_keytab_ds_internals(struct net_context *c,
return status;
}
+ ctx->repl_nodiff = c->opt_repl_nodiff ? true : false;
+
if (argc >= 1) {
ctx->output_filename = argv[0];
}