commit 0ee6feb3f93181589906955c5cf33bcdf7404355
Author: Arkadiusz Miśkiewicz <ar...@maven.pl>
Date:   Wed Oct 19 17:12:47 2016 +0200

    - rel 2; local_name is now matched in case insensitive way

 dovecot-local-name.patch | 72 ++++++++++++++++++++++++++++++++++++++++++++++++
 dovecot.spec             |  6 ++--
 2 files changed, 75 insertions(+), 3 deletions(-)
---
diff --git a/dovecot.spec b/dovecot.spec
index bfc2e92..e4ad56b 100644
--- a/dovecot.spec
+++ b/dovecot.spec
@@ -12,7 +12,7 @@ Summary:      IMAP and POP3 server written with security 
primarily in mind
 Summary(pl.UTF-8):     Serwer IMAP i POP3 pisany głównie z myślą o 
bezpieczeństwie
 Name:          dovecot
 Version:       2.2.25
-Release:       1
+Release:       2
 Epoch:         1
 License:       MIT (libraries), LGPL v2.1 (the rest)
 Group:         Networking/Daemons
@@ -24,7 +24,7 @@ Source3:      %{name}.sysconfig
 Source4:       %{name}.tmpfiles
 Patch0:                %{name}-config.patch
 Patch1:                %{name}-rpath.patch
-
+Patch2:                %{name}-local-name.patch
 Patch3:                %{name}-disableSSLv3.patch
 URL:           http://dovecot.org/
 BuildRequires: autoconf
@@ -158,7 +158,7 @@ Współdzielone biblioteki Dovecota.
 %setup -q
 %patch0 -p1
 %patch1 -p1
-
+%patch2 -p1
 %patch3 -p2
 
 %{__sed} -i 's,/usr/lib/dovecot,%{_libdir}/dovecot,g' 
doc/example-config/*.conf doc/example-config/conf.d/*.conf
diff --git a/dovecot-local-name.patch b/dovecot-local-name.patch
new file mode 100644
index 0000000..c25cb6c
--- /dev/null
+++ b/dovecot-local-name.patch
@@ -0,0 +1,72 @@
+commit 8e104e2bce03c1cb410b1aff5100a0e1074c11ca
+Author: Aki Tuomi <aki.tu...@dovecot.fi>
+Date:   Mon Oct 17 23:25:27 2016 +0300
+
+    lib: Add null_strcasecmp
+
+diff --git a/src/lib/strfuncs.c b/src/lib/strfuncs.c
+index 602ceb4..df572ff 100644
+--- a/src/lib/strfuncs.c
++++ b/src/lib/strfuncs.c
+@@ -434,6 +434,16 @@ int null_strcmp(const char *s1, const char *s2)
+       return strcmp(s1, s2);
+ }
+ 
++int null_strcasecmp(const char *s1, const char *s2)
++{
++        if (s1 == NULL)
++                return s2 == NULL ? 0 : -1;
++        if (s2 == NULL)
++                return 1;
++
++        return strcasecmp(s1, s2);
++}
++
+ int i_memcasecmp(const void *p1, const void *p2, size_t size)
+ {
+       const unsigned char *s1 = p1;
+diff --git a/src/lib/strfuncs.h b/src/lib/strfuncs.h
+index c84533b..65203f2 100644
+--- a/src/lib/strfuncs.h
++++ b/src/lib/strfuncs.h
+@@ -60,6 +60,7 @@ const char *t_str_rtrim(const char *str, const char *chars);
+ /*const char *t_str_trim(const char *str, const char *chars);*/
+ 
+ int null_strcmp(const char *s1, const char *s2) ATTR_PURE;
++int null_strcasecmp(const char *s1, const char *s2) ATTR_PURE;
+ int bsearch_strcmp(const char *key, const char *const *member) ATTR_PURE;
+ int bsearch_strcasecmp(const char *key, const char *const *member) ATTR_PURE;
+ int i_memcasecmp(const void *p1, const void *p2, size_t size) ATTR_PURE;
+From c19c44f87ef3fe40cae4be9a86ee9327a7370e46 Mon Sep 17 00:00:00 2001
+From: Aki Tuomi <aki.tu...@dovecot.fi>
+Date: Sat, 15 Oct 2016 23:04:35 +0300
+Subject: [PATCH] config: Compare local_name case insensitive
+
+DNS and certificate names should be compared
+case insensitive.
+---
+ src/config/config-filter.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/config/config-filter.c b/src/config/config-filter.c
+index e8cc010..87a24da 100644
+--- a/src/config/config-filter.c
++++ b/src/config/config-filter.c
+@@ -36,7 +36,7 @@ static bool config_filter_match_rest(const struct 
config_filter *mask,
+       if (mask->local_name != NULL) {
+               if (filter->local_name == NULL)
+                       return FALSE;
+-              if (strcmp(filter->local_name, mask->local_name) != 0)
++              if (strcasecmp(filter->local_name, mask->local_name) != 0)
+                       return FALSE;
+       }
+       /* FIXME: it's not comparing full masks */
+@@ -82,7 +82,7 @@ bool config_filters_equal(const struct config_filter *f1,
+       if (!net_ip_compare(&f1->local_net, &f2->local_net))
+               return FALSE;
+ 
+-      if (null_strcmp(f1->local_name, f2->local_name) != 0)
++      if (null_strcasecmp(f1->local_name, f2->local_name) != 0)
+               return FALSE;
+ 
+       return TRUE;
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/dovecot.git/commitdiff/0ee6feb3f93181589906955c5cf33bcdf7404355

_______________________________________________
pld-cvs-commit mailing list
pld-cvs-commit@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to