]> andersk Git - moira.git/blobdiff - incremental/ldap/winad.c
*** empty log message ***
[moira.git] / incremental / ldap / winad.c
index c86e3abe44f85f95c4dcecaf5f33c87c7a7ef0ed..689429eb869b7cb218d8f70e3fde6ec9a542c227 100755 (executable)
@@ -2419,6 +2419,7 @@ int group_rename(LDAP *ldap_handle, char *dn_path,
   LK_ENTRY  *group_base;
   int       group_count;
   int       MailDisabled = 0;
+  char      search_filter[1024];
 
   if(UseGroupUniversal)
     groupTypeControl = ADS_GROUP_TYPE_UNIVERSAL_GROUP;
@@ -2447,12 +2448,13 @@ int group_rename(LDAP *ldap_handle, char *dn_path,
          group_count = 0;
          group_base = NULL;
          
-         sprintf(filter, "(&(objectClass=user)(cn=%s))", after_group_name);
+         sprintf(search_filter, "(&(objectClass=user)(cn=%s))", 
+                 after_group_name);
          attr_array[0] = "cn";
          attr_array[1] = NULL;
 
-         if ((rc = linklist_build(ldap_handle, dn_path, filter, attr_array,
-                                  &group_base, &group_count,
+         if ((rc = linklist_build(ldap_handle, dn_path, search_filter, 
+                                  attr_array, &group_base, &group_count,
                                   LDAP_SCOPE_SUBTREE)) != 0)
          {
            com_err(whoami, 0, "Unable to process group %s : %s",
@@ -2575,6 +2577,11 @@ int group_rename(LDAP *ldap_handle, char *dn_path,
   ADD_ATTR("mitMoiraId", mitMoiraId_v, LDAP_MOD_REPLACE);
   ADD_ATTR("groupType", groupTypeControl_v, LDAP_MOD_REPLACE);
 
+  if(!ActiveDirectory) 
+    {
+      ADD_ATTR("name", name_v, LDAP_MOD_REPLACE);
+    }
+
   if (Exchange)
     {
       if(atoi(maillist) && !MailDisabled && email_isvalid(mail)) 
@@ -4760,6 +4767,7 @@ int user_rename(LDAP *ldap_handle, char *dn_path, char *before_user_name,
       ADD_ATTR("eduPersonPrincipalName", mail_v, LDAP_MOD_REPLACE);
       ADD_ATTR("displayName", name_v, LDAP_MOD_REPLACE);
       ADD_ATTR("eduPersonNickname", name_v, LDAP_MOD_REPLACE);
+      ADD_ATTR("name", name_v, LDAP_MOD_REPLACE);
     }
 
   if (Exchange)
@@ -5564,8 +5572,6 @@ int user_delete(LDAP *ldap_handle, char *dn_path,
 
   if (group_count != 1)
     {
-      com_err(whoami, 0, "Unable to find user %s in directory",
-              user_name);
       goto cleanup;
     }
   
@@ -5685,6 +5691,9 @@ static int illegalchars_ldap[] = {
 int check_string(char *s)
 {
   char  character;
+  char  *string;
+
+  string = s;
 
   for (; *s; s++)
     {
@@ -5698,7 +5707,7 @@ int check_string(char *s)
          if (illegalchars[(unsigned) character])
            {
              com_err(whoami, 0, "Found illegal char '%c' (%d) in string %s",
-                     character, (unsigned) character, s);
+                     character, (unsigned) character, string);
              return 0;
            }
        }
@@ -5707,7 +5716,7 @@ int check_string(char *s)
          if (illegalchars_ldap[(unsigned) character])
            {
              com_err(whoami, 0, "Found illegal char '%c' (%d) in string %s",
-                     character, (unsigned) character, s);
+                     character, (unsigned) character, string);
              return 0;
            }
        }
@@ -5965,6 +5974,12 @@ int ProcessAce(LDAP *ldap_handle, char *dn_path, char *Name, char *Type,
           call_args[3] = NULL;
           callback_rc = 0;
 
+         if(!strcasecmp(AceName, PRODUCTION_PRINCIPAL) ||
+            !strcasecmp(AceName, TEST_PRINCIPAL))
+           {
+             return(1);
+           }
+
           if (rc = mr_query("get_user_account_by_login", 1, av, 
                            save_query_info, save_argv))
             {
This page took 0.058987 seconds and 4 git commands to generate.