Accept binary encoding for messages/*
authorPhilipp Takacs <philipp@bureaucracy.de>
Tue, 22 Nov 2016 16:15:58 +0000 (17:15 +0100)
committerPhilipp Takacs <philipp@bureaucracy.de>
Fri, 6 Jan 2017 18:25:36 +0000 (19:25 +0100)
Acording to RFC 2046 binary encoding is allowed for messages/*.
Also ignore other encodings.

uip/mhparse.c

index b0876eb..8e8b360 100644 (file)
@@ -1025,7 +1025,7 @@ InitMultiPart(CT ct)
        */
        if (ct->c_encoding != CE_7BIT && ct->c_encoding != CE_8BIT
                && ct->c_encoding != CE_BINARY) {
        */
        if (ct->c_encoding != CE_7BIT && ct->c_encoding != CE_8BIT
                && ct->c_encoding != CE_BINARY) {
-               admonish(NULL, "\"%s/%s\" type in message %s must be encoded in 7bit, 8bit, or binary", ci->ci_type, ci->ci_subtype, ct->c_file);
+               admonish(NULL, "\"%s/%s\" type in message %s should be encoded in 7bit, 8bit, or binary", ci->ci_type, ci->ci_subtype, ct->c_file);
                ct->c_encoding = CE_7BIT;
        }
 
                ct->c_encoding = CE_7BIT;
        }
 
@@ -1243,9 +1243,9 @@ InitMessage(CT ct)
        struct k2v *kv;
        CI ci = &ct->c_ctinfo;
 
        struct k2v *kv;
        CI ci = &ct->c_ctinfo;
 
-       if ((ct->c_encoding != CE_7BIT) && (ct->c_encoding != CE_8BIT)) {
-               admonish(NULL, "\"%s/%s\" type in message %s should be encoded in 7bit or 8bit", ci->ci_type, ci->ci_subtype, ct->c_file);
-               return NOTOK;
+       if ((ct->c_encoding != CE_7BIT) && (ct->c_encoding != CE_8BIT) && (ct->c_encoding != CE_BINARY)) {
+               admonish(NULL, "\"%s/%s\" type in message %s should be encoded in 7bit, 8bit, or binary", ci->ci_type, ci->ci_subtype, ct->c_file);
+               ct->c_encoding = CE_7BIT;
        }
 
        /* check for missing subtype */
        }
 
        /* check for missing subtype */