日本語全文検索システム Namazu 2.0.18 リリース2008年03月13日 05時31分53秒

 Namazu Project は、オープンソースソフトウェア  Namazu 2.0.18 を
2008年03月12日にリリースいたしました。
 GPL2(GNU General Public License version 2)に従って、Webサイトにて
一般公開したことを発表します。

 Namazu は手軽に使えることを第一に目指した日本語全文検索システムです。
CGI として動作させることにより小中規模の WWW 全文検索システムを構築す
ることができるほか、コマンドラインから利用する用途にも使えます。 


■ 主な変更内容

1.セキュリティ面の強化
  * namazu.cgi

  (緊急度:低)
  - レスポンスヘッダで charset を必ず出力
  - namazurc(.namazurc) の ContentType に charset が含まれていない
    場合には charset を追加するように変更
  - 'Charset' ディレクティブの追加。Lang に対応する charset を指定
  - エラーメッセージ出力時にレスポンスヘッダに charset を追加
  - エラーメッセージ出力時に HTML, BODY タグを追加
  - '\'', '(', ')' を "'", "(", ")" に変換

2.追加/修正
  - ドイツ語、ポーランド語用のメッセージカタログを追加
    (但し、翻訳は行っておらず英文のまま)
  - シフトJISのメッセージカタログの charset 名を SJIS から 
    Shift_JIS に変更
  - ドメイン名の例を example.jp に変更
  - mknmzrc の $DENY_DDN のシリアルポートのパターン変更
    2桁のポートに対応
  - LTVERSION="8:0:1" に変更
  - pltests のテストの変更および追加

3.バグフィックス
  下記の他多数の不具合を修正

  - mknmz にディスク空き容量不足のエラーチェック追加
  - UTF-8 変換ツールによる処理の違いを修正
  - 改行コード、制御コード変換処理の修正
  - filter/hnf.pl: GRP 対応とバグフィックス

■ 配布元
  Namazu 2.0.18 は、
 Namazu Web サイト  で配布しています。

■ ライセンス
 GPL2

■ 商標について
 商品名・会社名等はすべて各社、各組織の商標または登録商標です。 

■ 本件に関するお問合せ先
  Namazu Project
 e-mail: info@namazu.org
  URL: http://www.namazu.org/

[技術資料] Namazu 2.0.18 に新設された Charset ディレクティブ関連の話2008年03月13日 05時34分11秒

Namazu 2.0.17 以前の namazu.cgi はデフォルトではレスポンスヘッダの
ContentType に charset を出力しません。
この時、Web ブラウザの charset 自動認識の誤認により脆弱性の問題が
起こることがあります。
http://www.namazu.org/security.html

しかし、Namazu 2.0.6 以降には namazu.cgi で出力するレスポンスヘッダの 
ContentType を .namazurc で直接指定する機能を有しています。

ContentType "text/html; charset=EUC_JP"

など明示的に指定することでレスポンスヘッダの ContentType に charset を
出力することができ、この脆弱性の問題を回避することができます。
ただし、この場合は charset の値が固定されるため、CGI変数 lagn を用いた
言語切替ができないという制限がかかります。
(.namazurc の Lang ディレクティブを用いて言語を指定した場合も言語切替
はできませんので、実質困る方は少ないとは思います。)


これに対して Namazu 2.0.18 の namazu.cgi では、デフォルトでレスポンス
ヘッダの ContentType に charset を出力します。
ContentType "text/html; charset=%charset%" として内部処理を行います。
(%charset% は言語に対応したキャラセット)

このため、ContentType を .namazurc で指定していなくても言語に合った
charset が出力可能です。(サポートしている言語の場合)

Namazu 2.0.18 がサポートしている言語については新設した Charset 
ディレクティブで指定することが可能です。(言語切替に対応)

もちろん 2.0.17 以前のように ContentType で直接 charset を指定しても
かまいません。(この場合には、言語切替は不可能)

Namazu 2.0.18 では、.namazurc で charset が未設定の ContentType を
直接指定した場合でも、"; charset=%charset%" を自動的に追加して、
charset を出力します。(言語切替に対応)


現在のところ、標準のメッセージカタログには EUC-JP, Shift_JIS, 
ISO-8859-1, ISO-8859-2 の charset が使われているだけですが、
それ以外の charset の利用も考えると全てを自動で切り替えることは
困難です。
このため、現在サポートしていない言語に対応するために Charset 
ディレクティブを新設しました。

現在サポートしている言語とその charset の対応は次の通りです。

Charset "ja"                "EUC-JP"
Charset "ja_JP.SJIS"        "Shift_JIS"
Charset "ja_JP.ISO-2022-JP" "ISO-2022-JP"
Charset "fr"                "ISO-8859-1"
Charset "de"                "ISO-8859-1"
Charset "es"                "ISO-8859-1"
Charset "pl"                "ISO-8859-2"

(ここには ja_JP.eucJP はありませんが、ja_JP.eucJP はテンプレート
ファイルの選択のルールと同じように完全一致する言語がなければ
ja_JP、ja と順にチェックします。ja_JP は未設定ですが、ja は設定されて
いるため、charset としては EUC-JP が選ばれます。)

上記以外の言語を利用する場合には Charset ディレクティブで charset を
設定してください。

例えば eo(エスペラント語)を ISO-8859-3 に対応付けるのには

Charset "eo" "ISO-8859-3"

のようにします。(デフォルトは ISO-8859-1)
これにより言語 eo を選択した場合には、namazu.cgi のレスポンスヘッダの
ContentType は "text/html; charset=ISO-8859-3" が出力されることに
なります。

なお、Charset ディレクティブはシステムでサポートする言語とその言語に
対応する charset を設定しなければなりません。
システムと異なる charset を設定すると不具合が生じます。

Charset ディレクティブで、言語の charset が自由に設定できるわけでは
なくて、システムの言語に対応する charset を namazu.cgi に教える機能
だと理解してください。

Namazu for Windows 2.0.18 について2008年03月13日 05時35分28秒

現在 Namazu for Windows 2.0.18 のバイナリアーカイブを準備中ですが、nmz2.0.18.001-win32.zip の公開までにはまだ時間がかかます。

公開されるまでの期間は Namazu 2.0.18 相当の修正が行われているnmz2.0.18RC3.002-win32.zip をご利用ください。

なお、nmz2.0.18.001-win32.zip は1週間以内にリリースする予定です。 リリース後には nmz2.0.18.001-win32.zip をインストールしていただき、Namazu for Windows 2.0.18 に差し替えていただきますようお願いいたします。

  • アーカイブファイル

http://www.akaneiro.jp/public/nmz2.0.18RC3.002-win32.zip

  • 署名ファイル

http://www.akaneiro.jp/public/nmz2.0.18RC3.002-win32.zip.sig

  • MD5sumファイル

http://www.akaneiro.jp/public/nmz2.0.18RC3.002-win32.zip.md5

(md5: 08bc25777509e3eb7c30da51b27eca6a)

  • sha1sumファイル

http://www.akaneiro.jp/public/nmz2.0.18RC3.002-win32.zip.sha1

(sha1: 8e11cdfde2fbbb9972aa3cd971056131beff5fa9)