]> git.pld-linux.org Git - packages/dovecot.git/blob - dovecot-local-name.patch
- rel 2; local_name is now matched in case insensitive way
[packages/dovecot.git] / dovecot-local-name.patch
1 commit 8e104e2bce03c1cb410b1aff5100a0e1074c11ca
2 Author: Aki Tuomi <aki.tuomi@dovecot.fi>
3 Date:   Mon Oct 17 23:25:27 2016 +0300
4
5     lib: Add null_strcasecmp
6
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);
13  }
14  
15 +int null_strcasecmp(const char *s1, const char *s2)
16 +{
17 +        if (s1 == NULL)
18 +                return s2 == NULL ? 0 : -1;
19 +        if (s2 == NULL)
20 +                return 1;
21 +
22 +        return strcasecmp(s1, s2);
23 +}
24 +
25  int i_memcasecmp(const void *p1, const void *p2, size_t size)
26  {
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);*/
34  
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
44
45 DNS and certificate names should be compared
46 case insensitive.
47 ---
48  src/config/config-filter.c | 4 ++--
49  1 file changed, 2 insertions(+), 2 deletions(-)
50
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)
58                         return FALSE;
59 -               if (strcmp(filter->local_name, mask->local_name) != 0)
60 +               if (strcasecmp(filter->local_name, mask->local_name) != 0)
61                         return FALSE;
62         }
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))
66                 return FALSE;
67  
68 -       if (null_strcmp(f1->local_name, f2->local_name) != 0)
69 +       if (null_strcasecmp(f1->local_name, f2->local_name) != 0)
70                 return FALSE;
71  
72         return TRUE;
This page took 0.046197 seconds and 3 git commands to generate.