]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-settings: Compare local_name as DNS wildcards
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 4 Mar 2025 14:22:52 +0000 (16:22 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Thu, 6 Mar 2025 06:12:52 +0000 (06:12 +0000)
16 files changed:
src/lib-auth-client/Makefile.am
src/lib-dcrypt/Makefile.am
src/lib-dict-extra/Makefile.am
src/lib-dict/Makefile.am
src/lib-fs/Makefile.am
src/lib-http/Makefile.am
src/lib-imap-client/Makefile.am
src/lib-login/Makefile.am
src/lib-master/Makefile.am
src/lib-oauth2/Makefile.am
src/lib-program-client/Makefile.am
src/lib-settings/Makefile.am
src/lib-settings/settings.c
src/lib-smtp/Makefile.am
src/lib-ssl-iostream/Makefile.am
src/lib-var-expand-crypt/Makefile.am

index 90374e53c7d69cf2a552183270d752d9a42132ad..04e35c3b44718a0061cedf77bfa829174f77055f 100644 (file)
@@ -33,6 +33,7 @@ noinst_PROGRAMS = $(test_programs)
 test_libs = \
        $(noinst_LTLIBRARIES) \
        ../lib-settings/libsettings.la \
+       ../lib-dns/libdns.la \
        ../lib-var-expand/libvar_expand.la \
        ../lib-test/libtest.la \
        ../lib/liblib.la \
@@ -41,6 +42,7 @@ test_libs = \
 test_deps = \
        $(noinst_LTLIBRARIES) \
        ../lib-settings/libsettings.la \
+       ../lib-dns/libdns.la \
        ../lib-var-expand/libvar_expand.la \
        ../lib-test/libtest.la \
        ../lib/liblib.la
index d9343e6b62b9b6d46f48d2c98b0bb0fde4e7c2c6..d84dffb0e79a421d1d4257d46cafb5a936f9b29a 100644 (file)
@@ -61,6 +61,7 @@ LIBDOVECOT_TEST_DEPS = \
        ../lib-ssl-iostream/libssl_iostream.la \
        ../lib-json/libjson.la \
        ../lib-settings/libsettings.la \
+       ../lib-dns/libdns.la \
        ../lib-test/libtest.la \
        ../lib/liblib.la
 LIBDOVECOT_TEST = \
index 1ec49d9ac307298b7d7c6037377560296f2c3b2a..76010ec4b508ebc049a2c5e22fca08da08f827bf 100644 (file)
@@ -32,6 +32,7 @@ test_libs = \
        ../lib-test/libtest.la \
        ../lib-dict/libdict.la \
        ../lib-settings/libsettings.la \
+       ../lib-dns/libdns.la \
        ../lib-var-expand/libvar_expand.la \
        ../lib/liblib.la
 
index aa09941af6b3c07e5d0678a788c8fd98c1224358..74ce3e481f1e08fda1320bf16f2b93e8ba9b3b75 100644 (file)
@@ -55,6 +55,7 @@ noinst_PROGRAMS = $(test_programs)
 test_libs = \
        libdict.la \
        ../lib-settings/libsettings.la \
+       ../lib-dns/libdns.la \
        ../lib-var-expand/libvar_expand.la \
        ../lib-test/libtest.la \
        ../lib/liblib.la
index bbde3d00b84ff52b8030d11ca9bcb0c06736ff0a..c663688896c742d8b4906d5354767253168ef7d4 100644 (file)
@@ -52,6 +52,7 @@ test_deps = \
        $(noinst_LTLIBRARIES) \
        ../lib-dict/libdict.la \
        ../lib-settings/libsettings.la \
+       ../lib-dns/libdns.la \
        ../lib-var-expand/libvar_expand.la \
        ../lib-test/libtest.la \
        ../lib/liblib.la
index bafefec4ec163be696d77abcfe2284712e2e8300..a492e168895a9cb7d89f5384a7e0a16904a2433a 100644 (file)
@@ -81,6 +81,7 @@ noinst_PROGRAMS = $(test_programs) $(test_nocheck_programs)
 
 test_libs = \
        ../lib-settings/libsettings.la \
+       ../lib-dns/libdns.la \
        ../lib-var-expand/libvar_expand.la \
        ../lib-test/libtest.la \
        ../lib/liblib.la \
@@ -90,6 +91,7 @@ test_deps = \
        $(noinst_LTLIBRARIES) \
        ../lib-test/libtest.la \
        ../lib-settings/libsettings.la \
+       ../lib-dns/libdns.la \
        ../lib-var-expand/libvar_expand.la \
        ../lib/liblib.la
 
index da22a851408374432a41a4fdfc4ef01aeaa22008..6c6a84bc6e6797778ca44d51ec4d8421063cd344 100644 (file)
@@ -45,6 +45,7 @@ test_deps = \
        ../lib-otp/libotp.la \
        ../lib-json/libjson.la \
        ../lib-settings/libsettings.la \
+       ../lib-dns/libdns.la \
        ../lib-var-expand/libvar_expand.la \
        ../lib-test/libtest.la \
        ../lib/liblib.la
index 61c7e683213a749f813feadc6d949fdd62b1eb01..08a2f30ee11be8c36db39d052f982b130ed00c8e 100644 (file)
@@ -35,6 +35,7 @@ test_libs = \
        ../lib-dns/libdns.la \
        ../lib-ssl-iostream/libssl_iostream.la \
        ../lib-settings/libsettings.la \
+       ../lib-dns/libdns.la \
        ../lib-var-expand/libvar_expand.la \
        ../lib-test/libtest.la \
        ../lib/liblib.la \
@@ -48,6 +49,7 @@ test_deps = \
        ../lib-dns/libdns.la \
        ../lib-ssl-iostream/libssl_iostream.la \
        ../lib-settings/libsettings.la \
+       ../lib-dns/libdns.la \
        ../lib-var-expand/libvar_expand.la \
        ../lib-test/libtest.la \
        ../lib/liblib.la
index bb52e06e106a8d8e91388d359efa3372d7b4697f..f4b22d1484705420afc6aefd4946d9ecd1f44936 100644 (file)
@@ -55,6 +55,7 @@ test_deps = \
        libmaster.la \
        ../lib-ssl-iostream/libssl_iostream.la \
        ../lib-settings/libsettings.la \
+       ../lib-dns/libdns.la \
        ../lib-var-expand/libvar_expand.la \
        ../lib-test/libtest.la \
        ../lib-dns-client/libdns-client.la  \
index 7f29a5488af1e1fdf15c5889e2e52274b4c3b9b4..3f5c577e19617d95b820bdf753b82fec02f9837e 100644 (file)
@@ -45,6 +45,7 @@ test_libs = \
        ../lib-auth-client/libauth-client.la \
        ../lib-dict/libdict.la \
        ../lib-settings/libsettings.la \
+       ../lib-dns/libdns.la \
        ../lib-var-expand/libvar_expand.la \
        ../lib-test/libtest.la \
        ../lib/liblib.la \
@@ -62,6 +63,7 @@ test_deps = \
        ../lib-auth-client/libauth-client.la \
        ../lib-dict/libdict.la \
        ../lib-settings/libsettings.la \
+       ../lib-dns/libdns.la \
        ../lib-var-expand/libvar_expand.la \
        ../lib-test/libtest.la \
        ../lib/liblib.la
index 561188c5d5223dfc99c125d662493f2fabf554fe..b2dd804463450aaeef4fb5c803846c8a20f97b14 100644 (file)
@@ -37,6 +37,7 @@ test_libs = \
        ../lib-test/libtest.la \
        ../lib-mail/libmail.la \
        ../lib-settings/libsettings.la  \
+       ../lib-dns/libdns.la \
        ../lib-charset/libcharset.la \
        ../lib-var-expand/libvar_expand.la \
        ../lib/liblib.la \
index f02649a9a4fc0df1cdda631e28f2c0e004c62a01..06c092fb53e2623e41ac1d2402c32920b04c73c4 100644 (file)
@@ -3,6 +3,7 @@ noinst_LTLIBRARIES = libsettings.la
 AM_CPPFLAGS = \
        -I$(top_srcdir)/src/lib \
        -I$(top_srcdir)/src/lib-test \
+       -I$(top_srcdir)/src/lib-dns \
        -I$(top_srcdir)/src/lib-var-expand
 
 libsettings_la_SOURCES = \
@@ -38,6 +39,7 @@ noinst_PROGRAMS = $(test_programs)
 test_libs = \
        libsettings.la \
        ../lib-var-expand/libvar_expand.la \
+       ../lib-dns/libdns.la \
        ../lib-test/libtest.la \
        ../lib/liblib.la
 
index 7dd2b1a63255a2ba8c4f7e4fac5033b2aba859da..ec60f7ad0864973e80ef57af179c63da56c3c717 100644 (file)
@@ -9,6 +9,7 @@
 #include "event-filter-private.h"
 #include "wildcard-match.h"
 #include "mmap-util.h"
+#include "dns-util.h"
 #include "settings.h"
 #include "var-expand.h"
 
@@ -198,6 +199,11 @@ static unsigned int path_element_count(const char *key)
        return count;
 }
 
