summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEduardo Chappa <chappa@washington.edu>2018-12-16 13:42:37 -0700
committerEduardo Chappa <chappa@washington.edu>2018-12-16 13:42:37 -0700
commitea4d5cd8e41c3241d8bebe4f7bbb2b7603e05283 (patch)
tree79b212bcf956fd6c54e1f4f0cbee9cdbe1d1d2f5
parentc7e14ba2c2ac2a858539dcb4f077d8fb03988c06 (diff)
downloadalpine-ea4d5cd8e41c3241d8bebe4f7bbb2b7603e05283.tar.xz
* Bug: When a message is multipart, and the first part is flowed text,
then forwarding the message will set the first part to be flowed, and sent that way even when the option Do Not Send Flowed Text is enabled. To avoid this issue, we remove any flowed text parameters from the body of the message, so we create a "remove_parameter" function, and then we set the flowed parameter only when the user requested. Reported by Holger Trapp.
-rw-r--r--alpine/send.c4
-rw-r--r--pith/pine.hlp7
-rw-r--r--pith/send.c25
-rw-r--r--pith/send.h1
4 files changed, 36 insertions, 1 deletions
diff --git a/alpine/send.c b/alpine/send.c
index 4768a7e..6eb3313 100644
--- a/alpine/send.c
+++ b/alpine/send.c
@@ -6196,6 +6196,10 @@ void
create_message_body_text(struct mail_bodystruct *b, int flow_it)
{
set_mime_type_by_grope(b);
+ if(b != NULL){
+ remove_parameter(&b->parameter, "format"); /* we will set it up below */
+ remove_parameter(&b->parameter, "delsp"); /* we never set this up */
+ }
if(F_OFF(F_QUELL_FLOWED_TEXT, ps_global)
&& F_OFF(F_STRIP_WS_BEFORE_SEND, ps_global)
&& flow_it)
diff --git a/pith/pine.hlp b/pith/pine.hlp
index 63bc8d3..1b6afe2 100644
--- a/pith/pine.hlp
+++ b/pith/pine.hlp
@@ -140,7 +140,7 @@ with help text for the config screen and the composer that didn't have any
reasonable place to be called from.
Dummy change to get revision in pine.hlp
============= h_revision =================
-Alpine Commit 312 2018-12-08 18:58:41
+Alpine Commit 315 2018-12-16 13:42:34
============= h_news =================
<HTML>
<HEAD>
@@ -248,6 +248,11 @@ Bugs that have been addressed include:
not exist is the more complex code that Unix-Pico has with color
codes for specific colors.)
+ <LI> When a message is multipart, and the first part is flowed text,
+ then forwarding the message will set the first part to be flowed,
+ and sent that way even when the option Do Not Send Flowed Text is
+ enabled. Reported by Holger Trapp.
+
<LI> Update build.bat file to add /DWINVER=0x0501 so that Alpine can
build when using Visual Studio 2017. Fix contributed by
Ulf-Dietrich Braunmann.
diff --git a/pith/send.c b/pith/send.c
index dc5a500..aea9c21 100644
--- a/pith/send.c
+++ b/pith/send.c
@@ -4120,6 +4120,31 @@ most_preferred_charset(unsigned long validbitmap)
return(charsetlist[index]);
}
+void
+remove_parameter(PARAMETER **param, char *paramname)
+{
+ PARAMETER *pm;
+
+ if(param == NULL || *param == NULL
+ || paramname == NULL || *paramname == '\0')
+ return;
+
+ for(pm = *param;
+ pm != NULL && pm->attribute != NULL && strucmp(pm->attribute, paramname);
+ pm = pm->next);
+
+ if(pm){
+ PARAMETER om, *qm;
+ om.next = *param;
+ for(qm = &om; qm->next != pm; qm = qm->next);
+ qm->next = pm->next;
+ pm->next = NULL;
+ mail_free_body_parameter(&pm);
+ if(*param == NULL)
+ mail_free_body_parameter(param);
+ }
+}
+
/*
* Set parameter to new value.
diff --git a/pith/send.h b/pith/send.h
index ef06c40..fe02d5b 100644
--- a/pith/send.h
+++ b/pith/send.h
@@ -238,6 +238,7 @@ BODY *first_text_8bit(BODY *);
ADDRESS *generate_from(void);
void set_mime_type_by_grope(BODY *);
void set_charset_possibly_to_ascii(BODY *, char *);
+void remove_parameter(PARAMETER **param, char *);
void set_parameter(PARAMETER **, char *, char *);
void pine_encode_body(BODY *);
int pine_header_line(char *, METAENV *, char *, soutr_t, TCPSTREAM *, int, int);