summaryrefslogtreecommitdiffstats
path: root/abs/core/libsasl/0018_auth_rimap_quotes.patch
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2012-08-07 16:04:17 (GMT)
committerJames Meyer <james.meyer@operamail.com>2012-08-07 16:04:17 (GMT)
commit927e681145873e5045d07c9b7bb97f98e662040d (patch)
tree168eabeb632c9922c5e281436bc0967fea7f8304 /abs/core/libsasl/0018_auth_rimap_quotes.patch
parent9b52b29dd1f40f1fffea8fe268ab833c2db8b293 (diff)
downloadlinhes_pkgbuild-927e681145873e5045d07c9b7bb97f98e662040d.zip
linhes_pkgbuild-927e681145873e5045d07c9b7bb97f98e662040d.tar.gz
linhes_pkgbuild-927e681145873e5045d07c9b7bb97f98e662040d.tar.bz2
libsasl 2.1.23
Diffstat (limited to 'abs/core/libsasl/0018_auth_rimap_quotes.patch')
-rw-r--r--abs/core/libsasl/0018_auth_rimap_quotes.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/abs/core/libsasl/0018_auth_rimap_quotes.patch b/abs/core/libsasl/0018_auth_rimap_quotes.patch
new file mode 100644
index 0000000..13fa999
--- /dev/null
+++ b/abs/core/libsasl/0018_auth_rimap_quotes.patch
@@ -0,0 +1,35 @@
+0016_auth_rimap_quotes.dpatch by <fabbe@debian.org>
+
+All lines beginning with `## DP:' are a description of the patch.
+Avoid infinite loop when username/password has a double quote character.
+Upstream change: https://bugzilla.andrew.cmu.edu/cgi-bin/cvsweb.cgi/src/sasl/saslauthd/auth_rimap.c.diff?r1=1.12;r2=1.13
+
+diff -urNad etch~/saslauthd/auth_rimap.c etch/saslauthd/auth_rimap.c
+--- etch~/saslauthd/auth_rimap.c 2007-03-29 15:16:20.000000000 +0300
++++ etch/saslauthd/auth_rimap.c 2008-02-13 13:42:53.000000000 +0200
+@@ -162,6 +162,7 @@
+ num_quotes = 0;
+ p1 = s;
+ while ((p1 = strchr(p1, '"')) != NULL) {
++ p1++;
+ num_quotes++;
+ }
+
+@@ -438,7 +439,7 @@
+ syslog(LOG_WARNING, "auth_rimap: writev: %m");
+ memset(qlogin, 0, strlen(qlogin));
+ free(qlogin);
+- memset(qpass, 0, strlen(qlogin));
++ memset(qpass, 0, strlen(qpass));
+ free(qpass);
+ (void)close(s);
+ return strdup(RESP_IERROR);
+@@ -447,7 +448,7 @@
+ /* don't need these any longer */
+ memset(qlogin, 0, strlen(qlogin));
+ free(qlogin);
+- memset(qpass, 0, strlen(qlogin));
++ memset(qpass, 0, strlen(qpass));
+ free(qpass);
+
+ /* read and parse the LOGIN response */