SqwebMail 3.6.0 Patch

2004/02/10

SqWebMail への patch です。

履歴

2004/02/18
新規: noflowed
2004/02/16
新規: ja_jp-add
2004/02/15
新規: auth_charset
2004/02/14
新規: ldap_utf8
2004/02/10
charsetfix: 足りないファイルを追加。
2004/02/09
公開


sqwebmail-3.6.0-noflowed-1.0.patch
  format=flowed 抑止。

  $sysconfdir/noflowedmsg が存在すれば、既定値では format=flowed を
  使わない。

sqwebmail-3.6.0-ja_jp-add.tar.gz
  3.6.0対応の日本語テンプレート への追加。

  TIMEZONELIST の日訳。
  グローバルアドレス帳関連のテンプレートの日訳。

  o いずれも UTF-8 です。
  o 下記 ldap_utf8 patch への対応を含む。

sqwebmail-3.6.0-auth_charset-1.0.patch
  認証モジュールから渡されるユーザ fullname の文字コード変換。

  1. $sysconfdir/authcharset があれば、そこから文字コードを読む。
  2. なければ、システムロケールで決まる文字コード (下記
    sqwebmail-3.6.0-charsetfix.patch 参照) を認証モジュールが
    返す fullname の文字コードとみなす。
  3. いずれでもなければ、変換なし。

  この変更は本家 CVS に入りましたので、
  3.6.3 以降 (4.0?) では当 patch を適用する必要がなくなります。


sqwebmail-3.6.0-ldap_utf8-1.0.patch
  入力された検索条件を UTF-8 に変換してから検索する。
  中間一致と後方一致のオプションを追加。

  3.6.2 でのバグフィクスを含む。

  この変更は本家 CVS に入りましたので、
  3.6.3 以降 (4.0?) では当 patch を適用する必要がなくなります。


sqwebmail-3.6.0-charsetfix.patch

  [注意] 巨大です (gzip 圧縮 485 KB)。

これで、
o テンプレートの日付表記に "%Y年%B%d日" などと書けます。
o CHARSET に shift_jis などもつかえます (たぶん)。
o 中文やハングルのメッセージも (キャラクタセットとフォントの対応す
  る範囲で) 読めます。


変更点
======

以下の変更は本家 CVS に入りましたので、
3.6.3 以降 (4.0?) は上記の patch を適用しなくても有効になります。

o 日本語と中文の Unicode 変換モジュールをかなり根本的に書き直し。
  ほぼ使用にたえるようになった。
o コリアンの Unicode 変換モジュールを追加。
o ロケールのエンコーディングと HTTP コンテンツのエンコーディングの
  間での相互変換。
  LOCALE のエンコーディングが日本語 EUC などであっても、
  日付表示に日本語が使えるようになった。

o 本家の ISO-8859-7、UTF-7(IMAP) の修正を含む。


使いかた
========

1. sqwebmail-3.6.0-charsetfix.patch を当てる。

2. 以下を実行する (configure.in などを書き換えているので):
  $ cd ソースのルート/unicode
  $ aclocal
  $ autoheader
  $ automake --add-missing --foreign --copy
  $ autoconf
  $ cd ソースのルート/sqwebmail
  $ aclocal
  $ autoheader
  $ automake --add-missing --foreign --copy
  $ autoconf

  * ARG_GNU_SOURCE が定義されていないというエラーがでる場合があり
    ますが、無視していいみたいです。

3. configure、make、make install する。

4. LOCALE ファイルと CHARSET ファイルの内容を、望みのものにする。
  テンプレートのキャラクタセットは CHARSET ファイルの指定に合わ
  せる。


注意
====

* システムロケールのエンコーディングを検出するのに、
  nl_langinfo(CODESET) または libcharset の locale_charset() を使
  います。

* configure オプションに --enable-unicode は必須です。

o 環境依存の注意点など:

  FreeBSD 4.x/5.x:
    nl_langinfo(CODESET) は MIME preferred name
    を返さないので、libcharset を使う必要がある。

    なお、libcharset は ports の converters/libiconv に含まれている。
    が、ports version が 1.9.1_3 よりも前の libiconv では日本語の
    エンコーディングを正しく検出できない。

    o libiconv が古い場合はアップデートする。
    o configure オプションに --with-libcharset=yes を追加する。
    o ports を作成する場合は LIB_DEPENDS に
        charset.1:${PORTSDIR}/converters/libiconv
      を追加する。


