[1735] in Moira

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

Changes to WINAD.C

daemon@ATHENA.MIT.EDU (David E. Tanner)
Thu Jan 18 12:02:31 2001

Message-Id: <3.0.32.20010118120021.011aeb40@po14.mit.edu>
Date: Thu, 18 Jan 2001 12:00:23 -0500
To: moiradev@MIT.EDU
From: "David E. Tanner" <dtanner@MIT.EDU>
Mime-Version: 1.0
Content-Type: text/enriched; charset="us-ascii"

<smaller>A small change to winad.c for processing of user accounts that
should exist in the W2K AD but for some reason don't.


Index: winad.c

===================================================================

RCS file:
/afs/athena.mit.edu/astaff/project/moiradev/repository/moira/incremental/winad/winad.c,v

retrieving revision 1.5

diff -c -r1.5 winad.c

*** winad.c	2001/01/04 09:02:09	1.5

--- winad.c	2001/01/18 16:53:38

***************

*** 444,450 ****

        callback_rc = 0;

        if (rc = mr_query("get_list_info", 1, av, group_rename,
call_args))

          {

!            if (rc != LDAP_NO_SUCH_OBJECT)

               {

                 critical_alert("AD incremental",

                                "Could not change list %s to %s : %s",

--- 444,450 ----

        callback_rc = 0;

        if (rc = mr_query("get_list_info", 1, av, group_rename,
call_args))

          {

!            if (callback_rc != LDAP_NO_SUCH_OBJECT)

               {

                 critical_alert("AD incremental",

                                "Could not change list %s to %s : %s",

***************

*** 651,685 ****

            if (rc = mr_query("get_user_account_by_login", 1, av,
user_update,

                              call_args))

              {

!               critical_alert("AD incremental",

!                              "Could not update user %s info : %s",

!                              before[U_NAME], 

!                              error_message(rc));

              }

-           goto cleanup;

          }

!       com_err(whoami, 0, "Changing user %s to %s", before[U_NAME],

!               after[U_NAME]);

!       av[0] = after[U_NAME];

!       call_args[0] = (char *)ldap_handle;

!       call_args[1] = dn_path;

!       call_args[2] = (char *)MEMBER_ACTIVATE;

!       call_args[3] = before[U_NAME];

!       sid_base = NULL;

!       sid_ptr = &sid_base;

!       callback_rc = 0;

!       if (rc = mr_query("get_user_account_by_login", 1, av,
user_rename,

!                         call_args))

          {

!           if (rc != LDAP_NO_SUCH_OBJECT)

              {

!               critical_alert("AD incremental",

!                              "Could not change user %s to %s : %s",

!                              before[U_NAME], 

!                              after[U_NAME], error_message(rc));

!               goto cleanup;

              }

-           callback_rc = LDAP_NO_SUCH_OBJECT;

          }

        if (callback_rc != LDAP_NO_SUCH_OBJECT)

          goto cleanup;

--- 651,690 ----

            if (rc = mr_query("get_user_account_by_login", 1, av,
user_update,

                              call_args))

              {

!               if (callback_rc != LDAP_NO_SUCH_OBJECT)

!                 {

!                   critical_alert("AD incremental",

!                                  "Could not update user %s info : 
%s",

!                                  before[U_NAME], 

!                                  error_message(rc));

!                   goto cleanup;

!                 }

              }

          }

!       else

          {

!           com_err(whoami, 0, "Changing user %s to %s", 
before[U_NAME],

!                   after[U_NAME]);

!           av[0] = after[U_NAME];

!           call_args[0] = (char *)ldap_handle;

!           call_args[1] = dn_path;

!           call_args[2] = (char *)MEMBER_ACTIVATE;

!           call_args[3] = before[U_NAME];

!           sid_base = NULL;

!           sid_ptr = &sid_base;

!           callback_rc = 0;

!           if (rc = mr_query("get_user_account_by_login", 1, av,
user_rename,

!                             call_args))

              {

!               if (callback_rc != LDAP_NO_SUCH_OBJECT)

!                 {

!                   critical_alert("AD incremental",

!                                  "Could not change user %s to %s :
%s",

!                                  before[U_NAME], 

!                                  after[U_NAME], error_message(rc));

!                   goto cleanup;

!                 }

              }

          }

        if (callback_rc != LDAP_NO_SUCH_OBJECT)

          goto cleanup;

***************

*** 2004,2009 ****

--- 2009,2015 ----

        critical_alert("AD incremental - user update",

                       "LDAP server unable to find user %s in AD.",

                        user_name);

+       callback_rc = LDAP_NO_SUCH_OBJECT;

        goto cleanup;

      }

    strcpy(distinguished_name, group_base->dn);


</smaller>

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