1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00

winbind: pass down existing talloc context.

Guenther
This commit is contained in:
Günther Deschner 2008-04-21 17:51:36 +02:00
parent a51cb3c1a9
commit 675bf42cff
2 changed files with 10 additions and 9 deletions

View File

@ -126,7 +126,8 @@ static const char *mailslot_name(TALLOC_CTX *mem_ctx, struct in_addr dc_ip)
NBT_MAILSLOT_GETDC, dc_ip.s_addr);
}
bool send_getdc_request(struct messaging_context *msg_ctx,
bool send_getdc_request(TALLOC_CTX *mem_ctx,
struct messaging_context *msg_ctx,
struct sockaddr_storage *dc_ss,
const char *domain_name,
const DOM_SID *sid)
@ -139,7 +140,6 @@ bool send_getdc_request(struct messaging_context *msg_ctx,
enum ndr_err_code ndr_err;
DATA_BLOB blob;
struct dom_sid my_sid;
TALLOC_CTX *mem_ctx = talloc_tos();
ZERO_STRUCT(packet);
ZERO_STRUCT(my_sid);
@ -193,14 +193,14 @@ bool send_getdc_request(struct messaging_context *msg_ctx,
dc_ss);
}
bool receive_getdc_response(struct sockaddr_storage *dc_ss,
bool receive_getdc_response(TALLOC_CTX *mem_ctx,
struct sockaddr_storage *dc_ss,
const char *domain_name,
const char **dc_name)
{
struct packet_struct *packet;
const char *my_mailslot = NULL;
struct in_addr dc_ip;
TALLOC_CTX *mem_ctx = talloc_tos();
DATA_BLOB blob;
struct nbt_ntlogon_packet r;
union dgram_message_body p;

View File

@ -1024,7 +1024,8 @@ static bool add_sockaddr_to_array(TALLOC_CTX *mem_ctx,
convert an ip to a name
*******************************************************************/
static bool dcip_to_name(const struct winbindd_domain *domain,
static bool dcip_to_name(TALLOC_CTX *mem_ctx,
const struct winbindd_domain *domain,
struct sockaddr_storage *pss,
fstring name )
{
@ -1091,13 +1092,13 @@ static bool dcip_to_name(const struct winbindd_domain *domain,
/* try GETDC requests next */
if (send_getdc_request(winbind_messaging_context(),
if (send_getdc_request(mem_ctx, winbind_messaging_context(),
pss, domain->name, &domain->sid)) {
const char *dc_name = NULL;
int i;
smb_msleep(100);
for (i=0; i<5; i++) {
if (receive_getdc_response(pss, domain->name, &dc_name)) {
if (receive_getdc_response(mem_ctx, pss, domain->name, &dc_name)) {
fstrcpy(name, dc_name);
namecache_store(name, 0x20, 1, &ip_list);
return True;
@ -1291,7 +1292,7 @@ static bool find_new_dc(TALLOC_CTX *mem_ctx,
}
/* Try to figure out the name */
if (dcip_to_name(domain, pss, dcname)) {
if (dcip_to_name(mem_ctx, domain, pss, dcname)) {
return True;
}
@ -1336,7 +1337,7 @@ static NTSTATUS cm_open_connection(struct winbindd_domain *domain,
AI_NUMERICHOST)) {
return NT_STATUS_UNSUCCESSFUL;
}
if (dcip_to_name( domain, &ss, saf_name )) {
if (dcip_to_name(mem_ctx, domain, &ss, saf_name )) {
fstrcpy( domain->dcname, saf_name );
} else {
winbind_add_failed_connection_entry(