]> git.sur5r.net Git - openldap/commitdiff
Don't try to normalize the value in do_compare, leave it for later.
authorJulio Sánchez Fernández <jsanchez@openldap.org>
Fri, 9 Jul 1999 13:26:11 +0000 (13:26 +0000)
committerJulio Sánchez Fernández <jsanchez@openldap.org>
Fri, 9 Jul 1999 13:26:11 +0000 (13:26 +0000)
The matching rule will do that if necessary.

servers/slapd/compare.c

index 028a4f44d0c3c133b6266bf7153276e864b86d07..45a1fc9e7d188497c526a0a0318aae5f5bc99904 100644 (file)
@@ -18,7 +18,7 @@
 
 #include "slap.h"
 
-int
+void
 do_compare(
     Connection *conn,
     Operation  *op
@@ -27,18 +27,9 @@ do_compare(
        char    *ndn;
        Ava     ava;
        Backend *be;
-       int rc = LDAP_SUCCESS;
 
        Debug( LDAP_DEBUG_TRACE, "do_compare\n", 0, 0, 0 );
 
-       if( op->o_bind_in_progress ) {
-               Debug( LDAP_DEBUG_ANY, "do_compare: SASL bind in progress.\n",
-                       0, 0, 0 );
-               send_ldap_result( conn, op, LDAP_SASL_BIND_IN_PROGRESS, NULL,
-                   "SASL bind in progress" );
-               return LDAP_SASL_BIND_IN_PROGRESS;
-       }
-
        /*
         * Parse the compare request.  It looks like this:
         *
@@ -54,20 +45,10 @@ do_compare(
        if ( ber_scanf( op->o_ber, "{a{ao}}", &ndn, &ava.ava_type,
            &ava.ava_value ) == LBER_ERROR ) {
                Debug( LDAP_DEBUG_ANY, "ber_scanf failed\n", 0, 0, 0 );
-               send_ldap_disconnect( conn, op,
-                       LDAP_PROTOCOL_ERROR, "decoding error" );
-               return -1;
+               send_ldap_result( conn, op, LDAP_PROTOCOL_ERROR, NULL, "" );
+               return;
        }
 
-       if( ( rc = get_ctrls( conn, op, 1 )) != LDAP_SUCCESS ) {
-               free( ndn );
-               ava_free( &ava, 0 );
-               Debug( LDAP_DEBUG_ANY, "do_compare: get_ctrls failed\n", 0, 0, 0 );
-               return rc;
-       } 
-
-       value_normalize( ava.ava_value.bv_val, attr_syntax( ava.ava_type ) );
-
        Debug( LDAP_DEBUG_ARGS, "do_compare: dn (%s) attr (%s) value (%s)\n",
            ndn, ava.ava_type, ava.ava_value.bv_val );
 
@@ -85,9 +66,9 @@ do_compare(
                free( ndn );
                ava_free( &ava, 0 );
 
-               send_ldap_result( conn, op, rc = LDAP_PARTIAL_RESULTS, NULL,
+               send_ldap_result( conn, op, LDAP_PARTIAL_RESULTS, NULL,
                    default_referral );
-               return 1;
+               return;
        }
 
        /* alias suffix if approp */
@@ -96,12 +77,10 @@ do_compare(
        if ( be->be_compare ) {
                (*be->be_compare)( be, conn, op, ndn, &ava );
        } else {
-               send_ldap_result( conn, op, rc = LDAP_UNWILLING_TO_PERFORM, NULL,
+               send_ldap_result( conn, op, LDAP_UNWILLING_TO_PERFORM, NULL,
                    "Function not implemented" );
        }
 
        free( ndn );
        ava_free( &ava, 0 );
-
-       return rc;
 }