The branch, v3-4-ctdb has been updated via 75c6a4d978dfd81ad24eff9e0404337c558e2d69 (commit) via 297fe699b04df2490b1323d1fe6a6ea7d04f4412 (commit) from 6786ca95c0e9632a6d02b903885956ee5c2988ec (commit)
http://gitweb.samba.org/?p=obnox/samba-ctdb.git;a=shortlog;h=v3-4-ctdb - Log ----------------------------------------------------------------- commit 75c6a4d978dfd81ad24eff9e0404337c558e2d69 Author: Volker Lendecke <v...@samba.org> Date: Wed Aug 19 14:22:09 2009 +0200 s3:dsgetdcname: Fix a crash in dsgetdcname When returning NT_STATUS_OK we can't leave *info == NULL, this crashes in is_closest_site called from dsgetdcname(). commit 297fe699b04df2490b1323d1fe6a6ea7d04f4412 Author: Volker Lendecke <v...@samba.org> Date: Wed Aug 19 14:19:22 2009 +0200 s3:dsgetdcname: Inline dsgetdcname_cache_refresh ----------------------------------------------------------------------- Summary of changes: source3/libsmb/dsgetdcname.c | 35 +++++++++-------------------------- 1 files changed, 9 insertions(+), 26 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/libsmb/dsgetdcname.c b/source3/libsmb/dsgetdcname.c index 8771115..e7629f8 100644 --- a/source3/libsmb/dsgetdcname.c +++ b/source3/libsmb/dsgetdcname.c @@ -225,28 +225,6 @@ static NTSTATUS store_cldap_reply(TALLOC_CTX *mem_ctx, /**************************************************************** ****************************************************************/ -static NTSTATUS dsgetdcname_cache_refresh(TALLOC_CTX *mem_ctx, - struct messaging_context *msg_ctx, - const char *domain_name, - struct GUID *domain_guid, - uint32_t flags, - const char *site_name, - struct netr_DsRGetDCNameInfo *info) -{ - struct netr_DsRGetDCNameInfo *dc_info; - - return dsgetdcname(mem_ctx, - msg_ctx, - domain_name, - domain_guid, - site_name, - flags | DS_FORCE_REDISCOVERY, - &dc_info); -} - -/**************************************************************** -****************************************************************/ - static uint32_t get_cldap_reply_server_flags(struct netlogon_samlogon_response *r, uint32_t nt_version) { @@ -424,13 +402,18 @@ static NTSTATUS dsgetdcname_cached(TALLOC_CTX *mem_ctx, } if (NT_STATUS_EQUAL(status, NT_STATUS_NOT_FOUND)) { - status = dsgetdcname_cache_refresh(mem_ctx, msg_ctx, - domain_name, - domain_guid, flags, - site_name, *info); + struct netr_DsRGetDCNameInfo *dc_info; + + status = dsgetdcname(mem_ctx, msg_ctx, domain_name, + domain_guid, site_name, + flags | DS_FORCE_REDISCOVERY, + &dc_info); + if (!NT_STATUS_IS_OK(status)) { return status; } + + *info = dc_info; } return status; -- SAMBA-CTDB repository