Package: mairix Version: 0.20-1 Severity: normal Tags: patch Hello,
When a large mbox contains a message with a broken attachment such as a missing end boundary, mairix keeps looking through the rest of the mbox in hope of finding the end boundary. This often futile activity takes a long time if the mbox is large. The following patch restricts the search to the next 100 messages in the mbox. --- mairix-0.20.orig/mbox.c +++ mairix-0.20/mbox.c @@ -866,6 +866,7 @@ va = NULL; /* lazy mmap */ for (j=mb->n_old_msgs_valid, here=mb->new_msgs; here; j++, here=next) { int n; + int trials = 0; off_t start; size_t len; struct rfc822 *r8; @@ -903,14 +904,15 @@ if (r8) free_rfc822(r8); r8 = NULL; last = last->next; /* Try with another chunk on the end */ + ++trials; } else { /* Treat as success */ next = last->next; break; } - } while (last); + } while (last && trials < 100); - if (last) { + if (last && trials < 100) { start = mb->start[j] = here->start; mb->len[j] = len; compute_checksum((char *) va + here->start, len, &mb->check_all[j]); Thanks, Ken -- System Information: Debian Release: 4.0 APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.18 Locale: LANG=zh_TW.UTF-8, LC_CTYPE=zh_TW.UTF-8 (charmap=UTF-8) Versions of packages mairix depends on: ii libbz2-1.0 1.0.3-6 high-quality block-sorting file co ii libc6 2.3.6.ds1-13 GNU C Library: Shared libraries ii zlib1g 1:1.2.3-13 compression library - runtime mairix recommends no packages. -- no debconf information -- Edit this signature at http://www.digitas.harvard.edu/cgi-bin/ken/sig As the choice is essentially cosmetic there will likely be no end to the debate on what the correct decision should be. http://successor-ml.org/index.php?title=Quoting/anti-quoting
signature.asc
Description: Digital signature