From 7781454181d15f666c67689999474940bcd067b9 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Thu, 28 Jun 2018 12:23:00 +0300 Subject: [PATCH] lib-master: Fix reading settings when local_name has multiple names Only the last name was matching. For example with local_name "one two three" { ... } only "three" matched. --- src/lib-master/master-service-settings-cache.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib-master/master-service-settings-cache.c b/src/lib-master/master-service-settings-cache.c index 3126f1127d..06f8c64a16 100644 --- a/src/lib-master/master-service-settings-cache.c +++ b/src/lib-master/master-service-settings-cache.c @@ -125,11 +125,11 @@ match_local_name(const char *local_name, /* Handle multiple names separated by spaces in local_name * Ex: local_name "mail.domain.tld domain.tld mx.domain.tld" { ... } */ const char *ptr; - while((ptr = strchr(local_name, ' ')) != NULL) { - if (dns_match_wildcard(filter_local_name, - t_strdup_until(local_name, ptr)) == 0) + while((ptr = strchr(filter_local_name, ' ')) != NULL) { + if (dns_match_wildcard(local_name, + t_strdup_until(filter_local_name, ptr)) == 0) return TRUE; - local_name = ptr+1; + filter_local_name = ptr+1; } return dns_match_wildcard(local_name, filter_local_name) == 0; } -- 2.47.3