summaryrefslogtreecommitdiffstats
path: root/ldap/servers/slapd/util.c
diff options
context:
space:
mode:
authorRich Megginson <rmeggins@redhat.com>2009-01-09 21:30:56 +0000
committerRich Megginson <rmeggins@redhat.com>2009-01-09 21:30:56 +0000
commit962ec2010e44a85088038ebf1f1e393baf49796d (patch)
treeb7e824044ec9a52ebd3187dcdb8c68adb14a4341 /ldap/servers/slapd/util.c
parent9697d3a48d78cf81251487efa2d647d7f61539d6 (diff)
downloadds-962ec2010e44a85088038ebf1f1e393baf49796d.tar.gz
ds-962ec2010e44a85088038ebf1f1e393baf49796d.tar.xz
ds-962ec2010e44a85088038ebf1f1e393baf49796d.zip
Resolves: bug 471068
Bug Description: winsync doesn't recognize some changes Reviewed by: nkinder (Thanks!) Fix Description: Before sending updates to AD, first check to see if the updates still apply. For modify/add operations, check to make sure the value to add doesn't exist. If it does, remove it from the list of values in the mod. If all values are removed, then just skip the modify/add op altogether. For modify/del ops, check to see if the attribute exists. If not, just skip the op. If it does exist, check to see if the values exist, and remove the values from the mod/del op that do not exist anymore. If all values have been removed, just skip the mod/del op. I added a new slapi function - slapi_mod_init_valueset_byval - which will init a Slapi_Mod and init the list of values using a valueset. Fortunately there was already a function for converting a Slapi_Value** to a berval**. I also fixed a few compiler warnings. Platforms tested: RHEL5 Flag Day: no Doc impact: yes - add new function to slapi docs
Diffstat (limited to 'ldap/servers/slapd/util.c')
-rw-r--r--ldap/servers/slapd/util.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/ldap/servers/slapd/util.c b/ldap/servers/slapd/util.c
index d53f1e74..8e4876e9 100644
--- a/ldap/servers/slapd/util.c
+++ b/ldap/servers/slapd/util.c
@@ -207,7 +207,6 @@ escape_filter_value(const char* str, int len, char buf[BUFSIZ])
void
strcpy_unescape_value( char *d, const char *s )
{
- char *head = d;
int gotesc = 0;
const char *end = s + strlen(s);
for ( ; *s; s++ )