+static bool settings_local_name_cmp(const char *value, const char *wanted_value)
+{
+       return dns_match_wildcard(value, wanted_value) == 0;
+}
+
 static void settings_override_free(struct settings_override *override)
 {
        event_filter_unref(&override->filter);
@@ -433,6 +439,8 @@ settings_read_filters(struct settings_mmap *mmap, const char *service_name,
                                SETTINGS_INCLUDE_GROUP_PREFIX_S);
 
                *filter_dest = event_filter_create_with_pool(mmap->pool);
+               event_filter_register_cmp(*filter_dest, "local_name",
+                                         settings_local_name_cmp);
                pool_ref(mmap->pool);
                event_filter_merge(*filter_dest, tmp_filter,
                                   EVENT_FILTER_MERGE_OP_OR);
index d8468ac6e5002cf551c1f0bfa09f756c8eb880c1..a93bee4d5187e61341153270aca0ffda4e9d1fd3 100644 (file)
@@ -112,6 +112,7 @@ test_libs = \
        ../lib-auth-client/libauth-client.la \
        ../lib-ssl-iostream/libssl_iostream.la \
        ../lib-settings/libsettings.la \
+       ../lib-dns/libdns.la \
        ../lib-sasl/libsasl.la \
        ../lib-auth/libauth.la \
        ../lib-otp/libotp.la \
@@ -132,6 +133,7 @@ test_deps = \
        ../lib-auth-client/libauth-client.la \
        ../lib-ssl-iostream/libssl_iostream.la \
        ../lib-settings/libsettings.la \
+       ../lib-dns/libdns.la \
        ../lib-sasl/libsasl.la \
        ../lib-auth/libauth.la \
        ../lib-json/libjson.la \
index 4bcc60bcf50a51ced355791280095139b139d38e..0a25aa8e663d17971828f1cefd190eef504e7a28 100644 (file)
@@ -45,6 +45,7 @@ test_libs = \
        $(module_LTLIBRARIES) \
        $(noinst_LTLIBRARIES) \
        ../lib-settings/libsettings.la \
+       ../lib-dns/libdns.la \
        ../lib-var-expand/libvar_expand.la \
        ../lib-test/libtest.la \
        ../lib/liblib.la
index 8f829bcc02db644a45f3917d1fe66fa2695ec64a..d62a948d4f840a5b8bdc59bcdbf42a4fe1ea5e97 100644 (file)
@@ -25,6 +25,7 @@ test_libs = \
        ../lib-dcrypt/libdcrypt.la \
        ../lib-var-expand/libvar_expand.la \
        ../lib-settings/libsettings.la \
+       ../lib-dns/libdns.la \
        ../lib-test/libtest.la \
        $(DLLIB)