[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
back-dnssrv
back-dnssrv seems to be lately broken.
First, I'm not quite sure what the purpose of the following
assertion is, but it crashes slapd for normal searches:
assert( get_manageDSAit( op ) );
Should it perhaps be inverted? This is in dnssrv_back_search()
and dnssrv_back_compare().
Secondly, rs->sr_ref is uninitialized, which causes a further
assertion failure in send_ldap_response().
A fix would be as follows:
lukeh@off/monk[1050]% cvs diff -u back-dnssrv/search.c
Index: back-dnssrv/search.c
===================================================================
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/back-dnssrv/search.c,v
retrieving revision 1.24
diff -u -r1.24 search.c
--- back-dnssrv/search.c 30 Mar 2003 07:03:54 -0000 1.24
+++ back-dnssrv/search.c 8 Apr 2003 06:04:02 -0000
@@ -31,7 +31,7 @@
struct berval nrefdn = { 0, NULL };
BerVarray urls = NULL;
- assert( get_manageDSAit( op ) );
+// assert( get_manageDSAit( op ) );
if( ldap_dn2domain( op->o_req_dn.bv_val, &domain ) || domain == NULL ) {
rs->sr_err = LDAP_REFERRAL;
@@ -39,6 +39,8 @@
send_ldap_result( op, rs );
goto done;
}
+
+ rs->sr_ref = NULL;
Debug( LDAP_DEBUG_TRACE, "DNSSRV: dn=\"%s\" -> domain=\"%s\"\n",
op->o_req_dn.bv_len ? op->o_req_dn.bv_val : "", domain, 0 );
regards,
-- Luke
--
Luke Howard | PADL Software Pty Ltd | www.padl.com