diff --git a/bug-676388-largefile.patch b/bug-676388-largefile.patch new file mode 100644 index 0000000..7faa945 --- /dev/null +++ b/bug-676388-largefile.patch @@ -0,0 +1,103 @@ +diff -ur orig.010003/mutt-1.5.21/crypt-gpgme.c mutt-1.5.21/crypt-gpgme.c +--- orig.010003/mutt-1.5.21/crypt-gpgme.c 2010-09-13 19:19:55.000000000 +0200 ++++ mutt-1.5.21/crypt-gpgme.c 2011-03-02 18:18:01.000000000 +0100 +@@ -461,7 +461,7 @@ + /* Create a GPGME data object from the stream FP but limit the object + to LENGTH bytes starting at OFFSET bytes from the beginning of the + file. */ +-static gpgme_data_t file_to_data_object (FILE *fp, long offset, long length) ++static gpgme_data_t file_to_data_object (FILE *fp, LOFF_T offset, long length) + { + int err = 0; + gpgme_data_t data; +@@ -2156,7 +2156,7 @@ + { + int needpass = -1, pgp_keyblock = 0; + int clearsign = 0; +- long start_pos = 0; ++ LOFF_T start_pos = 0; + long bytes; + LOFF_T last_pos, offset; + char buf[HUGE_STRING]; +diff -ur orig.010003/mutt-1.5.21/handler.c mutt-1.5.21/handler.c +--- orig.010003/mutt-1.5.21/handler.c 2009-08-25 21:08:52.000000000 +0200 ++++ mutt-1.5.21/handler.c 2011-03-02 18:12:28.000000000 +0100 +@@ -1520,7 +1520,7 @@ + FILE *fp = NULL; + char tempfile[_POSIX_PATH_MAX]; + handler_t handler = NULL; +- long tmpoffset = 0; ++ LOFF_T tmpoffset = 0; + size_t tmplength = 0; + char type[STRING]; + int rc = 0; +diff -ur orig.010003/mutt-1.5.21/mh.c mutt-1.5.21/mh.c +--- orig.010003/mutt-1.5.21/mh.c 2010-08-24 18:34:21.000000000 +0200 ++++ mutt-1.5.21/mh.c 2011-03-02 18:48:36.000000000 +0100 +@@ -1493,9 +1493,9 @@ + char newpath[_POSIX_PATH_MAX]; + char partpath[_POSIX_PATH_MAX]; + +- long old_body_offset = h->content->offset; +- long old_body_length = h->content->length; +- long old_hdr_lines = h->lines; ++ LOFF_T old_body_offset = h->content->offset; ++ LOFF_T old_body_length = h->content->length; ++ LOFF_T old_hdr_lines = h->lines; + + if ((dest = mx_open_new_message (ctx, h, 0)) == NULL) + return -1; +diff -ur orig.010003/mutt-1.5.21/mutt.h mutt-1.5.21/mutt.h +--- orig.010003/mutt-1.5.21/mutt.h 2010-09-13 19:19:55.000000000 +0200 ++++ mutt-1.5.21/mutt.h 2011-03-02 17:52:03.000000000 +0100 +@@ -625,7 +625,7 @@ + PARAMETER *parameter; /* parameters of the content-type */ + char *description; /* content-description */ + char *form_name; /* Content-Disposition form-data name param */ +- long hdr_offset; /* offset in stream where the headers begin. ++ LOFF_T hdr_offset; /* offset in stream where the headers begin. + * this info is used when invoking metamail, + * where we need to send the headers of the + * attachment +diff -ur orig.010003/mutt-1.5.21/pgp.c mutt-1.5.21/pgp.c +--- orig.010003/mutt-1.5.21/pgp.c 2010-09-13 19:19:55.000000000 +0200 ++++ mutt-1.5.21/pgp.c 2011-03-02 18:48:08.000000000 +0100 +@@ -251,7 +251,7 @@ + int needpass = -1, pgp_keyblock = 0; + int clearsign = 0, rv, rc; + int c = 1; /* silence GCC warning */ +- long start_pos = 0; ++ LOFF_T start_pos = 0; + long bytes; + LOFF_T last_pos, offset; + char buf[HUGE_STRING]; +diff -ur orig.010003/mutt-1.5.21/smime.c mutt-1.5.21/smime.c +--- orig.010003/mutt-1.5.21/smime.c 2010-09-13 19:19:55.000000000 +0200 ++++ mutt-1.5.21/smime.c 2011-03-02 18:12:08.000000000 +0100 +@@ -1546,7 +1546,7 @@ + pid_t thepid; + int badsig = -1; + +- long tmpoffset = 0; ++ LOFF_T tmpoffset = 0; + size_t tmplength = 0; + int origType = sigbdy->type; + char *savePrefix = NULL; +@@ -1660,7 +1660,7 @@ + { + int len=0; + int c; +- long last_pos; ++ LOFF_T last_pos; + char buf[HUGE_STRING]; + char outfile[_POSIX_PATH_MAX], errfile[_POSIX_PATH_MAX]; + char tmpfname[_POSIX_PATH_MAX]; +@@ -1865,7 +1865,7 @@ + + char tempfile[_POSIX_PATH_MAX]; + STATE s; +- long tmpoffset = b->offset; ++ LOFF_T tmpoffset = b->offset; + size_t tmplength = b->length; + int origType = b->type; + FILE *tmpfp=NULL; diff --git a/mutt.changes b/mutt.changes index a9724f5..0a35116 100644 --- a/mutt.changes +++ b/mutt.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Apr 15 14:15:02 CEST 2011 - werner@suse.de + +- Support offsets in 2gig mbox files even on 32bit architectures (bnc#676388) + ------------------------------------------------------------------- Thu Feb 3 02:00:55 CET 2011 - ro@suse.de diff --git a/mutt.spec b/mutt.spec index bb9df60..5ab43b3 100644 --- a/mutt.spec +++ b/mutt.spec @@ -65,6 +65,7 @@ Patch6: patch-1.5.21.sidebar-aa6aa.txt.bz2 Patch7: mutt-1.5.21.sidebar-fix.dif Patch8: mutt-1.5.21-opennfs.dif Patch9: mutt-1.5.20-gpgme_set_locale.patch +Patch10: bug-676388-largefile.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %global _sysconfdir %{_sysconfdir} @@ -85,6 +86,7 @@ however. %patch7 -p0 %patch8 -p0 %patch9 -p1 +%patch10 -p1 cp doc/Muttrc Muttrc.SuSE cp %{S:2} .