From 80b5798d0df53d18246938522e7c6ead6eab8fde Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Fri, 9 Jul 1999 20:28:54 +0000 Subject: [PATCH] Fix tag/msgid bugs. Branch now passes 'cd tests/make ldbm' (which doesn't say anything about referrals). --- servers/slapd/result.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/servers/slapd/result.c b/servers/slapd/result.c index f1496e4ca5..211bcd6b95 100644 --- a/servers/slapd/result.c +++ b/servers/slapd/result.c @@ -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 ); -- 2.39.5