Hi Willy, Baptiste,

Hereby a 'backport' for 1.6.
Hope its ok like this?
I took a little different structure as i did for 1.7. But as there is no need to allow different keywords 'in the future' for 1.6 i think it is ok.

Regards,
Pieter
From a8346de18704ef283621aabf4cb2edc3ebb0ce6d Mon Sep 17 00:00:00 2001
From: PiBa-NL <pba_...@yahoo.com>
Date: Tue, 16 Feb 2016 21:33:02 +0100
Subject: [PATCH] MINOR: resolvers, cfgparse, warn for incorrect 'timeout
 retry' keyword spelling

If for example it was written as 'timeout retri 1s' or 'timeout wrong 1s' this 
would be used for the retry timeout value. Resolvers section only timeout 
setting currently is 'retry', others are still parsed as before this patch to 
not break existing configurations.

This should only be applied as a backport to 1.6, for 1.7 a different patch is 
provided to abort if a wrong keyword is used.
---
 src/cfgparse.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/cfgparse.c b/src/cfgparse.c
index 693e9f3..b06fd2f 100644
--- a/src/cfgparse.c
+++ b/src/cfgparse.c
@@ -2356,13 +2356,17 @@ int cfg_parse_resolvers(const char *file, int linenum, 
char **args, int kwm)
        else if (strcmp(args[0], "timeout") == 0) {
                const char *res;
                unsigned int timeout_retry;
-
-               if (!*args[2]) {
+               if (!*args[1] || !*args[2]) {
                        Alert("parsing [%s:%d] : '%s' expects 'retry' and 
<time> as arguments.\n",
                                file, linenum, args[0]);
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
+               else if (strcmp(args[1], "retry") != 0) {
+                       Alert("parsing [%s:%d] : '%s' expects 'retry' and 
<time> as arguments got '%s'.\n",
+                               file, linenum, args[0], args[1]);
+                       err_code |= ERR_ALERT | ERR_WARN;
+               }
                res = parse_time_err(args[2], &timeout_retry, TIME_UNIT_MS);
                if (res) {
                        Alert("parsing [%s:%d]: unexpected character '%c' in 
argument to <%s>.\n",
-- 
2.7.0.windows.1

Reply via email to