2004年01月24日

sqwebmail 3.6.0用日本語対応パッチ20040124版

2004年1月21日に公開したパッチに次の不具合が見つかり、修正を行った。
1. Vine Linuxなど一部環境でコンパイルできないことが分かった。
2. make checkが通らないことが分かった。

また、文字コードがソースコードのなかに直接埋めこまれている部分を取り除き、
実行時に設定ファイルから指定できるように改善した。
これにより、文字コードを設定するためのファイルを新設した。
htmlテンプレートが保存されているディレクトリにあるOUTGOING_CHARSETファイルが送信するメールの文字コードを決定する。日本語環境で使うには、このファイルの内容をiso-2022-jpとしておけば良い。もしこのファイルが存在しなければ、iso-8859-1が設定される。

sqwebmail 3.6.0用日本語対応パッチ20040124版

導入時の作業として、
# make install-strip
# make install-configure
の後に、
# cd /usr/local/share/sqwebmail/html/en-us (ディレクトリは環境により異なる)
# echo iso-2022-jp > OUTGOING_CHARSET
とする必要がある。

具体的な変更点は次の通り。

sqwebmail/newmsg_create.c:
newmsg_createdraft_do()を修正
変数の宣言を関数内の先頭に移動

http11/contentlanguage.c:
http11/http11.h.in:
http11_outgoing_charset()を新規作成
OUTGOING_CHARSETファイルを読む

sqwebmail/sqwebmail.c:
main2()とinit_default_locale()を修正
sqwebmail_outgoing_charsetを設定するように変更
rfc2045_setdefaultcharset(sqwebmail_content_charset)を呼出すように変更

rfc2045/rfc2045.c:
rfc2045_getdefaultcharset()を修正
これまでこの関数で行った修正が不要になったため差分を削除

rfc2045/rfc2464reply.c:
fillreply()を修正
埋めこまれていた文字コード名を削除して、変数を利用するように変更