1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-13 13:18:06 +03:00

Merge from 3.0 - try harder to get our real DNS domain name, and send this

to the client when it asks for our DNS name and forest name.

(needed for win2k to trust us as a trusted domain).

Andrew Bartlett
(This used to be commit 2a1015eb57)
This commit is contained in:
Andrew Bartlett 2003-04-22 07:45:16 +00:00
parent cf86f85b08
commit c2e997d6a7
2 changed files with 31 additions and 8 deletions

View File

@ -1012,6 +1012,7 @@ BOOL get_mydomname(fstring my_domname)
{
pstring hostname;
char *p;
struct hostent *hp;
*hostname = 0;
/* get my host name */
@ -1023,17 +1024,31 @@ BOOL get_mydomname(fstring my_domname)
/* Ensure null termination. */
hostname[sizeof(hostname)-1] = '\0';
p = strchr_m(hostname, '.');
if (!p)
if (p) {
p++;
if (my_domname)
fstrcpy(my_domname, p);
}
if (!(hp = sys_gethostbyname(hostname))) {
return False;
p++;
}
if (my_domname)
fstrcpy(my_domname, p);
p = strchr_m(hp->h_name, '.');
return True;
if (p) {
p++;
if (my_domname)
fstrcpy(my_domname, p);
return True;
}
return False;
}
/****************************************************************************

View File

@ -1222,6 +1222,7 @@ NTSTATUS _lsa_query_info2(pipes_struct *p, LSA_Q_QUERY_INFO2 *q_u, LSA_R_QUERY_I
char *forest_name = NULL;
DOM_SID *sid = NULL;
GUID guid;
fstring dnsdomname;
ZERO_STRUCT(guid);
r_u->status = NT_STATUS_OK;
@ -1241,8 +1242,15 @@ NTSTATUS _lsa_query_info2(pipes_struct *p, LSA_Q_QUERY_INFO2 *q_u, LSA_R_QUERY_I
case ROLE_DOMAIN_BDC:
nb_name = lp_workgroup();
/* ugly temp hack for these next two */
dns_name = lp_realm();
forest_name = lp_realm();
/* This should be a 'netbios domain -> DNS domain' mapping */
dnsdomname[0] = '\0';
get_mydomname(dnsdomname);
strlower(dnsdomname);
dns_name = dnsdomname;
forest_name = dnsdomname;
sid = get_global_sam_sid();
secrets_fetch_domain_guid(lp_workgroup(), &guid);
break;