From 58cf958e416f3fe309a2abc1a84fd0a0ba302432 Mon Sep 17 00:00:00 2001 From: Dominik DL6ER Date: Fri, 20 Aug 2021 13:05:35 +0200 Subject: [PATCH] Fix empty domain in server option parsing when more than one domain is given Signed-off-by: DL6ER --- src/option.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/option.c b/src/option.c index 3a87097..ffce9fc 100644 --- a/src/option.c +++ b/src/option.c @@ -2700,11 +2700,6 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma { if ((err = parse_server(arg, &serv_addr, &source_addr, interface, &flags))) ret_err(err); - - /* server=//1.2.3.4 is special. */ - if (strlen(domain) == 0 && lastdomain) - flags |= SERV_FOR_NODOTS; - } if (servers_only && option == 'S') @@ -2712,6 +2707,12 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma while (1) { + /* server=//1.2.3.4 is special. */ + if (strlen(domain) == 0 && lastdomain) + flags |= SERV_FOR_NODOTS; + else + flags &= ~SERV_FOR_NODOTS; + if (!add_update_server(flags, &serv_addr, &source_addr, interface, domain, &addr)) ret_err(gen_err);