add hidden pref 'reqrite_first_from'
authorPaul <paul@claws-mail.org>
Mon, 26 Sep 2016 09:59:43 +0000 (10:59 +0100)
committerPaul <paul@claws-mail.org>
Mon, 26 Sep 2016 09:59:43 +0000 (10:59 +0100)
'0' or '1'. This works around a limitation of some servers with
'overly-liberal parsers'. When this is turned on and the Content-
Transfer-Encoding is set to 8bit or 7bit, in a message body starting
with 'From ' the 'From ' will become '=46rom ' and the
Content-Transfer-Encoding will be changed to Quoted-Printable. When it
is turned off no such modification will be made but it is very likely
that an MTA will convert the 'From ' to '>From '. See RFC 4155 for
further details. Default value is '1', turned on.

manual/advanced.xml
src/compose.c
src/prefs_common.c
src/prefs_common.h

index 12c12a0..9c4b056 100644 (file)
          </para>
        </listitem>
       </varlistentry>
+      <varlistentry>
+       <term><literal>rewrite_first_from</literal></term>
+       <listitem>
+         <para>
+    '0' or '1'. This works around a limitation of some servers with
+    'overly-liberal parsers'. When this is turned on and the Content-
+    Transfer-Encoding is set to 8bit or 7bit, in a message body starting with
+    'From ' the 'From ' will become '=46rom ' and the Content-Transfer-Encoding
+    will be changed to Quoted-Printable. When it is turned off no such modification
+    will be made but it is very likely that an MTA will convert the 'From ' to
+    '>From '. See RFC 4155 for further details. Default value is '1', turned on.
+         </para>
+       </listitem>
+      </varlistentry>
       <varlistentry>
        <term><literal>save_parts_readwrite</literal></term>
        <listitem>
index d216a4b..b05006b 100644 (file)
@@ -5653,7 +5653,7 @@ static gint compose_write_to_file(Compose *compose, FILE *fp, gint action, gbool
        }
        g_free(chars);
 
-       if (encoding == ENC_8BIT || encoding == ENC_7BIT) {
+       if (prefs_common.rewrite_first_from && (encoding == ENC_8BIT || encoding == ENC_7BIT)) {
                if (!strncmp(buf, "From ", sizeof("From ")-1) ||
                    strstr(buf, "\nFrom ") != NULL) {
                        encoding = ENC_QUOTED_PRINTABLE;
index 39d9a0b..feeb956 100644 (file)
@@ -199,6 +199,8 @@ static PrefParam param[] = {
         NULL, NULL, NULL},
        {"outgoing_fallback_to_ascii", "TRUE", &prefs_common.outgoing_fallback_to_ascii, P_BOOL,
         NULL, NULL, NULL},
+        {"rewrite_first_from", "TRUE", &prefs_common.rewrite_first_from,
+         P_BOOL, NULL, NULL, NULL},
        {"warn_empty_subj", "TRUE", &prefs_common.warn_empty_subj,
         P_BOOL, NULL, NULL, NULL},
        {"hide_timezone", "FALSE", &prefs_common.hide_timezone,
index d3d9fa9..2c56b4d 100644 (file)
@@ -142,6 +142,7 @@ struct _PrefsCommon
        gchar *outgoing_charset;
        TransferEncodingMethod encoding_method;
        gboolean outgoing_fallback_to_ascii;
+       gboolean rewrite_first_from;
        gboolean warn_empty_subj;
        gboolean hide_timezone;
        gboolean allow_jisx0201_kana;