[milter-manager-users-ja] 00 のバイトデータ(null文字)以降のメールデータが壊れる問題

Zurück zum Archiv-Index

北岡 紀弘 norih****@hitac*****
2018年 7月 26日 (木) 17:27:23 JST


北岡です。

> ちょっと古いバージョンに対するドキュメントで設定値の意味が違うかもしれ
> ませんが、設定値によっては8bitの文字列が含まれていても全くの無加工でメー
> ルを流すことができるように読めました。
> 
> 上記のドキュメント通りだとすると(pass8について説明がないのが気になりますが)、
> 
> O EightBitMode=pass
> 
> と設定すると、Content-Transfer-Encoding: 8bit というヘッダーが付いてい
> なくても、sendmail による変換が発生しないように読めました。

sendmail のソースを読んでみました。
EightBitMode の設定は先頭文字しか見ておらず「pass8」「pass」「p」で全て同じ挙動になるみたいです。
「j」(just)という隠し設定がありこれだと無変換になる気がしますが、通常機能としては提供されていないようです。


[sendmail-8.14.9/sendmail/readcf.c]
=============================================
#if MIME8TO7
                switch (*val)
                {
                  case 'p':             /* pass 8 bit, convert MIME */
                        MimeMode = MM_CVTMIME|MM_PASS8BIT;
                        break;

                  case 'm':             /* convert 8-bit, convert MIME */
                        MimeMode = MM_CVTMIME|MM_MIME8BIT;
                        break;

                  case 's':             /* strict adherence */
                        MimeMode = MM_CVTMIME;
                        break;

# if 0
                  case 'r':             /* reject 8-bit, don't convert MIME */
                        MimeMode = 0;
                        break;

                  case 'j':             /* "just send 8" */
                        MimeMode = MM_PASS8BIT;
                        break;

                  case 'a':             /* encode 8 bit if available */
                        MimeMode = MM_MIME8BIT|MM_PASS8BIT|MM_CVTMIME;
                        break;

                  case 'c':             /* convert 8 bit to MIME, never 7 bit */
                        MimeMode = MM_MIME8BIT;
                        break;
# endif /* 0 */
=============================================

以上です。よろしくお願い致します。



milter-manager-users-ja メーリングリストの案内
Zurück zum Archiv-Index