Hello community,
here is the log from the commit of package alpine for openSUSE:Factory
checked in at Wed Jul 29 17:43:14 CEST 2009.
--------
--- alpine/alpine.changes 2009-06-20 14:15:33.000000000 +0200
+++ /mounts/work_src_done/STABLE/alpine/alpine.changes 2009-07-29 17:12:52.000000000 +0200
@@ -1,0 +2,16 @@
+Wed Jul 29 17:05:08 CEST 2009 - max@suse.de
+
+- Included the latest bugfix-patches from Eduardo Chappa:
+- replacebug: Fix a bug in Pico which makes it not update the
+ screen.
+- unixnullbug: Fix a bug that makes Alpine crash when opening a
+ unix type folder.
+- streamlock: Fix a bug that makes Alpine crash when suspending it.
+- filterflagbug: Fix a bug in Alpine that makes it not to set a
+ flag in a filtered message (bnc#342075).
+- nlinfobug: Fix a bug in Pico and Pilot that makes them crash
+ for bad locale information.
+- unverified: Fix a bug that makes Alpine not to give a warning
+ if the Newsgroup header is present
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
chappa-filterflagbug.patch.gz
chappa-nlinfobug.patch.gz
chappa-replacebug.patch.gz
chappa-streamlock.patch.gz
chappa-unixnullbug.patch.gz
chappa-unverified.patch.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ alpine.spec ++++++
--- /var/tmp/diff_new_pack.IO1tGS/_old 2009-07-29 17:35:31.000000000 +0200
+++ /var/tmp/diff_new_pack.IO1tGS/_new 2009-07-29 17:35:31.000000000 +0200
@@ -50,7 +50,7 @@
%endif
#
Version: 2.00
-Release: 5
+Release: 6
License: Apache Software License ..
Group: Productivity/Networking/Email/Clients
AutoReqProv: on
@@ -80,6 +80,12 @@
Patch604: chappa-maildir.patch.gz
Patch605: chappa-searchheader.patch.gz
Patch606: chappa-WrtAcc.patch.gz
+Patch607: chappa-replacebug.patch.gz
+Patch608: chappa-unixnullbug.patch.gz
+Patch609: chappa-streamlock.patch.gz
+Patch610: chappa-filterflagbug.patch.gz
+Patch611: chappa-nlinfobug.patch.gz
+Patch612: chappa-unverified.patch.gz
%description
Though originally designed for inexperienced email users, Alpine
@@ -152,6 +158,12 @@
%patch604 -p1
%patch605 -p1
%patch606 -p1
+%patch607 -p1
+%patch608 -p1
+%patch609 -p1
+%patch610 -p1
+%patch611 -p1
+%patch612 -p1
#
# SuSE patches - warning fixes, etc:
#
++++++ chappa-filterflagbug.patch.gz ++++++
diff -rc alpine-2.00/pith/save.c alpine-2.00.filterflagbug/pith/save.c
*** alpine-2.00/pith/save.c 2008-05-02 14:58:34.000000000 -0700
--- alpine-2.00.filterflagbug/pith/save.c 2008-11-11 09:36:43.000000000 -0800
***************
*** 421,426 ****
--- 421,427 ----
{
int rv, rc, j, our_stream = 0, cancelled = 0;
int delete, filter, k, worry_about_keywords = 0;
+ int flags_for_save = F_ANS|F_FWD|F_FLAG|F_SEEN|F_KEYWORD;
char *save_folder, *seq, *flags = NULL, date[64], tmp[MAILTMPLEN];
long i, nmsgs, rawno;
size_t len;
***************
*** 864,870 ****
STRING msg;
pkg.stream = stream;
! pkg.flags = NULL;
pkg.date = date;
pkg.msg = &msg;
pkg.msgmap = msgmap;
--- 865,871 ----
STRING msg;
pkg.stream = stream;
! pkg.flags = flgs & SV_FIX_DELS ? NULL : cpystr("\\DELETED");
pkg.date = date;
pkg.msg = &msg;
pkg.msgmap = msgmap;
***************
*** 938,944 ****
mc = (rawno > 0L && stream && rawno <= stream->nmsgs)
? mail_elt(stream, rawno) : NULL;
! flags = flag_string(stream, rawno, F_ANS|F_FWD|F_FLAG|F_SEEN|F_KEYWORD);
if(mc && mc->day)
mail_date(date, mc);
--- 939,946 ----
mc = (rawno > 0L && stream && rawno <= stream->nmsgs)
? mail_elt(stream, rawno) : NULL;
! flags_for_save |= flgs & SV_FIX_DELS ? 0 : F_DEL;
! flags = flag_string(stream, rawno, flags_for_save);
if(mc && mc->day)
mail_date(date, mc);
***************
*** 1043,1048 ****
--- 1045,1051 ----
MESSAGECACHE *mc;
char *fetch;
int rc;
+ int flags_for_save = F_ANS|F_FWD|F_FLAG|F_SEEN|F_KEYWORD;
unsigned long raw, hlen, tlen, mlen;
if(pkg->so && (pkg->msgno > 0L)) {
***************
*** 1051,1060 ****
? mail_elt(pkg->stream, raw) : NULL;
if(mc){
size = mc->rfc822_size;
! if(pkg->flags)
fs_give((void **) &pkg->flags);
!
! pkg->flags = flag_string(pkg->stream, raw, F_ANS|F_FWD|F_FLAG|F_SEEN|F_KEYWORD);
}
if(mc && mc->day)
--- 1054,1065 ----
? mail_elt(pkg->stream, raw) : NULL;
if(mc){
size = mc->rfc822_size;
! if(pkg->flags){
! if(strstr(pkg->flags,"\\DELETED"))
! flags_for_save |= F_DEL;
fs_give((void **) &pkg->flags);
! }
! pkg->flags = flag_string(pkg->stream, raw, flags_for_save);
}
if(mc && mc->day)
++++++ chappa-nlinfobug.patch.gz ++++++
diff -rc alpine-2.00/pico/main.c alpine-2.00.nlinfobug/pico/main.c
*** alpine-2.00/pico/main.c 2008-04-02 15:09:20.000000000 -0700
--- alpine-2.00.nlinfobug/pico/main.c 2008-10-14 19:00:08.000000000 -0700
***************
*** 187,193 ****
if(display_character_set)
display_charmap = cpstr(display_character_set);
#if HAVE_LANGINFO_H && defined(CODESET)
! else
display_charmap = cpstr(nl_langinfo_codeset_wrapper());
#endif
--- 187,193 ----
if(display_character_set)
display_charmap = cpstr(display_character_set);
#if HAVE_LANGINFO_H && defined(CODESET)
! else if (nl_langinfo_codeset_wrapper() != NULL)
display_charmap = cpstr(nl_langinfo_codeset_wrapper());
#endif
diff -rc alpine-2.00/pico/pilot.c alpine-2.00.nlinfobug/pico/pilot.c
*** alpine-2.00/pico/pilot.c 2008-04-02 15:09:20.000000000 -0700
--- alpine-2.00.nlinfobug/pico/pilot.c 2008-10-14 19:00:38.000000000 -0700
***************
*** 142,148 ****
if(display_character_set)
display_charmap = cpstr(display_character_set);
#if HAVE_LANGINFO_H && defined(CODESET)
! else
display_charmap = cpstr(nl_langinfo_codeset_wrapper());
#endif
--- 142,148 ----
if(display_character_set)
display_charmap = cpstr(display_character_set);
#if HAVE_LANGINFO_H && defined(CODESET)
! else if (nl_langinfo_codeset_wrapper() != NULL)
display_charmap = cpstr(nl_langinfo_codeset_wrapper());
#endif
++++++ chappa-replacebug.patch.gz ++++++
diff -rc alpine-2.00/pico/search.c alpine-2.00.replacebug/pico/search.c
*** alpine-2.00/pico/search.c 2008-01-04 14:49:15.000000000 -0800
--- alpine-2.00.replacebug/pico/search.c 2009-07-03 13:44:37.000000000 -0700
***************
*** 463,470 ****
break;
default:
! if(status == ABORT)
emlwrite(_("Replacement Cancelled"), NULL);
else{
mlerase();
chword(defpat, origpat);
--- 463,472 ----
break;
default:
! if(status == ABORT){
emlwrite(_("Replacement Cancelled"), NULL);
+ pico_refresh(FALSE, 1);
+ }
else{
mlerase();
chword(defpat, origpat);
++++++ chappa-streamlock.patch.gz ++++++
diff -rc alpine-2.00/alpine/signal.c alpine-2.00.streamlock/alpine/signal.c
*** alpine-2.00/alpine/signal.c 2008-04-07 15:58:40.000000000 -0700
--- alpine-2.00.streamlock/alpine/signal.c 2009-02-16 12:45:17.000000000 -0800
***************
*** 819,826 ****
#else
if(F_ON(F_SUSPEND_SPAWNS, ps_global)){
PIPE_S *syspipe;
! if((syspipe = open_system_pipe(NULL, NULL, NULL, PIPE_USER|PIPE_RESET,
0, pipe_callback, pipe_report_error)) != NULL){
suspend_notice("exit");
#ifndef SIGCHLD
--- 819,828 ----
#else
if(F_ON(F_SUSPEND_SPAWNS, ps_global)){
PIPE_S *syspipe;
+ int flag = some_stream_is_locked() ? PIPE_NONEWMAIL : 0;
! flag |= PIPE_USER|PIPE_RESET;
! if((syspipe = open_system_pipe(NULL, NULL, NULL, flag,
0, pipe_callback, pipe_report_error)) != NULL){
suspend_notice("exit");
#ifndef SIGCHLD
***************
*** 867,873 ****
_("Error loading \"%s\""), shell);
#endif
! if(isremote && !pine_mail_ping(ps_global->mail_stream))
q_status_message(SM_ORDER | SM_DING, 4, 9,
_("Suspended for too long, IMAP connection broken"));
--- 869,876 ----
_("Error loading \"%s\""), shell);
#endif
! if(isremote && !ps_global->mail_stream->lock
! && !pine_mail_ping(ps_global->mail_stream))
q_status_message(SM_ORDER | SM_DING, 4, 9,
_("Suspended for too long, IMAP connection broken"));
diff -rc alpine-2.00/pith/stream.c alpine-2.00.streamlock/pith/stream.c
*** alpine-2.00/pith/stream.c 2008-03-25 11:57:53.000000000 -0700
--- alpine-2.00.streamlock/pith/stream.c 2009-02-16 12:36:34.000000000 -0800
***************
*** 3318,3323 ****
--- 3318,3342 ----
}
+ /* Some stream is locked checks to see if there is any stream for which we
+ * are in a callback from c-client
+ */
+
+ int
+ some_stream_is_locked(void)
+ {
+ int rv = 0, i;
+ MAILSTREAM *m;
+
+ for(i = 0; rv == 0 && i < ps_global->s_pool.nstream; i++){
+ m = ps_global->s_pool.streams[i];
+ if(m && m->lock)
+ rv++;
+ }
+
+ return(rv);
+ }
+
/*
* Very simple version of appenduid_cb until we need something
* more complex.
diff -rc alpine-2.00/pith/stream.h alpine-2.00.streamlock/pith/stream.h
*** alpine-2.00/pith/stream.h 2007-06-15 16:23:02.000000000 -0700
--- alpine-2.00.streamlock/pith/stream.h 2009-02-16 12:37:13.000000000 -0800
***************
*** 460,465 ****
--- 460,466 ----
int is_imap_stream(MAILSTREAM *);
int modern_imap_stream(MAILSTREAM *);
int streams_died(void);
+ int some_stream_is_locked(void);
void appenduid_cb(char *mailbox,unsigned long uidvalidity, SEARCHSET *set);
imapuid_t get_last_append_uid(void);
MAILSTREAM *mail_cmd_stream(CONTEXT_S *, int *);
++++++ chappa-unixnullbug.patch.gz ++++++
diff -rc alpine-2.00/imap/src/c-client/mail.c alpine-2.00.unixnullbug/imap/src/c-client/mail.c
*** alpine-2.00/imap/src/c-client/mail.c 2008-06-04 11:39:54.000000000 -0700
--- alpine-2.00.unixnullbug/imap/src/c-client/mail.c 2009-06-06 12:41:49.000000000 -0700
***************
*** 3352,3364 ****
long flags)
{
STRINGLIST *hdrs;
! int notfound;
unsigned long i;
char c,*s,*e,*t,tmp[MAILTMPLEN];
char *src = text;
char *dst = src;
char *end = text + len;
! text[len] = '\012'; /* guard against running off buffer */
while (src < end) { /* process header */
/* slurp header line name */
for (s = src,e = s + MAILTMPLEN - 1,e = (e < end ? e : end),t = tmp;
--- 3352,3364 ----
long flags)
{
STRINGLIST *hdrs;
! int notfound, fix = text[len - 1] == '\0';
unsigned long i;
char c,*s,*e,*t,tmp[MAILTMPLEN];
char *src = text;
char *dst = src;
char *end = text + len;
! text[fix ? len - 1 : len] = '\012'; /* guard against running off buffer */
while (src < end) { /* process header */
/* slurp header line name */
for (s = src,e = s + MAILTMPLEN - 1,e = (e < end ? e : end),t = tmp;
***************
*** 3397,3402 ****
--- 3397,3406 ----
}
}
*dst = '\0'; /* tie off destination */
+ if(fix){
+ text[len] = '\012';
+ text[len-1] = '\0';
+ }
return dst - text;
}
++++++ chappa-unverified.patch.gz ++++++
diff -rc alpine-2.00/alpine/reply.c alpine-2.00.unverified/alpine/reply.c
*** alpine-2.00/alpine/reply.c 2008-06-03 08:54:15.000000000 -0700
--- alpine-2.00.unverified/alpine/reply.c 2008-08-26 20:57:03.000000000 -0700
***************
*** 1164,1172 ****
}
else if(!outgoing->newsgroups)
outgoing->newsgroups = cpystr(env->newsgroups);
- if(!IS_NEWS(ps_global->mail_stream))
- q_status_message(SM_ORDER, 2, 3,
- _("Replying to message that MAY or MAY NOT have been posted to newsgroup"));
}
return(ret);
--- 1164,1169 ----
diff -rc alpine-2.00/imap/src/c-client/imap4r1.c alpine-2.00.unverified/imap/src/c-client/imap4r1.c
*** alpine-2.00/imap/src/c-client/imap4r1.c 2008-06-04 11:39:54.000000000 -0700
--- alpine-2.00.unverified/imap/src/c-client/imap4r1.c 2008-08-26 20:57:03.000000000 -0700
***************
*** 4527,4532 ****
--- 4527,4533 ----
if (*env) { /* need to merge this header into envelope? */
if (!(*env)->newsgroups) { /* need Newsgroups? */
(*env)->newsgroups = nenv->newsgroups;
+ (*env)->ngpathexists = nenv->ngpathexists;
nenv->newsgroups = NIL;
}
if (!(*env)->followup_to) { /* need Followup-To? */
***************
*** 4581,4586 ****
--- 4582,4588 ----
if (oenv) { /* need to merge old envelope? */
(*env)->newsgroups = oenv->newsgroups;
oenv->newsgroups = NIL;
+ (*env)->ngpathexists = oenv->ngpathexists;
(*env)->followup_to = oenv->followup_to;
oenv->followup_to = NIL;
(*env)->references = oenv->references;
diff -rc alpine-2.00/imap/src/c-client/mail.h alpine-2.00.unverified/imap/src/c-client/mail.h
*** alpine-2.00/imap/src/c-client/mail.h 2008-08-08 10:34:22.000000000 -0700
--- alpine-2.00.unverified/imap/src/c-client/mail.h 2008-08-26 20:57:03.000000000 -0700
***************
*** 685,690 ****
--- 685,691 ----
/* Message envelope */
typedef struct mail_envelope {
+ unsigned int ngpathexists : 1; /* newsgroups may be bogus */
unsigned int incomplete : 1; /* envelope may be incomplete */
unsigned int imapenvonly : 1; /* envelope only has IMAP envelope */
char *remail; /* remail header if any */
diff -rc alpine-2.00/imap/src/c-client/rfc822.c alpine-2.00.unverified/imap/src/c-client/rfc822.c
*** alpine-2.00/imap/src/c-client/rfc822.c 2008-06-04 11:46:10.000000000 -0700
--- alpine-2.00.unverified/imap/src/c-client/rfc822.c 2008-08-26 20:57:04.000000000 -0700
***************
*** 128,133 ****
--- 128,134 ----
ENVELOPE *env = (*en = mail_newenvelope ());
BODY *body = bdy ? (*bdy = mail_newbody ()) : NIL;
long MIMEp = -1; /* flag that MIME semantics are in effect */
+ long PathP = NIL; /* flag that a Path: was seen */
parseline_t pl = (parseline_t) mail_parameters (NIL,GET_PARSELINE,NIL);
if (!host) host = BADHOST; /* make sure that host is non-null */
while (i && *s != '\n') { /* until end of header */
***************
*** 230,235 ****
--- 231,239 ----
*t++ = '\0';
}
break;
+ case 'P': /* possible Path: */
+ if (!strcmp (tmp+1,"ATH")) env->ngpathexists = T;
+ break;
case 'R': /* possible Reply-To: */
if (!strcmp (tmp+1,"EPLY-TO"))
rfc822_parse_adrlist (&env->reply_to,d,host);
diff -rc alpine-2.00/pith/mailview.c alpine-2.00.unverified/pith/mailview.c
*** alpine-2.00/pith/mailview.c 2008-07-11 16:20:32.000000000 -0700
--- alpine-2.00.unverified/pith/mailview.c 2008-08-26 20:57:04.000000000 -0700
***************
*** 2377,2384 ****
format_addr_string(s, n, sect, "Return-Path: ", e->return_path,
flags, oacs, pc);
! if((which & FE_NEWSGROUPS) && e->newsgroups)
format_newsgroup_string("Newsgroups: ", e->newsgroups, flags, pc);
if((which & FE_FOLLOWUPTO) && e->followup_to)
format_newsgroup_string("Followup-To: ", e->followup_to, flags, pc);
--- 2377,2397 ----
format_addr_string(s, n, sect, "Return-Path: ", e->return_path,
flags, oacs, pc);
! if((which & FE_NEWSGROUPS) && e->newsgroups){
! int bogus = NIL;
format_newsgroup_string("Newsgroups: ", e->newsgroups, flags, pc);
+ if (!e->ngpathexists && e->message_id &&
+ strncmp (e->message_id,"