int GetServerList(char *ldap_domain, char **MasterServe);
int get_group_membership(char *group_membership, char *group_ou,
int *security_flag, char **av);
-int get_machine_ou(LDAP *ldap_handle, char *dn_path, char *member, char *machine_ou);
+int get_machine_ou(LDAP *ldap_handle, char *dn_path, char *member, char *machine_ou, char *pPtr);
int Moira_container_group_create(char **after);
int Moira_container_group_delete(char **before);
int Moira_groupname_create(char *GroupName, char *ContainerName,
char *av[7];
char *call_args[7];
char *pUserOu;
+ char NewMachineName[1024];
int security_flag;
int rc;
int ProcessGroup;
if (!strcasecmp(ptr[LM_TYPE], "MACHINE"))
{
memset(machine_ou, '\0', sizeof(machine_ou));
- if (get_machine_ou(ldap_handle, dn_path, ptr[LM_MEMBER], machine_ou))
+ memset(NewMachineName, '\0', sizeof(NewMachineName));
+ if (get_machine_ou(ldap_handle, dn_path, ptr[LM_MEMBER], machine_ou, NewMachineName))
return;
+ ptr[LM_MEMBER] = NewMachineName;
pUserOu = machine_ou;
}
if (!strcasecmp(ptr[LM_TYPE], "STRING"))
if (!strcasecmp(ptr[LM_TYPE], "MACHINE"))
{
memset(machine_ou, '\0', sizeof(machine_ou));
- if (get_machine_ou(ldap_handle, dn_path, ptr[LM_MEMBER], machine_ou))
+ memset(NewMachineName, '\0', sizeof(NewMachineName));
+ if (get_machine_ou(ldap_handle, dn_path, ptr[LM_MEMBER], machine_ou, NewMachineName))
return;
+ ptr[LM_MEMBER] = NewMachineName;
pUserOu = machine_ou;
}
else if (!strcasecmp(ptr[LM_TYPE], "STRING"))
return(0);
}
-int get_machine_ou(LDAP *ldap_handle, char *dn_path, char *member, char *machine_ou)
+int get_machine_ou(LDAP *ldap_handle, char *dn_path, char *member, char *machine_ou, char *NewMachineName)
{
LK_ENTRY *group_base;
int group_count;
char dn[256];
char temp[256];
char *pPtr;
- char NewMachineName[1024];
int rc;
strcpy(NewMachineName, member);
+ rc = moira_connect();
rc = GetMachineName(NewMachineName);
+ moira_disconnect();
if (strlen(NewMachineName) == 0)
{
com_err(whoami, 0, "Unable to find alais for machine %s in Moira", member);