]> andersk Git - moira.git/commitdiff
Fix MACHINE handling.
authorzacheiss <zacheiss>
Sat, 6 Sep 2003 22:42:20 +0000 (22:42 +0000)
committerzacheiss <zacheiss>
Sat, 6 Sep 2003 22:42:20 +0000 (22:42 +0000)
incremental/winad/winad.c

index 8ffcd1a9ea097a4e08d8711826b0a675fab77258..8523ea080e6247a379fddaf19f874dfb4315b974 100755 (executable)
@@ -359,7 +359,7 @@ int GetAceInfo(int ac, char **av, void *ptr);
 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,
@@ -1179,6 +1179,7 @@ void do_member(LDAP *ldap_handle, char *dn_path, char *ldap_hostname,
   char  *av[7];
   char  *call_args[7];
   char  *pUserOu;
+  char  NewMachineName[1024];
   int   security_flag;
   int   rc;
   int   ProcessGroup;
@@ -1332,8 +1333,10 @@ void do_member(LDAP *ldap_handle, char *dn_path, char *ldap_hostname,
       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"))
@@ -1361,8 +1364,10 @@ void do_member(LDAP *ldap_handle, char *dn_path, char *ldap_hostname,
   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"))
@@ -5052,7 +5057,7 @@ int container_move_objects(LDAP *ldap_handle, char *dn_path, char *dName)
   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;
@@ -5063,11 +5068,12 @@ int get_machine_ou(LDAP *ldap_handle, char *dn_path, char *member, char *machine
   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);
This page took 0.720367 seconds and 5 git commands to generate.