]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/mra.c
Clarify rootdn requirements
[openldap] / servers / slapd / mra.c
index b518e72735f5d3e1eb499fc2b5f530ebb03464c2..75307ce86220e4abe28228f442d23f646440558f 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2004 The OpenLDAP Foundation.
+ * Copyright 1998-2007 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -57,13 +57,11 @@ get_mra(
        struct berval type = BER_BVNULL;
        struct berval value = BER_BVNULL;
        struct berval rule_text = BER_BVNULL;
-       MatchingRuleAssertion ma;
+       MatchingRuleAssertion ma = { 0 };
 #ifdef LDAP_COMP_MATCH
        AttributeAliasing* aa = NULL;
 #endif
 
-       memset( &ma, 0, sizeof ma);
-
        rtag = ber_scanf( ber, "{t" /*"}"*/, &tag );
 
        if( rtag == LBER_ERROR ) {
@@ -143,7 +141,12 @@ get_mra(
        if( type.bv_val != NULL ) {
                rc = slap_bv2ad( &type, &ma.ma_desc, text );
                if( rc != LDAP_SUCCESS ) {
-                       return rc;
+                       rc = slap_bv2undef_ad( &type, &ma.ma_desc, text,
+                               SLAP_AD_PROXIED|SLAP_AD_NOINSERT );
+
+                       if( rc != LDAP_SUCCESS ) {
+                               return rc;
+                       }
                }
        }