View | Details | Raw Unified | Return to bug 100483
Collapse All | Expand All

(-)./Makefile (-11 / +8 lines)
Lines 106-113 Link Here
106
#
106
#
107
107
108
PORTNAME=	mutt-devel
108
PORTNAME=	mutt-devel
109
PORTVERSION=	1.5.11
109
PORTVERSION=	1.5.12
110
PORTREVISION?=	3
110
PORTREVISION?=	0
111
CATEGORIES+=	mail ipv6
111
CATEGORIES+=	mail ipv6
112
.if defined(WITH_MUTT_NNTP)
112
.if defined(WITH_MUTT_NNTP)
113
CATEGORIES+=	news
113
CATEGORIES+=	news
Lines 194-199 Link Here
194
WITH_MUTT_IMAP_HEADER_CACHE=	yes
194
WITH_MUTT_IMAP_HEADER_CACHE=	yes
195
.endif
195
.endif
196
.if defined(WITH_MUTT_SIDEBAR_PATCH)
196
.if defined(WITH_MUTT_SIDEBAR_PATCH)
197
IGNORE=	cannot install: the WITH_MUTT_SIDEBAR_PATCH does not work at the moment
197
.if defined(WITH_MUTT_NNTP)
198
.if defined(WITH_MUTT_NNTP)
198
IGNORE=	cannot install: the WITH_MUTT_SIDEBAR_PATCH and WITH_MUTT_NNTP are not compatible
199
IGNORE=	cannot install: the WITH_MUTT_SIDEBAR_PATCH and WITH_MUTT_NNTP are not compatible
199
.endif
200
.endif
Lines 315-324 Link Here
315
post-patch::
316
post-patch::
316
	@${PATCH} ${PATCH_ARGS} < ${PATCHDIR}/extra-patch-smime-outlook
317
	@${PATCH} ${PATCH_ARGS} < ${PATCHDIR}/extra-patch-smime-outlook
317
.endif
318
.endif
318
.if defined(WITH_MUTT_MAILDIR_HEADER_CACHE)
319
post-patch::
320
	@${PATCH} ${PATCH_ARGS} -p1 < ${PATCHDIR}/extra-patch-maildir-header-cache
321
.endif
322
.if defined(WITH_MUTT_SIGNATURE_MENU)
319
.if defined(WITH_MUTT_SIGNATURE_MENU)
323
XML_NEEDED=	yes
320
XML_NEEDED=	yes
324
post-patch::
321
post-patch::
Lines 396-408 Link Here
396
	@${PATCH} ${PATCH_ARGS} -p1 < ${WRKDIR}/patch-compressed
393
	@${PATCH} ${PATCH_ARGS} -p1 < ${WRKDIR}/patch-compressed
397
.endif
394
.endif
398
.if defined(WITH_MUTT_NNTP)
395
.if defined(WITH_MUTT_NNTP)
399
DISTFILES+=	patch-${VVV_PATCH_VERSION}.vvv.nntp.gz:vvv
396
DISTFILES+=    patch-${VVV_PATCH_VERSION}.vvv.nntp.gz:vvv
400
CONFIGURE_ARGS+=	--enable-nntp
397
CONFIGURE_ARGS+=	--enable-nntp
401
XML_NEEDED=	yes
398
XML_NEEDED=	yes
402
pre-patch::
399
pre-patch::
403
	@${GUNZIP_CMD} -c ${DISTDIR}/${DIST_SUBDIR}/patch-${VVV_PATCH_VERSION}.vvv.nntp.gz > ${WRKDIR}/patch-nntp
400
	@${GUNZIP_CMD} -c ${DISTDIR}/${DIST_SUBDIR}/patch-${VVV_PATCH_VERSION}.vvv.nntp.gz > ${WRKDIR}/patch-nntp
404
	@${REINPLACE_CMD} -E '/^diff.*\/doc\/manual.txt$$/,/^diff/d' \
401
	@${REINPLACE_CMD} -E '/^diff.*\/doc\/manual.txt$$/,/^diff/d' \
405
		 ${WRKDIR}/patch-nntp
402
		${WRKDIR}/patch-nntp
406
	@${PATCH} ${PATCH_ARGS} -p1 < ${WRKDIR}/patch-nntp
403
	@${PATCH} ${PATCH_ARGS} -p1 < ${WRKDIR}/patch-nntp
407
.endif
404
.endif
408
.if ! defined(WITHOUT_MUTT_QUOTE_PATCH)
405
.if ! defined(WITHOUT_MUTT_QUOTE_PATCH)
Lines 414-423 Link Here
414
DISTFILES+=	patch-${CD_IFDEF_PATCH_VERSION}.cd.ifdef.1:cd
411
DISTFILES+=	patch-${CD_IFDEF_PATCH_VERSION}.cd.ifdef.1:cd
415
#XML_NEEDED=	yes
412
#XML_NEEDED=	yes
416
pre-patch::
413
pre-patch::
417
	${CAT} ${DISTDIR}/${DIST_SUBDIR}/patch-${CD_IFDEF_PATCH_VERSION}.cd.ifdef.1 > ${WRKDIR}/patch-ifdef
414
	@${CAT} ${DISTDIR}/${DIST_SUBDIR}/patch-${CD_IFDEF_PATCH_VERSION}.cd.ifdef.1 > ${WRKDIR}/patch-ifdef
418
	${REINPLACE_CMD} -E '/^diff.*\/doc\/manual.sgml.head$$/,/^diff/d' \
415
	@${REINPLACE_CMD} -E '/^diff.*\/doc\/manual.sgml.head$$/,/^diff/d' \
419
		 ${WRKDIR}/patch-ifdef
416
		 ${WRKDIR}/patch-ifdef
420
	${PATCH} ${PATCH_ARGS} -p1 < ${WRKDIR}/patch-ifdef
417
	@${PATCH} ${PATCH_ARGS} -p1 < ${WRKDIR}/patch-ifdef
