diff options
author | Günther Deschner <gd@samba.org> | 2009-04-01 16:55:53 +0200 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2009-04-01 16:58:48 +0200 |
commit | 264b28ec0962c355ee90f9ac67fcf07cd84c5c7b (patch) | |
tree | 02b7daac0fd00976609a8b5e36554f3f5e23bfc6 /source3 | |
parent | 7ce1356c9f571c55af70bd6b966fe50898c1582d (diff) | |
download | samba-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')
-rw-r--r-- | source3/libnet/libnet_dssync.c | 28 |
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: |