summaryrefslogtreecommitdiff
path: root/source3/libnet/libnet_dssync.c
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2009-04-01 16:55:53 +0200
committerGünther Deschner <gd@samba.org>2009-04-01 16:58:48 +0200
commit264b28ec0962c355ee90f9ac67fcf07cd84c5c7b (patch)
tree02b7daac0fd00976609a8b5e36554f3f5e23bfc6 /source3/libnet/libnet_dssync.c
parent7ce1356c9f571c55af70bd6b966fe50898c1582d (diff)
downloadsamba-264b28ec0962c355ee90f9ac67fcf07cd84c5c7b.tar.gz
samba-264b28ec0962c355ee90f9ac67fcf07cd84c5c7b.tar.bz2
samba-264b28ec0962c355ee90f9ac67fcf07cd84c5c7b.zip
s3-libnet: only call libnet_dssync_process() startup and shutdown callbacks when filled in.
Guenther
Diffstat (limited to 'source3/libnet/libnet_dssync.c')
-rw-r--r--source3/libnet/libnet_dssync.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/source3/libnet/libnet_dssync.c b/source3/libnet/libnet_dssync.c
index 81866c85ba..746b09635d 100644
--- a/source3/libnet/libnet_dssync.c
+++ b/source3/libnet/libnet_dssync.c
@@ -649,12 +649,14 @@ static NTSTATUS libnet_dssync_process(TALLOC_CTX *mem_ctx,
uint32_t dn_count;
uint32_t count;
- status = ctx->ops->startup(ctx, mem_ctx, &old_utdv);
- if (!NT_STATUS_IS_OK(status)) {
- ctx->error_message = talloc_asprintf(ctx,
- "Failed to call startup operation: %s",
- nt_errstr(status));
- goto out;
+ if (ctx->ops->startup) {
+ status = ctx->ops->startup(ctx, mem_ctx, &old_utdv);
+ if (!NT_STATUS_IS_OK(status)) {
+ ctx->error_message = talloc_asprintf(ctx,
+ "Failed to call startup operation: %s",
+ nt_errstr(status));
+ goto out;
+ }
}
if (ctx->single_object_replication && ctx->object_dns) {
@@ -684,12 +686,14 @@ static NTSTATUS libnet_dssync_process(TALLOC_CTX *mem_ctx,
}
}
- status = ctx->ops->finish(ctx, mem_ctx, pnew_utdv);
- if (!NT_STATUS_IS_OK(status)) {
- ctx->error_message = talloc_asprintf(ctx,
- "Failed to call finishing operation: %s",
- nt_errstr(status));
- goto out;
+ if (ctx->ops->finish) {
+ status = ctx->ops->finish(ctx, mem_ctx, pnew_utdv);
+ if (!NT_STATUS_IS_OK(status)) {
+ ctx->error_message = talloc_asprintf(ctx,
+ "Failed to call finishing operation: %s",
+ nt_errstr(status));
+ goto out;
+ }
}
out: