Arthur de Jong

Open Source / Free Software developer

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2012-03-10 21:31:58 +0100
committerArthur de Jong <arthur@arthurdejong.org>2012-03-10 21:31:58 +0100
commit5d82b429bb81be5932f51e7c10b8abb1bd38f86f (patch)
tree924a33e5af02fbc49d05150558da2c2acd335e26
parentbfd944fd8cd579d45f649eb0c5459a857c4e8e0c (diff)
properly log failures to lookup DNS SRV records (r1569 from 0.8 branch)
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-pam-ldapd-0.7@1630 ef36b2f9-881f-0410-afb5-c4e39611909c
-rw-r--r--nslcd/cfg.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/nslcd/cfg.c b/nslcd/cfg.c
index 4992c9a..d04a2a8 100644
--- a/nslcd/cfg.c
+++ b/nslcd/cfg.c
@@ -219,13 +219,18 @@ static char *cfg_getdomainname(const char *filename,int lnr)
static void add_uris_from_dns(const char *filename,int lnr,
struct ldap_config *cfg)
{
- int ret=0;
+ int rc;
char *domain;
char *hostlist=NULL,*nxt;
char buf[HOST_NAME_MAX+sizeof("ldap://")];
domain=cfg_getdomainname(filename,lnr);
- ret=ldap_domain2hostlist(domain,&hostlist);
- /* FIXME: have better error handling */
+ rc=ldap_domain2hostlist(domain,&hostlist);
+ if (rc!=LDAP_SUCCESS)
+ {
+ log_log(LOG_ERR,"%s:%d: no servers found in DNS zone %s: %s",
+ filename,lnr,domain,ldap_err2string(rc));
+ exit(EXIT_FAILURE);
+ }
if ((hostlist==NULL)||(*hostlist=='\0'))
{
log_log(LOG_ERR,"%s:%d: no servers found in DNS zone %s",filename,lnr,domain);