mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-03-01 14:15:49 +08:00
Working (but likely not robust) DNS SRV backend!
This commit is contained in:
parent
fbb58dec53
commit
18f31148be
@ -24,6 +24,7 @@ dnssrv_back_request(
|
||||
const char *ndn )
|
||||
{
|
||||
int i;
|
||||
int rc;
|
||||
char *domain = NULL;
|
||||
char *hostlist = NULL;
|
||||
char **hosts = NULL;
|
||||
@ -40,8 +41,9 @@ dnssrv_back_request(
|
||||
domain == NULL ? "" : domain,
|
||||
0 );
|
||||
|
||||
if( ldap_domain2hostlist( dn, &domain ) ) {
|
||||
Debug( LDAP_DEBUG_TRACE, "DNSSRV: no such object\n", 0, 0, 0 );
|
||||
if( rc = ldap_domain2hostlist( domain, &hostlist ) ) {
|
||||
Debug( LDAP_DEBUG_TRACE, "DNSSRV: domain2hostlist returned %d\n",
|
||||
rc, 0, 0 );
|
||||
send_ldap_result( conn, op, LDAP_NO_SUCH_OBJECT,
|
||||
NULL, "could not locate DNS SRV records", NULL, NULL );
|
||||
goto done;
|
||||
@ -73,6 +75,14 @@ dnssrv_back_request(
|
||||
}
|
||||
}
|
||||
|
||||
Statslog( LDAP_DEBUG_STATS,
|
||||
"conn=%ld op=%d DNSSRV dn=\"%s\" domain=%d url=\"%s\"\n",
|
||||
op->o_connid, op->o_opid, dn, domain, urls[0]->bv_val );
|
||||
|
||||
Debug( LDAP_DEBUG_TRACE, "DNSSRV: dn=\"%s\" -> url=\"%s\"\n",
|
||||
dn == NULL ? "" : dn,
|
||||
urls[0]->bv_val, 0 );
|
||||
|
||||
send_ldap_result( conn, op, LDAP_REFERRAL,
|
||||
NULL, NULL, urls, NULL );
|
||||
|
||||
|
16
tests/data/slapd-dnssrv.conf
Normal file
16
tests/data/slapd-dnssrv.conf
Normal file
@ -0,0 +1,16 @@
|
||||
# $OpenLDAP$
|
||||
#
|
||||
# DNS SRV slapd config -- for testing
|
||||
#
|
||||
include ./data/slapd.at.conf
|
||||
include ./data/slapd.oc.conf
|
||||
schemacheck on
|
||||
pidfile ./test-db/slapd.pid
|
||||
argsfile ./test-db/slapd.args
|
||||
|
||||
#######################################################################
|
||||
# ldbm database definitions
|
||||
#######################################################################
|
||||
|
||||
database dnssrv
|
||||
suffix ""
|
Loading…
Reference in New Issue
Block a user