>>>>> "Brian" == Brian May <[EMAIL PROTECTED]> writes:
Brian> I did see one listed in Brian> http://www.debian.org/Bugs/db/63/63376.html, but doesn't it Brian> doesn't apply cleanly to courier-imap-0.31 (probably Brian> cutting and pasting from the web page messes it up). I can't get this patch to apply cleanly, not matter what I do. I have sent a CC of this message to Miquel, the original submitter of the bug. Miquel, I think it is important that the patch applies cleanly, if it is going to be included in potato (which I agree would be a good idea). [659] [snoopy:bam] ~ >rm -rf courier-imap-0.31 [660] [snoopy:bam] ~ >tar -xzf courier-imap-0.31.tar.gz [661] [snoopy:bam] ~ >patch -p0 < ~/diff patching file `courier-imap-0.31/imap/fetch.c' Hunk #1 succeeded at 26 with fuzz 2. Hunk #2 FAILED at 835. Hunk #3 FAILED at 882. Hunk #4 FAILED at 900. Hunk #5 FAILED at 917. Hunk #6 FAILED at 957. Hunk #7 FAILED at 1040. 6 out of 7 hunks FAILED -- saving rejects to courier-imap-0.31/imap/fetch.c.rej patching file `courier-imap-0.31/imap/imapd.c' Hunk #1 succeeded at 69 with fuzz 2. Hunk #2 FAILED at 1879. 1 out of 2 hunks FAILED -- saving rejects to courier-imap-0.31/imap/imapd.c.rej patching file `courier-imap-0.31/imap/search.c' Hunk #1 succeeded at 24 with fuzz 2. Hunk #2 FAILED at 284. 1 out of 2 hunks FAILED -- saving rejects to courier-imap-0.31/imap/search.c.rejpatching file `courier-imap-0.31/maildir/deliverquota.c' Hunk #1 succeeded at 25 with fuzz 1. Hunk #2 FAILED at 103. 1 out of 2 hunks FAILED -- saving rejects to courier-imap-0.31/maildir/deliverquota.c.rej patching file `courier-imap-0.31/maildir/maildirpurgetmp.c' Hunk #1 FAILED at 55. 1 out of 1 hunk FAILED -- saving rejects to courier-imap-0.31/maildir/maildirpurgetmp.c.rej Attached is the list of rejects, produced by: find courier-imap-0.31 -name "*.rej" -ls -exec cat \{\} \; > rejects
229282 1 -rw------- 1 bam users 812 May 2 13:55 courier-imap-0.31/maildir/deliverquota.c.rej *************** *** 103,109 **** && errno != EAGAIN) { if (quotafd >= 0) close(quotafd); - exit(75); } maildir_addquota(dir, quotafd, q, ss-s, 1); if (quotafd >= 0) close(quotafd); --- 103,110 ---- && errno != EAGAIN) { if (quotafd >= 0) close(quotafd); + unlink(tname); + exit(77); } maildir_addquota(dir, quotafd, q, ss-s, 1); if (quotafd >= 0) close(quotafd); 229284 1 -rw------- 1 bam users 554 May 2 13:55 courier-imap-0.31/maildir/maildirpurgetmp.c.rej *************** *** 55,61 **** strcat(strcat(strcpy(z, m), "/"), de->d_name); if (stat(z, &stat_buf) == 0 - && stat_buf.st_mtime < current_time - nage) unlink(z); free(z); } --- 55,61 ---- strcat(strcat(strcpy(z, m), "/"), de->d_name); if (stat(z, &stat_buf) == 0 + && stat_buf.st_ctime < current_time - nage) unlink(z); free(z); } 229276 3 -rw------- 1 bam users 2597 May 2 13:55 courier-imap-0.31/imap/fetch.c.rej *************** *** 835,841 **** off_t nlines, nbodylines; size_t i,j,k,l; int c; - char buf[BUFSIZ]; int goodheader; unsigned long skipping; unsigned long cnt; --- 835,841 ---- off_t nlines, nbodylines; size_t i,j,k,l; int c; + char buf[BUFSIZ+2]; int goodheader; unsigned long skipping; unsigned long cnt; *************** *** 882,887 **** buf[k]=':'; } } for (k=j; k<i; k++) if (buf[k] == '\n') --- 882,889 ---- buf[k]=':'; } } + else if (buf[j] == '\n') + goodheader=0; for (k=j; k<i; k++) if (buf[k] == '\n') *************** *** 898,903 **** j=k; } cnt=l; for (i=0; i<l; i++) if (buf[i] == '\n') ++cnt; --- 900,907 ---- j=k; } + buf[l++]='\n'; /* Always append a blank line */ + cnt=l; for (i=0; i<l; i++) if (buf[i] == '\n') ++cnt; *************** *** 913,919 **** } writes("{"); - writen(cnt+2); /* BUG */ writes("}\r\n"); p=buf; while (skipping) --- 917,923 ---- } writes("{"); + writen(cnt); writes("}\r\n"); p=buf; while (skipping) *************** *** 953,959 **** p += i; cnt -= i; } - writes("\r\n"); /* BUG */ } struct fetchheaderinfo { --- 957,962 ---- p += i; cnt -= i; } } struct fetchheaderinfo { *************** *** 1037,1042 **** if (buf1[0] != '\n' && buf1[0] != '\r' && !isspace((int)(unsigned char)buf1[0])) goodheader= (*headerfunc)(fi, buf1); if (!goodheader) { while (left) --- 1040,1048 ---- if (buf1[0] != '\n' && buf1[0] != '\r' && !isspace((int)(unsigned char)buf1[0])) goodheader= (*headerfunc)(fi, buf1); + else if (buf1[0] == '\n') + goodheader=0; + if (!goodheader) { while (left) 229278 2 -rw------- 1 bam users 1615 May 2 13:55 courier-imap-0.31/imap/imapd.c.rej *************** *** 1879,1894 **** } mailbox=decode_valid_mailbox(curtoken->tokenbuf, 1); - if (mailbox && *mailbox == 0) - { - free(mailbox); - mailbox=0; - } if (!mailbox) { free(msgset); return (-1); } if (nexttoken()->tokentype != IT_EOL) { free(msgset); --- 1879,1906 ---- } mailbox=decode_valid_mailbox(curtoken->tokenbuf, 1); + if (!mailbox) { free(msgset); + + mailbox=valid_mailbox_name(curtoken->tokenbuf, 1); + if (mailbox && *mailbox == 0) + { + free(mailbox); + mailbox=0; + } + if (mailbox && nexttoken()->tokentype == IT_EOL) + { + free(mailbox); + writes(tag); + writes(" NO [TRYCREATE] Mailbox does not exist. \r\n"); + return (0); + } + if (mailbox) free(mailbox); return (-1); } + if (nexttoken()->tokentype != IT_EOL) { free(msgset); 229280 1 -rw------- 1 bam users 490 May 2 13:55 courier-imap-0.31/imap/search.c.rej *************** *** 284,290 **** } break; case search_uid: - break; if (is_in_set(p->as, current_mailbox_info.msgs[msgnum].uid)) p->value=1; break; --- 284,289 ---- } break; case search_uid: if (is_in_set(p->as, current_mailbox_info.msgs[msgnum].uid)) p->value=1; break;
-- Brian May <[EMAIL PROTECTED]>