Commit 0d6acfe1 authored by Volker Lendecke's avatar Volker Lendecke Committed by Gerald (Jerry) Carter
Browse files

r316: Fix split_domain_name. This defaulted to get_myname() instead of

get_global_sam_name().

Error case: Adding a domain user to a XP local group did a lsalookupname on
the user without domain prefix, and this then failed.

Jerry: This is a must-fix before 3.0.3.

Volker
(This used to be commit f35e353454b6825da1de138a3f0d8106787e938b)
parent 96ace9ae
Loading
Loading
Loading
Loading
+14 −8
Original line number Diff line number Diff line
@@ -174,6 +174,19 @@ NT_USER_TOKEN *get_system_token(void)
	return &system_token;
}

/******************************************************************
 get the default domain/netbios name to be used when dealing 
 with our passdb list of accounts
******************************************************************/

const char *get_global_sam_name(void) 
{
	if ((lp_server_role() == ROLE_DOMAIN_PDC) || (lp_server_role() == ROLE_DOMAIN_BDC)) {
		return lp_workgroup();
	}
	return global_myname();
}

/**************************************************************************
 Splits a name of format \DOMAIN\name or name into its two components.
 Sets the DOMAIN name to global_myname() if it has not been specified.
@@ -201,14 +214,7 @@ void split_domain_name(const char *fullname, char *domain, char *name)
		fstrcpy(domain, full_name);
		fstrcpy(name, p+1);
	} else {
		if(!lp_domain_logons()) {
			fstrcpy(domain, global_myname());
			fstrcpy(name, full_name);
		} else {
			fstrcpy(domain, lp_workgroup());
			fstrcpy(name, full_name);
		}
		fstrcpy(domain, global_myname());
		fstrcpy(domain, get_global_sam_name());
		fstrcpy(name, full_name);
	}

+0 −13
Original line number Diff line number Diff line
@@ -46,19 +46,6 @@ const char *get_default_sam_name(void)
	return lp_workgroup();
}

/******************************************************************
 get the default domain/netbios name to be used when dealing 
 with our passdb list of accounts
******************************************************************/

const char *get_global_sam_name(void) 
{
	if ((lp_server_role() == ROLE_DOMAIN_PDC) || (lp_server_role() == ROLE_DOMAIN_BDC)) {
		return lp_workgroup();
	}
	return global_myname();
}

/************************************************************
 Fill the SAM_ACCOUNT with default values.
 ***********************************************************/