aboutsummaryrefslogtreecommitdiffstats
path: root/dirmngr/dns.c
diff options
context:
space:
mode:
Diffstat (limited to 'dirmngr/dns.c')
-rw-r--r--dirmngr/dns.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/dirmngr/dns.c b/dirmngr/dns.c
index 016ff44f4..869e7ed2e 100644
--- a/dirmngr/dns.c
+++ b/dirmngr/dns.c
@@ -6071,7 +6071,15 @@ int dns_nssconf_loadfile(struct dns_resolv_conf *resconf, FILE *fp) {
if ('[' == dns_anyconf_peek(fp)) {
dns_anyconf_skip("[ \t", fp);
- while (dns_anyconf_scan(&cf, "%w_", fp, &error)) {
+ for (;;) {
+ if ('!' == dns_anyconf_peek(fp)) {
+ dns_anyconf_skip("! \t", fp);
+ /* FIXME: negating statuses; currently not implemented */
+ dns_anyconf_skip("^#;]\n", fp); /* skip to end of criteria */
+ break;
+ }
+
+ if (!dns_anyconf_scan(&cf, "%w_", fp, &error)) break;
dns_anyconf_skip("= \t", fp);
if (!dns_anyconf_scan(&cf, "%w_", fp, &error)) {
dns_anyconf_pop(&cf); /* discard status */