The branch, v3-2-ctdb has been updated via fdd77c84206ced808f0d37be9844f69c314a5055 (commit) via 7f3cdfe7634e771f6771b96d4955fb4c67165f4e (commit) from 99fbbc24297edec3197ed3d80272ac526a058939 (commit)
http://gitweb.samba.org/?p=obnox/samba-ctdb.git;a=shortlog;h=v3-2-ctdb - Log ----------------------------------------------------------------- commit fdd77c84206ced808f0d37be9844f69c314a5055 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 7f3cdfe7634e771f6771b96d4955fb4c67165f4e Author: Volker Lendecke <v...@samba.org> Date: Wed Aug 19 14:19:22 2009 +0200 s3:dsgetdcname: Inline dsgetdcname_cache_refresh ----------------------------------------------------------------------- Summary of changes: source/libsmb/dsgetdcname.c | 35 +++++++++-------------------------- 1 files changed, 9 insertions(+), 26 deletions(-) Changeset truncated at 500 lines: diff --git a/source/libsmb/dsgetdcname.c b/source/libsmb/dsgetdcname.c index e191307..82883f5 100644 --- a/source/libsmb/dsgetdcname.c +++ b/source/libsmb/dsgetdcname.c @@ -367,28 +367,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(union nbt_cldap_netlogon *r, uint32_t nt_version) { @@ -575,13 +553,18 @@ static NTSTATUS dsgetdcname_cached(TALLOC_CTX *mem_ctx, } if (expired) { - 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