A regression was introduced by commit
6cf2401ed ("BUG/MEDIUM: resolvers:
Make resolution owns its hostname_dn value"). In fact, it is possible (an
allowed ?!) to create a resolution without hostname (hostname_dn ==
NULL). It only happens on startup for a server relying on a resolver but
defined with an IP address and not a hostname
Because of the patch above, an error is triggered during the configuration
parsing when this happens, while it should be accepted.
This patch must be backported with the commit above.
struct resolv_resolution *res = NULL;
if (!*hostname_dn)
- goto err;
+ goto from_pool;
/* Search for same hostname and query type in resolutions.curr */
list_for_each_entry(res, &resolvers->resolutions.curr, list) {
res->prefered_query_type = query_type;
res->query_type = query_type;
- res->hostname_dn = strdup(*hostname_dn);
- if (res->hostname_dn == NULL)
- goto err;
+ if (*hostname_dn) {
+ res->hostname_dn = strdup(*hostname_dn);
+ if (res->hostname_dn == NULL)
+ goto err;
+ }
res->hostname_dn_len = hostname_dn_len;
++resolution_uuid;