Hello community,
here is the log from the commit of package mailx
checked in at Wed Apr 18 00:40:16 CEST 2007.
--------
--- mailx/mailx.changes 2006-11-15 13:33:13.000000000 +0100
+++ /mounts/work_src_done/STABLE/mailx/mailx.changes 2007-04-17 15:29:03.258728000 +0200
@@ -1,0 +2,10 @@
+Tue Apr 17 15:25:22 CEST 2007 - werner@suse.de
+
+- Update to heirloom mailx 12.2
+- Add UTF-8 detection (bug #262658)
+- Do not convert text attachments to terminal charset but send
+ character set (bug #262658)
+- Improve the support of text/ MIME types other than text/plain
+ (bug #262658)
+
+-------------------------------------------------------------------
Old:
----
mailx-12.1.dif
mailx-12.1-mime.dif
mailx-12.1.tar.bz2
New:
----
mailx-12.2.dif
mailx-12.2-mime.dif
mailx-12.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mailx.spec ++++++
--- /var/tmp/diff_new_pack.oec590/_old 2007-04-18 00:40:05.000000000 +0200
+++ /var/tmp/diff_new_pack.oec590/_new 2007-04-18 00:40:05.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package mailx (Version 12.1)
+# spec file for package mailx (Version 12.2)
#
-# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -13,18 +13,18 @@
Name: mailx
BuildRequires: krb5-devel openssl-devel pcre postfix
URL: http://heirloom.sourceforge.net/mailx.html
-License: Other License(s), see package
+License: BSD License and BSD-like
Group: Productivity/Networking/Email/Utilities
Provides: mail
Requires: smtp_daemon
Autoreqprov: on
-Version: 12.1
-Release: 21
+Version: 12.2
+Release: 1
Summary: A MIME-Capable Implementation of the mailx Command
Source: mailx-%{version}.tar.bz2
Patch: mailx-%{version}.dif
Patch1: nail-11.25-path.dif
-Patch2: mailx-%{version}-replyto.patch
+Patch2: mailx-12.1-replyto.patch
Patch3: nail-11.25-ttychar.dif
Patch4: nail-11.25-toaddr.dif
Patch5: mailx-%{version}-mime.dif
@@ -84,7 +84,14 @@
%doc %{_mandir}/man1/mail.1.gz
%doc %{_mandir}/man1/mailx.1.gz
-%changelog -n mailx
+%changelog
+* Tue Apr 17 2007 - werner@suse.de
+- Update to heirloom mailx 12.2
+- Add UTF-8 detection (bug #262658)
+- Do not convert text attachments to terminal charset but send
+ character set (bug #262658)
+- Improve the support of text/ MIME types other than text/plain
+ (bug #262658)
* Wed Nov 15 2006 - werner@suse.de
- Do not send the mail to a reply-to address (bug #218447)
* Wed Sep 27 2006 - werner@suse.de
++++++ mailx-12.1.dif -> mailx-12.2.dif ++++++
--- mailx/mailx-12.1.dif 2006-07-20 17:49:59.000000000 +0200
+++ /mounts/work_src_done/STABLE/mailx/mailx-12.2.dif 2007-04-17 12:24:06.681150000 +0200
@@ -5,9 +5,9 @@
+patch -p 0 -s --suffix=".rplyto" < ../mailx-12.1-replyto.patch
+patch -p 0 -s --suffix=".ttychr" < ../nail-11.25-ttychar.dif
+patch -p 0 -s --suffix=".toaddr" < ../nail-11.25-toaddr.dif
-+patch -p 0 -s --suffix=".mime" < ../mailx-12.1-mime.dif
++patch -p 0 -s --suffix=".mime" < ../mailx-12.2-mime.dif
--- Makefile
-+++ Makefile 2006-07-20 14:18:51.000000000 +0200
++++ Makefile 2007-04-17 12:12:48.536367085 +0200
@@ -10,6 +10,7 @@ PREFIX = /usr/local
BINDIR = $(PREFIX)/bin
MANDIR = $(PREFIX)/share/man
@@ -16,15 +16,15 @@
DESTDIR =
-@@ -91,7 +92,7 @@ config.h LIBS:
+@@ -51,7 +52,7 @@ SHELL = /bin/sh
+ #
+ # Binaries are stripped with this command after installation.
+ #
+-STRIP = strip
++STRIP = true
- install: all
- test -d $(DESTDIR)$(BINDIR) || mkdir -p $(DESTDIR)$(BINDIR)
-- $(UCBINSTALL) -c -s mailx $(DESTDIR)$(BINDIR)/mailx
-+ $(UCBINSTALL) -c mailx $(DESTDIR)$(BINDIR)/mailx
- test -d $(DESTDIR)$(MANDIR)/man1 || mkdir -p $(DESTDIR)$(MANDIR)/man1
- $(UCBINSTALL) -c -m 644 mailx.1 $(DESTDIR)$(MANDIR)/man1/mailx.1
- test -d $(DESTDIR)$(SYSCONFDIR) || mkdir -p $(DESTDIR)$(SYSCONFDIR)
+ ###########################################################################
+ ###########################################################################
--- aux.c
+++ aux.c 2006-07-20 13:42:19.000000000 +0200
@@ -42,6 +42,7 @@ static char sccsid[] = "@(#)aux.c 2.83 (
@@ -67,7 +67,7 @@
#include
--- cmd3.c
+++ cmd3.c 2006-07-20 13:42:19.000000000 +0200
-@@ -44,6 +44,7 @@ static char sccsid[] = "@(#)cmd3.c 2.83
+@@ -44,6 +44,7 @@ static char sccsid[] = "@(#)cmd3.c 2.84
#include
#include
@@ -117,7 +117,7 @@
#include
--- fio.c
+++ fio.c 2006-07-20 13:42:19.000000000 +0200
-@@ -42,6 +42,7 @@ static char sccsid[] = "@(#)fio.c 2.70 (
+@@ -42,6 +42,7 @@ static char sccsid[] = "@(#)fio.c 2.71 (
#endif
#endif /* not lint */
@@ -168,7 +168,7 @@
*/
--- lex.c
+++ lex.c 2006-07-20 13:42:19.000000000 +0200
-@@ -42,6 +42,7 @@ static char sccsid[] = "@(#)lex.c 2.85 (
+@@ -42,6 +42,7 @@ static char sccsid[] = "@(#)lex.c 2.86 (
#endif
#endif /* not lint */
@@ -178,7 +178,7 @@
#include
--- list.c
+++ list.c 2006-07-20 13:42:19.000000000 +0200
-@@ -42,6 +42,7 @@ static char sccsid[] = "@(#)list.c 2.60
+@@ -42,6 +42,7 @@ static char sccsid[] = "@(#)list.c 2.61
#endif
#endif /* not lint */
@@ -231,7 +231,7 @@
struct name *to, *cc, *bcc, *smopts, *replyto;
struct attachment *attach;
char *subject, *cp, *ef, *qf = NULL, *fromaddr = NULL, *Aflag = NULL;
-@@ -394,8 +394,11 @@ main(int argc, char *argv[])
+@@ -395,8 +395,11 @@ main(int argc, char *argv[])
case '?':
usage:
fprintf(stderr, catgets(catd, CATSET, 135,
@@ -245,7 +245,7 @@
}
}
if (ef != NULL) {
-@@ -436,11 +439,13 @@ usage:
+@@ -437,11 +440,13 @@ usage:
goto usage;
}
if (Rflag && to != NULL) {
@@ -342,7 +342,7 @@
--- mime.c
+++ mime.c 2006-07-20 13:42:19.000000000 +0200
-@@ -44,6 +44,7 @@ static char sccsid[] = "@(#)mime.c 2.66
+@@ -44,6 +44,7 @@ static char sccsid[] = "@(#)mime.c 2.67
#endif /* DOSCCS */
#endif /* not lint */
++++++ mailx-12.1-mime.dif -> mailx-12.2-mime.dif ++++++
--- mailx/mailx-12.1-mime.dif 2006-09-27 12:25:16.000000000 +0200
+++ /mounts/work_src_done/STABLE/mailx/mailx-12.2-mime.dif 2007-04-17 15:11:55.642852000 +0200
@@ -1,6 +1,69 @@
+--- def.h
++++ def.h 2007-04-17 13:32:43.960721000 +0200
+@@ -142,7 +142,8 @@ enum mimeclean {
+ MIME_LONGLINES = 002, /* has lines too long for RFC 2822 */
+ MIME_CTRLCHAR = 004, /* contains control characters */
+ MIME_HASNUL = 010, /* contains \0 characters */
+- MIME_NOTERMNL = 020 /* lacks a terminating newline */
++ MIME_NOTERMNL = 020, /* lacks a terminating newline */
++ MIME_UTF8 = 040 /* UTF-8 high bit characters */
+ };
+
+ enum tdflags {
--- mime.c
-+++ mime.c 2006-07-20 13:42:19.000000000 +0200
-@@ -758,7 +758,7 @@ mime_isclean(FILE *f)
++++ mime.c 2007-04-17 15:08:06.352702764 +0200
+@@ -258,7 +258,10 @@ getcharset(int isclean)
+ if (isclean & (MIME_CTRLCHAR|MIME_HASNUL))
+ charset = NULL;
+ else if (isclean & MIME_HIGHBIT) {
+- charset = wantcharset ? wantcharset : value("charset");
++ if (isclean & MIME_UTF8)
++ charset = defcharset;
++ if (charset == NULL)
++ charset = wantcharset ? wantcharset : value("charset");
+ if (charset == NULL) {
+ charset = defcharset;
+ }
+@@ -730,6 +733,7 @@ mime_isclean(FILE *f)
+ lastc = c;
+ c = getc(f);
+ curlen++;
++ check:
+ if (c == '\n' || c == EOF) {
+ /*
+ * RFC 821 imposes a maximum line length of 1000
+@@ -742,10 +746,38 @@ mime_isclean(FILE *f)
+ curlen = 1;
+ } else if (c & 0200) {
+ isclean |= MIME_HIGHBIT;
++ if (c & 0100) {
++ int n, follow;
++
++ if ((c & 040) == 0) /* 110xxxxx */
++ follow = 1;
++ else if ((c & 020) == 0) /* 1110xxxx */
++ follow = 2;
++ else if ((c & 010) == 0) /* 11110xxx */
++ follow = 3;
++ else if ((c & 004) == 0) /* 111110xx */
++ follow = 4;
++ else if ((c & 002) == 0) /* 1111110x */
++ follow = 5;
++ else
++ continue;
++
++ for (n = 0; n < follow; n++) {
++ lastc = c;
++ c = getc(f);
++
++ if ((c & 0200) == 0 || (c & 0100) ||
++ (c == '\0') || (c == '\n') || (c == EOF)) {
++ curlen += n;
++ goto check;
++ }
++ }
++ isclean |= MIME_UTF8;
++ }
} else if (c == '\0') {
isclean |= MIME_HASNUL;
break;
@@ -9,7 +72,7 @@
isclean |= MIME_CTRLCHAR;
}
} while (c != EOF);
-@@ -825,6 +825,8 @@ get_mime_convert(FILE *fp, char **conten
+@@ -814,13 +846,16 @@ get_mime_convert(FILE *fp, char **conten
* ^I or ^L in text/plain bodies. However, some
* obscure character sets actually contain these
* characters, so the content type can be set.
@@ -18,18 +81,74 @@
*/
if ((*contenttype = value("contenttype-cntrl")) == NULL)
*contenttype = "application/octet-stream";
+ } else
+ *contenttype = "text/plain";
+ *charset = getcharset(*isclean);
+- }
++ } else if (ascncasecmp(*contenttype, "text/", 5) == 0)
++ *charset = getcharset(*isclean);
+ return convert;
+ }
+
--- sendout.c
-+++ sendout.c 2006-09-27 12:22:06.000000000 +0200
-@@ -433,7 +433,7 @@ infix(struct header *hp, FILE *fi, int d
++++ sendout.c 2007-04-17 15:11:40.576871634 +0200
+@@ -206,7 +206,7 @@ attach_file(struct attachment *ap, FILE
+ size_t bufsize, count;
+ int lastc = EOF;
+ #ifdef HAVE_ICONV
+- char *tcs;
++ char *tcs = NULL;
+ #endif
+
+ if ((fi = Fopen(ap->a_name, "r")) == NULL) {
+@@ -231,8 +231,16 @@ attach_file(struct attachment *ap, FILE
+ send_boundary, contenttype);
+ if (charset == NULL)
+ putc('\n', fo);
+- else
+- fprintf(fo, ";\n charset=%s\n", charset);
++ else {
++#ifdef HAVE_ICONV
++ if (wantcharset && ascncasecmp(wantcharset, "ANSI_X3.4", 9))
++ tcs = wantcharset;
++ if (tcs)
++ fprintf(fo, ";\n charset=%s\n", tcs);
++ else
++#endif
++ fprintf(fo, ";\n charset=%s\n", charset);
++ }
+ if (ap->a_content_disposition == NULL)
+ ap->a_content_disposition = "attachment";
+ fprintf(fo, "Content-Transfer-Encoding: %s\n"
+@@ -254,16 +262,15 @@ attach_file(struct attachment *ap, FILE
+ iconv_close(iconvd);
iconvd = (iconv_t)-1;
}
+- tcs = gettcharset();
+ if ((isclean & (MIME_HASNUL|MIME_CTRLCHAR)) == 0 &&
+ ascncasecmp(contenttype, "text/", 5) == 0 &&
+ isclean & MIME_HIGHBIT &&
+- charset != NULL && asccasecmp(charset, tcs)) {
+- if ((iconvd = iconv_open_ft(charset, tcs)) == (iconv_t)-1 &&
++ charset != NULL && tcs != NULL && asccasecmp(charset, tcs)) {
++ if ((iconvd = iconv_open_ft(tcs, charset)) == (iconv_t)-1 &&
+ errno != 0) {
+ if (errno == EINVAL)
+ fprintf(stderr, catgets(catd, CATSET, 179,
+- "Cannot convert from %s to %s\n"), tcs, charset);
++ "Cannot convert from %s to %s\n"), charset, tcs);
+ else
+ perror("iconv_open");
+ Fclose(fi);
+@@ -467,6 +474,7 @@ infix(struct header *hp, FILE *fi, int d
+ }
if ((isclean & (MIME_HASNUL|MIME_CTRLCHAR)) == 0 &&
-- isclean & MIME_HIGHBIT &&
-+ isclean & MIME_HIGHBIT && ascncasecmp(tcs, "ANSI_X3.4", 9) &&
+ ascncasecmp(contenttype, "text/", 5) == 0 &&
++ ascncasecmp(tcs, "ANSI_X3.4", 9) &&
+ isclean & MIME_HIGHBIT &&
charset != NULL && asccasecmp(charset, tcs)) {
if (iconvd != (iconv_t)-1)
- iconv_close(iconvd);
-@@ -1128,8 +1128,9 @@ puthead(struct header *hp, FILE *fo, enu
+@@ -1160,8 +1168,9 @@ puthead(struct header *hp, FILE *fo, enu
return 1;
if ((addr = hp->h_organization) != NULL ||
(addr = value("ORGANIZATION")) != NULL) {
@@ -40,7 +159,7 @@
action == SEND_TODISP ?
CONV_NONE:CONV_TOHDR,
action == SEND_TODISP ?
-@@ -1174,9 +1175,10 @@ puthead(struct header *hp, FILE *fo, enu
+@@ -1206,9 +1215,10 @@ puthead(struct header *hp, FILE *fo, enu
if (hp->h_subject != NULL && w & GSUBJECT) {
fwrite("Subject: ", sizeof (char), 9, fo);
if (ascncasecmp(hp->h_subject, "re: ", 4) == 0) {
@@ -53,7 +172,7 @@
fo, action == SEND_TODISP ?
CONV_NONE:CONV_TOHDR,
action == SEND_TODISP ?
-@@ -1184,8 +1186,9 @@ puthead(struct header *hp, FILE *fo, enu
+@@ -1216,8 +1226,9 @@ puthead(struct header *hp, FILE *fo, enu
NULL, (size_t)0) == 0)
return 1;
} else if (*hp->h_subject) {
++++++ mailx-12.1.tar.bz2 -> mailx-12.2.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mailx-12.1/ChangeLog new/mailx-12.2/ChangeLog
--- old/mailx-12.1/ChangeLog 2006-06-15 22:24:50.000000000 +0200
+++ new/mailx-12.2/ChangeLog 2007-01-07 17:19:57.000000000 +0100
@@ -1,3 +1,25 @@
+[12.2] released 1/7/07
+* When a MIME message part is not of the "text/" content type, always
+ send it in base64 to avoid issues with CRLF conversion (David Ronis).
+* Character set conversion is now also applied to attachments if they
+ have the "text/" content type. This is necessary because with the
+ "sendcharsets" variable, the character set declaration that becomes
+ effective in the message part is otherwise unpredictable.
+* Character set conversion is now only applied to message parts that
+ have the "text/" content type. Previously, a message part that did
+ not contain any control characters but was not of type "text/" was
+ converted.
+* When message file names in a maildir folder do not contain the ":2,"
+ preceding the flags part, append one (Brandon Andrews).
+* An invalid memory access when determining the current message in
+ threaded mode has been fixed (MJ Ray).
+* A "STRIP" makefile variable has been introduced to control the strip
+ command at "make install".
+* The "remove" command no longer causes a core dump because of a null
+ pointer dereference when it is given a name with invalid shell syntax.
+* Made it compile on UnixWare again (patch by Joe Julian).
+* Fixes to build with more recent versions of Mozilla NSS.
+
[12.1] released 6/15/06
* The base64 encoder also used an invalid encoding for the last unit of
data if (bytes_of_input % 3 == 1). As with the previous similar bug,
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mailx-12.1/cmd3.c new/mailx-12.2/cmd3.c
--- old/mailx-12.1/cmd3.c 2006-03-04 01:01:19.000000000 +0100
+++ new/mailx-12.2/cmd3.c 2007-01-02 15:39:52.000000000 +0100
@@ -38,7 +38,7 @@
#ifndef lint
#ifdef DOSCCS
-static char sccsid[] = "@(#)cmd3.c 2.83 (gritter) 3/4/06";
+static char sccsid[] = "@(#)cmd3.c 2.84 (gritter) 01/02/07";
#endif
#endif /* not lint */
@@ -1612,7 +1612,8 @@
return 1;
}
do {
- name = expand(*args);
+ if ((name = expand(*args)) == NULL)
+ continue;
if (strcmp(name, mailname) == 0) {
fprintf(stderr,
"Cannot remove current mailbox \"%s\".\n",
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mailx-12.1/fio.c new/mailx-12.2/fio.c
--- old/mailx-12.1/fio.c 2006-03-20 16:49:46.000000000 +0100
+++ new/mailx-12.2/fio.c 2007-01-02 15:39:52.000000000 +0100
@@ -38,7 +38,7 @@
#ifndef lint
#ifdef DOSCCS
-static char sccsid[] = "@(#)fio.c 2.70 (gritter) 3/20/06";
+static char sccsid[] = "@(#)fio.c 2.71 (gritter) 01/02/07";
#endif
#endif /* not lint */
@@ -504,8 +504,6 @@
case WRDE_BADCHAR:
case WRDE_SYNTAX:
default:
- printf("val=%d\n", i);
- perror("wordexp");
fprintf(stderr, catgets(catd, CATSET, 242,
"Syntax error in \"%s\"\n"), name);
return NULL;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mailx-12.1/INSTALL new/mailx-12.2/INSTALL
--- old/mailx-12.1/INSTALL 2006-03-04 01:01:19.000000000 +0100
+++ new/mailx-12.2/INSTALL 2006-12-25 20:22:54.000000000 +0100
@@ -42,6 +42,9 @@
UCBINSTALL Path name to a BSD-style install, like /usr/ucb/install on
SVR4 or GNU install.
+STRIP A command to strip the binary at 'make install'. Use the
+ do-nothing command ':' to avoid stripping.
+
Mailx uses a simple shell script named 'makeconfig' to check for header
files and library functions. It is automatically invoked by 'make all'.
The script generates three files, 'config.h', 'LIBS', and 'config.log'.
@@ -202,13 +205,13 @@
files from the Mozilla project. If you are using a Linux distribution,
chances are that you can install appropriate RPMs from your vendor, e.g.
-mozilla-nss-1.7.3
-mozilla-nss-devel-1.7.3
-mozilla-nspr-devel-1.7.3
-mozilla-nspr-1.7.3
+seamonkey-nspr-1.0.5-0.1.el4.centos4
+seamonkey-nspr-devel-1.0.5-0.1.el4.centos4
+seamonkey-nss-1.0.5-0.1.el4.centos4
+seamonkey-nss-devel-1.0.5-0.1.el4.centos4
-for Fedora Core Release 3. Note that you can install these without installing
-the RPM for the Mozilla main application. Thus it is no problem if you prefer
+for CentOS 4. Note that you can install these without installing the
+RPM for the Mozilla main application. Thus it is no problem if you prefer
to use a more recent Mozilla installation in /opt or so. NSS and NSPR are not
updated as often as the Mozilla end-user applications in recent times (but you
should watch for possible future security fixes regardless, of course.)
@@ -239,4 +242,4 @@
executable.
- Gunnar Ritter 3/4/06
+ Gunnar Ritter 12/25/06
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mailx-12.1/lex.c new/mailx-12.2/lex.c
--- old/mailx-12.1/lex.c 2006-03-20 16:49:46.000000000 +0100
+++ new/mailx-12.2/lex.c 2006-12-25 20:17:11.000000000 +0100
@@ -38,7 +38,7 @@
#ifndef lint
#ifdef DOSCCS
-static char sccsid[] = "@(#)lex.c 2.85 (gritter) 3/20/06";
+static char sccsid[] = "@(#)lex.c 2.86 (gritter) 12/25/06";
#endif
#endif /* not lint */
@@ -79,7 +79,6 @@
char isedit;
char *who = name[1] ? name + 1 : myname;
static int shudclob;
- extern int errno;
size_t offset;
int omsgCount = 0;
struct shortcut *sh;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mailx-12.1/list.c new/mailx-12.2/list.c
--- old/mailx-12.1/list.c 2006-03-04 01:01:19.000000000 +0100
+++ new/mailx-12.2/list.c 2007-01-07 17:15:01.000000000 +0100
@@ -38,7 +38,7 @@
#ifndef lint
#ifdef DOSCCS
-static char sccsid[] = "@(#)list.c 2.60 (gritter) 3/4/06";
+static char sccsid[] = "@(#)list.c 2.61 (gritter) 01/07/07";
#endif
#endif /* not lint */
@@ -940,10 +940,14 @@
if (!(mp->m_flag & MHIDDEN) && (mp->m_flag & m) == f)
return mp - message + 1;
}
- for (mp = dot-1; mb.mb_threaded ? mp != NULL : mp >= &message[0];
- mb.mb_threaded ? mp = prev_in_thread(mp) : mp--) {
- if (!(mp->m_flag & MHIDDEN) && (mp->m_flag & m) == f)
- return mp - message + 1;
+ if (dot > &message[0]) {
+ for (mp = dot-1; mb.mb_threaded ?
+ mp != NULL : mp >= &message[0];
+ mb.mb_threaded ?
+ mp = prev_in_thread(mp) : mp--) {
+ if (!(mp->m_flag & MHIDDEN) && (mp->m_flag & m) == f)
+ return mp - message + 1;
+ }
}
return 0;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mailx-12.1/maildir.c new/mailx-12.2/maildir.c
--- old/mailx-12.1/maildir.c 2006-03-04 01:01:19.000000000 +0100
+++ new/mailx-12.2/maildir.c 2006-12-28 21:56:42.000000000 +0100
@@ -38,7 +38,7 @@
#ifndef lint
#ifdef DOSCCS
-static char sccsid[] = "@(#)maildir.c 1.19 (gritter) 3/4/06";
+static char sccsid[] = "@(#)maildir.c 1.20 (gritter) 12/28/06";
#endif
#endif /* not lint */
@@ -538,7 +538,7 @@
(unsigned long)t,
(unsigned long)mypid, ++count, node);
} else {
- size = (n = strlen(pref)) + 10;
+ size = (n = strlen(pref)) + 13;
cp = salloc(size);
strcpy(cp, pref);
for (i = n; i > 3; i--)
@@ -547,6 +547,10 @@
n = i;
break;
}
+ if (i <= 3) {
+ strcpy(&cp[n], ":2,");
+ n += 3;
+ }
}
if (n < size - 7) {
if (f & MDRAFTED)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mailx-12.1/mailx.1 new/mailx-12.2/mailx.1
--- old/mailx-12.1/mailx.1 2006-03-06 21:23:24.000000000 +0100
+++ new/mailx-12.2/mailx.1 2007-01-06 15:37:46.000000000 +0100
@@ -34,9 +34,9 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" Sccsid: @(#)mailx.1 2.319 (gritter) 3/6/06
+.\" Sccsid: @(#)mailx.1 2.321 (gritter) 01/06/07
.\"
-.TH MAILX 1 "3/6/06" "Heirloom mailx 12.1" "User Commands"
+.TH MAILX 1 "01/06/07" "Heirloom mailx 12.2" "User Commands"
.SH NAME
mailx \- send and receive Internet mail
.SH SYNOPSIS
@@ -721,9 +721,9 @@
in any of the given character sets,
the message will not be sent,
and its text will be saved to the `dead.letter' file.
-Messages that contains NUL bytes are not converted.
+Messages that contain NUL bytes are not converted.
.PP
-Outgoing attachments are also not converted even if they are plain text.
+Outgoing attachments are converted if they are plain text.
If the
.I sendcharsets
variable contains more than one character set name,
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mailx-12.1/mailx.1.html new/mailx-12.2/mailx.1.html
--- old/mailx-12.1/mailx.1.html 2006-06-15 22:25:20.000000000 +0200
+++ new/mailx-12.2/mailx.1.html 2007-01-07 17:20:56.000000000 +0100
@@ -55,7 +55,7 @@
<!-- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -->
<!-- SUCH DAMAGE. -->
<!-- -->
-<!-- Sccsid: @(#)mailx.1 2.319 (gritter) 3/6/06 -->
+<!-- Sccsid: @(#)mailx.1 2.321 (gritter) 01/06/07 -->
<!-- -->
<CENTER>
<H1><HR><NOBR>MAILX (1)</NOBR><HR></H1>
@@ -855,9 +855,9 @@
in any of the given character sets,
the message will not be sent,
and its text will be saved to the 'dead.letter' file.
-Messages that contains NUL bytes are not converted.
+Messages that contain NUL bytes are not converted.
<P>
-Outgoing attachments are also not converted even if they are plain text.
+Outgoing attachments are converted if they are plain text.
If the
<I>sendcharsets</I> variable contains more than one character set name,
the
@@ -5197,5 +5197,5 @@
intact.
</BLOCKQUOTE>
<P><HR>
-<TABLE width=100%><TR> <TD width=33%><I>Heirloom mailx 12.1</I></TD> <TD width=33% align=center>MAILX (1)</TD> <TD align=right width=33%><I>3/6/06</I></TD> </TR></TABLE><FONT SIZE=-1>Generated by a modified version of <A HREF="http://www.squarebox.co.uk/download/manServer.shtml">manServer 1.07</A> from mailx.1 using man macros with tbl support.</FONT>
+<TABLE width=100%><TR> <TD width=33%><I>Heirloom mailx 12.2</I></TD> <TD width=33% align=center>MAILX (1)</TD> <TD align=right width=33%><I>01/06/07</I></TD> </TR></TABLE><FONT SIZE=-1>Generated by a modified version of <A HREF="http://www.squarebox.co.uk/download/manServer.shtml">manServer 1.07</A> from mailx.1 using man macros with tbl support.</FONT>
</BODY></HTML>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mailx-12.1/mailx.spec new/mailx-12.2/mailx.spec
--- old/mailx-12.1/mailx.spec 2006-06-15 22:25:21.000000000 +0200
+++ new/mailx-12.2/mailx.spec 2007-01-07 17:20:57.000000000 +0100
@@ -1,11 +1,11 @@
-# Sccsid @(#)mailx.spec 1.34 (gritter) 3/4/06
+# Sccsid @(#)mailx.spec 1.35 (gritter) 12/25/06
%define use_nss 0
-%define mozilla_version 1.6
+%define mozilla_version 1.0.5
Summary: An enhanced implementation of the mailx command
Name: mailx
-Version: 12.1
+Version: 12.2
Release: 1
License: BSD
Group: Applications/Internet
@@ -16,11 +16,11 @@
BuildRoot: %{_tmppath}/%{name}-root
%if %{use_nss}
-Requires: mozilla-nss
-Requires: mozilla-nspr
-BuildRequires: mozilla-nss-devel
-BuildRequires: mozilla-nspr-devel
-BuildRequires: /usr/include/mozilla-%{mozilla_version}/nss/cms.h
+Requires: seamonkey-nss
+Requires: seamonkey-nspr
+BuildRequires: seamonkey-nss-devel
+BuildRequires: seamonkey-nspr-devel
+BuildRequires: /usr/include/mozilla-seamonkey-%{mozilla_version}/nss/cms.h
%endif
%description
@@ -60,8 +60,8 @@
LDFLAGS="$LDFLAGS -L/usr/kerberos/lib" export LDFLAGS
%if %{use_nss}
-INCLUDES="$INCLUDES -I/usr/include/mozilla-%{mozilla_version}/nspr"
-INCLUDES="$INCLUDES -I/usr/include/mozilla-%{mozilla_version}/nss"
+INCLUDES="$INCLUDES -I/usr/include/mozilla-seamonkey-%{mozilla_version}/nspr"
+INCLUDES="$INCLUDES -I/usr/include/mozilla-seamonkey-%{mozilla_version}/nss"
export INCLUDES
%endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mailx-12.1/main.c new/mailx-12.2/main.c
--- old/mailx-12.1/main.c 2006-03-20 16:49:46.000000000 +0100
+++ new/mailx-12.2/main.c 2006-07-07 14:34:42.000000000 +0200
@@ -40,7 +40,7 @@
#ifdef DOSCCS
static char copyright[]
= "@(#) Copyright (c) 1980, 1993 The Regents of the University of California. All rights reserved.\n";
-static char sccsid[] = "@(#)main.c 2.48 (gritter) 3/20/06";
+static char sccsid[] = "@(#)main.c 2.49 (gritter) 7/7/06";
#endif /* DOSCCS */
#endif /* not lint */
@@ -193,7 +193,8 @@
sendflag++;
break;
case 'S': {
- char *args[] = { optarg, NULL };
+ char *args[] = { NULL, NULL };
+ args[0] = optarg;
set(args);
}
break;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mailx-12.1/Makefile new/mailx-12.2/Makefile
--- old/mailx-12.1/Makefile 2006-06-15 22:25:21.000000000 +0200
+++ new/mailx-12.2/Makefile 2007-01-07 17:20:57.000000000 +0100
@@ -36,7 +36,7 @@
# If you want to include SSL support using Mozilla NSS instead of OpenSSL,
# set something like the following paths. (You might also need to set LDFLAGS).
-#MOZINC = /usr/include/mozilla-1.7.3
+#MOZINC = /usr/include/mozilla-seamonkey-1.0.5
#INCLUDES = -I$(MOZINC)/nspr -I$(MOZINC)/nss
# These paths are suitable to activate NSS support on Solaris, provided that
# the packages SUNWmoznss, SUNWmoznss-devel, SUNWmoznspr, and SUNWmoznspr-devel
@@ -52,6 +52,11 @@
# them here.
#IPv6 = -DHAVE_IPv6_FUNCS
+#
+# Binaries are stripped with this command after installation.
+#
+STRIP = strip
+
###########################################################################
###########################################################################
# You should really know what you do if you change anything below this line
@@ -96,7 +101,8 @@
install: all
test -d $(DESTDIR)$(BINDIR) || mkdir -p $(DESTDIR)$(BINDIR)
- $(UCBINSTALL) -c -s mailx $(DESTDIR)$(BINDIR)/mailx
+ $(UCBINSTALL) -c mailx $(DESTDIR)$(BINDIR)/mailx
+ $(STRIP) $(DESTDIR)$(BINDIR)/mailx
test -d $(DESTDIR)$(MANDIR)/man1 || mkdir -p $(DESTDIR)$(MANDIR)/man1
$(UCBINSTALL) -c -m 644 mailx.1 $(DESTDIR)$(MANDIR)/man1/mailx.1
test -d $(DESTDIR)$(SYSCONFDIR) || mkdir -p $(DESTDIR)$(SYSCONFDIR)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mailx-12.1/mime.c new/mailx-12.2/mime.c
--- old/mailx-12.1/mime.c 2006-04-07 11:20:26.000000000 +0200
+++ new/mailx-12.2/mime.c 2007-01-06 15:06:36.000000000 +0100
@@ -40,7 +40,7 @@
#ifdef DOSCCS
static char copyright[]
= "@(#) Copyright (c) 2000, 2002 Gunnar Ritter. All rights reserved.\n";
-static char sccsid[] = "@(#)mime.c 2.66 (gritter) 4/7/06";
+static char sccsid[] = "@(#)mime.c 2.67 (gritter) 01/06/07";
#endif /* DOSCCS */
#endif /* not lint */
@@ -792,7 +792,9 @@
int convert;
*isclean = mime_isclean(fp);
- if (*isclean & (MIME_HASNUL)) {
+ if (*isclean & MIME_HASNUL ||
+ *contenttype && ascncasecmp(*contenttype, "text/", 5) ||
+ *contenttype == NULL && *isclean & MIME_CTRLCHAR) {
convert = CONV_TOB64;
if (*contenttype == NULL ||
ascncasecmp(*contenttype, "text/", 5) == 0)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mailx-12.1/nss.c new/mailx-12.2/nss.c
--- old/mailx-12.1/nss.c 2006-03-04 01:01:19.000000000 +0100
+++ new/mailx-12.2/nss.c 2006-12-25 20:19:05.000000000 +0100
@@ -33,7 +33,7 @@
#ifndef lint
#ifdef DOSCCS
-static char sccsid[] = "@(#)nss.c 1.44 (gritter) 3/4/06";
+static char sccsid[] = "@(#)nss.c 1.45 (gritter) 12/25/06";
#endif
#endif /* not lint */
@@ -147,7 +147,7 @@
PRArenaPool *arena;
CERTGeneralName *gn;
SECItem altname;
- AltNameEncodedContext ec;
+ CERTAltNameEncodedContext ec;
int i;
const SEC_ASN1Template gntempl[] = {
{ SEC_ASN1_SEQUENCE_OF, 0, SEC_AnyTemplate }
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mailx-12.1/README new/mailx-12.2/README
--- old/mailx-12.1/README 2006-03-04 16:16:30.000000000 +0100
+++ new/mailx-12.2/README 2007-01-03 16:28:09.000000000 +0100
@@ -141,10 +141,8 @@
bug can be fixed quickly.
Both the contact instructions and the list archive are available at
-https://lists.sourceforge.net/lists/listinfo/nail-devel. You currently
-do not need to be a subscriber to post to the list. It is recommended
-that you subscribe, though, because your collaboration will advance the
-project too.
+https://lists.sourceforge.net/lists/listinfo/nail-devel. You need
+to subscribe in order to post to the list.
Enjoy!
@@ -152,4 +150,4 @@
Gunnar Ritter
Freiburg i. Br.
Germany
- 3/4/06
+ 01/03/07
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mailx-12.1/sendout.c new/mailx-12.2/sendout.c
--- old/mailx-12.1/sendout.c 2006-03-04 01:45:00.000000000 +0100
+++ new/mailx-12.2/sendout.c 2007-01-06 15:35:47.000000000 +0100
@@ -38,7 +38,7 @@
#ifndef lint
#ifdef DOSCCS
-static char sccsid[] = "@(#)sendout.c 2.92 (gritter) 3/4/06";
+static char sccsid[] = "@(#)sendout.c 2.93 (gritter) 01/06/07";
#endif
#endif /* not lint */
@@ -205,6 +205,9 @@
char *buf;
size_t bufsize, count;
int lastc = EOF;
+#ifdef HAVE_ICONV
+ char *tcs;
+#endif
if ((fi = Fopen(ap->a_name, "r")) == NULL) {
perror(ap->a_name);
@@ -218,6 +221,8 @@
contenttype = ap->a_content_type;
else
contenttype = mime_filecontent(basename);
+ if (ap->a_charset)
+ charset = ap->a_charset;
convert = get_mime_convert(fi, &contenttype, &charset, &isclean,
dosign);
fprintf(fo,
@@ -227,8 +232,7 @@
if (charset == NULL)
putc('\n', fo);
else
- fprintf(fo, ";\n charset=%s\n", ap->a_charset ?
- ap->a_charset : charset);
+ fprintf(fo, ";\n charset=%s\n", charset);
if (ap->a_content_disposition == NULL)
ap->a_content_disposition = "attachment";
fprintf(fo, "Content-Transfer-Encoding: %s\n"
@@ -245,13 +249,43 @@
fprintf(fo, "Content-Description: %s\n",
ap->a_content_description);
putc('\n', fo);
+#ifdef HAVE_ICONV
+ if (iconvd != (iconv_t)-1) {
+ iconv_close(iconvd);
+ iconvd = (iconv_t)-1;
+ }
+ tcs = gettcharset();
+ if ((isclean & (MIME_HASNUL|MIME_CTRLCHAR)) == 0 &&
+ ascncasecmp(contenttype, "text/", 5) == 0 &&
+ isclean & MIME_HIGHBIT &&
+ charset != NULL && asccasecmp(charset, tcs)) {
+ if ((iconvd = iconv_open_ft(charset, tcs)) == (iconv_t)-1 &&
+ errno != 0) {
+ if (errno == EINVAL)
+ fprintf(stderr, catgets(catd, CATSET, 179,
+ "Cannot convert from %s to %s\n"), tcs, charset);
+ else
+ perror("iconv_open");
+ Fclose(fi);
+ return -1;
+ }
+ }
+#endif /* HAVE_ICONV */
buf = smalloc(bufsize = INFIX_BUF);
- if (convert == CONV_TOQP) {
+ if (convert == CONV_TOQP
+#ifdef HAVE_ICONV
+ || iconvd != (iconv_t)-1
+#endif
+ ) {
fflush(fi);
count = fsize(fi);
}
for (;;) {
- if (convert == CONV_TOQP) {
+ if (convert == CONV_TOQP
+#ifdef HAVE_ICONV
+ || iconvd != (iconv_t)-1
+#endif
+ ) {
if (fgetline(&buf, &bufsize, &count, &sz, fi, 0)
== NULL)
break;
@@ -260,7 +294,7 @@
break;
}
lastc = buf[sz-1];
- if (mime_write(buf, sizeof *buf, sz, fo, convert, TD_NONE,
+ if (mime_write(buf, sizeof *buf, sz, fo, convert, TD_ICONV,
NULL, (size_t)0) == 0)
err = -1;
}
@@ -432,6 +466,7 @@
iconvd = (iconv_t)-1;
}
if ((isclean & (MIME_HASNUL|MIME_CTRLCHAR)) == 0 &&
+ ascncasecmp(contenttype, "text/", 5) == 0 &&
isclean & MIME_HIGHBIT &&
charset != NULL && asccasecmp(charset, tcs)) {
if (iconvd != (iconv_t)-1)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mailx-12.1/version.c new/mailx-12.2/version.c
--- old/mailx-12.1/version.c 2006-06-15 22:25:15.000000000 +0200
+++ new/mailx-12.2/version.c 2007-01-07 17:20:26.000000000 +0100
@@ -1,4 +1,4 @@
-#define V "12.1"
+#define V "12.2"
/*
* Heirloom mailx - a mail user agent derived from Berkeley Mail.
*
@@ -39,7 +39,7 @@
#ifndef lint
#ifdef DOSCCS
-static char sccsid[] = "@(#)version.c 2.350 (gritter) 6/15/06";
+static char sccsid[] = "@(#)version.c 2.359 (gritter) 01/07/07";
#endif
#endif /* not lint */
@@ -48,13 +48,13 @@
* Load this file first to get a "total" Mail version.
*/
/*char *version = "8.1 6/6/93";*/
-const char *version = V " 6/15/06";
+const char *version = V " 01/07/07";
#ifndef lint
static const char *versionid
#ifdef __GNUC__
__attribute__ ((unused))
#endif
-= "@(#)mailx " V " (gritter) 6/15/06";
+= "@(#)mailx " V " (gritter) 01/07/07";
#endif /* !lint */
/* SLIST */
/*
@@ -63,14 +63,14 @@
cache.c:static char sccsid[] = "@(#)cache.c 1.61 (gritter) 3/4/06";
cmd1.c:static char sccsid[] = "@(#)cmd1.c 2.96 (gritter) 3/4/06";
cmd2.c:static char sccsid[] = "@(#)cmd2.c 2.46 (gritter) 3/4/06";
-cmd3.c:static char sccsid[] = "@(#)cmd3.c 2.83 (gritter) 3/4/06";
+cmd3.c:static char sccsid[] = "@(#)cmd3.c 2.84 (gritter) 01/02/07";
cmdtab.c:static char sccsid[] = "@(#)cmdtab.c 2.51 (gritter) 3/4/06";
collect.c:static char sccsid[] = "@(#)collect.c 2.52 (gritter) 3/4/06";
def.h: * Sccsid @(#)def.h 2.104 (gritter) 3/4/06
dotlock.c:static char sccsid[] = "@(#)dotlock.c 2.9 (gritter) 3/20/06";
edit.c:static char sccsid[] = "@(#)edit.c 2.24 (gritter) 3/4/06";
extern.h: * Sccsid @(#)extern.h 2.159 (gritter) 3/4/06
-fio.c:static char sccsid[] = "@(#)fio.c 2.70 (gritter) 3/20/06";
+fio.c:static char sccsid[] = "@(#)fio.c 2.71 (gritter) 01/02/07";
getname.c:static char sccsid[] = "@(#)getname.c 2.5 (gritter) 3/4/06";
getopt.c: Sccsid @(#)getopt.c 1.6 (gritter) 10/2/04
glob.h: * Sccsid @(#)glob.h 2.26 (gritter) 3/4/06
@@ -80,24 +80,24 @@
imap_gssapi.c:static char sccsid[] = "@(#)imap_gssapi.c 1.10 (gritter) 3/4/06";
imap_search.c:static char sccsid[] = "@(#)imap_search.c 1.29 (gritter) 3/4/06";
junk.c:static char sccsid[] = "@(#)junk.c 1.73 (gritter) 3/4/06";
-lex.c:static char sccsid[] = "@(#)lex.c 2.85 (gritter) 3/20/06";
-list.c:static char sccsid[] = "@(#)list.c 2.60 (gritter) 3/4/06";
+lex.c:static char sccsid[] = "@(#)lex.c 2.86 (gritter) 12/25/06";
+list.c:static char sccsid[] = "@(#)list.c 2.61 (gritter) 01/07/07";
lzw.c: * Sccsid @(#)lzw.c 1.11 (gritter) 3/4/06
macro.c:static char sccsid[] = "@(#)macro.c 1.13 (gritter) 3/4/06";
-maildir.c:static char sccsid[] = "@(#)maildir.c 1.19 (gritter) 3/4/06";
-main.c:static char sccsid[] = "@(#)main.c 2.48 (gritter) 3/20/06";
+maildir.c:static char sccsid[] = "@(#)maildir.c 1.20 (gritter) 12/28/06";
+main.c:static char sccsid[] = "@(#)main.c 2.49 (gritter) 7/7/06";
md5.c: Sccsid @(#)md5.c 1.8 (gritter) 3/4/06
md5.h: Sccsid @(#)md5.h 1.8 (gritter) 3/4/06
-mime.c:static char sccsid[] = "@(#)mime.c 2.66 (gritter) 4/7/06";
+mime.c:static char sccsid[] = "@(#)mime.c 2.67 (gritter) 01/06/07";
names.c:static char sccsid[] = "@(#)names.c 2.22 (gritter) 3/4/06";
-nss.c:static char sccsid[] = "@(#)nss.c 1.44 (gritter) 3/4/06";
+nss.c:static char sccsid[] = "@(#)nss.c 1.45 (gritter) 12/25/06";
openssl.c:static char sccsid[] = "@(#)openssl.c 1.24 (gritter) 3/4/06";
pop3.c:static char sccsid[] = "@(#)pop3.c 2.43 (gritter) 3/4/06";
popen.c:static char sccsid[] = "@(#)popen.c 2.20 (gritter) 3/4/06";
quit.c:static char sccsid[] = "@(#)quit.c 2.28 (gritter) 3/4/06";
rcv.h: * Sccsid @(#)rcv.h 2.7 (gritter) 3/4/06
send.c:static char sccsid[] = "@(#)send.c 2.83 (gritter) 3/4/06";
-sendout.c:static char sccsid[] = "@(#)sendout.c 2.92 (gritter) 3/4/06";
+sendout.c:static char sccsid[] = "@(#)sendout.c 2.93 (gritter) 01/06/07";
smtp.c:static char sccsid[] = "@(#)smtp.c 2.38 (gritter) 3/4/06";
ssl.c:static char sccsid[] = "@(#)ssl.c 1.39 (gritter) 6/12/06";
strings.c:static char sccsid[] = "@(#)strings.c 2.6 (gritter) 3/4/06";
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org