]> git.sur5r.net Git - openldap/commitdiff
Fix tag/msgid bugs. Branch now passes 'cd tests/make ldbm' (which
authorKurt Zeilenga <kurt@openldap.org>
Fri, 9 Jul 1999 20:28:54 +0000 (20:28 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Fri, 9 Jul 1999 20:28:54 +0000 (20:28 +0000)
doesn't say anything about referrals).

servers/slapd/result.c

index f1496e4ca5ed5809879cbfb5b0c39f63cdf1a8c2..211bcd6b95ed14e507fd88ba5eb55452f7d18915 100644 (file)
@@ -57,6 +57,14 @@ static ber_tag_t req2res( ber_tag_t tag )
        case LDAP_REQ_UNBIND:
                tag = LBER_SEQUENCE;
                break;
+
+       case LDAP_REQ_SEARCH:
+               tag = LDAP_RES_SEARCH_RESULT;
+               break;
+
+       default:
+               assert( 0 );
+               tag = LBER_ERROR;
        }
        return tag;
 }
@@ -119,7 +127,6 @@ long send_ldap_ber(
        ldap_pvt_thread_mutex_unlock( &conn->c_mutex );
        ldap_pvt_thread_mutex_unlock( &conn->c_write_mutex );
 
-       Debug( LDAP_DEBUG_TRACE, "<= send_ldap_ber\n", 0, 0, 0 );
        return bytes;
 }
 
@@ -143,6 +150,9 @@ send_ldap_response(
 
        ber = ber_alloc_t( LBER_USE_DER );
 
+       Debug( LDAP_DEBUG_TRACE, "send_ldap_response: tag=%ld msgid=%ld err=%ld\n",
+               (long) tag, (long) msgid, (long) err );
+
        if ( ber == NULL ) {
                Debug( LDAP_DEBUG_ANY, "ber_alloc failed\n", 0, 0, 0 );
                return;
@@ -286,6 +296,9 @@ send_ldap_result(
                }
        }
 
+       tag = req2res( op->o_tag );
+       msgid = (tag != LBER_SEQUENCE) ? op->o_msgid : 0;
+
 #ifdef LDAP_CONNECTIONLESS
        if ( op->o_cldap ) {
                ber_pvt_sb_udp_set_dst( &conn->c_sb, &op->o_clientaddr );
@@ -349,6 +362,9 @@ send_search_result(
                }
        }
 
+       tag = req2res( op->o_tag );
+       msgid = (tag != LBER_SEQUENCE) ? op->o_msgid : 0;
+
 #ifdef LDAP_CONNECTIONLESS
        if ( op->o_cldap ) {
                ber_pvt_sb_udp_set_dst( &conn->c_sb, &op->o_clientaddr );