aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>1998-06-29 05:11:55 +0800
committerache <ache@FreeBSD.org>1998-06-29 05:11:55 +0800
commita90e4356f59ca0802684ce23dc0b37b38ddd2450 (patch)
treec1adb25738227782b53ca9ec98edb77f7ebc86d0 /mail
parent2a3b3f6c997f6b6f0f1bb54c790b537b361ad14a (diff)
downloadfreebsd-ports-gnome-a90e4356f59ca0802684ce23dc0b37b38ddd2450.tar.gz
freebsd-ports-gnome-a90e4356f59ca0802684ce23dc0b37b38ddd2450.tar.zst
freebsd-ports-gnome-a90e4356f59ca0802684ce23dc0b37b38ddd2450.zip
Reject too long X-UIDL
Diffstat (limited to 'mail')
-rw-r--r--mail/popper/files/patch-ai31
1 files changed, 31 insertions, 0 deletions
diff --git a/mail/popper/files/patch-ai b/mail/popper/files/patch-ai
new file mode 100644
index 000000000000..8e3af1eb297f
--- /dev/null
+++ b/mail/popper/files/patch-ai
@@ -0,0 +1,31 @@
+*** pop_dropcopy.c.orig Sun Jun 28 21:46:27 1998
+--- pop_dropcopy.c Mon Jun 29 01:05:25 1998
+***************
+*** 484,495 ****
+ } else if (!strncasecmp("X-UIDL:", buffer, 7)) {
+ if (!uidl_found) {
+ char *cp;
+
+ uidl_found++;
+ /* Skip over header string */
+ cp = &buffer[7];
+ while (*cp && (*cp == ' ' || *cp == '\t')) cp++;
+! if(strlen(cp) < DIG_SIZE) /* To account for the empty UIDL string */
+ {
+ uidl_found--; /*roll over as though it hasn't seen anything*/
+ continue;
+--- 484,497 ----
+ } else if (!strncasecmp("X-UIDL:", buffer, 7)) {
+ if (!uidl_found) {
+ char *cp;
++ int l;
+
+ uidl_found++;
+ /* Skip over header string */
+ cp = &buffer[7];
+ while (*cp && (*cp == ' ' || *cp == '\t')) cp++;
+! l = strlen(cp);
+! if(l < DIG_SIZE || l > DIG_SIZE * 3) /* To account for the empty UIDL string */
+ {
+ uidl_found--; /*roll over as though it hasn't seen anything*/
+ continue;