[2015] in Moira

home help back first fref pref prev next nref lref last post

changes to winad incremental to process non-top level machines

daemon@ATHENA.MIT.EDU (Qing Dong)
Mon Jun 2 15:09:01 2003

Message-Id: <5.1.0.14.2.20030602150743.02dd3750@hesiod>
Date: Mon, 02 Jun 2003 15:08:59 -0400
To: moiradev@mit.edu
From: Qing Dong <dongq@MIT.EDU>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format=flowed

Index: winad.c
===================================================================
RCS file: 
\\dongq-afs\all\athena.mit.edu\astaff\project\moiradev\repository/moira/incremental/winad/winad.c,v
retrieving revision 1.34
diff -c -r1.34 winad.c
*** winad.c	2003/05/21 17:21:55	1.34
--- winad.c	2003/06/02 18:59:35
***************
*** 578,583 ****
--- 578,584 ----
       char    MoiraContainerName[128];
       char    ADContainerName[128];
       char    MachineName[1024];
+     char    MoiraMachineName[1024];
       char    OriginalMachineName[1024];
       long    rc;
       int     DeleteMachine;

***************
*** 619,624 ****
--- 620,627 ----
           return;
         }

+     strcpy(MoiraMachineName, MachineName);
+
       rc = GetMachineName(MachineName);
       if (strlen(MachineName) == 0)
       {
***************
*** 626,632 ****
           com_err(whoami, 0, "Unable to find alais for machine %s in 
Moira", OriginalMachineName);
           return;
       }
!     Moira_process_machine_container_group(MachineName, MoiraContainerGroup,
   					  DeleteMachine);
       if (machine_check(ldap_handle, dn_path, MachineName))
       {
--- 629,635 ----
           com_err(whoami, 0, "Unable to find alais for machine %s in 
Moira", OriginalMachineName);
           return;
       }
!     Moira_process_machine_container_group(MoiraMachineName, 
MoiraContainerGroup,
   					  DeleteMachine);
       if (machine_check(ldap_handle, dn_path, MachineName))
       {
***************
*** 635,641 ****
           return;
       }
       memset(MoiraContainerName, '\0', sizeof(MoiraContainerName));
!     machine_get_moira_container(ldap_handle, dn_path, MachineName, 
MoiraContainerName);
       if (strlen(MoiraContainerName) == 0)
       {
           com_err(whoami, 0, "machine %s (alias %s) container not found in 
Moira - moving to orphans OU.",
--- 638,644 ----
           return;
       }
       memset(MoiraContainerName, '\0', sizeof(MoiraContainerName));
!     machine_get_moira_container(ldap_handle, dn_path, MoiraMachineName, 
MoiraContainerName);
       if (strlen(MoiraContainerName) == 0)
       {
           com_err(whoami, 0, "machine %s (alias %s) container not found in 
Moira - moving to orphans OU.",
*** 1240,1247 ****
         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))
!             return;
             pUserOu = machine_ou;
           }
         if (!strcasecmp(ptr[LM_TYPE], "STRING"))
--- 1243,1261 ----
         if (!strcasecmp(ptr[LM_TYPE], "MACHINE"))
           {
             memset(machine_ou, '\0', sizeof(machine_ou));
+           if (rc = moira_connect())
+             {
+ 	        critical_alert("AD incremental",
+                              "Error connection to Moira : %s",
+                              error_message(rc));
+               return;
+             }
             if (get_machine_ou(ldap_handle, dn_path, ptr[LM_MEMBER], 
machine_ou))
! 	      {
! 		moira_disconnect();
! 		return;
! 	      }
! 	    moira_disconnect();
             pUserOu = machine_ou;
           }
         if (!strcasecmp(ptr[LM_TYPE], "STRING"))
***************
*** 1269,1276 ****
     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))
!         return;
         pUserOu = machine_ou;
       }
     else if (!strcasecmp(ptr[LM_TYPE], "STRING"))
--- 1283,1301 ----
     if (!strcasecmp(ptr[LM_TYPE], "MACHINE"))
       {
         memset(machine_ou, '\0', sizeof(machine_ou));
+ 	if (rc = moira_connect())
+ 	  {
+ 	    critical_alert("AD incremental",
+                        "Error connection to Moira : %s",
+                        error_message(rc));
+           return;
+ 	  }
         if (get_machine_ou(ldap_handle, dn_path, ptr[LM_MEMBER], machine_ou))
!         {
! 	    moira_disconnect();
! 	    return;
! 	  }
! 	  moira_disconnect();
         pUserOu = machine_ou;
       }
     else if (!strcasecmp(ptr[LM_TYPE], "STRING"))
***************
*** 4987,4992 ****
--- 5012,5018 ----
     if (pPtr != NULL)
       (*pPtr) = '\0';

+   strcpy(member, newMachineName);
     group_base = NULL;
     group_count = 0;
     sprintf(filter, "(sAMAccountName=%s$)", NewMachineName);


home help back first fref pref prev next nref lref last post