diff options
author | Nathan Kinder <nkinder@redhat.com> | 2008-11-26 22:42:12 +0000 |
---|---|---|
committer | Nathan Kinder <nkinder@redhat.com> | 2008-11-26 22:42:12 +0000 |
commit | 6e5a17f5264a20d504a6e98dfc31f1cf278f363b (patch) | |
tree | 333761f60d17e4a1afbfca7e90cc82028feb06e1 /ldap/servers/slapd/str2filter.c | |
parent | 97f52d81060f75b0f8a2411b69f6f427665765b6 (diff) | |
download | ds-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.c | 8 |
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 ); |