1 commit 8e104e2bce03c1cb410b1aff5100a0e1074c11ca
2 Author: Aki Tuomi <aki.tuomi@dovecot.fi>
3 Date: Mon Oct 17 23:25:27 2016 +0300
5 lib: Add null_strcasecmp
7 diff --git a/src/lib/strfuncs.c b/src/lib/strfuncs.c
8 index 602ceb4..df572ff 100644
9 --- a/src/lib/strfuncs.c
10 +++ b/src/lib/strfuncs.c
11 @@ -434,6 +434,16 @@ int null_strcmp(const char *s1, const char *s2)
12 return strcmp(s1, s2);
15 +int null_strcasecmp(const char *s1, const char *s2)
18 + return s2 == NULL ? 0 : -1;
22 + return strcasecmp(s1, s2);
25 int i_memcasecmp(const void *p1, const void *p2, size_t size)
27 const unsigned char *s1 = p1;
28 diff --git a/src/lib/strfuncs.h b/src/lib/strfuncs.h
29 index c84533b..65203f2 100644
30 --- a/src/lib/strfuncs.h
31 +++ b/src/lib/strfuncs.h
32 @@ -60,6 +60,7 @@ const char *t_str_rtrim(const char *str, const char *chars);
33 /*const char *t_str_trim(const char *str, const char *chars);*/
35 int null_strcmp(const char *s1, const char *s2) ATTR_PURE;
36 +int null_strcasecmp(const char *s1, const char *s2) ATTR_PURE;
37 int bsearch_strcmp(const char *key, const char *const *member) ATTR_PURE;
38 int bsearch_strcasecmp(const char *key, const char *const *member) ATTR_PURE;
39 int i_memcasecmp(const void *p1, const void *p2, size_t size) ATTR_PURE;
40 From c19c44f87ef3fe40cae4be9a86ee9327a7370e46 Mon Sep 17 00:00:00 2001
41 From: Aki Tuomi <aki.tuomi@dovecot.fi>
42 Date: Sat, 15 Oct 2016 23:04:35 +0300
43 Subject: [PATCH] config: Compare local_name case insensitive
45 DNS and certificate names should be compared
48 src/config/config-filter.c | 4 ++--
49 1 file changed, 2 insertions(+), 2 deletions(-)
51 diff --git a/src/config/config-filter.c b/src/config/config-filter.c
52 index e8cc010..87a24da 100644
53 --- a/src/config/config-filter.c
54 +++ b/src/config/config-filter.c
55 @@ -36,7 +36,7 @@ static bool config_filter_match_rest(const struct config_filter *mask,
56 if (mask->local_name != NULL) {
57 if (filter->local_name == NULL)
59 - if (strcmp(filter->local_name, mask->local_name) != 0)
60 + if (strcasecmp(filter->local_name, mask->local_name) != 0)
63 /* FIXME: it's not comparing full masks */
64 @@ -82,7 +82,7 @@ bool config_filters_equal(const struct config_filter *f1,
65 if (!net_ip_compare(&f1->local_net, &f2->local_net))
68 - if (null_strcmp(f1->local_name, f2->local_name) != 0)
69 + if (null_strcasecmp(f1->local_name, f2->local_name) != 0)