diff options
author | Nathan Kinder <nkinder@redhat.com> | 2005-10-27 19:11:14 +0000 |
---|---|---|
committer | Nathan Kinder <nkinder@redhat.com> | 2005-10-27 19:11:14 +0000 |
commit | afc09f9556695b46a3b199d9d009a05e328b7198 (patch) | |
tree | 2bfb132c7a3667d312b14dfc8d3fb85d512913a1 | |
parent | 4a316eeda346028eba81ea66f62c6d57359bb366 (diff) | |
download | ds-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.c | 7 |
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 |