Hello community, here is the log from the commit of package mailx for openSUSE:Factory checked in at 2013-07-03 10:24:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mailx (Old) and /work/SRC/openSUSE:Factory/.mailx.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mailx" Changes: -------- --- /work/SRC/openSUSE:Factory/mailx/mailx.changes 2013-06-27 11:38:42.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.mailx.new/mailx.changes 2013-07-03 10:24:39.000000000 +0200 @@ -1,0 +2,7 @@ +Tue Jul 2 10:29:35 UTC 2013 - [email protected] + +- Do not pseudo detect Latin nor UTF-8 in binary attachments (bnc#827010) +- Add patch mailx-12.5-parentheses.dif, that is try to tranquilize + gcc due warning about parentheses (please check!) + +------------------------------------------------------------------- New: ---- mailx-12.5-parentheses.dif ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mailx.spec ++++++ --- /var/tmp/diff_new_pack.va5ccL/_old 2013-07-03 10:24:39.000000000 +0200 +++ /var/tmp/diff_new_pack.va5ccL/_new 2013-07-03 10:24:39.000000000 +0200 @@ -39,6 +39,8 @@ Patch4: nail-11.25-toaddr.dif Patch5: mailx-%{version}-mime.dif Patch6: mailx-fix-openssl.patch +#PATCH-FIX-OPENSUSE: Try to tranquilize gcc warning about parentheses (please check!) +Patch7: mailx-12.5-parentheses.dif BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -56,6 +58,7 @@ %patch4 -p0 -b .toaddr %patch5 -p0 -b .mime %patch6 -p0 -b .ssl +%patch7 -p0 -b .par %patch -p0 %build ++++++ mailx-12.5-mime.dif ++++++ --- /var/tmp/diff_new_pack.va5ccL/_old 2013-07-03 10:24:39.000000000 +0200 +++ /var/tmp/diff_new_pack.va5ccL/_new 2013-07-03 10:24:39.000000000 +0200 @@ -12,7 +12,7 @@ enum tdflags { --- mime.c -+++ mime.c 2012-03-30 14:50:10.318065066 +0000 ++++ mime.c 2013-07-02 10:25:35.000000000 +0000 @@ -302,13 +302,78 @@ gettcharset(void) return t; } @@ -101,7 +101,7 @@ if (w & GIDENT) { if (hp->h_from && name_highbit(hp->h_from)) goto needs; -@@ -355,7 +421,7 @@ need_hdrconv(struct header *hp, enum gfi +@@ -355,7 +422,7 @@ need_hdrconv(struct header *hp, enum gfi if (w & GSUBJECT && has_highbit(hp->h_subject)) goto needs; return NULL; @@ -128,7 +128,7 @@ match = 1; break; } -@@ -748,11 +814,54 @@ mime_isclean(FILE *f) +@@ -748,16 +814,66 @@ mime_isclean(FILE *f) maxlen = curlen; curlen = 1; } else if (c & 0200) { @@ -172,19 +172,31 @@ + continue; + } + latin: -+ if (text_chars[i & 0377] == I) ++ if (text_chars[i & 0377] == I) { + isclean |= MIME_LATIN; -+ if (text_chars[i & 0377] == X) ++ continue; ++ } ++ if (text_chars[i & 0377] == X) { + isclean |= MIME_CTRLCHAR; ++ break; ++ } } else if (c == '\0') { isclean |= MIME_HASNUL; break; - } else if ((c < 040 && (c != '\t' && c != '\f')) || c == 0177) { + } else if (text_chars[c & 0377] == F) { isclean |= MIME_CTRLCHAR; ++ break; } } while (c != EOF); -@@ -826,11 +935,16 @@ get_mime_convert(FILE *fp, char **conten + if (lastc != '\n') + isclean |= MIME_NOTERMNL; ++ if (isclean & (MIME_CTRLCHAR|MIME_HASNUL)) ++ isclean &= (MIME_CTRLCHAR|MIME_HASNUL); + clearerr(f); + fseek(f, initial_pos, SEEK_SET); + if ((cp = value("maximum-unencoded-line-length")) != NULL) +@@ -826,11 +942,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. @@ -201,7 +213,7 @@ } return convert; } -@@ -989,8 +1103,14 @@ mime_fromhdr(struct str *in, struct str +@@ -989,8 +1110,14 @@ mime_fromhdr(struct str *in, struct str #ifdef HAVE_ICONV iconv_t fhicd = (iconv_t)-1; #endif @@ -216,7 +228,7 @@ maxstor = in->l; out->s = smalloc(maxstor + 1); out->l = 0; -@@ -1010,7 +1130,7 @@ mime_fromhdr(struct str *in, struct str +@@ -1010,7 +1137,7 @@ mime_fromhdr(struct str *in, struct str #ifdef HAVE_ICONV if (fhicd != (iconv_t)-1) iconv_close(fhicd); @@ -225,7 +237,7 @@ fhicd = iconv_open_ft(tcs, cs); else fhicd = (iconv_t)-1; -@@ -1105,12 +1225,17 @@ notmime: +@@ -1105,12 +1232,17 @@ notmime: } fromhdr_end: *q = '\0'; ++++++ mailx-12.5-parentheses.dif ++++++ --- cmd1.c +++ cmd1.c 2013-07-02 10:44:54.178300341 +0000 @@ -112,14 +112,14 @@ headers(void *v) lastg = g; lastmq = mq; } - if (n>0 && mp==&message[n-1] || - n==0 && g==k || - n==-2 && g==k+size && lastmq || - n<0 && g>=k && mp->m_flag&fl) + if ((n>0 && mp==&message[n-1]) || + (n==0 && g==k) || + (n==-2 && g==k+size && lastmq) || + (n<0 && g>=k && mp->m_flag&fl)) break; g++; } - if (lastmq && (n==-2 || n==-1 && mp==&message[msgCount])) { + if (lastmq && ((n==-2 || n==-1) && mp==&message[msgCount])) { g = lastg; mq = lastmq; } @@ -155,14 +155,14 @@ headers(void *v) lastg = g; lastmq = mq; } - if (n>0 && mp==&message[n-1] || - n==0 && g==k || - n==-2 && g==k+size && lastmq || - n<0 && g>=k && mp->m_flag&fl) + if ((n>0 && mp==&message[n-1]) || + (n==0 && g==k) || + (n==-2 && g==k+size && lastmq) || + (n<0 && g>=k && mp->m_flag&fl)) break; g++; } - if (lastmq && (n==-2 || n==-1 && mp==&message[msgCount])) { + if (lastmq && ((n==-2 || n==-1) && mp==&message[msgCount])) { g = lastg; mq = lastmq; } --- collect.c +++ collect.c 2013-07-02 10:56:15.602310172 +0000 @@ -279,8 +279,8 @@ read_attachment_data(struct attachment * perror(ap->a_name); } if (ap->a_name && (value("attachment-ask-charset") || - (cp = value("sendcharsets")) != NULL && - strchr(cp, ',') != NULL)) { + ((cp = value("sendcharsets")) != NULL && + strchr(cp, ',') != NULL))) { snprintf(prefix, sizeof prefix, "#%u\tcharset: ", number); ap->a_charset = readtty(prefix, ap->a_charset); } @@ -648,8 +648,8 @@ cont: value("interactive") != NULL && (value("dot") != NULL || value("ignoreeof") != NULL)) break; - if (linebuf[0] != escape || (value("interactive") == NULL && - tildeflag == 0 || + if (linebuf[0] != escape || ((value("interactive") == NULL && + tildeflag == 0) || tildeflag < 0)) { if (putline(collf, linebuf, count) < 0) goto err; --- def.h +++ def.h 2013-07-02 10:36:04.091168058 +0000 @@ -408,7 +408,7 @@ enum gfield { #define GMASK (GTO|GSUBJECT|GCC|GBCC|GREPLYTO) /* Mask of places from whence */ #define visible(mp) (((mp)->m_flag&(MDELETED|MHIDDEN|MKILL))==0|| \ - dot==(mp) && (mp)->m_flag&MKILL) + (dot==(mp) && (mp)->m_flag&MKILL)) /* * Structure used to pass about the current --- fio.c +++ fio.c 2013-07-02 10:59:31.683460415 +0000 @@ -600,8 +600,8 @@ getfold(char *name, int size) if ((folder = value("folder")) == NULL) return (-1); - if (*folder == '/' || (p = which_protocol(folder)) != PROTO_FILE && - p != PROTO_MAILDIR) { + if (*folder == '/' || ((p = which_protocol(folder)) != PROTO_FILE && + p != PROTO_MAILDIR)) { strncpy(name, folder, size); name[size-1]='\0'; } else { --- imap.c +++ imap.c 2013-07-02 09:26:20.434847340 +0000 @@ -1868,11 +1868,11 @@ imap_update(struct mailbox *mp) stored++; gotcha++; } else if (mp->mb_type != MB_CACHE || - !edit && (!(m->m_flag&(MBOXED|MSAVED|MDELETED)) + (!edit && (!(m->m_flag&(MBOXED|MSAVED|MDELETED)) || (m->m_flag & (MBOXED|MPRESERVE|MTOUCH)) == - (MPRESERVE|MTOUCH)) || - edit && !(m->m_flag & MDELETED)) + (MPRESERVE|MTOUCH))) || + (edit && !(m->m_flag & MDELETED))) held++; if (m->m_flag & MNEW) { m->m_flag &= ~MNEW; @@ -2779,7 +2779,7 @@ imap_appenduid(struct mailbox *mp, FILE xmb.mb_otf = xmb.mb_itf = fp; initcache(&xmb); memset(&xm, 0, sizeof xm); - xm.m_flag = flag&MREAD | MNEW; + xm.m_flag = flag&(MREAD|MNEW); xm.m_time = t; xm.m_block = mailx_blockof(off1); xm.m_offset = mailx_offsetof(off1); --- junk.c +++ junk.c 2013-07-02 09:36:11.306215424 +0000 @@ -345,11 +345,11 @@ putdb(void) void *zp; int scomp, ncomp; - if (!super_mmapped && (sfp = dbfp(SUPER, O_WRONLY, &scomp, &sname)) - == NULL || sfp == (FILE *)-1) + if (!super_mmapped && ((sfp = dbfp(SUPER, O_WRONLY, &scomp, &sname)) + == NULL || sfp == (FILE *)-1)) return; - if (!nodes_mmapped && (nfp = dbfp(NODES, O_WRONLY, &ncomp, &nname)) - == NULL || nfp == (FILE *)-1) + if (!nodes_mmapped && ((nfp = dbfp(NODES, O_WRONLY, &ncomp, &nname)) + == NULL || nfp == (FILE *)-1)) return; if (super_mmapped == 0 || nodes_mmapped == 0) holdint(); @@ -696,8 +696,8 @@ loop: *stop = 0; } SAVE(c) } else if (constituent(c, *buf, i+j, sp->price, sp->hadamp) || - sp->loc == HEADER && c == '.' && - asccasecmp(sp->field, "subject*")) { + (sp->loc == HEADER && c == '.' && + asccasecmp(sp->field, "subject*"))) { if (c == '&') sp->hadamp = 1; SAVE(c) @@ -775,9 +775,9 @@ out: if (i > 0) { ascncasecmp(sp->field, "x-spam", 6) == 0 || ascncasecmp(sp->field, "x-pstn", 6) == 0 || ascncasecmp(sp->field, "x-scanned", 9) == 0 || - asccasecmp(sp->field, "received*") == 0 && + (asccasecmp(sp->field, "received*") == 0 && ((2*c > i) || i < 4 || - asccasestr(*buf, "localhost") != NULL))) + asccasestr(*buf, "localhost") != NULL)))) goto loop; return *buf; } @@ -816,14 +816,14 @@ add(const char *word, enum entry entry, switch (entry) { case GOOD: c = get(&n[OF_node_good]); - if (incr>0 && c<MAX3-incr || incr<0 && c>=-incr) { + if ((incr>0 && c<MAX3-incr) || (incr<0 && c>=-incr)) { c += incr; put(&n[OF_node_good], c); } break; case BAD: c = get(&n[OF_node_bad]); - if (incr>0 && c<MAX3-incr || incr<0 && c>=-incr) { + if ((incr>0 && c<MAX3-incr) || (incr<0 && c>=-incr)) { c += incr; put(&n[OF_node_bad], c); } @@ -958,7 +958,7 @@ insert(int *msgvec, enum entry entry, in break; } u += incr; - if (entry == GOOD && incr > 0 || entry == BAD && incr < 0) + if ((entry == GOOD && incr > 0) || (entry == BAD && incr < 0)) message[*ip-1].m_flag &= ~MJUNK; else message[*ip-1].m_flag |= MJUNK; @@ -1109,10 +1109,10 @@ rate(const char *word, enum entry entry, * gives the most interesting verbose output. */ if (d > best[i].dist || - d == best[i].dist && - p < best[i].prob || - best[i].loc == HEADER && - d == best[i].dist) { + (d == best[i].dist && + p < best[i].prob) || + (best[i].loc == HEADER && + d == best[i].dist)) { for (j = BEST-2; j >= i; j--) best[j+1] = best[j]; best[i].dist = d; --- macro.c +++ macro.c 2013-07-02 10:57:57.718909269 +0000 @@ -195,7 +195,7 @@ ccall(void *v) char **args = v; struct macro *mp; - if (args[0] == NULL || args[1] != NULL && args[2] != NULL) { + if (args[0] == NULL || (args[1] != NULL && args[2] != NULL)) { fprintf(stderr, "Syntax is: call <name>\n"); return 1; } --- md5.c +++ md5.c 2013-07-02 11:17:37.825823499 +0000 @@ -70,42 +70,42 @@ static unsigned char PADDING[64] = { /* * F, G, H and I are basic MD5 functions. */ -#define F(x, y, z) ((x) & (y) | ~(x) & (z)) -#define G(x, y, z) ((x) & (z) | (y) & ~(z)) +#define F(x, y, z) (((x) & (y)) | (~(x) & (z))) +#define G(x, y, z) (((x) & (z)) | ((y) & ~(z))) #define H(x, y, z) ((x) ^ (y) ^ (z)) -#define I(x, y, z) ((y) ^ ((x) | ~(z)&0xffffffff)) +#define I(x, y, z) ((y) ^ ((x) | (~(z)&0xffffffff))) /* * ROTATE_LEFT rotates x left n bits. */ -#define ROTATE_LEFT(x, n) ((x)<<(n) & 0xffffffff | (x) >> 32-(n)) +#define ROTATE_LEFT(x, n) ((((x)<<(n)) & 0xffffffff) | ((x) >> (32-(n)))) /* * FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4. * Rotation is separate from addition to prevent recomputation. */ #define FF(a, b, c, d, x, s, ac) { \ - (a) = (a) + F((b), (c), (d)) + (x) + ((ac)&0xffffffff) & 0xffffffff; \ + (a) = (a) + F((b), (c), (d)) + (((x) + ((ac)&0xffffffff)) & 0xffffffff); \ (a) = ROTATE_LEFT((a), (s)); \ - (a) = (a) + (b) & 0xffffffff; \ + (a) = (a) + ((b) & 0xffffffff); \ } #define GG(a, b, c, d, x, s, ac) { \ - (a) = (a) + G((b), (c), (d)) + (x) + ((ac)&0xffffffff) & 0xffffffff; \ + (a) = (a) + G((b), (c), (d)) + (((x) + ((ac)&0xffffffff)) & 0xffffffff); \ (a) = ROTATE_LEFT((a), (s)); \ - (a) = (a) + (b) & 0xffffffff; \ + (a) = (a) + ((b) & 0xffffffff); \ } #define HH(a, b, c, d, x, s, ac) { \ - (a) = (a) + H((b), (c), (d)) + (x) + ((ac)&0xffffffff) & 0xffffffff; \ + (a) = (a) + H((b), (c), (d)) + (((x) + ((ac)&0xffffffff)) & 0xffffffff); \ (a) = ROTATE_LEFT((a), (s)); \ - (a) = (a) + (b) & 0xffffffff; \ + (a) = (a) + ((b) & 0xffffffff); \ } #define II(a, b, c, d, x, s, ac) { \ - (a) = (a) + I((b), (c), (d)) + (x) + ((ac)&0xffffffff) & 0xffffffff; \ + (a) = (a) + I((b), (c), (d)) + (((x) + ((ac)&0xffffffff)) & 0xffffffff); \ (a) = ROTATE_LEFT((a), (s)); \ - (a) = (a) + (b) & 0xffffffff; \ + (a) = (a) + ((b) & 0xffffffff); \ } /* @@ -144,10 +144,10 @@ MD5Update ( index = context->count[0]>>3 & 0x3F; /* Update number of bits */ - if ((context->count[0] = context->count[0] + (inputLen<<3) & 0xffffffff) + if ((context->count[0] = context->count[0] + ((inputLen<<3) & 0xffffffff)) < (inputLen<<3 & 0xffffffff)) - context->count[1] = context->count[1] + 1 & 0xffffffff; - context->count[1] = context->count[1] + (inputLen>>29) & 0xffffffff; + context->count[1] = context->count[1] + (1 & 0xffffffff); + context->count[1] = context->count[1] + ((inputLen>>29) & 0xffffffff); partLen = 64 - index; @@ -285,10 +285,10 @@ MD5Transform(md5_type state[4], unsigned II(c, d, a, b, x[ 2], S43, 0x2ad7d2bb); /* 63 */ II(b, c, d, a, x[ 9], S44, 0xeb86d391); /* 64 */ - state[0] = state[0] + a & 0xffffffff; - state[1] = state[1] + b & 0xffffffff; - state[2] = state[2] + c & 0xffffffff; - state[3] = state[3] + d & 0xffffffff; + state[0] = state[0] + (a & 0xffffffff); + state[1] = state[1] + (b & 0xffffffff); + state[2] = state[2] + (c & 0xffffffff); + state[3] = state[3] + (d & 0xffffffff); /* * Zeroize sensitive information. --- mime.c +++ mime.c 2013-07-02 10:19:41.993365604 +0000 @@ -855,10 +855,8 @@ mime_isclean(FILE *f) continue; } latin: - if (text_chars[i & 0377] == I) { + if (text_chars[i & 0377] == I) isclean |= MIME_LATIN; - continue; - } if (text_chars[i & 0377] == X) { isclean |= MIME_CTRLCHAR; break; @@ -871,10 +869,10 @@ mime_isclean(FILE *f) break; } } while (c != EOF); - if (lastc != '\n') - isclean |= MIME_NOTERMNL; if (isclean & (MIME_CTRLCHAR|MIME_HASNUL)) isclean &= (MIME_CTRLCHAR|MIME_HASNUL); + if (lastc != '\n') + isclean |= MIME_NOTERMNL; clearerr(f); fseek(f, initial_pos, SEEK_SET); if ((cp = value("maximum-unencoded-line-length")) != NULL) @@ -916,8 +914,8 @@ get_mime_convert(FILE *fp, char **conten int convert; *isclean = mime_isclean(fp); - if (*isclean & MIME_HASNUL || - *contenttype && ascncasecmp(*contenttype, "text/", 5)) { + if ((*isclean & MIME_HASNUL) || + (*contenttype && ascncasecmp(*contenttype, "text/", 5))) { convert = CONV_TOB64; if (*contenttype == NULL || ascncasecmp(*contenttype, "text/", 5) == 0) @@ -990,13 +988,13 @@ mime_write_toqp(struct str *in, FILE *fo upper = in->s + in->l; for (p = in->s, l = 0; p < upper; p++) { if (mustquote(*p&0377) || - p < upper-1 && p[1] == '\n' && - blankchar(p[0]&0377) || - p < upper-4 && l == 0 && + (p < upper-1 && p[1] == '\n' && + blankchar(p[0]&0377)) || + (p < upper-4 && l == 0 && p[0] == 'F' && p[1] == 'r' && - p[2] == 'o' && p[3] == 'm' || - *p == '.' && l == 0 && p < upper-1 && - p[1] == '\n') { + p[2] == 'o' && p[3] == 'm') || + (*p == '.' && l == 0 && p < upper-1 && + p[1] == '\n')) { if (l >= 69) { sz += 2; fwrite("=\n", sizeof (char), 2, fo); @@ -1036,8 +1034,8 @@ mime_str_toqp(struct str *in, struct str out->l = in->l; upper = in->s + in->l; for (p = in->s; p < upper; p++) { - if (mustquote(*p&0377) || p+1 < upper && *(p + 1) == '\n' && - blankchar(*p & 0377)) { + if (mustquote(*p&0377) || (p+1 < upper && *(p + 1) == '\n' && + blankchar(*p & 0377))) { if (inhdr && *p == ' ') { *q++ = '_'; } else { @@ -1347,8 +1345,8 @@ mime_write_tohdr(struct str *in, FILE *f wbeg == &upper[-1])) mustquote++; } - if (mustquote || broken || (wend - wbeg) >= 74 && - quoteany) { + if (mustquote || broken || ((wend - wbeg) >= 74 && + quoteany)) { for (;;) { cin.s = lastwordend ? lastwordend : wbeg; --- sendout.c +++ sendout.c 2013-07-02 08:04:20.342719526 +0000 @@ -1372,10 +1372,10 @@ fmt(char *str, struct name *np, FILE *fo if (col) { fwrite(str, sizeof *str, strlen(str), fo); if ((flags&GFILES) == 0 && - col == 3 && asccasecmp(str, "to:") == 0 || - col == 3 && asccasecmp(str, "cc:") == 0 || - col == 4 && asccasecmp(str, "bcc:") == 0 || - col == 10 && asccasecmp(str, "Resent-To:") == 0) + ((col == 3 && asccasecmp(str, "to:") == 0) || + (col == 3 && asccasecmp(str, "cc:") == 0) || + (col == 4 && asccasecmp(str, "bcc:") == 0) || + (col == 10 && asccasecmp(str, "Resent-To:") == 0))) is_to = 1; } for (; np != NULL; np = np->n_flink) { --- tty.c +++ tty.c 2013-07-02 11:02:18.880440821 +0000 @@ -438,6 +438,6 @@ yorn(char *msg) do cp = readtty(msg, NULL); while (cp == NULL || - *cp != 'y' && *cp != 'Y' && *cp != 'n' && *cp != 'N'); + (*cp != 'y' && *cp != 'Y' && *cp != 'n' && *cp != 'N')); return *cp == 'y' || *cp == 'Y'; } -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