421
.endif
418
.endif
422
.if defined(WITH_MUTT_MBOX_HOOK_PATCH)
419
.if defined(WITH_MUTT_MBOX_HOOK_PATCH)
423
PATCHFILES+=	p0-patch-${DW_MBOX_PATCH_VERSION}.dw.mbox-hook.1:dw
420
PATCHFILES+=	p0-patch-${DW_MBOX_PATCH_VERSION}.dw.mbox-hook.1:dw
(-)./distinfo (-18 / +15 lines)
Lines 1-27 Link Here
1
MD5 (mutt/mutt-1.5.11.tar.gz) = 00e6f8f7c37d4840e5e30583ebee21ce
1
MD5 (mutt/mutt-1.5.12.tar.gz) = 57196c816211a72900fdc54341eb0132
2
SHA256 (mutt/mutt-1.5.11.tar.gz) = 0ff256a9851952a5f6dfb4b7dccf5dc26db9de5502d035748abc93dec84af474
2
SHA256 (mutt/mutt-1.5.12.tar.gz) = 0d0c2ab6cea0d93579bc5490fafdae3bf640070d993490c7b00ccac4fa808b67
3
SIZE (mutt/mutt-1.5.11.tar.gz) = 3187375
3
SIZE (mutt/mutt-1.5.12.tar.gz) = 3440835
4
MD5 (mutt/patch-1.5.11.rr.compressed.gz) = 95ec112ae0ce2cbd1b67bcc68756bf97
4
MD5 (mutt/patch-1.5.12.rr.compressed.gz) = 9a164da2a647de6a6e19c4d43bd032aa
5
SHA256 (mutt/patch-1.5.11.rr.compressed.gz) = 1e2697136e0431508d2447de8b67fb32114d0b08ec043cc929e3ddf07202fcb5
5
SHA256 (mutt/patch-1.5.12.rr.compressed.gz) = 8311bdb651a39e492ac66591324c0c21a3d7c7c7c487a86676db01fd62f12606
6
SIZE (mutt/patch-1.5.11.rr.compressed.gz) = 9995
6
SIZE (mutt/patch-1.5.12.rr.compressed.gz) = 10066
7
MD5 (mutt/patch-1.5.11.vvv.nntp.gz) = f5a2f99940a4bbeef2d1062e9280462c
7
MD5 (mutt/patch-1.5.12.vvv.nntp.gz) = 7cbc1e12a743b3ad9a594a5da29f6d35
8
SHA256 (mutt/patch-1.5.11.vvv.nntp.gz) = ec316b84dcd5718abad2276e587ea5f7b80a2b1ebfe2509321857f3ac4aa6691
8
SHA256 (mutt/patch-1.5.12.vvv.nntp.gz) = 5d921156e0b3e6ccb53964c8308a0c3f2b57357512b453a8bdfa49e7978c0f05
9
SIZE (mutt/patch-1.5.11.vvv.nntp.gz) = 54943
9
SIZE (mutt/patch-1.5.12.vvv.nntp.gz) = 54910
10
MD5 (mutt/patch-1.5.4.cd.ifdef.1) = a545036cdb55519154d0b35465f52daa
10
MD5 (mutt/patch-1.5.4.cd.ifdef.1) = a545036cdb55519154d0b35465f52daa
11
SHA256 (mutt/patch-1.5.4.cd.ifdef.1) = 7d11892bcc688bbc82b5996ca0fda2d4446d8e928bec50b2731f8a3a5d9be373
11
SHA256 (mutt/patch-1.5.4.cd.ifdef.1) = 7d11892bcc688bbc82b5996ca0fda2d4446d8e928bec50b2731f8a3a5d9be373
12
SIZE (mutt/patch-1.5.4.cd.ifdef.1) = 3545
12
SIZE (mutt/patch-1.5.4.cd.ifdef.1) = 3545
13
MD5 (mutt/patch-1.5.11.vvv.initials.gz) = 1d6e82f41b96a47862f6cd7cfd943ec6
13
MD5 (mutt/patch-1.5.12.vvv.initials.gz) = 1cc3b352f92c14f619c534aaa8e4900d
14
SHA256 (mutt/patch-1.5.11.vvv.initials.gz) = a16566b77f2c90b06d1cd6a24de6983c0cca11a229c4bdeba28d7931068f4d0f
14
SHA256 (mutt/patch-1.5.12.vvv.initials.gz) = 4b4e8953c0d8144366ae8ca1a616253218981dbca4bf312c87766fa9c408833f
15
SIZE (mutt/patch-1.5.11.vvv.initials.gz) = 684
15
SIZE (mutt/patch-1.5.12.vvv.initials.gz) = 683
16
MD5 (mutt/patch-1.5.11.vvv.quote.gz) = 5409e89072f83ffbe87d2358948816db
16
MD5 (mutt/patch-1.5.12.vvv.quote.gz) = 48df3c09a4a467ce0347588ecff1d73b
17
SHA256 (mutt/patch-1.5.11.vvv.quote.gz) = 1f3f8b3b2d7ddf1bf9f203efbf79be526c0bc687fe65d9361d236972aaac4f34
17
SHA256 (mutt/patch-1.5.12.vvv.quote.gz) = 5110a3437311e07216b102c17f3888b4fff2f593f1107fd46247559028b9d6d2
18
SIZE (mutt/patch-1.5.11.vvv.quote.gz) = 1958
18
SIZE (mutt/patch-1.5.12.vvv.quote.gz) = 1967
19
MD5 (mutt/p0-patch-1.5.6.dw.mbox-hook.1) = 9e29a6778ab07a4de3442691e4573fea
19
MD5 (mutt/p0-patch-1.5.6.dw.mbox-hook.1) = 9e29a6778ab07a4de3442691e4573fea
20
SHA256 (mutt/p0-patch-1.5.6.dw.mbox-hook.1) = ec9511b86a595f9b4f1f96b05d9e9e12e997bc62b0a0f2b5a36e2817dee61406
20
SHA256 (mutt/p0-patch-1.5.6.dw.mbox-hook.1) = ec9511b86a595f9b4f1f96b05d9e9e12e997bc62b0a0f2b5a36e2817dee61406
21
SIZE (mutt/p0-patch-1.5.6.dw.mbox-hook.1) = 6405
21
SIZE (mutt/p0-patch-1.5.6.dw.mbox-hook.1) = 6405
22
MD5 (mutt/patch-1.5.9.tt.assumed_charset.2.gz) = 45cacc5155f1865ace31c72e2bffee63
22
MD5 (mutt/patch-1.5.9.tt.assumed_charset.2.gz) = 45cacc5155f1865ace31c72e2bffee63
23
SHA256 (mutt/patch-1.5.9.tt.assumed_charset.2.gz) = 41ae6d049d2d39c3bb01d534a760372ec571bc51e90c259f529c477aa41d3d7e
23
SHA256 (mutt/patch-1.5.9.tt.assumed_charset.2.gz) = 41ae6d049d2d39c3bb01d534a760372ec571bc51e90c259f529c477aa41d3d7e
24
SIZE (mutt/patch-1.5.9.tt.assumed_charset.2.gz) = 2555
24
SIZE (mutt/patch-1.5.9.tt.assumed_charset.2.gz) = 2555
25
MD5 (mutt/patch-1.5.11.sidebar.20060225.txt) = a1d5726cfcd6ddb55c40491b2567f6db
26
SHA256 (mutt/patch-1.5.11.sidebar.20060225.txt) = 2bdc62298cffed83854a83a1ad100fdf8285dd6d9bfb59a818e5cf4dc5d2b700
27
SIZE (mutt/patch-1.5.11.sidebar.20060225.txt) = 47547
(-)./files/extra-patch-doc-xml (-9 / +9 lines)
Lines 1-11 Link Here
1
--- doc/Makefile.in.orig2	Sat Feb  2 18:30:27 2002
1
--- doc/Makefile.in.orig2	Mon Jul 17 15:50:28 2006
2
+++ doc/Makefile.in	Sat Feb  2 18:32:39 2002
2
+++ doc/Makefile.in	Mon Jul 17 15:50:57 2006
3
@@ -60,7 +60,7 @@
3
@@ -71,7 +71,7 @@
4
 topsrcdir_DOCFILES = COPYRIGHT GPL INSTALL ChangeLog	\
