From 6e5a17f5264a20d504a6e98dfc31f1cf278f363b Mon Sep 17 00:00:00 2001 From: Nathan Kinder Date: Wed, 26 Nov 2008 22:42:12 +0000 Subject: Resolves: 220532 Summary: Add access to RUV by users other than "cn=Directory Manager". --- ldap/servers/slapd/str2filter.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'ldap/servers/slapd/str2filter.c') 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 ); -- cgit