[Fedora-directory-commits] ldapserver/ldap/servers/slapd attr.c, 1.9, 1.10 ava.c, 1.9, 1.10

Richard Allen Megginson rmeggins at fedoraproject.org
Tue Jan 13 18:28:36 UTC 2009


Author: rmeggins

Update of /cvs/dirsec/ldapserver/ldap/servers/slapd
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv28075/ldapserver/ldap/servers/slapd

Modified Files:
	attr.c ava.c 
Log Message:
Resolves: bug 204966
Bug Description: WinSync ignores entry if NT attributes are added later.
Reviewed by: nkinder (Thanks!)
Fix Description: If we are replaying a modify operation, we need to check if the ntUser objectclass is being added along with the other attributes that tell the sync service to sync this entry.  If the objectclass is being added or replaced, we check the existing entry to see if it is still a sync-able entry.  If it is, we call process_replay_add to add the entry.  I changed this function to accept a Slapi_Entry to add rather than the operation structure.  Finally, I had to change the way we send the Account Control flags to take into account an entry that may have been added as a result of a modify operation.
I fixed a memory leak when setting the Slapi_Attr attribute type, and cleaned up a compiler warning.
NOTE: There will be no clear text password to send (unless the userPassword was modified in the same modify operation).  This means the account will be added to Windows, and will be enabled, but will be essentially unusable - the user cannot login - until either the user modifies the password on the directory server side, or the administrator resets the password.
Platforms tested: RHEL5
Flag Day: no
Doc impact: yes - we will have to document the new winsync behavior



Index: attr.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/attr.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- attr.c	30 Aug 2007 15:56:36 -0000	1.9
+++ attr.c	13 Jan 2009 18:28:34 -0000	1.10
@@ -707,6 +707,7 @@
 	if((NULL == a) || (NULL == type)) {
 		rc = -1;
 	} else {
+		slapi_ch_free_string(&a->a_type);
 		a->a_type = slapi_ch_strdup(type);
 	}
 	return rc;


Index: ava.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/ava.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- ava.c	6 Jan 2009 22:50:30 -0000	1.9
+++ ava.c	13 Jan 2009 18:28:34 -0000	1.10
@@ -50,8 +50,6 @@
 #endif
 #include "slap.h"
 
-static void strcpy_special_undo();
-
 int
 get_ava(
     BerElement	*ber,




More information about the Fedora-directory-commits mailing list