summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Kinder <nkinder@redhat.com>2005-10-27 19:11:14 +0000
committerNathan Kinder <nkinder@redhat.com>2005-10-27 19:11:14 +0000
commitafc09f9556695b46a3b199d9d009a05e328b7198 (patch)
tree2bfb132c7a3667d312b14dfc8d3fb85d512913a1
parent4a316eeda346028eba81ea66f62c6d57359bb366 (diff)
downloadds-afc09f9556695b46a3b199d9d009a05e328b7198.tar.gz
ds-afc09f9556695b46a3b199d9d009a05e328b7198.tar.xz
ds-afc09f9556695b46a3b199d9d009a05e328b7198.zip
163064 - It appears that Active Directory has a problem where it allows duplicate values for system-only multivalued attributes. This change just skips the dscorepropagationdata attibute when receiving a change from DirSync.
-rw-r--r--ldap/servers/plugins/replication/windows_connection.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/ldap/servers/plugins/replication/windows_connection.c b/ldap/servers/plugins/replication/windows_connection.c
index efed4263..58408a49 100644
--- a/ldap/servers/plugins/replication/windows_connection.c
+++ b/ldap/servers/plugins/replication/windows_connection.c
@@ -529,11 +529,14 @@ windows_LDAPMessage2Entry(LDAP * ld, LDAPMessage * msg, int attrsonly) {
for ( a = ldap_first_attribute( ld, msg, &ber ); a!=NULL; a=ldap_next_attribute( ld, msg, ber ) )
{
- if (0 == strcasecmp(a,"dnsRecord") || 0 == strcasecmp(a,"dnsproperty"))
+ if (0 == strcasecmp(a,"dnsRecord") || 0 == strcasecmp(a,"dnsproperty") ||
+ 0 == strcasecmp(a,"dscorepropagationdata"))
{
/* AD returns us entries with these attributes that we are not interested in,
* but they break the entry attribute code (I think it is looking at null-terminated
- * string values, but the values are binary here). So we skip those attributes as a workaround.
+ * string values, but the values are binary here). It appears that AD has some problems
+ * with allowing duplicate values for system-only multi-valued attributes. So we skip
+ * those attributes as a workaround.
*/
;
} else