SqWebMail Patches

2003/05/08

SqWebMail日本語対応版 への patch です。

履歴

2003/05/08
公開
2003/05/10
更新: ldaputf8: バッファ解放忘れを修正。
新規: jis-compl-fl: 一覧 で iso-2022-jp の差出/宛先と件名が切れるの修正。
2003/05/11
更新: SRPM: 関係ないファイルが混入していたの削除。
更新: SRPM: autoconf のバージョン対策。

format=flowed 抑止

以下は、sqwebmail-3.3.7-p1.japan.1.4 で試しました。
3.5.1 にも適用できるとおもいます。

o sqwebmail-3.3.7-format.patch
  $prefix/html/言語/ に FORMAT というファイルを次の内容で作成すると、
  その言語でのメッセージ作成の形式を変更できます:
    "flowed"、またはファイルなし: 元の動作 --- format=flowed にする。
    "hard": textarea の幅で強制改行。format=flowed にしない。
    その他: 強制改行しない。format=flowed にしない。

  * この patch を適用すると cache の形式が拡張されますが、拡張前の 
    cache があってもさしあたり影響ないはずです (旧形式の cache が
    ある間は patch 適用前の動作をします --- たぶん)。

グローバルアドレス帳

以下は、3.3.7-p1.japan.1.4 と 3.5.1 (3.3.3.jis-v0.31 適用) で試しました。

o sqwebmail-3.3.7-japan.ldaphtml.1.0.tar.gz
  日本語用テンプレート (ldaplist.html、ldapsearch.html) の翻訳。

o sqwebmail-3.3.7-ldaputf8.1.1.main.patch
  入力された検索条件を UTF-8 に変換してから検索する。

  * --enable-unicode 必須。

o sqwebmail-3.3.7-ldaputf8.1.1.patch
  上記に加え、検索条件で中間一致を指定できるようにする。
  - ldaplist.html のフォームで op1、op2、op3 に <option value="*=*">
    という選択肢を追加することで指定できるようになります (上のテンプ
    レートにはこの選択肢ははいっていません)。
  上3点は 3.6.0 用 を作成しました。

o sqwebmail-3.3.7-hideldappw.patch
  グローバルアドレス帳の bind password を隠す (ユーザの背後から覗か
  れることを防ぐ)。

o sqwebmail-3.3.7-jis-compl.patch
  個人アドレス帳への追加の際に iso-2022-jp を通す処理。Ichikawa さ
  んのコードを流用してしまいました。
  3.6.0 日本語版には必要ないです。

日本語対応/国際化


以下は 3.5.1 (3.3.3.jis-v0.31 適用) で試しましたが、それ以前でも
日本語対応 patch が適用されていれば適用して問題ないとおもわれま
す。
  3.6.0 日本語版には適用できません。

o sqwebmail-3.3.7-jis-compl-tz.patch
  ログイン時の時間帯選択で iso-2022-jp を通すための安直な修正。

o sqwebmail-ja-jp-TIMEZONELIST
  TIMEZONELIST 翻訳。
  3.6.0用を作成しました。

o sqwebmail-3.5.1-jis-compl-he.patch
  本家 3.4.0 あたりから MIME ヘッダエンコーディングまわりがすこし
  変更されたことへのその場しのぎの対処。

o sqwebmail-3.5.1-jis-compl-fl.patch
  一覧で iso-2022-jp などの 差出/宛先 や 件名 が切れるの修正。

  * --enable-unicode 必須。

SRPM

o sqwebmail-3.5.1-1.8.0.nezumi.9.src.rpm
  以上のものなどをまとめた Source RPM。
  古いです。

  * このまま rebuild しても特定の環境でしか動きませんので、
    同梱の spec ファイルを修正する必要があるとおもいます。
    8.0 となっていますが、バージョンなどには依存しないとおもいます。

  * また同梱の spec ファイルで prefix が /usr/share/sqwebmail にな
    っていますのでご注意を (私の都合です。/usr/local/share/sqwebmail 
    に戻しても問題ありません)。


なお、いずれも十分にテストしたわけではありません。おかしいところなど
あったらご指摘いただければ幸いです。
nezumi