r316: Fix split_domain_name. This defaulted to get_myname() instead of
[tprouty/samba.git] / source / lib / util_sid.c
index e4043c4e9278748875c2597b8f6d6b760c835cbc..6b27fc84ddb31604dcb73b78ba1b996e0db28c21 100644 (file)
@@ -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);
        }