summaryrefslogtreecommitdiffstats
path: root/ldap/servers/slapd/str2filter.c
diff options
context:
space:
mode:
authorNathan Kinder <nkinder@redhat.com>2008-11-26 22:42:12 +0000
committerNathan Kinder <nkinder@redhat.com>2008-11-26 22:42:12 +0000
commit6e5a17f5264a20d504a6e98dfc31f1cf278f363b (patch)
tree333761f60d17e4a1afbfca7e90cc82028feb06e1 /ldap/servers/slapd/str2filter.c
parent97f52d81060f75b0f8a2411b69f6f427665765b6 (diff)
downloadds-6e5a17f5264a20d504a6e98dfc31f1cf278f363b.tar.gz
ds-6e5a17f5264a20d504a6e98dfc31f1cf278f363b.tar.xz
ds-6e5a17f5264a20d504a6e98dfc31f1cf278f363b.zip
Resolves: 220532
Summary: Add access to RUV by users other than "cn=Directory Manager".
Diffstat (limited to 'ldap/servers/slapd/str2filter.c')
-rw-r--r--ldap/servers/slapd/str2filter.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/ldap/servers/slapd/str2filter.c b/ldap/servers/slapd/str2filter.c
index 744b8fa3..0dd91a56 100644
--- a/ldap/servers/slapd/str2filter.c
+++ b/ldap/servers/slapd/str2filter.c
@@ -162,6 +162,7 @@ str2list( char *str, unsigned long ftype )
str = next;
f->f_flags |= ((*fp)->f_flags & SLAPI_FILTER_LDAPSUBENTRY);
f->f_flags |= ((*fp)->f_flags & SLAPI_FILTER_TOMBSTONE);
+ f->f_flags |= ((*fp)->f_flags & SLAPI_FILTER_RUV);
fp = &(*fp)->f_next;
}
*fp = NULL;
@@ -331,6 +332,13 @@ str2simple( char *str , int unescape_filter)
if (0 == strcasecmp (unqstr,SLAPI_ATTR_VALUE_TOMBSTONE))
f->f_flags |= SLAPI_FILTER_TOMBSTONE;
}
+
+ if((f->f_choice == LDAP_FILTER_EQUALITY) &&
+ (0 == strncasecmp (str,"nsuniqueid",strlen("nsuniqueid")))) {
+ if (0 == strcasecmp (unqstr, "ffffffff-ffffffff-ffffffff-ffffffff"))
+ f->f_flags |= SLAPI_FILTER_RUV;
+ }
+
} if ( !unescape_filter ) {
f->f_avtype = slapi_ch_strdup( str );
f->f_avvalue.bv_val = slapi_ch_strdup ( value );