SHA256
1
0
forked from pool/alpine
alpine/chappa-unverified.patch

112 lines
4.7 KiB
Diff
Raw Normal View History

diff -rc alpine-2.10/alpine/reply.c alpine-2.10.unverified/alpine/reply.c
*** alpine-2.10/alpine/reply.c 2013-01-11 11:19:33.000000000 -0700
--- alpine-2.10.unverified/alpine/reply.c 2013-01-11 16:20:11.000000000 -0700
***************
*** 1165,1173 ****
}
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);
--- 1165,1170 ----
diff -rc alpine-2.10/imap/src/c-client/imap4r1.c alpine-2.10.unverified/imap/src/c-client/imap4r1.c
*** alpine-2.10/imap/src/c-client/imap4r1.c 2011-01-09 21:00:20.000000000 -0700
--- alpine-2.10.unverified/imap/src/c-client/imap4r1.c 2013-01-11 16:20:11.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.10/imap/src/c-client/mail.h alpine-2.10.unverified/imap/src/c-client/mail.h
*** alpine-2.10/imap/src/c-client/mail.h 2013-01-11 15:21:34.000000000 -0700
--- alpine-2.10.unverified/imap/src/c-client/mail.h 2013-01-11 16:20:11.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.10/imap/src/c-client/rfc822.c alpine-2.10.unverified/imap/src/c-client/rfc822.c
*** alpine-2.10/imap/src/c-client/rfc822.c 2011-01-09 21:00:20.000000000 -0700
--- alpine-2.10.unverified/imap/src/c-client/rfc822.c 2013-01-11 16:20:11.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.10/pith/mailview.c alpine-2.10.unverified/pith/mailview.c
*** alpine-2.10/pith/mailview.c 2013-01-11 11:26:43.000000000 -0700
--- alpine-2.10.unverified/pith/mailview.c 2013-01-11 16:20:11.000000000 -0700
***************
*** 2379,2386 ****
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);
--- 2379,2399 ----
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,"<alpine.",8) &&
+ strncmp (e->message_id,"<Pine.",6) &&
+ strncmp (e->message_id,"<MS-C.",6) &&
+ strncmp (e->message_id,"<MailManager.",13) &&
+ strncmp (e->message_id,"<EasyMail.",11) &&
+ strncmp (e->message_id,"<ML-",4)) bogus = T;
+
+ if(bogus)
+ q_status_message(SM_ORDER, 0, 3,
+ "Unverified Newsgroup header -- Message MAY or MAY NOT have been posted");
+ }
if((which & FE_FOLLOWUPTO) && e->followup_to)
format_newsgroup_string("Followup-To: ", e->followup_to, flags, pc);