4
 all: ../makedoc$(EXEEXT)
5
 	README NEWS TODO README.SECURITY README.SSL 
5
 	$(MAKE) makedoc-all
6
 
6
 
7
-all: mutt.1 muttrc.man
7
-makedoc-all: mutt.1 muttrc.man
8
+all: mutt.1 muttrc.man manual.html stamp-doc-chunked manual.txt
8
+makedoc-all: mutt.1 muttrc.man manual.html stamp-doc-chunked manual.txt
9
 
9
 
10
 try-html: ../makedoc
10
 install: makedoc-all instdoc
11
 	rm -f *.html && $(MAKE) manual.html || cp $(srcdir)/manual*.html ./
11
 	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man1
(-)./files/extra-patch-maildir-header-cache (-256 lines)
Lines 1-256 Link Here
1
diff -Nru a/PATCHES b/PATCHES
2
--- a/PATCHES
3
+++ b/PATCHES
4
@@ -0,0 +1 @@
5
+mutt-cvs-header-cache.30
6
--- a/configure.in
7
+++ b/configure.in
8
@@ -804,10 +804,23 @@
9
     OLDLIBS="$LIBS"
10
 
11
     need_md5="yes"
12
+
13
+    ac_prefer_qdbm=yes
14
+    AC_ARG_WITH(qdbm, AC_HELP_STRING([--without-qdbm], [Don't use qdbm even if it is available]),
15
+        ac_prefer_qdbm=$withval)
16
+    if test x$ac_prefer_qdbm != xno; then
17
+        CPPFLAGS="$OLDCPPFLAGS"
18
+        LIBS="$OLDLIBS -lqdbm";
19
+        AC_CACHE_CHECK(for vlopen, ac_cv_vlopen,[
20
+            ac_cv_vlopen=no
21
+            AC_TRY_LINK([#include <villa.h>],[vlopen(0,0,0);],[ac_cv_vlopen=yes])
22
+        ])
23
+    fi
24
+
25
     ac_prefer_gdbm=yes
26
     AC_ARG_WITH(gdbm, AC_HELP_STRING([--without-gdbm], [Don't use gdbm even if it is available]),
27
         ac_prefer_gdbm=$withval)
28
-    if test x$ac_prefer_gdbm != xno; then
29
+    if test x$ac_prefer_gdbm != xno -a x$ac_cv_vlopen != xyes; then
30
         CPPFLAGS="$OLDCPPFLAGS"
31
         LIBS="$OLDLIBS -lgdbm";
32
         AC_CACHE_CHECK(for gdbm_open, ac_cv_gdbmopen,[
33
@@ -819,7 +832,7 @@
34
     ac_bdb_prefix=yes
35
     AC_ARG_WITH(bdb, AC_HELP_STRING([--with-bdb[=DIR]], [Use BerkeleyDB4 if gdbm is not available]),
36
         ac_bdb_prefix=$withval)
37
-    if test x$ac_bdb_prefix != xno -a x$ac_cv_gdbmopen != xyes; then
38
+    if test x$ac_bdb_prefix != xno -a x$ac_cv_gdbmopen != xyes -a x$ac_cv_vlopen != xyes; then
39
         test x$ac_bdb_prefix = xyes && ac_bdb_prefix="$mutt_cv_prefix /opt/csw/bdb4 /opt /usr/local /usr"
40
         for d in $ac_bdb_prefix; do
41
             bdbpfx="$bdbpfx $d"
42
@@ -865,7 +878,11 @@
43
         fi
44
     fi
45
 
46
-    if test x$ac_cv_gdbmopen = xyes; then
47
+    if test x$ac_cv_vlopen = xyes; then
48
+        CPPFLAGS="$OLDCPPFLAGS"
49
+        LIBS="$OLDLIBS -lqdbm";
50
+        AC_DEFINE(HAVE_QDBM, 1, [QDBM Support])
51
+    elif test x$ac_cv_gdbmopen = xyes; then
52
         CPPFLAGS="$OLDCPPFLAGS"
53
         LIBS="$OLDLIBS -lgdbm";
54
         AC_DEFINE(HAVE_GDBM, 1, [GDBM Support])
55
--- a/hcache.c
56
+++ b/hcache.c
57
@@ -22,7 +22,11 @@
58
 #include "config.h"
59
 #endif				/* HAVE_CONFIG_H */
60
 
61
-#if HAVE_GDBM
62
+#if HAVE_QDBM
63
+#include <depot.h>
64
+#include <cabin.h>
65
+#include <villa.h>
66
+#elif HAVE_GDBM
67
 #include <gdbm.h>
68
 #elif HAVE_DB4
69
 #include <db.h>
70
@@ -42,7 +46,14 @@
71
 #include "lib.h"
72
 #include "md5.h"
73
 
74
-#if HAVE_GDBM
75
+#if HAVE_QDBM
76
+static struct header_cache
77
+{
78
+  VILLA *db;
79
+  char *folder;
80
+  unsigned int crc;
81
+} HEADER_CACHE;
82
+#elif HAVE_GDBM
83
 static struct header_cache
84
 {
85
   GDBM_FILE db;
86
@@ -615,7 +626,139 @@
87
   return h;
88
 }
89
 
90
-#if HAVE_GDBM
91
+#if HAVE_QDBM
92
+void *
93
+mutt_hcache_open(const char *path, const char *folder)
94
+{
95
+  struct header_cache *h = safe_calloc(1, sizeof (HEADER_CACHE));
96
+  int    flags = 0;
97
+#if 0 /* FIXME */
98
+  int pagesize = atoi(HeaderCachePageSize) ? atoi(HeaderCachePageSize) : 16384;
99
+#endif
100
+  h->db = NULL;
101
+  h->folder = safe_strdup(folder);
102
+  h->crc = generate_crc32();
103
+
104
+  if (!path || path[0] == '\0')
105
+  {
106
+    FREE(&h->folder);
107
+    FREE(&h);
108
+    return NULL;
109
+  }
110
+
111
+  path = mutt_hcache_per_folder(path, folder);
112
+
113
+  if (option(OPTHCACHECOMPRESS))
114
+    flags = VL_OZCOMP;
115
+
116
+  h->db = vlopen(path, flags | VL_OWRITER | VL_OCREAT, VL_CMPLEX);
117
+  if (h->db)
118
+    return h;
119
+
120
+  /* if rw failed try ro */
121
+  h->db = vlopen(path, flags | VL_OREADER, 0);
122
+  if (h->db)
123
+    return h;
124
+  else
125
+  {
126
+    FREE(&h->folder);
127
+    FREE(&h);
128
+
129
+    return NULL;
130
+  }
131
+}
132
+
133
+void
134
+mutt_hcache_close(void *db)
135
+{
136
+  struct header_cache *h = db;
137
+
138
+  if (!h)
139
+    return;
140
+
141
+  vlclose(h->db);
142
+  FREE(&h->folder);
143
+  FREE(&h);
144
+}
145
+
146
+void *
147
+mutt_hcache_fetch(void *db, const char *filename,
148
+		  size_t(*keylen) (const char *fn))
149
+{
150
+  struct header_cache *h = db;
151
+  char path[_POSIX_PATH_MAX];
152
+  int ksize;
153
+  char *data = NULL;
154
+
155
+  if (!h)
156
+    return NULL;
157
+
158
+  strncpy(path, h->folder, sizeof (path));
159
+  safe_strcat(path, sizeof (path), filename);
160
+
161
+  ksize = strlen(h->folder) + keylen(path + strlen(h->folder));
162
+
163
+  data = vlget(h->db, path, ksize, NULL);
164
+
165
+  if (! crc32_matches(data, h->crc))
166
+  {
167
+    if (data) { 
168
+      FREE(&data);
169
+    }
170
+    return NULL;
171
+  }
172
+
173
+  return data;
174
+}
175
+
176
+int
177
+mutt_hcache_store(void *db, const char *filename, HEADER * header,
178
+		  unsigned long uid_validity,
179
+		  size_t(*keylen) (const char *fn))
180
+{
181
+  struct header_cache *h = db;
182
+  char path[_POSIX_PATH_MAX];
183
+  int ret;
184
+  int ksize, dsize;
185
+  char *data = NULL;
186
+
187
+  if (!h)
188
+    return -1;
189
+
190
+  strncpy(path, h->folder, sizeof (path));
191
+  safe_strcat(path, sizeof (path), filename);
192
+
193
+  ksize = strlen(h->folder) + keylen(path + strlen(h->folder));
194
+
195
+  data  = mutt_hcache_dump(db, header, &dsize, uid_validity);
196
+
197
+  ret = vlput(h->db, path, ksize, data, dsize, VL_DOVER);
198
+
199
+  FREE(&data);
200
+
201
+  return ret;
202
+}
203
+
204
+int
205
+mutt_hcache_delete(void *db, const char *filename,
206
+		   size_t(*keylen) (const char *fn))
207
+{
208
+  struct header_cache *h = db;
209
+  char path[_POSIX_PATH_MAX];
210
+  int ksize;
211
+
212
+  if (!h)
213
+    return -1;
214
+
215
+  strncpy(path, h->folder, sizeof (path));
216
+  safe_strcat(path, sizeof (path), filename);
217
+
218
+  ksize = strlen(h->folder) + keylen(path + strlen(h->folder));
219
+
220
+  return vlout(h->db, path, ksize);
221
+}
222
+
223
+#elif HAVE_GDBM
224
 
225
 void *
226
 mutt_hcache_open(const char *path, const char *folder)
227
--- a/init.h
228
+++ b/init.h
229
@@ -1079,6 +1079,15 @@
230
   ** files when the header cache is in use.  This incurs one stat(2) per
231
   ** message every time the folder is opened.
232
   */
233
+#if HAVE_QDBM
234
+  { "header_cache_compress", DT_BOOL, R_NONE, OPTHCACHECOMPRESS, 0 },
235
+  /*
236
+  ** .pp
237
+  ** If enabled the header cache will be compressed. So only one fifth of the usual
238
+  ** diskspace is used, but the uncompression can result in a slower open of the
239
+  ** cached folder.
240
+  */
241
+#endif /* HAVE_QDBM */
242
   { "header_cache_pagesize", DT_STR, R_NONE, UL &HeaderCachePageSize, UL "16384" },
243
   /*
244
   ** .pp
245
--- a/mutt.h
246
+++ b/mutt.h
247
@@ -353,6 +353,9 @@
248
   OPTFORWQUOTE,
249
 #if USE_HCACHE
250
   OPTHCACHEVERIFY,
251
+#if HAVE_QDBM
252
+  OPTHCACHECOMPRESS,
253
+#endif /* HAVE_QDBM */
254
 #endif
255
   OPTHDRS,
256
   OPTHEADER,
(-)./files/extra-patch-reverse_reply (-5 / +5 lines)
Lines 29-44 Link Here
29
   OPTRFC2047PARAMS,
29
   OPTRFC2047PARAMS,
30
   OPTSAVEADDRESS,
30
   OPTSAVEADDRESS,
31
   OPTSAVEEMPTY,
31
   OPTSAVEEMPTY,
32
--- protos.h.orig	2005-02-01 09:59:02.000000000 +0100
32
--- protos.h.orig	Wed Jul 12 01:32:28 2006
33
+++ protos.h	2005-05-25 18:20:57.000000000 +0200
33
+++ protos.h	Mon Jul 17 16:14:16 2006
34
@@ -84,6 +84,7 @@
34
@@ -92,6 +92,7 @@
35
 ADDRESS *mutt_get_address (ENVELOPE *, char **);
36
 ADDRESS *mutt_lookup_alias (const char *s);
35
 ADDRESS *mutt_lookup_alias (const char *s);
37
 ADDRESS *mutt_remove_duplicates (ADDRESS *);
36
 ADDRESS *mutt_remove_duplicates (ADDRESS *);
37
 ADDRESS *mutt_remove_xrefs (ADDRESS *, ADDRESS *);
38
+ADDRESS *mutt_reverse_address (ADDRESS *);
38
+ADDRESS *mutt_reverse_address (ADDRESS *);
39
 ADDRESS *mutt_expand_aliases (ADDRESS *);
39
 ADDRESS *mutt_expand_aliases (ADDRESS *);
40
 ADDRESS *mutt_parse_adrlist (ADDRESS *, const char *);
40
 ADDRESS *mutt_parse_adrlist (ADDRESS *, const char *);
41
 
41
42
--- send.c.orig	2005-02-03 19:47:53.000000000 +0100
42
--- send.c.orig	2005-02-03 19:47:53.000000000 +0100
43
+++ send.c	2005-05-25 18:20:57.000000000 +0200
43
+++ send.c	2005-05-25 18:20:57.000000000 +0200
44
@@ -588,6 +588,10 @@
44
@@ -588,6 +588,10 @@
(-)./files/extra-patch-signature-menu (-22 / +22 lines)
Lines 13-30 Link Here
13
 	status.c system.c thread.c charset.c history.c lib.c \
13
 	status.c system.c thread.c charset.c history.c lib.c \
14
 	muttlib.c editmsg.c utf8.c mbyte.c wcwidth.c \
14
 	muttlib.c editmsg.c utf8.c mbyte.c wcwidth.c \
15
 	url.c ascii.c mutt_idna.c crypt-mod.c crypt-mod.h
15
 	url.c ascii.c mutt_idna.c crypt-mod.c crypt-mod.h
16
--- mutt-1.5.11/Makefile.in.orig	Thu Sep 15 16:22:50 2005
16
--- mutt-1.5.12/Makefile.in.orig	Mon Jul 17 16:29:15 2006
17
+++ mutt-1.5.11/Makefile.in	Sat Mar 11 21:50:27 2006
17
+++ mutt-1.5.12/Makefile.in	Mon Jul 17 16:30:26 2006
18
@@ -89,7 +89,7 @@
18
@@ -90,7 +90,7 @@
19
 	recvattach.$(OBJEXT) recvcmd.$(OBJEXT) rfc822.$(OBJEXT) \
19
 	query.$(OBJEXT) recvattach.$(OBJEXT) recvcmd.$(OBJEXT) \
20
 	rfc1524.$(OBJEXT) rfc2047.$(OBJEXT) rfc2231.$(OBJEXT) \
20
 	rfc822.$(OBJEXT) rfc1524.$(OBJEXT) rfc2047.$(OBJEXT) \
21
 	score.$(OBJEXT) send.$(OBJEXT) sendlib.$(OBJEXT) \
21
 	rfc2231.$(OBJEXT) score.$(OBJEXT) send.$(OBJEXT) \
22
-	signal.$(OBJEXT) sort.$(OBJEXT) status.$(OBJEXT) \
22
-	sendlib.$(OBJEXT) signal.$(OBJEXT) sort.$(OBJEXT) \
23
+	signal.$(OBJEXT) signature.${OBJEXT} sort.$(OBJEXT) status.$(OBJEXT) \
23
+	sendlib.$(OBJEXT) signal.$(OBJEXT) signature.$(OBJEXT) sort.$(OBJEXT) \
24
 	system.$(OBJEXT) thread.$(OBJEXT) charset.$(OBJEXT) \
24
 	status.$(OBJEXT) system.$(OBJEXT) thread.$(OBJEXT) \
25
 	history.$(OBJEXT) lib.$(OBJEXT) muttlib.$(OBJEXT) \
25
 	charset.$(OBJEXT) history.$(OBJEXT) lib.$(OBJEXT) \
26
 	editmsg.$(OBJEXT) utf8.$(OBJEXT) mbyte.$(OBJEXT) \
26
 	muttlib.$(OBJEXT) editmsg.$(OBJEXT) utf8.$(OBJEXT) \
27
@@ -307,7 +307,7 @@
27
@@ -309,7 +309,7 @@
28
 	main.c mbox.c menu.c mh.c mx.c pager.c parse.c pattern.c \
28
 	main.c mbox.c menu.c mh.c mx.c pager.c parse.c pattern.c \
29
 	postpone.c query.c recvattach.c recvcmd.c \
29
 	postpone.c query.c recvattach.c recvcmd.c \
30
 	rfc822.c rfc1524.c rfc2047.c rfc2231.c \
30
 	rfc822.c rfc1524.c rfc2047.c rfc2231.c \
Lines 87-102 Link Here
87
       case OP_PIPE:
87
       case OP_PIPE:
88
       case OP_FILTER:
88
       case OP_FILTER:
89
         CHECK_COUNT;
89
         CHECK_COUNT;
90
--- mutt-1.5.11/doc/manual.xml.head.orig	Tue Sep  6 18:46:44 2005
90
--- mutt-1.5.12/doc/manual.xml.head.orig	Mon Jul 17 16:21:01 2006
91
+++ mutt-1.5.11/doc/manual.xml.head	Sat Mar 11 21:48:05 2006
91
+++ mutt-1.5.12/doc/manual.xml.head	Mon Jul 17 16:24:46 2006
92
@@ -908,6 +908,7 @@
92
@@ -999,6 +999,7 @@
93
 c       edit-cc                 edit the Cc field
93
 <row><entry>c</entry><entry>edit-cc</entry><entry>edit the Cc field</entry></row>
94
 b       edit-bcc                edit the Bcc field
94
 <row><entry>b</entry><entry>edit-bcc</entry><entry>edit the Bcc field</entry></row>
95
 y       send-message            send the message
95
 <row><entry>y</entry><entry>send-message</entry><entry>send the message</entry></row>
96
+ESC s	signature-menu		select a signature and append it to your mail
96
+<row><entry>ESC s</entry><entry>signature-menu</entry><entry>select a signature and append it to your mail</entry></row>
97
 s       edit-subject            edit the Subject
97
 <row><entry>s</entry><entry>edit-subject</entry><entry>edit the Subject</entry></row>
98
 S       smime-menu              select S/MIME options
98
 <row><entry>S</entry><entry>smime-menu</entry><entry>select S/MIME options</entry></row>
99
 f       edit-fcc                specify an ``Fcc'' mailbox
99
 <row><entry>f</entry><entry>edit-fcc</entry><entry>specify an ``Fcc'' mailbox</entry></row>
100
--- mutt-1.5.11/functions.h.orig	Sun Jul 24 18:56:42 2005
100
--- mutt-1.5.11/functions.h.orig	Sun Jul 24 18:56:42 2005
101
+++ mutt-1.5.11/functions.h	Sat Mar 11 21:48:05 2006
101
+++ mutt-1.5.11/functions.h	Sat Mar 11 21:48:05 2006
102
@@ -311,6 +311,7 @@
102
@@ -311,6 +311,7 @@
(-)./files/patch-02 (-20 / +12 lines)
Lines 1-15 Link Here
1
--- doc/Makefile.in.orig	Sun Sep 18 19:42:14 2005
1
--- doc/Makefile.in.orig1	Wed Jul  5 10:40:07 2006
2
+++ doc/Makefile.in	Sun Sep 18 19:44:13 2005
2
+++ doc/Makefile.in	Mon Jul 17 15:49:28 2006
3
@@ -68,7 +68,7 @@
3
@@ -71,7 +71,7 @@
4
 	ChangeLog.old					\
4
 all: ../makedoc$(EXEEXT)
5
 	README NEWS TODO README.SECURITY README.SSL 
5
 	$(MAKE) makedoc-all
6
 
6
 
7
-all: mutt.1 muttrc.man manual.html stamp-doc-chunked manual.txt
7
-makedoc-all: mutt.1 muttrc.man manual.html stamp-doc-chunked manual.txt
8
+all: mutt.1 muttrc.man
8
+makedoc-all: mutt.1 muttrc.man
9
 
9
 
10
 install: all instdoc
10
 install: makedoc-all instdoc
11
 	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man1
11
 	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(mandir)/man1
12
@@ -89,9 +89,6 @@
12
@@ -92,9 +92,6 @@
13
 		$(INSTALL) -m 644 $(srcdir)/$$f $(DESTDIR)$(docdir) ; \
13
 		$(INSTALL) -m 644 $(srcdir)/$$f $(DESTDIR)$(docdir) ; \
14
 	done
14
 	done
15
 	-$(INSTALL) -m 644 manual.txt $(DESTDIR)$(docdir)
15
 	-$(INSTALL) -m 644 manual.txt $(DESTDIR)$(docdir)
Lines 19-38 Link Here
19
 
19
 
20
 uninstall:
20
 uninstall:
21
 	for f in mutt.1 mutt_dotlock.1 flea.1 muttbug.1 ; do \
21
 	for f in mutt.1 mutt_dotlock.1 flea.1 muttbug.1 ; do \
22
@@ -108,13 +105,13 @@
22
@@ -111,7 +108,7 @@
23
 
23
 
24
 check:
24
 check:
25
 manual.txt: manual.html
25
 manual.txt: manual.html
26
-	-lynx -dump -nolist -with_backspaces $^ > $@ || w3m -dump $^ > $@
26
-	-lynx -dump -nolist -with_backspaces $^ > $@ || w3m -dump $^ > $@
27
+	-lynx -dump -nolist -with_backspaces manual.html > $@
27
+	-lynx -dump -nolist -with_backspaces manual.html > $@
28
 
28
 
29
 manual.html: $(srcdir)/html.xsl manual.xml
29
 manual.html: $(srcdir)/html.xsl stamp-doc-xml
30
-	-xsltproc --nonet -o $@ $^
30
 	-xsltproc --nonet -o $@ $(srcdir)/html.xsl manual.xml
31
+	-xsltproc --nonet -o $@ $(srcdir)/html.xsl manual.xml
32
 
33
 manual-chunked stamp-doc-chunked: $(srcdir)/chunk.xsl manual.xml
34
-	-xsltproc --nonet $^
35
+	-xsltproc --nonet $(srcdir)/chunk.xsl manual.xml
36
 	touch stamp-doc-chunked
37
 
38
 manual.pdf: stamp-doc-tex
(-)./files/patch-doc-manual.xml.head (-119 / +5 lines)
Lines 1-124 Link Here
1
--- doc/manual.xml.head.orig	Mon Sep 19 08:20:38 2005
1
--- doc/manual.xml.head.orig	Mon Jul 17 15:23:46 2006
2
+++ doc/manual.xml.head	Mon Sep 19 08:26:14 2005
2
+++ doc/manual.xml.head	Mon Jul 17 15:30:23 2006
3
@@ -1,6 +1,6 @@
3
@@ -1,6 +1,6 @@
4
 <?xml version="1.0" standalone="no"?>
4
 <?xml version="1.0" standalone="no"?>
5
 <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
5
 <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
6
-  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
6
-  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
7
+  "/usr/local/share/xml/docbook/4.2/docbookx.dtd">
7
+  "/usr/local/share/xml/docbook/4.2/docbookx.dtd">
8
 <article>
8
 <book>
9
 
9
 
10
 <articleinfo>
10
 <bookinfo>
11
@@ -241,24 +241,24 @@
12
 <screen>
13
 ^A or &lt;Home&gt;    bol             move to the start of the line
14
 ^B or &lt;Left&gt;    backward-char   move back one char
15
-Esc B		backward-word	move back one word
16
+Esc B           backward-word   move back one word
17
 ^D or &lt;Delete&gt;  delete-char     delete the char under the cursor
18
 ^E or &lt;End&gt;     eol             move to the end of the line
19
 ^F or &lt;Right&gt;   forward-char    move forward one char
20
-Esc F		forward-word	move forward one word
21
+Esc F           forward-word    move forward one word
22
 &lt;Tab&gt;           complete        complete filename or alias
23
 ^T              complete-query  complete address with query
24
 ^K              kill-eol        delete to the end of the line
25
-ESC d		kill-eow	delete to the end ot the word
26
+ESC d           kill-eow        delete to the end ot the word
27
 ^W              kill-word       kill the word in front of the cursor
28
 ^U              kill-line       delete entire line
29
 ^V              quote-char      quote the next typed key
30
 &lt;Up&gt;            history-up      recall previous string from history
31
 &lt;Down&gt;          history-down    recall next string from history
32
 &lt;BackSpace&gt;     backspace       kill the char in front of the cursor
33
-Esc u		upcase-word	convert word to upper case
34
-Esc l		downcase-word	convert word to lower case
35
-Esc c		capitalize-word capitalize the word
36
+Esc u           upcase-word     convert word to upper case
37
+Esc l           downcase-word   convert word to lower case
38
+Esc c           capitalize-word capitalize the word
39
 ^G              n/a             abort
40
 &lt;Return&gt;        n/a             finish editing
41
 </screen>
42
@@ -620,8 +620,8 @@
43
 ESC p   previous-subthread      jump to the start of the previous subthread
44
 ESC r   read-subthread          mark the current subthread as read
45
 ESC t   tag-thread              toggle the tag on the current thread
46
-ESC v	collapse-thread		toggle collapse for the current thread
47
-ESC V	collapse-all		toggle collapse for all threads
48
+ESC v   collapse-thread         toggle collapse for the current thread
49
+ESC V   collapse-all            toggle collapse for all threads
50
 P       parent-message          jump to parent message in thread
51
 </screen>
52
 
53
@@ -898,7 +898,7 @@
54
 
55
 <screen>
56
 a       attach-file             attach a file
57
-A	attach-message		attach message(s) to the message
58
+A       attach-message          attach message(s) to the message
59
 ESC k   attach-key              attach a PGP public key
60
 d       edit-description        edit description on attachment
61
 D       detach-file             detach a file
62
@@ -914,7 +914,7 @@
63
 p       pgp-menu                select PGP options
64
 P       postpone-message        postpone this message until later
65
 q       quit                    quit (abort) sending the message
66
-w	write-fcc		write the message to a folder
67
+w       write-fcc               write the message to a folder
68
 i       ispell                  check spelling (if available on your system)
69
 ^F      forget-passphrase       wipe passphrase(s) from memory
70
 </screen>
71
@@ -3286,7 +3286,7 @@
72
 ~h EXPR         messages which contain EXPR in the message header
73
 ~H EXPR         messages with a spam attribute matching EXPR
74
 ~i EXPR         message which match EXPR in the ``Message-ID'' field
75
-~k		message contains PGP key material
76
+~k              message contains PGP key material
77
 ~L EXPR         message is either originated or received by EXPR
78
 ~l              message is addressed to a known mailing list
79
 ~m [MIN]-[MAX]  message in the range MIN to MAX *)
80
@@ -3302,15 +3302,15 @@
81
 ~S              superseded messages
82
 ~t EXPR         messages addressed to EXPR
83
 ~T              tagged messages
84
-~u		message is addressed to a subscribed mailing list
85
+~u              message is addressed to a subscribed mailing list
86
 ~U              unread messages
87
-~v		message is part of a collapsed thread.
88
-~V		cryptographically verified messages
89
+~v              message is part of a collapsed thread.
90
+~V              cryptographically verified messages
91
 ~x EXPR         messages which contain EXPR in the `References' field
92
 ~y EXPR         messages which contain EXPR in the `X-Label' field
93
 ~z [MIN]-[MAX]  messages with a size in the range MIN to MAX *)
94
-~=		duplicated messages (see $duplicate_threads)
95
-~$		unreferenced messages (requires threaded view)
96
+~=              duplicated messages (see $duplicate_threads)
97
+~$              unreferenced messages (requires threaded view)
98
 </screen>
99
 
100
 </para>
101
@@ -3502,10 +3502,10 @@
102
 one of the following units:
103
 
104
 <screen>
105
-y	years
106
-m	months
107
-w	weeks
108
-d	days
109
+y       years
110
+m       months
111
+w       weeks
112
+d       days
113
 </screen>
114
 
115
 As a special case, you can replace the sign by a ``*'' character,
116
@@ -5461,7 +5461,7 @@
117
 <para>
118
 
119
 <screen>
120
--A	expand an alias
121
+-A      expand an alias
122
 -a      attach a file to a message
123
 -b      specify a blind carbon-copy (BCC) address
124
 -c      specify a carbon-copy (Cc) address
(-)./files/patch-examples (-5 / +5 lines)
Lines 48-61 Link Here
48
   ** (S/MIME only)
48
   ** (S/MIME only)
49
   */
49
   */
50
   { "smime_verify_command", 	DT_STR, R_NONE, UL &SmimeVerifyCommand, 0},
50
   { "smime_verify_command", 	DT_STR, R_NONE, UL &SmimeVerifyCommand, 0},
51
--- Makefile.am.orig	Wed Mar 26 13:13:10 2003
51
--- Makefile.am.orig	Mon Jul 17 15:31:10 2006
52
+++ Makefile.am	Wed Mar 26 13:25:40 2003
52
+++ Makefile.am	Mon Jul 17 15:32:52 2006
53
@@ -13,7 +13,7 @@
53
@@ -13,7 +13,7 @@
54
 
54
 
55
 bin_SCRIPTS = muttbug flea
55
 bin_SCRIPTS = muttbug flea @SMIMEAUX_TARGET@
56
 
56
 
57
-BUILT_SOURCES = keymap_defs.h patchlist.c
57
-BUILT_SOURCES = keymap_defs.h patchlist.c reldate.h
58
+BUILT_SOURCES = keymap_defs.h patchlist.c Muttrc
58
+BUILT_SOURCES = keymap_defs.h patchlist.c reldate.h Muttrc
59
 
59
 
60
 bin_PROGRAMS = mutt @DOTLOCK_TARGET@ @PGPAUX_TARGET@
60
 bin_PROGRAMS = mutt @DOTLOCK_TARGET@ @PGPAUX_TARGET@
61
 mutt_SOURCES = $(BUILT_SOURCES) \
61
 mutt_SOURCES = $(BUILT_SOURCES) \
(-)./files/patch-imap-browse.c (-28 lines)
Lines 1-28 Link Here
1
--- imap/browse.c.orig
2
+++ imap/browse.c
3
@@ -505,7 +505,7 @@ static int browse_get_namespace (IMAP_DA
4
 	    if (*s == '\"')
5
 	    {
6
 	      s++;
7
-	      while (*s && *s != '\"') 
8
+	      while (*s && *s != '\"' && n < sizeof (ns) - 1) 
9
 	      {
10
 		if (*s == '\\')
11
 		  s++;
12
@@ -516,12 +516,14 @@ static int browse_get_namespace (IMAP_DA
13
 		s++;
14
 	    }
15
 	    else
16
-	      while (*s && !ISSPACE (*s)) 
17
+	      while (*s && !ISSPACE (*s) && n < sizeof (ns) - 1)
18
 	      {
19
 		ns[n++] = *s;
20
 		s++;
21
 	      }
22
 	    ns[n] = '\0';
23
+	    if (n == sizeof (ns) - 1)
24
+	      dprint (1, (debugfile, "browse_get_namespace: too long: [%s]\n", ns));
25
 	    /* delim? */
26
 	    s = imap_next_word (s);
27
 	    /* delimiter is meaningless if namespace is "". Why does
28
(-)./files/patch-smime.c (-10 lines)
Lines 1-10 Link Here
1
--- smime.c.orig	Sun Aug 14 14:33:37 2005
2
+++ smime.c	Thu Feb 16 08:49:37 2006
3
@@ -1989,7 +1989,6 @@
4
 
5
     if ((p = smime_ask_for_key (_("Sign as: "), NULL, 0))) 
6
     {
7
-      p[mutt_strlen (p)-1] = '\0';
8
       mutt_str_replace (&SmimeDefaultKey, p);
9
 	
10
       msg->security |= SIGN;
(-)./scripts/generate-plist (+1 lines)
Lines 126-131 Link Here
126
    echo "%%DOCSDIR%%/html/configuration.html" >> $tmp_first
126
    echo "%%DOCSDIR%%/html/configuration.html" >> $tmp_first
127
    echo "%%DOCSDIR%%/html/gettingstarted.html" >> $tmp_first
127
    echo "%%DOCSDIR%%/html/gettingstarted.html" >> $tmp_first
128
    echo "%%DOCSDIR%%/html/index.html" >> $tmp_first
128
    echo "%%DOCSDIR%%/html/index.html" >> $tmp_first
129
    echo "%%DOCSDIR%%/html/intro.html" >> $tmp_first
129
    echo "%%DOCSDIR%%/html/manual.html" >> $tmp_first
130
    echo "%%DOCSDIR%%/html/manual.html" >> $tmp_first
130
    echo "%%DOCSDIR%%/html/mimesupport.html" >> $tmp_first
131
    echo "%%DOCSDIR%%/html/mimesupport.html" >> $tmp_first
131
    echo "%%DOCSDIR%%/html/miscellany.html" >> $tmp_first
132
    echo "%%DOCSDIR%%/html/miscellany.html" >> $tmp_first

Return to bug 100483