From: Christoph Berg Date: Thu, 1 Mar 2007 21:48:53 +0000 (+0100) Subject: mutt (1.5.14+cvs20070301-1) experimental; urgency=low X-Git-Tag: 1.5.14+cvs20070301-1 X-Git-Url: https://git.llucax.com/software/mutt-debian.git/commitdiff_plain/92469c2db947a16e6290589c4b71809ee46eabc8?ds=inline;hp=--cc mutt (1.5.14+cvs20070301-1) experimental; urgency=low * New upstream snapshot. Hilights: + Now features ESMTP support, yay! + PKA support via gpgme. + Ability to save history. * Enable gpgme backend (Closes: #263443). * Move mail-transport-agent from Depends to Recommends (Closes: #356297). * /etc/Muttrc: + Do not unset write_bcc (Closes: #304718). + Do not unset use_from and use_domain (Closes: #283311, #398699). + Add quotes for compressed folder hooks (Closes: #238034), + mime_lookup application/octet-stream. * Patches: + assumed-charset: removed, applied upstream. + xtitles: Removed a comment on the default of xterm_set_titles (mentioned in #366413). * colors.angdraug: Fix spelling (Closes: #295241). * gpg.rc: add full path for pgpewrap (Closes: #396207). * Update copyright holders. --- 92469c2db947a16e6290589c4b71809ee46eabc8 diff --git a/debian/NEWS b/debian/NEWS index 7c3d399..0e9aad5 100644 --- a/debian/NEWS +++ b/debian/NEWS @@ -1,3 +1,17 @@ +mutt (1.5.14+cvs20070301-1) experimental; urgency=low + + We no longer unset write_bcc in /etc/Muttrc. If your MTA does not strip Bcc: + headers, edit /etc/Muttrc. (exim4 and postfix strip them, exim(3) does not.) + We also no longer unset use_from and use_domain. Mutt will use the contents + of /etc/mailname to determine the domain part of the From: header. + + This release adds ESMTP support to mutt. To use, set smtp_url to your + smarthost, e.g. smtps://mail.company.com/. + + The gpgme crypt backend is now enabled. + + -- Christoph Berg Thu, 1 Mar 2007 23:56:58 +0100 + mutt (1.5.6-1) unstable; urgency=low In this release the alternates, lists, and subscribe configuration diff --git a/debian/changelog b/debian/changelog index 8ed3485..bd125a7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,26 @@ +mutt (1.5.14+cvs20070301-1) experimental; urgency=low + + * New upstream snapshot. Hilights: + + Now features ESMTP support, yay! + + PKA support via gpgme. + + Ability to save history. + * Enable gpgme backend (Closes: #263443). + * Move mail-transport-agent from Depends to Recommends (Closes: #356297). + * /etc/Muttrc: + + Do not unset write_bcc (Closes: #304718). + + Do not unset use_from and use_domain (Closes: #283311, #398699). + + Add quotes for compressed folder hooks (Closes: #238034), + + mime_lookup application/octet-stream. + * Patches: + + assumed-charset: removed, applied upstream. + + xtitles: Removed a comment on the default of xterm_set_titles (mentioned + in #366413). + * colors.angdraug: Fix spelling (Closes: #295241). + * gpg.rc: add full path for pgpewrap (Closes: #396207). + * Update copyright holders. + + -- Christoph Berg Thu, 1 Mar 2007 22:48:53 +0100 + mutt (1.5.13+cvs20070215-1) experimental; urgency=low * Update to a CVS snapshot: diff --git a/debian/control b/debian/control index 09c8569..eafe7d1 100644 --- a/debian/control +++ b/debian/control @@ -3,14 +3,14 @@ Section: mail Priority: standard Maintainer: Adeodato Simó Uploaders: Christoph Berg -Build-Depends: debhelper, quilt, autotools-dev, gawk, gettext, xsltproc, docbook-xml, docbook-xsl, links, libncurses5-dev, libsasl2-dev, libgnutls-dev, libidn11-dev, zlib1g-dev, libncursesw5-dev, libdb4.4-dev +Build-Depends: debhelper, quilt, autotools-dev, gawk, gettext, xsltproc, docbook-xml, docbook-xsl, links, libncurses5-dev, libsasl2-dev, libgnutls-dev, libidn11-dev, zlib1g-dev, libncursesw5-dev, libdb4.4-dev, libgpgme11-dev Standards-Version: 3.7.2 Package: mutt Architecture: any Priority: standard -Depends: ${shlibs:Depends}, ${misc:Depends}, exim4 | mail-transport-agent -Recommends: locales, mime-support +Depends: ${shlibs:Depends}, ${misc:Depends} +Recommends: exim4 | mail-transport-agent, locales, mime-support Suggests: urlview, aspell | ispell, gnupg, mixmaster, openssl, ca-certificates Provides: mail-reader, imap-client Conflicts: mutt-utf8 @@ -23,10 +23,10 @@ Description: text-based mailreader supporting MIME, GPG, PGP and threading * PGP/MIME support (RFC 2015). * Advanced IMAP client supporting SSL encryption and SASL authentication. * POP3 support. - * Mailbox threading (both strict and non-strict). - * Default keybindings are much like ELM. - * Keybindings are configurable; Mush and PINE-like ones are provided as - examples. + * ESMTP support. + * Message threading (both strict and non-strict). + * Keybindings are configurable, default keybindings are much like ELM; + Mush and PINE-like ones are provided as examples. * Handles MMDF, MH and Maildir in addition to regular mbox format. * Messages may be (indefinitely) postponed. * Colour support. diff --git a/debian/copyright b/debian/copyright index 01bf277..407aaa1 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,8 +1,9 @@ This is Debian's prepackaged version of Mutt, a powerful text-mode mail user agent. -The current maintainer for this package is: +The current maintainers for this package are: Adeodato Simó + Christoph Berg Previous maintainers were: Stephen Pitts @@ -11,7 +12,7 @@ Previous maintainers were: Original source has been downloaded from ftp://ftp.mutt.org/mutt/: - URL: + URL: The following copyright notices apply to most of the program. Some modules are under different licenses, or in the public domain. @@ -21,21 +22,58 @@ persons who have been contributing to this program. Please see the manual for a (probably still non complete) list of the persons who have been helpful with the development of this program. -Copyright (C) 1996-2001 Michael R. Elkins -Copyright (C) 1996-2001 Brandon Long -Copyright (C) 1997-2001 Thomas Roessler -Copyright (C) 1998-2001 Werner Koch -Copyright (C) 1999-2001 Brendan Cully -Copyright (C) 1999-2001 Tommi Komulainen -Copyright (C) 2000-2001 Edmund Grimley Evans +Main authors: + Copyright (C) 1996-2006 Michael R. Elkins + Copyright (C) 1996-2001 Brandon Long + Copyright (C) 1997-2007 Thomas Roessler + Copyright (C) 1998-2003 Werner Koch + Copyright (C) 1999-2007 Brendan Cully + +Contributors: + Copyright (C) 2001 Marco d'Itri + Copyright (C) 2001-2002 Oliver Ehli + Copyright (C) 2000-2001 Edmund Grimley Evans + Copyright (C) 2004 Brian Fundakowski Feldman + Copyright (C) 2004 g10 Code GmbH + Copyright (C) 2004 Thomas Glanzmann + Copyright (C) 2003 Bjoern Jacke + Copyright (C) 2000 Manoj Kasichainula + Copyright (C) 1999-2001 Tommi Komulainen + Copyright (C) 2001-2004 Andrew McDonald + Copyright (C) 2001 Mike Schiraldi + Copyright (C) 2006 Rocco Rutte + Copyright (C) 2000-2003 Vsevolod Volkov + Copyright (C) 2004 Tobias Werth This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. +intl subdirectory: + Copyright (C) 1995-2001 Free Software Foundation, Inc. + Contributed by Ulrich Drepper, 1995. + On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL'. +md5c.c: + Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All + rights reserved. + License to copy and use this software is granted provided that it + is identified as the "RSA Data Security, Inc. MD5 Message-Digest + Algorithm" in all material mentioning or referencing this software + or this function. + License is also granted to make and use derivative works provided + that such works are identified as "derived from the RSA Data + Security, Inc. MD5 Message-Digest Algorithm" in all material + mentioning or referencing the derived work. + RSA Data Security, Inc. makes no representations concerning either + the merchantability of this software or the suitability of this + software for any particular purpose. It is provided "as is" + without express or implied warranty of any kind. + These notices must be retained in any copies of any part of this + documentation and/or software. + The list of authors of the applied patches to this version of mutt can be found in `/usr/share/doc/mutt/README.Patches'. diff --git a/debian/extra/rc/colors.rc b/debian/extra/rc/colors.rc new file mode 100644 index 0000000..5eae80a --- /dev/null +++ b/debian/extra/rc/colors.rc @@ -0,0 +1,19 @@ +# colors +color normal white black +color attachment brightyellow black +color hdrdefault cyan black +color indicator black cyan +color markers brightred black +color quoted green black +color signature cyan black +color status brightgreen blue +color tilde blue black +color tree red black +#color header brightgreen black ^From: +#color header brightcyan black ^To: +#color header brightcyan black ^Reply-To: +#color header brightcyan black ^Cc: +#color header brightblue black ^Subject: +#color body brightred black [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+ +#color body brightblue black (https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+ + diff --git a/debian/extra/rc/compressed-folders.rc b/debian/extra/rc/compressed-folders.rc new file mode 100644 index 0000000..d21b725 --- /dev/null +++ b/debian/extra/rc/compressed-folders.rc @@ -0,0 +1,8 @@ +# Use folders which match on \\.gz$ or \\.bz2$ as [gb]zipped folders: +open-hook \\.gz$ "gzip -cd '%f' > '%t'" +close-hook \\.gz$ "gzip -c '%t' > '%f'" +append-hook \\.gz$ "gzip -c '%t' >> '%f'" +open-hook \\.bz2$ "bzip2 -cd '%f' > '%t'" +close-hook \\.bz2$ "bzip2 -c '%t' > '%f'" +append-hook \\.bz2$ "bzip2 -c '%t' >> '%f'" + diff --git a/debian/extra/rc/smime-paths.rc b/debian/extra/rc/smime-paths.rc index 6dd9878..4541846 100644 --- a/debian/extra/rc/smime-paths.rc +++ b/debian/extra/rc/smime-paths.rc @@ -1,4 +1,3 @@ - # S/MIME configuration set smime_ca_location="~/.smime/ca-bundle.crt" set smime_certificates="~/.smime/certificates" @@ -17,4 +16,3 @@ set smime_decrypt_command="openssl smime -decrypt -passin stdin -inform DER -in set smime_verify_command="openssl smime -verify -inform DER -in %s %C -content %f" set smime_verify_opaque_command="openssl smime -verify -inform DER -in %s %C" -set mixmaster="mixmaster-filter" diff --git a/debian/extra/rc/source-Muttrc.d.rc b/debian/extra/rc/source-Muttrc.d.rc index cd8fa37..0c0b8d7 100644 --- a/debian/extra/rc/source-Muttrc.d.rc +++ b/debian/extra/rc/source-Muttrc.d.rc @@ -1,3 +1,2 @@ - # See /usr/share/doc/mutt/README.Debian for details. source /usr/lib/mutt/source-muttrc.d| diff --git a/debian/extra/samples/colors.angdraug b/debian/extra/samples/colors.angdraug index b2fc683..efba1cb 100644 --- a/debian/extra/samples/colors.angdraug +++ b/debian/extra/samples/colors.angdraug @@ -34,8 +34,8 @@ color body green default "^ *[-+*o] +" # list item # date formats color body cyan default "[0-9]{1,2}:[0-9]{2}(:[0-9]{2})?( ?(AM|PM|am|pm))?( +[+-][0-9]{4})?" color body cyan default "(\(19|20\)?[0-9]{2}/[01]?[0-9]/[0123]?[0-9]|[0123]?[0-9][/.][01]?[0-9][/.]\(19|20\)?[0-9]{2})(( at)? +[0-9]{1,2}:[0-9]{2}(:[0-9]{2})?( ?(AM|PM|am|pm))?( +[+-][0-9]{4})?)?" -color body cyan default "((Sun(day)?|Mon(day)?|Tue(sday)?|Wed(nesday)?|Thu(sday)?|Fri(day)?|Sat(urday)?),? +)?(Jan(uary)?|Feb(rary)?|Mar(ch)?|Apr(il)?|May|June?|July?|Aug(ust)?|Sep(ember)?|Oct(ober)?|Nov(ember)?|Dec(ember)?)[ .]+[0-9]{1,2}(st|nd|rd|th)?,?( +(19|20)[0-9]{2}(,?( at)? [0-9]{1,2}:[0-9]{2}(:[0-9]{2})?( ?(AM|PM|am|pm))?( +[+-][0-9]{4})?)?)?" -color body cyan default "((Sun(day)?|Mon(day)?|Tue(sday)?|Wed(nesday)?|Thu(sday)?|Fri(day)?|Sat(urday)?),? +)?[0-9]{1,2}(st|nd|rd|th)?[ .]+(Jan(uary)?|Feb(rary)?|Mar(ch)?|Apr(il)?|May|June?|July?|Aug(ust)?|Sep(ember)?|Oct(ober)?|Nov(ember)?|Dec(ember)?),?( +(19|20)?[0-9]{2})?(( at)? [0-9]{1,2}:[0-9]{2}(:[0-9]{2})?( ?(AM|PM|am|pm))?( +[+-][0-9]{4})?)?" +color body cyan default "((Sun(day)?|Mon(day)?|Tue(sday)?|Wed(nesday)?|Thu(sday)?|Fri(day)?|Sat(urday)?),? +)?(Jan(uary)?|Feb(ruary)?|Mar(ch)?|Apr(il)?|May|June?|July?|Aug(ust)?|Sep(ember)?|Oct(ober)?|Nov(ember)?|Dec(ember)?)[ .]+[0-9]{1,2}(st|nd|rd|th)?,?( +(19|20)[0-9]{2}(,?( at)? [0-9]{1,2}:[0-9]{2}(:[0-9]{2})?( ?(AM|PM|am|pm))?( +[+-][0-9]{4})?)?)?" +color body cyan default "((Sun(day)?|Mon(day)?|Tue(sday)?|Wed(nesday)?|Thu(sday)?|Fri(day)?|Sat(urday)?),? +)?[0-9]{1,2}(st|nd|rd|th)?[ .]+(Jan(uary)?|Feb(ruary)?|Mar(ch)?|Apr(il)?|May|June?|July?|Aug(ust)?|Sep(ember)?|Oct(ober)?|Nov(ember)?|Dec(ember)?),?( +(19|20)?[0-9]{2})?(( at)? [0-9]{1,2}:[0-9]{2}(:[0-9]{2})?( ?(AM|PM|am|pm))?( +[+-][0-9]{4})?)?" color header brightgreen default ^From: color header brightcyan default ^To: diff --git a/debian/patches/debian-specific/Md.Muttrc.diff b/debian/patches/debian-specific/Md.Muttrc.diff index 9c442bc..37cee64 100644 --- a/debian/patches/debian-specific/Md.Muttrc.diff +++ b/debian/patches/debian-specific/Md.Muttrc.diff @@ -1,6 +1,8 @@ ---- Muttrc.head.in.orig -+++ Muttrc.head.in -@@ -6,6 +6,38 @@ +Index: Muttrc.head.in +=================================================================== +--- Muttrc.head.in.orig 2007-03-01 23:38:41.396146688 +0100 ++++ Muttrc.head.in 2007-03-02 00:19:31.107733920 +0100 +@@ -6,6 +6,33 @@ # ignore "from " received content- mime-version status x-status message-id ignore sender references return-path lines @@ -21,25 +23,20 @@ +#bind pager previous-line +#bind pager next-line + -+# don't add the hostname to the From header -+unset use_domain -+# don't generate a From header -+unset use_from -+ +# Specifies how to sort messages in the index menu. +set sort=threads + -+# Exim does not remove Bcc headers -+unset write_bcc ++# Uncomment if your MTA does not strip Bcc: headers. ++# (exim4 and postfix strip them, exim(3) does not.) ++#unset write_bcc +# Postfix and qmail use Delivered-To for detecting loops +unset bounce_delivered + -+# weed out binary-only announcements to -devel-changes -+#macro index \CW T!~s\(.*source.*\)\nWn^T~A\n "Weed out binary-only announcements" ++set mixmaster="mixmaster-filter" # imitate the old search-body function macro index \eb "~b " "search in message bodies" -@@ -15,7 +47,17 @@ +@@ -15,14 +42,16 @@ macro index,pager \cb " ur macro attach,compose \cb " urlview" "call urlview to extract URLs out of a message" # Show documentation when pressing F1 @@ -47,40 +44,24 @@ +macro generic "!zcat @docdir@/mutt/manual.txt.gz | sensible-pager\n" "Show Mutt documentation" +macro index "!zcat @docdir@/mutt/manual.txt.gz | sensible-pager\n" "Show Mutt documentation" +macro pager "!zcat @docdir@/mutt/manual.txt.gz | sensible-pager\n" "Show Mutt documentation" -+ -+# Use folders which match on \\.gz$ or \\.bz2$ as [gb]zipped folders: -+open-hook \\.gz$ "gzip -cd %f > %t" -+close-hook \\.gz$ "gzip -c %t > %f" -+append-hook \\.gz$ "gzip -c %t >> %f" -+open-hook \\.bz2$ "bzip2 -cd %f > %t" -+close-hook \\.bz2$ "bzip2 -c %t > %f" -+append-hook \\.bz2$ "bzip2 -c %t >> %f" # show the incoming mailboxes list (just like "mutt -y") and back when pressing "y" macro index,pager y "?" "show incoming mailboxes list" -@@ -84,7 +126,22 @@ + bind browser y exit + + # If Mutt is unable to determine your site's domain name correctly, you can +-# set the default here. ++# set the default here. (better: fix /etc/mailname) + # + # set hostname=cs.hmc.edu + +@@ -84,7 +113,6 @@ attachments +I text/plain attachments -A message/external-body attachments -I message/external-body -## -## More settings -## -+# colors -+color normal white black -+color attachment brightyellow black -+color hdrdefault cyan black -+color indicator black cyan -+color markers brightred black -+color quoted green black -+color signature cyan black -+color status brightgreen blue -+color tilde blue black -+color tree red black -+#color header brightgreen black ^From: -+#color header brightcyan black ^To: -+#color header brightcyan black ^Reply-To: -+#color header brightcyan black ^Cc: -+#color header brightblue black ^Subject: -+#color body brightred black [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+ -+#color body brightblue black (https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+ ++# enable mime lookup by extension ++mime_lookup application/octet-stream diff --git a/debian/patches/features/assumed-charset b/debian/patches/features/assumed-charset deleted file mode 100644 index 78b30ef..0000000 --- a/debian/patches/features/assumed-charset +++ /dev/null @@ -1,515 +0,0 @@ -# vi: ft=diff -This is the assumed_charset patch by Takashi TAKIZAWA . - -The home page for this patch is: - - http://www.emaillab.org/mutt/download15.html.en - -* Patch last synced with upstream: - - Date: 2004-07-22 - - File: http://www.emaillab.org/mutt/1.5/patch-1.5.6.tt.assumed_charset.1.gz - -* Changes made: NONE. - -* Notes: - - the adjust_line and adjust_edited_file patches found in the above - page were formerly applied to the debian package too, but as of - 1.5.8 they are merged upstream. - -== END PATCH -diff -uNr mutt-1.5.6.orig/charset.c mutt-1.5.6/charset.c ---- mutt-1.5.6.orig/charset.c Tue Jan 21 21:25:21 2003 -+++ mutt-1.5.6/charset.c Sun Feb 15 15:13:26 2004 -@@ -581,3 +581,86 @@ - iconv_close (fc->cd); - FREE (_fc); - } -+ -+char *mutt_get_first_charset (const char *charset) -+{ -+ static char fcharset[SHORT_STRING]; -+ const char *c, *c1; -+ -+ c = charset; -+ if (!mutt_strlen(c)) -+ return "us-ascii"; -+ if (!(c1 = strchr (c, ':'))) -+ return charset; -+ strfcpy (fcharset, c, c1 - c + 1); -+ return fcharset; -+} -+ -+static size_t convert_string (ICONV_CONST char *f, size_t flen, -+ const char *from, const char *to, -+ char **t, size_t *tlen) -+{ -+ iconv_t cd; -+ char *buf, *ob; -+ size_t obl, n; -+ int e; -+ -+ cd = mutt_iconv_open (to, from, 0); -+ if (cd == (iconv_t)(-1)) -+ return (size_t)(-1); -+ obl = 4 * flen + 1; -+ ob = buf = safe_malloc (obl); -+ n = iconv (cd, &f, &flen, &ob, &obl); -+ if (n == (size_t)(-1) || iconv (cd, 0, 0, &ob, &obl) == (size_t)(-1)) -+ { -+ e = errno; -+ FREE (&buf); -+ iconv_close (cd); -+ errno = e; -+ return (size_t)(-1); -+ } -+ *ob = '\0'; -+ -+ *tlen = ob - buf; -+ -+ safe_realloc ((void **) &buf, ob - buf + 1); -+ *t = buf; -+ iconv_close (cd); -+ -+ return n; -+} -+ -+int mutt_convert_nonmime_string (char **ps) -+{ -+ const char *c, *c1; -+ -+ for (c = AssumedCharset; c; c = c1 ? c1 + 1 : 0) -+ { -+ char *u = *ps; -+ char *s; -+ char *fromcode; -+ size_t m, n; -+ size_t ulen = mutt_strlen (*ps); -+ size_t slen; -+ -+ if (!u || !*u) -+ return 0; -+ -+ c1 = strchr (c, ':'); -+ n = c1 ? c1 - c : mutt_strlen (c); -+ if (!n) -+ continue; -+ fromcode = safe_malloc (n + 1); -+ strfcpy (fromcode, c, n + 1); -+ m = convert_string (u, ulen, fromcode, Charset, &s, &slen); -+ FREE (&fromcode); -+ if (m != (size_t)(-1)) -+ { -+ FREE (ps); -+ *ps = s; -+ return 0; -+ } -+ } -+ return -1; -+} -+ -diff -uNr mutt-1.5.6.orig/charset.h mutt-1.5.6/charset.h ---- mutt-1.5.6.orig/charset.h Tue Mar 4 16:49:43 2003 -+++ mutt-1.5.6/charset.h Sun Feb 15 15:06:19 2004 -@@ -35,6 +35,8 @@ - #endif - - int mutt_convert_string (char **, const char *, const char *, int); -+char *mutt_get_first_charset (const char *); -+int mutt_convert_nonmime_string (char **); - - iconv_t mutt_iconv_open (const char *, const char *, int); - size_t mutt_iconv (iconv_t, ICONV_CONST char **, size_t *, char **, size_t *, ICONV_CONST char **, const char *); -diff -uNr mutt-1.5.6.orig/globals.h mutt-1.5.6/globals.h ---- mutt-1.5.6.orig/globals.h Mon Feb 2 02:15:17 2004 -+++ mutt-1.5.6/globals.h Sun Feb 15 15:06:19 2004 -@@ -32,6 +32,7 @@ - - WHERE char *AliasFile; - WHERE char *AliasFmt; -+WHERE char *AssumedCharset; - WHERE char *AttachSep; - WHERE char *Attribution; - WHERE char *AttachFormat; -@@ -45,6 +46,7 @@ - WHERE char *DsnReturn; - WHERE char *Editor; - WHERE char *EscChar; -+WHERE char *FileCharset; - WHERE char *FolderFormat; - WHERE char *ForwFmt; - WHERE char *Fqdn; -diff -uNr mutt-1.5.6.orig/handler.c mutt-1.5.6/handler.c ---- mutt-1.5.6.orig/handler.c Wed Nov 5 18:41:31 2003 -+++ mutt-1.5.6/handler.c Sun Feb 15 15:06:19 2004 -@@ -1718,11 +1718,21 @@ - int istext = mutt_is_text_part (b); - iconv_t cd = (iconv_t)(-1); - -- if (istext && s->flags & M_CHARCONV) -+ if (istext) - { -- char *charset = mutt_get_parameter ("charset", b->parameter); -- if (charset && Charset) -- cd = mutt_iconv_open (Charset, charset, M_ICONV_HOOK_FROM); -+ if(s->flags & M_CHARCONV) -+ { -+ char *charset = mutt_get_parameter ("charset", b->parameter); -+ if (!option (OPTSTRICTMIME) && !charset) -+ charset = mutt_get_first_charset (AssumedCharset); -+ if (charset && Charset) -+ cd = mutt_iconv_open (Charset, charset, M_ICONV_HOOK_FROM); -+ } -+ else -+ { -+ if (b->file_charset) -+ cd = mutt_iconv_open (Charset, b->file_charset, M_ICONV_HOOK_FROM); -+ } - } - - fseek (s->fpin, b->offset, 0); -diff -uNr mutt-1.5.6.orig/init.h mutt-1.5.6/init.h ---- mutt-1.5.6.orig/init.h Mon Feb 2 02:15:17 2004 -+++ mutt-1.5.6/init.h Sun Feb 15 15:07:40 2004 -@@ -184,6 +184,23 @@ - ** If set, Mutt will prompt you for carbon-copy (Cc) recipients before - ** editing the body of an outgoing message. - */ -+ { "assumed_charset", DT_STR, R_NONE, UL &AssumedCharset, UL "us-ascii"}, -+ /* -+ ** .pp -+ ** This variable is a colon-separated list of character encoding -+ ** schemes for messages without character encoding indication. -+ ** Header field values and message body content without character encoding -+ ** indication would be assumed that they are written in one of this list. -+ ** By default, all the header fields and message body without any charset -+ ** indication are assumed to be in "us-ascii". -+ ** .pp -+ ** For example, Japanese users might prefer this: -+ ** .pp -+ ** set assumed_charset="iso-2022-jp:euc-jp:shift_jis:utf-8" -+ ** .pp -+ ** However, only the first content is valid for the message body. -+ ** This variable is valid only if $$strict_mime is unset. -+ */ - { "attach_format", DT_STR, R_NONE, UL &AttachFormat, UL "%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] " }, - /* - ** .pp -@@ -532,6 +549,20 @@ - ** signed. - ** (PGP only) - */ -+ { "file_charset", DT_STR, R_NONE, UL &FileCharset, UL 0 }, -+ /* -+ ** .pp -+ ** This variable is a colon-separated list of character encoding -+ ** schemes for text file attatchments. -+ ** If unset, $$charset value will be used instead. -+ ** For example, the following configuration would work for Japanese -+ ** text handling: -+ ** .pp -+ ** set file_charset="iso-2022-jp:euc-jp:shift_jis:utf-8" -+ ** .pp -+ ** Note: "iso-2022-*" must be put at the head of the value as shown above -+ ** if included. -+ */ - { "folder", DT_PATH, R_NONE, UL &Maildir, UL "~/Mail" }, - /* - ** .pp -@@ -2476,6 +2507,19 @@ - ** Setting this variable causes the ``status bar'' to be displayed on - ** the first line of the screen rather than near the bottom. - */ -+ { "strict_mime", DT_BOOL, R_NONE, OPTSTRICTMIME, 1 }, -+ /* -+ ** .pp -+ ** When unset, non MIME-compliant messages that doesn't have any -+ ** charset indication in ``Content-Type'' field can be displayed -+ ** (non MIME-compliant messages are often generated by old mailers -+ ** or buggy mailers like MS Outlook Express). -+ ** See also $$assumed_charset. -+ ** .pp -+ ** This option also replaces linear-white-space between encoded-word -+ ** and *text to a single space to prevent the display of MIME-encoded -+ ** ``Subject'' field from being devided into multiple lines. -+ */ - { "strict_threads", DT_BOOL, R_RESORT|R_RESORT_INIT|R_INDEX, OPTSTRICTTHREADS, 0 }, - /* - ** .pp -diff -uNr mutt-1.5.6.orig/mutt.h mutt-1.5.6/mutt.h ---- mutt-1.5.6.orig/mutt.h Mon Feb 2 02:15:17 2004 -+++ mutt-1.5.6/mutt.h Sun Feb 15 15:06:19 2004 -@@ -406,6 +406,7 @@ - OPTSIGONTOP, - OPTSORTRE, - OPTSTATUSONTOP, -+ OPTSTRICTMIME, - OPTSTRICTTHREADS, - OPTSUSPEND, - OPTTEXTFLOWED, -@@ -599,6 +600,7 @@ - * If NULL, filename is used - * instead. - */ -+ char *file_charset; /* charset of attached file */ - CONTENT *content; /* structure used to store detailed info about - * the content of the attachment. this is used - * to determine what content-transfer-encoding -diff -uNr mutt-1.5.6.orig/parse.c mutt-1.5.6/parse.c ---- mutt-1.5.6.orig/parse.c Wed Nov 5 18:41:33 2003 -+++ mutt-1.5.6/parse.c Sun Feb 15 15:06:19 2004 -@@ -208,9 +208,23 @@ - - if (*s == '"') - { -+ int state_ascii = 1; - s++; -- for (i=0; *s && *s != '"' && i < sizeof (buffer) - 1; i++, s++) -+ for (i=0; *s && i < sizeof (buffer) - 1; i++, s++) - { -+ if (!option (OPTSTRICTMIME)) { -+ /* As iso-2022-* has a characer of '"' with non-ascii state, -+ * ignore it. */ -+ if (*s == 0x1b && i < sizeof (buffer) - 2) -+ { -+ if (s[1] == '(' && (s[2] == 'B' || s[2] == 'J')) -+ state_ascii = 1; -+ else -+ state_ascii = 0; -+ } -+ } -+ if (state_ascii && *s == '"') -+ break; - if (*s == '\\') - { - /* Quote the next character */ -@@ -379,7 +393,9 @@ - if (ct->type == TYPETEXT) - { - if (!(pc = mutt_get_parameter ("charset", ct->parameter))) -- mutt_set_parameter ("charset", "us-ascii", &ct->parameter); -+ mutt_set_parameter ("charset", option (OPTSTRICTMIME) ? "us-ascii" : -+ (const char *) mutt_get_first_charset (AssumedCharset), -+ &ct->parameter); - } - - } -diff -uNr mutt-1.5.6.orig/rfc2047.c mutt-1.5.6/rfc2047.c ---- mutt-1.5.6.orig/rfc2047.c Wed Nov 5 18:41:33 2003 -+++ mutt-1.5.6/rfc2047.c Sun Feb 15 15:13:58 2004 -@@ -706,13 +706,54 @@ - return 0; - } - -+/* return length of linear white space */ -+static size_t lwslen (const char *s, size_t n) -+{ -+ const char *p = s; -+ size_t len = n; -+ -+ if (n <= 0) -+ return 0; -+ -+ for (; p < s + n; p++) -+ if (!strchr (" \t\r\n", *p)) -+ { -+ len = (size_t)(p - s); -+ break; -+ } -+ if (strchr ("\r\n", *(p-1))) /* LWS doesn't end with CRLF */ -+ len = (size_t)0; -+ return len; -+} -+ -+/* return length of linear white space : reverse */ -+static size_t lwsrlen (const char *s, size_t n) -+{ -+ const char *p = s + n - 1; -+ size_t len = n; -+ -+ if (n <= 0) -+ return 0; -+ -+ if (strchr ("\r\n", *p)) /* LWS doesn't end with CRLF */ -+ return (size_t)0; -+ -+ for (; p >= s; p--) -+ if (!strchr (" \t\r\n", *p)) -+ { -+ len = (size_t)(s + n - 1 - p); -+ break; -+ } -+ return len; -+} -+ - /* try to decode anything that looks like a valid RFC2047 encoded - * header field, ignoring RFC822 parsing rules - */ - void rfc2047_decode (char **pd) - { - const char *p, *q; -- size_t n; -+ size_t m, n; - int found_encoded = 0; - char *d0, *d; - const char *s = *pd; -@@ -729,6 +770,37 @@ - if (!(p = find_encoded_word (s, &q))) - { - /* no encoded words */ -+ if (!option (OPTSTRICTMIME)) -+ { -+ n = mutt_strlen (s); -+ if (found_encoded && (m = lwslen (s, n)) != 0) -+ { -+ if (m != n) -+ *d = ' ', d++, dlen--; -+ n -= m, s += m; -+ } -+ if (ascii_strcasecmp (AssumedCharset, "us-ascii")) -+ { -+ char *t; -+ size_t tlen; -+ -+ t = safe_malloc (n + 1); -+ strfcpy (t, s, n + 1); -+ if (mutt_convert_nonmime_string (&t) == 0) -+ { -+ tlen = mutt_strlen (t); -+ strncpy (d, t, tlen); -+ d += tlen; -+ } -+ else -+ { -+ strncpy (d, s, n); -+ d += n; -+ } -+ FREE (&t); -+ break; -+ } -+ } - strncpy (d, s, dlen); - d += dlen; - break; -@@ -737,15 +809,37 @@ - if (p != s) - { - n = (size_t) (p - s); -- /* ignore spaces between encoded words */ -- if (!found_encoded || strspn (s, " \t\r\n") != n) -+ /* ignore spaces between encoded words -+ * and linear white spaces between encoded word and *text */ -+ if (!option (OPTSTRICTMIME)) - { -- if (n > dlen) -- n = dlen; -- memcpy (d, s, n); -- d += n; -- dlen -= n; -+ if (found_encoded && (m = lwslen (s, n)) != 0) -+ { -+ if (m != n) -+ *d = ' ', d++, dlen--; -+ n -= m, s += m; -+ } -+ -+ if ((m = n - lwsrlen (s, n)) != 0) -+ { -+ if (m > dlen) -+ m = dlen; -+ memcpy (d, s, m); -+ d += m; -+ dlen -= m; -+ if (m != n) -+ *d = ' ', d++, dlen--; -+ } - } -+ else if (!found_encoded || strspn (s, " \t\r\n") != n) -+ { -+ if (n > dlen) -+ n = dlen; -+ memcpy (d, s, n); -+ d += n; -+ dlen -= n; -+ } -+ - } - - rfc2047_decode_word (d, p, dlen); -@@ -766,7 +860,7 @@ - { - while (a) - { -- if (a->personal && strstr (a->personal, "=?") != NULL) -+ if (a->personal) - rfc2047_decode (&a->personal); - #ifdef EXACT_ADDRESS - if (a->val && strstr (a->val, "=?") != NULL) -diff -uNr mutt-1.5.6.orig/rfc2231.c mutt-1.5.6/rfc2231.c ---- mutt-1.5.6.orig/rfc2231.c Wed Nov 5 18:41:33 2003 -+++ mutt-1.5.6/rfc2231.c Sun Feb 15 15:06:19 2004 -@@ -113,6 +113,11 @@ - - if (option (OPTRFC2047PARAMS) && p->value && strstr (p->value, "=?")) - rfc2047_decode (&p->value); -+ else if (!option (OPTSTRICTMIME)) -+ { -+ if (ascii_strcasecmp (AssumedCharset, "us-ascii")) -+ mutt_convert_nonmime_string (&p->value); -+ } - - *last = p; - last = &p->next; -diff -uNr mutt-1.5.6.orig/sendlib.c mutt-1.5.6/sendlib.c ---- mutt-1.5.6.orig/sendlib.c Wed Nov 5 18:41:33 2003 -+++ mutt-1.5.6/sendlib.c Sun Feb 15 15:11:33 2004 -@@ -496,7 +496,7 @@ - } - - if (a->type == TYPETEXT && (!a->noconv)) -- fc = fgetconv_open (fpin, Charset, -+ fc = fgetconv_open (fpin, a->file_charset, - mutt_get_body_charset (send_charset, sizeof (send_charset), a), - 0); - else -@@ -896,6 +896,7 @@ - CONTENT *info; - CONTENT_STATE state; - FILE *fp = NULL; -+ char *fromcode; - char *tocode; - char buffer[100]; - char chsbuf[STRING]; -@@ -930,15 +931,18 @@ - if (b != NULL && b->type == TYPETEXT && (!b->noconv && !b->force_charset)) - { - char *chs = mutt_get_parameter ("charset", b->parameter); -+ char *fchs = b->use_disp ? ((FileCharset && *FileCharset) ? -+ FileCharset : Charset) : Charset; - if (Charset && (chs || SendCharset) && -- convert_file_from_to (fp, Charset, chs ? chs : SendCharset, -- 0, &tocode, info) != (size_t)(-1)) -+ convert_file_from_to (fp, fchs, chs ? chs : SendCharset, -+ &fromcode, &tocode, info) != (size_t)(-1)) - { - if (!chs) - { - mutt_canonical_charset (chsbuf, sizeof (chsbuf), tocode); - mutt_set_parameter ("charset", chsbuf, &b->parameter); - } -+ b->file_charset = fromcode; - FREE (&tocode); - safe_fclose (&fp); - return info; -@@ -1318,6 +1322,7 @@ - body->unlink = 1; - body->use_disp = 0; - body->disposition = DISPINLINE; -+ body->noconv = 1; - - mutt_parse_mime_message (ctx, hdr); - -diff -uNr mutt-1.5.6.orig/PATCHES mutt-1.5.6/PATCHES ---- mutt-1.5.6.orig/PATCHES Mon Feb 2 02:42:47 2004 -+++ mutt-1.5.6/PATCHES Sun Feb 15 15:14:55 2004 -@@ -0,0 +1 @@ -+patch-1.5.6.tt.assumed_charset.1 diff --git a/debian/patches/features/compressed-folders b/debian/patches/features/compressed-folders index 600200a..7c0268c 100644 --- a/debian/patches/features/compressed-folders +++ b/debian/patches/features/compressed-folders @@ -22,7 +22,7 @@ The home page for this patch is: Index: compress.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ compress.c 2007-02-16 01:59:20.562597888 +0100 ++++ compress.c 2007-03-01 22:30:00.101678680 +0100 @@ -0,0 +1,487 @@ +/* + * Copyright (C) 1997 Alain Penders @@ -514,7 +514,7 @@ Index: compress.c Index: compress.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ compress.h 2007-02-16 01:59:20.562597888 +0100 ++++ compress.h 2007-03-01 22:30:00.101678680 +0100 @@ -0,0 +1,27 @@ +/* + * Copyright (C) 1997 Alain Penders @@ -545,9 +545,9 @@ Index: compress.h +void mutt_fast_close_compressed (CONTEXT *); Index: configure.in =================================================================== ---- configure.in.orig 2007-02-16 01:59:04.810992496 +0100 -+++ configure.in 2007-02-16 01:59:20.563597736 +0100 -@@ -801,6 +801,11 @@ AC_ARG_ENABLE(locales-fix, AC_HELP_STRIN +--- configure.in.orig 2007-03-01 22:20:42.248485256 +0100 ++++ configure.in 2007-03-01 22:30:00.102678528 +0100 +@@ -808,6 +808,11 @@ AC_ARG_ENABLE(locales-fix, AC_HELP_STRIN AC_DEFINE(LOCALES_HACK,1,[ Define if the result of isprint() is unreliable. ]) fi]) @@ -561,8 +561,8 @@ Index: configure.in AC_DEFINE_UNQUOTED(EXECSHELL, "$withval", Index: curs_main.c =================================================================== ---- curs_main.c.orig 2007-02-16 01:59:04.853985960 +0100 -+++ curs_main.c 2007-02-16 01:59:20.563597736 +0100 +--- curs_main.c.orig 2007-03-01 22:08:47.806097008 +0100 ++++ curs_main.c 2007-03-01 22:30:00.102678528 +0100 @@ -1090,6 +1090,11 @@ int mutt_index_menu (void) { int check; @@ -577,8 +577,8 @@ Index: curs_main.c Index: doc/manual.xml.head =================================================================== ---- doc/manual.xml.head.orig 2007-02-16 01:59:04.898979120 +0100 -+++ doc/manual.xml.head 2007-02-16 01:59:20.566597280 +0100 +--- doc/manual.xml.head.orig 2007-03-01 22:08:47.852090016 +0100 ++++ doc/manual.xml.head 2007-03-01 22:30:00.106677920 +0100 @@ -4749,6 +4749,205 @@ becomes an issue as mutt will silently f @@ -787,8 +787,8 @@ Index: doc/manual.xml.head Index: doc/muttrc.man.head =================================================================== ---- doc/muttrc.man.head.orig 2007-02-16 01:59:04.942972432 +0100 -+++ doc/muttrc.man.head 2007-02-16 01:59:20.567597128 +0100 +--- doc/muttrc.man.head.orig 2007-03-01 22:08:47.900082720 +0100 ++++ doc/muttrc.man.head 2007-03-01 22:30:00.106677920 +0100 @@ -316,6 +316,24 @@ specify the ID of the public key to be u to a certain recipient. The meaning of "key ID" is to be taken broadly: This can be a different e-mail address, a numerical key ID, @@ -816,8 +816,8 @@ Index: doc/muttrc.man.head This command adds the named \fIstring\fP to the keyboard buffer. Index: hook.c =================================================================== ---- hook.c.orig 2007-02-16 01:59:04.986965744 +0100 -+++ hook.c 2007-02-16 01:59:20.567597128 +0100 +--- hook.c.orig 2007-03-01 22:08:47.947075576 +0100 ++++ hook.c 2007-03-01 22:30:00.107677768 +0100 @@ -24,6 +24,10 @@ #include "mailbox.h" #include "mutt_crypt.h" @@ -848,9 +848,9 @@ Index: hook.c ) Index: init.h =================================================================== ---- init.h.orig 2007-02-16 01:59:05.029959208 +0100 -+++ init.h 2007-02-16 01:59:20.568596976 +0100 -@@ -3067,6 +3067,11 @@ struct command_t Commands[] = { +--- init.h.orig 2007-03-01 22:20:35.279544696 +0100 ++++ init.h 2007-03-01 22:30:00.108677616 +0100 +@@ -3155,6 +3155,11 @@ struct command_t Commands[] = { { "folder-hook", mutt_parse_hook, M_FOLDERHOOK }, { "group", parse_group, 0 }, { "ungroup", parse_ungroup, 0 }, @@ -864,9 +864,9 @@ Index: init.h { "iconv-hook", mutt_parse_hook, M_ICONVHOOK }, Index: main.c =================================================================== ---- main.c.orig 2007-02-16 01:59:05.073952520 +0100 -+++ main.c 2007-02-16 01:59:20.569596824 +0100 -@@ -398,6 +398,12 @@ static void show_version (void) +--- main.c.orig 2007-03-01 22:20:46.386856128 +0100 ++++ main.c 2007-03-01 22:30:00.108677616 +0100 +@@ -404,6 +404,12 @@ static void show_version (void) #else "-LOCALES_HACK " #endif @@ -881,8 +881,8 @@ Index: main.c "+HAVE_WC_FUNCS " Index: Makefile.am =================================================================== ---- Makefile.am.orig 2007-02-16 01:59:05.117945832 +0100 -+++ Makefile.am 2007-02-16 01:59:20.569596824 +0100 +--- Makefile.am.orig 2007-03-01 22:20:46.454845792 +0100 ++++ Makefile.am 2007-03-01 22:30:00.108677616 +0100 @@ -18,7 +18,7 @@ BUILT_SOURCES = keymap_defs.h patchlist. bin_PROGRAMS = mutt @DOTLOCK_TARGET@ @PGPAUX_TARGET@ mutt_SOURCES = $(BUILT_SOURCES) \ @@ -903,8 +903,8 @@ Index: Makefile.am mailbox.h mapping.h md5.h mime.h mutt.h mutt_curses.h mutt_menu.h \ Index: mbox.c =================================================================== ---- mbox.c.orig 2007-02-16 01:59:05.160939296 +0100 -+++ mbox.c 2007-02-16 01:59:20.569596824 +0100 +--- mbox.c.orig 2007-03-01 22:08:48.131047608 +0100 ++++ mbox.c 2007-03-01 22:30:00.109677464 +0100 @@ -29,6 +29,10 @@ #include "copy.h" #include "mutt_curses.h" @@ -931,8 +931,8 @@ Index: mbox.c return 0; Index: mutt.h =================================================================== ---- mutt.h.orig 2007-02-16 01:59:05.203932760 +0100 -+++ mutt.h 2007-02-16 01:59:20.570596672 +0100 +--- mutt.h.orig 2007-03-01 22:20:43.625275952 +0100 ++++ mutt.h 2007-03-01 22:30:00.109677464 +0100 @@ -159,6 +159,11 @@ typedef enum #define M_ACCOUNTHOOK (1<<9) #define M_REPLYHOOK (1<<10) @@ -945,7 +945,7 @@ Index: mutt.h /* tree characters for linearize_tree and print_enriched_string */ #define M_TREE_LLCORNER 1 -@@ -879,6 +884,11 @@ typedef struct +@@ -882,6 +887,11 @@ typedef struct void *data; /* driver specific data */ #endif /* USE_IMAP */ @@ -959,8 +959,8 @@ Index: mutt.h unsigned char rights[(RIGHTSMAX + 7)/8]; /* ACL bits */ Index: mx.c =================================================================== ---- mx.c.orig 2007-02-16 01:59:05.247926072 +0100 -+++ mx.c 2007-02-16 01:59:20.571596520 +0100 +--- mx.c.orig 2007-03-01 22:08:48.223033624 +0100 ++++ mx.c 2007-03-01 22:30:00.110677312 +0100 @@ -30,6 +30,10 @@ #include "keymap.h" #include "url.h" @@ -1061,8 +1061,8 @@ Index: mx.c if (ctx->locked) lock = 0; Index: mx.h =================================================================== ---- mx.h.orig 2007-02-16 01:59:05.289919688 +0100 -+++ mx.h 2007-02-16 01:59:20.571596520 +0100 +--- mx.h.orig 2007-03-01 22:08:48.272026176 +0100 ++++ mx.h 2007-03-01 22:30:00.110677312 +0100 @@ -40,6 +40,9 @@ enum #ifdef USE_POP , M_POP @@ -1076,13 +1076,13 @@ Index: mx.h Index: PATCHES =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ PATCHES 2007-02-16 01:59:50.727012200 +0100 ++++ PATCHES 2007-03-01 22:30:00.110677312 +0100 @@ -0,0 +1 @@ +patch-1.5.11.rr.compressed.1 Index: po/de.po =================================================================== ---- po/de.po.orig 2007-02-16 01:59:05.375906616 +0100 -+++ po/de.po 2007-02-16 01:59:20.572596368 +0100 +--- po/de.po.orig 2007-03-01 22:21:09.228383688 +0100 ++++ po/de.po 2007-03-01 22:30:00.112677008 +0100 @@ -1266,6 +1266,48 @@ msgstr "Prüfung des Absenders fehlgeschl msgid "Failed to figure out sender" msgstr "Kann Absender nicht ermitteln" @@ -1132,7 +1132,7 @@ Index: po/de.po #: crypt.c:69 #, c-format msgid " (current time: %c)" -@@ -1892,6 +1934,10 @@ msgstr "" +@@ -1926,6 +1968,10 @@ msgstr "" msgid "Help for %s" msgstr "Hilfe für %s" @@ -1143,19 +1143,19 @@ Index: po/de.po #: hook.c:246 #, c-format msgid "unhook: Can't do unhook * from within a hook." -@@ -3392,18 +3438,10 @@ msgstr "Lese %s... %d (%d%%)" +@@ -3428,18 +3474,10 @@ msgstr "Lese %s..." msgid "Mailbox is corrupt!" msgstr "Mailbox fehlerhaft!" --#: mbox.c:662 +-#: mbox.c:670 -msgid "Mailbox was corrupted!" -msgstr "Mailbox wurde zerstört!" - - #: mbox.c:701 mbox.c:952 + #: mbox.c:711 mbox.c:964 msgid "Fatal error! Could not reopen mailbox!" msgstr "Fataler Fehler, konnte Mailbox nicht erneut öffnen!" --#: mbox.c:710 +-#: mbox.c:720 -msgid "Unable to lock mailbox!" -msgstr "Kann Mailbox nicht für exklusiven Zugriff sperren!" - @@ -1164,8 +1164,8 @@ Index: po/de.po #. * never happen, is we presume it is a bug in mutt. Index: po/POTFILES.in =================================================================== ---- po/POTFILES.in.orig 2007-02-16 01:59:05.419899928 +0100 -+++ po/POTFILES.in 2007-02-16 01:59:20.573596216 +0100 +--- po/POTFILES.in.orig 2007-03-01 22:20:56.152371544 +0100 ++++ po/POTFILES.in 2007-03-01 22:30:00.112677008 +0100 @@ -8,6 +8,7 @@ charset.c color.c commands.c @@ -1176,8 +1176,8 @@ Index: po/POTFILES.in cryptglue.c Index: status.c =================================================================== ---- status.c.orig 2007-02-16 01:59:05.465892936 +0100 -+++ status.c 2007-02-16 01:59:20.573596216 +0100 +--- status.c.orig 2007-03-01 22:08:48.458997752 +0100 ++++ status.c 2007-03-01 22:30:00.113676856 +0100 @@ -97,6 +97,14 @@ status_format_str (char *buf, size_t buf case 'f': diff --git a/debian/patches/features/xtitles b/debian/patches/features/xtitles index 3a39221..4309878 100644 --- a/debian/patches/features/xtitles +++ b/debian/patches/features/xtitles @@ -4,25 +4,27 @@ This is the xterm title patch as found on the mutt mailing lists. * Changes made: - 2007-01-27 myon: using %P caused a segfault, updated status.c to catch menu==NULL. + - 2007-02-20 myon: make the note about the xterm_set_titles defaults a + comment. == END PATCH Index: mutt/PATCHES =================================================================== ---- mutt.orig/PATCHES 2007-01-27 19:33:32.932962104 +0100 -+++ mutt/PATCHES 2007-01-27 19:33:32.932962104 +0100 +--- mutt/PATCHES.orig 2007-02-20 16:46:09.943601256 +0100 ++++ mutt/PATCHES 2007-02-20 16:46:09.943601256 +0100 @@ -0,0 +1 @@ +patch-1.5.13.nt+ab.xtitles.4 Index: mutt/curs_main.c =================================================================== --- mutt.orig/curs_main.c 2006-12-12 14:15:02.000000000 +0100 -+++ mutt/curs_main.c 2007-01-27 19:33:32.933961952 +0100 ++++ mutt/curs_main.c 2007-02-20 16:53:27.211126488 +0100 @@ -110,6 +110,19 @@ static const char *No_visible = N_("No v extern size_t UngetCount; +#define ASCII_CTRL_G 0x07 +#define ASCII_CTRL_OPEN_SQUARE_BRAKET 0x1b -+ ++ +void set_xterm_title_bar(char *title) +{ + fprintf(stderr ,"%c]2;%s%c", ASCII_CTRL_OPEN_SQUARE_BRAKET, title, ASCII_CTRL_G); @@ -53,7 +55,7 @@ Index: mutt/curs_main.c Index: mutt/globals.h =================================================================== --- mutt.orig/globals.h 2007-01-04 15:23:49.000000000 +0100 -+++ mutt/globals.h 2007-01-27 19:33:32.933961952 +0100 ++++ mutt/globals.h 2007-01-27 19:33:32.000000000 +0100 @@ -137,6 +137,8 @@ WHERE char *Tempdir; WHERE char *Tochars; WHERE char *Username; @@ -66,7 +68,7 @@ Index: mutt/globals.h Index: mutt/init.c =================================================================== --- mutt.orig/init.c 2006-12-12 14:15:03.000000000 +0100 -+++ mutt/init.c 2007-01-27 19:33:32.934961800 +0100 ++++ mutt/init.c 2007-01-27 19:33:32.000000000 +0100 @@ -1747,6 +1747,26 @@ static int parse_set (BUFFER *tmp, BUFFE toggle_option (MuttVars[idx].data); else @@ -97,7 +99,7 @@ Index: mutt/init.c Index: mutt/init.h =================================================================== --- mutt.orig/init.h 2006-12-12 14:15:03.000000000 +0100 -+++ mutt/init.h 2007-01-27 19:33:32.936961496 +0100 ++++ mutt/init.h 2007-02-20 16:47:02.718578240 +0100 @@ -2941,6 +2941,27 @@ struct option_t MuttVars[] = { ** Controls whether mutt writes out the Bcc header when preparing ** messages to be sent. Exim users may wish to unset this. @@ -110,11 +112,11 @@ Index: mutt/init.h + ** ``$$status_format''. + */ + {"xterm_set_titles", DT_BOOL, R_BOTH, OPTXTERMSETTITLES, 0}, ++ /* The default must be off to force in the validity checking. */ + /* + ** .pp + ** Controls whether mutt sets the xterm title bar and icon name -+ ** (as long as you're in an appropriate terminal). The default must -+ ** be off to force in the validity checking. ++ ** (as long as you are in an appropriate terminal). + */ + {"xterm_title", DT_STR, R_BOTH, UL &XtermTitle, UL "Mutt with %?m?%m messages&no messages?%?n? [%n NEW]?"}, + /* @@ -129,7 +131,7 @@ Index: mutt/init.h Index: mutt/mutt.h =================================================================== --- mutt.orig/mutt.h 2007-01-04 15:23:49.000000000 +0100 -+++ mutt/mutt.h 2007-01-27 19:33:32.936961496 +0100 ++++ mutt/mutt.h 2007-01-27 19:33:32.000000000 +0100 @@ -451,6 +451,7 @@ enum OPTWRAPSEARCH, OPTWRITEBCC, /* write out a bcc header? */ @@ -141,7 +143,7 @@ Index: mutt/mutt.h Index: mutt/pager.c =================================================================== --- mutt.orig/pager.c 2006-12-12 14:15:03.000000000 +0100 -+++ mutt/pager.c 2007-01-27 19:33:32.937961344 +0100 ++++ mutt/pager.c 2007-01-27 19:33:32.000000000 +0100 @@ -30,6 +30,8 @@ #include "pager.h" #include "attach.h" @@ -167,8 +169,8 @@ Index: mutt/pager.c if ((redraw & REDRAW_INDEX) && index) Index: mutt/status.c =================================================================== ---- mutt.orig/status.c 2007-01-27 19:33:36.429430560 +0100 -+++ mutt/status.c 2007-01-27 19:34:11.072164064 +0100 +--- mutt.orig/status.c 2007-01-27 19:33:36.000000000 +0100 ++++ mutt/status.c 2007-01-27 19:34:11.000000000 +0100 @@ -191,6 +191,8 @@ status_format_str (char *buf, size_t buf break; diff --git a/debian/patches/misc/autotools-update.diff b/debian/patches/misc/autotools-update.diff index ff63349..f8c3255 100644 --- a/debian/patches/misc/autotools-update.diff +++ b/debian/patches/misc/autotools-update.diff @@ -1,8 +1,8 @@ Index: mutt/Makefile.in =================================================================== ---- mutt.orig/Makefile.in 2007-02-16 01:48:07.977846312 +0100 -+++ mutt/Makefile.in 2007-02-16 01:48:38.461212136 +0100 -@@ -72,10 +72,10 @@ am__objects_1 = patchlist.$(OBJEXT) +--- mutt.orig/Makefile.in 2007-03-01 22:20:47.892627216 +0100 ++++ mutt/Makefile.in 2007-03-01 22:32:08.839107616 +0100 +@@ -73,10 +73,10 @@ am__objects_1 = patchlist.$(OBJEXT) am_mutt_OBJECTS = $(am__objects_1) addrbook.$(OBJEXT) alias.$(OBJEXT) \ attach.$(OBJEXT) base64.$(OBJEXT) browser.$(OBJEXT) \ buffy.$(OBJEXT) color.$(OBJEXT) crypt.$(OBJEXT) \ @@ -17,7 +17,7 @@ Index: mutt/Makefile.in filter.$(OBJEXT) from.$(OBJEXT) getdomain.$(OBJEXT) \ group.$(OBJEXT) handler.$(OBJEXT) hash.$(OBJEXT) \ hdrline.$(OBJEXT) headers.$(OBJEXT) help.$(OBJEXT) \ -@@ -300,7 +300,7 @@ bin_SCRIPTS = muttbug flea @SMIMEAUX_TAR +@@ -301,7 +301,7 @@ bin_SCRIPTS = muttbug flea @SMIMEAUX_TAR BUILT_SOURCES = keymap_defs.h patchlist.c mutt_SOURCES = $(BUILT_SOURCES) \ addrbook.c alias.c attach.c base64.c browser.c buffy.c color.c \ @@ -26,7 +26,7 @@ Index: mutt/Makefile.in commands.c complete.c compose.c copy.c curs_lib.c curs_main.c date.c \ edit.c enter.c flags.c init.c filter.c from.c \ getdomain.c group.c \ -@@ -333,7 +333,7 @@ EXTRA_mutt_SOURCES = account.c md5c.c mu +@@ -334,7 +334,7 @@ EXTRA_mutt_SOURCES = account.c md5c.c mu utf8.c wcwidth.c EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO UPDATING \ @@ -35,7 +35,7 @@ Index: mutt/Makefile.in attach.h buffy.h charset.h copy.h crypthash.h dotlock.h functions.h gen_defs \ globals.h hash.h history.h init.h keymap.h mutt_crypt.h \ mailbox.h mapping.h md5.h mime.h mutt.h mutt_curses.h mutt_menu.h \ -@@ -505,6 +505,7 @@ distclean-compile: +@@ -506,6 +506,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/commands.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/complete.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/compose.Po@am__quote@ @@ -45,9 +45,9 @@ Index: mutt/Makefile.in @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crypt-mod-pgp-classic.Po@am__quote@ Index: mutt/config.h.in =================================================================== ---- mutt.orig/config.h.in 2007-02-16 01:48:08.076831264 +0100 -+++ mutt/config.h.in 2007-02-16 01:48:34.256851296 +0100 -@@ -510,6 +510,9 @@ +--- mutt.orig/config.h.in 2007-03-01 22:20:48.710502880 +0100 ++++ mutt/config.h.in 2007-03-01 22:32:04.696737352 +0100 +@@ -513,6 +513,9 @@ /* Define to enable Sun mailtool attachments support. */ #undef SUN_ATTACHMENT @@ -59,9 +59,9 @@ Index: mutt/config.h.in Index: mutt/configure =================================================================== ---- mutt.orig/configure 2007-02-16 01:48:08.172816672 +0100 -+++ mutt/configure 2007-02-16 01:48:33.888907232 +0100 -@@ -1366,6 +1366,7 @@ Optional Features: +--- mutt.orig/configure 2007-03-01 22:20:51.923014504 +0100 ++++ mutt/configure 2007-03-01 22:32:04.324793896 +0100 +@@ -1367,6 +1367,7 @@ Optional Features: --enable-buffy-size Use file size attribute instead of access time --enable-mailtool Enable Sun mailtool attachments support --enable-locales-fix The result of isprint() is unreliable @@ -69,7 +69,7 @@ Index: mutt/configure --enable-exact-address Enable regeneration of email addresses --enable-hcache Enable header caching --disable-iconv Disable iconv support -@@ -15266,6 +15267,18 @@ _ACEOF +@@ -15491,6 +15492,18 @@ _ACEOF fi diff --git a/debian/patches/misc/define-pgp_getkeys_command.diff b/debian/patches/misc/define-pgp_getkeys_command.diff index 1aaaaaa..3dbad75 100644 --- a/debian/patches/misc/define-pgp_getkeys_command.diff +++ b/debian/patches/misc/define-pgp_getkeys_command.diff @@ -1,11 +1,13 @@ ---- contrib/gpg.rc.orig -+++ contrib/gpg.rc -@@ -72,6 +72,8 @@ +Index: contrib/gpg.rc +=================================================================== +--- contrib/gpg.rc.orig 2007-03-01 23:14:09.076973224 +0100 ++++ contrib/gpg.rc 2007-03-01 23:32:04.172533856 +0100 +@@ -72,6 +72,8 @@ set pgp_list_secring_command="/usr/bin/g # fetch keys # set pgp_getkeys_command="pkspxycwrap %r" +# This will work when #172960 will be fixed upstream -+# set pgp_getkeys_command="/usr/bin/gpg --recv-keys %r" ++# set pgp_getkeys_command="gpg --recv-keys %r" # pattern for good signature - may need to be adapted to locale! diff --git a/debian/patches/misc/gpg.rc-paths b/debian/patches/misc/gpg.rc-paths new file mode 100644 index 0000000..dd6dbb6 --- /dev/null +++ b/debian/patches/misc/gpg.rc-paths @@ -0,0 +1,63 @@ +Index: mutt/contrib/gpg.rc +=================================================================== +--- mutt.orig/contrib/gpg.rc 2007-03-01 23:29:39.667501960 +0100 ++++ mutt/contrib/gpg.rc 2007-03-01 23:31:40.669106920 +0100 +@@ -31,44 +31,44 @@ + # breaking PGP/MIME. + + # decode application/pgp +-set pgp_decode_command="/usr/bin/gpg --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f" ++set pgp_decode_command="gpg --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f" + + # verify a pgp/mime signature +-set pgp_verify_command="/usr/bin/gpg --status-fd=2 --no-verbose --quiet --batch --output - --verify %s %f" ++set pgp_verify_command="gpg --status-fd=2 --no-verbose --quiet --batch --output - --verify %s %f" + + # decrypt a pgp/mime attachment +-set pgp_decrypt_command="/usr/bin/gpg --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f" ++set pgp_decrypt_command="gpg --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f" + + # create a pgp/mime signed attachment + # set pgp_sign_command="/usr/bin/gpg-2comp --comment '' --no-verbose --batch --output - %?p?--passphrase-fd 0? --armor --detach-sign --textmode %?a?-u %a? %f" +-set pgp_sign_command="/usr/bin/gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0? --armor --detach-sign --textmode %?a?-u %a? %f" ++set pgp_sign_command="gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0? --armor --detach-sign --textmode %?a?-u %a? %f" + + # create a application/pgp signed (old-style) message + # set pgp_clearsign_command="/usr/bin/gpg-2comp --comment '' --no-verbose --batch --output - %?p?--passphrase-fd 0? --armor --textmode --clearsign %?a?-u %a? %f" +-set pgp_clearsign_command="/usr/bin/gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0? --armor --textmode --clearsign %?a?-u %a? %f" ++set pgp_clearsign_command="gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0? --armor --textmode --clearsign %?a?-u %a? %f" + + # create a pgp/mime encrypted attachment +-# set pgp_encrypt_only_command="pgpewrap gpg-2comp -v --batch --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f" +-set pgp_encrypt_only_command="pgpewrap /usr/bin/gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f" ++# set pgp_encrypt_only_command="/usr/lib/mutt/pgpewrap gpg-2comp -v --batch --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f" ++set pgp_encrypt_only_command="/usr/lib/mutt/pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f" + + # create a pgp/mime encrypted and signed attachment +-# set pgp_encrypt_sign_command="pgpewrap gpg-2comp %?p?--passphrase-fd 0? -v --batch --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f" +-set pgp_encrypt_sign_command="pgpewrap /usr/bin/gpg %?p?--passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f" ++# set pgp_encrypt_sign_command="/usr/lib/mutt/pgpewrap gpg-2comp %?p?--passphrase-fd 0? -v --batch --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f" ++set pgp_encrypt_sign_command="/usr/lib/mutt/pgpewrap gpg %?p?--passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f" + + # import a key into the public key ring +-set pgp_import_command="/usr/bin/gpg --no-verbose --import %f" ++set pgp_import_command="gpg --no-verbose --import %f" + + # export a key from the public key ring +-set pgp_export_command="/usr/bin/gpg --no-verbose --export --armor %r" ++set pgp_export_command="gpg --no-verbose --export --armor %r" + + # verify a key +-set pgp_verify_key_command="/usr/bin/gpg --verbose --batch --fingerprint --check-sigs %r" ++set pgp_verify_key_command="gpg --verbose --batch --fingerprint --check-sigs %r" + + # read in the public key ring +-set pgp_list_pubring_command="/usr/bin/gpg --no-verbose --batch --quiet --with-colons --list-keys %r" ++set pgp_list_pubring_command="gpg --no-verbose --batch --quiet --with-colons --list-keys %r" + + # read in the secret key ring +-set pgp_list_secring_command="/usr/bin/gpg --no-verbose --batch --quiet --with-colons --list-secret-keys %r" ++set pgp_list_secring_command="gpg --no-verbose --batch --quiet --with-colons --list-secret-keys %r" + + # fetch keys + # set pgp_getkeys_command="pkspxycwrap %r" diff --git a/debian/patches/series b/debian/patches/series index 23224b7..f699ac5 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -13,7 +13,6 @@ misc/doc-fix-reldate.h-location # features features/ifdef features/maildir-mtime -features/assumed-charset features/xtitles features/trash-folder features/purge-message @@ -26,6 +25,7 @@ debian-specific/use_usr_bin_editor.diff -p0 debian-specific/correct_docdir_in_man_page.diff -p0 debian-specific/dont_document_not_present_features.diff -p0 misc/define-pgp_getkeys_command.diff -p0 +misc/gpg.rc-paths # unapplied patches for custom packages # not-applied/patch-1.5.8.hr.sensible_browser_position.3 diff --git a/debian/rules b/debian/rules index 2237c01..b7c71cd 100755 --- a/debian/rules +++ b/debian/rules @@ -23,7 +23,9 @@ confflags = --prefix=/usr \ --enable-debug \ --enable-fcntl \ --enable-hcache \ + --enable-gpgme \ --enable-imap \ + --enable-smtp \ --enable-inodesort \ --enable-pop \ \ @@ -155,13 +157,11 @@ debian/tmp/install-stamp: chmod +x debian/header.awk debian/header.awk debian/patches/features/* >debian/tmp/README.Patches - cp $(objdir)/Muttrc.head debian/tmp/Muttrc - echo "# GnuPG configuration" >>debian/tmp/Muttrc - grep '^set' contrib/gpg.rc \ - | sed -e 's#pgpewrap#/usr/lib/mutt/pgpewrap#' \ - | sed -e 's#/usr/bin/gpg#gpg#' \ - >> debian/tmp/Muttrc - cat debian/extra/rc/* >>debian/tmp/Muttrc + ( cat $(objdir)/Muttrc.head; \ + echo "# GnuPG configuration"; \ + grep '^set' contrib/gpg.rc; \ + echo; \ + cat debian/extra/rc/* ) > debian/tmp/Muttrc touch $@ @@ -176,7 +176,6 @@ binary-arch: build install dh_installdirs dh_install dh_installman - dh_installmime dh_installmenu dh_installdocs dh_installexamples