Changeset 745 for trunk/server/source3/libnet/libnet_samsync.c
- Timestamp:
- Nov 27, 2012, 4:43:17 PM (13 years ago)
- Location:
- trunk/server
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/server
- Property svn:mergeinfo changed
/vendor/current merged: 581,587,591,594,597,600,615,618,740
- Property svn:mergeinfo changed
-
trunk/server/source3/libnet/libnet_samsync.c
r414 r745 23 23 24 24 #include "includes.h" 25 #include "libnet/libnet.h" 26 #include "../lib/crypto/crypto.h" 25 #include "libnet/libnet_samsync.h" 27 26 #include "../libcli/samsync/samsync.h" 28 27 #include "../libcli/auth/libcli_auth.h" 29 #include "../librpc/gen_ndr/cli_netlogon.h" 28 #include "rpc_client/rpc_client.h" 29 #include "../librpc/gen_ndr/ndr_netlogon.h" 30 #include "../librpc/gen_ndr/ndr_netlogon_c.h" 31 #include "../libcli/security/security.h" 32 #include "messages.h" 30 33 31 34 /** … … 72 75 73 76 if (domain_sid) { 74 ctx->domain_sid = sid_dup_talloc(mem_ctx, domain_sid);77 ctx->domain_sid = dom_sid_dup(mem_ctx, domain_sid); 75 78 NT_STATUS_HAVE_NO_MEMORY(ctx->domain_sid); 76 79 … … 78 81 NT_STATUS_HAVE_NO_MEMORY(ctx->domain_sid_str); 79 82 } 83 84 ctx->msg_ctx = messaging_init(ctx, procid_self(), 85 event_context_init(ctx)); 86 NT_STATUS_HAVE_NO_MEMORY(ctx->msg_ctx); 80 87 81 88 *ctx_p = ctx; … … 194 201 struct netr_ChangeLogEntry *e) 195 202 { 196 NTSTATUS result ;203 NTSTATUS result, status; 197 204 NTSTATUS callback_status; 198 205 const char *logon_server = ctx->cli->desthost; … … 202 209 uint16_t restart_state = 0; 203 210 uint32_t sync_context = 0; 211 struct dcerpc_binding_handle *b = ctx->cli->binding_handle; 204 212 205 213 ZERO_STRUCT(return_authenticator); … … 212 220 if (ctx->single_object_replication && 213 221 !ctx->force_full_replication) { 214 result = rpccli_netr_DatabaseRedo(ctx->cli, mem_ctx,222 status = dcerpc_netr_DatabaseRedo(b, mem_ctx, 215 223 logon_server, 216 224 computername, … … 219 227 *e, 220 228 0, 221 &delta_enum_array); 229 &delta_enum_array, 230 &result); 222 231 } else if (!ctx->force_full_replication && 223 232 sequence_num && (*sequence_num > 0)) { 224 result = rpccli_netr_DatabaseDeltas(ctx->cli, mem_ctx,233 status = dcerpc_netr_DatabaseDeltas(b, mem_ctx, 225 234 logon_server, 226 235 computername, … … 230 239 sequence_num, 231 240 &delta_enum_array, 232 0xffff); 241 0xffff, 242 &result); 233 243 } else { 234 result = rpccli_netr_DatabaseSync2(ctx->cli, mem_ctx,244 status = dcerpc_netr_DatabaseSync2(b, mem_ctx, 235 245 logon_server, 236 246 computername, … … 241 251 &sync_context, 242 252 &delta_enum_array, 243 0xffff); 244 } 245 246 if (NT_STATUS_EQUAL(result, NT_STATUS_NOT_SUPPORTED)) { 247 return result; 253 0xffff, 254 &result); 255 } 256 257 if (!NT_STATUS_IS_OK(status)) { 258 return status; 248 259 } 249 260 … … 253 264 DEBUG(0,("credentials chain check failed\n")); 254 265 return NT_STATUS_ACCESS_DENIED; 266 } 267 268 if (NT_STATUS_EQUAL(result, NT_STATUS_NOT_SUPPORTED)) { 269 return result; 255 270 } 256 271 … … 397 412 blob = data_blob_const(r->array, r->length); 398 413 399 ndr_err = ndr_pull_struct_blob(&blob, mem_ctx, NULL,str,414 ndr_err = ndr_pull_struct_blob(&blob, mem_ctx, str, 400 415 (ndr_pull_flags_fn_t)ndr_pull_netr_AcctLockStr); 401 416
Note:
See TracChangeset
for help on using the changeset viewer.