================
Trac-ja について
================

.. _`EdgeWall Software`: http://www.edgewall.com/
.. _`Trac Project Web サイト`: http://trac.edgewall.org/
.. _Python: http://www.python.org/
.. _Subversion: http://subversion.tigris.org/
.. _docutils: http://docutils.sourceforge.net/
.. _Wiki: http://ja.wikipedia.org/wiki/Wiki
.. _`GNU GPL`: http://www.gnu.org/copyleft/gpl.html
.. _`修正 BSD ライセンス`: http://trac.edgewall.org/wiki/TracLicense
.. _`Trac 日本語化作業グループ`: trac-ja@i-act.co.jp
.. _`JVN#84091359`: http://jvn.jp/jp/JVN%2384091359/
.. _`JVN#91706484`: http://jvn.jp/jp/JVN%2391706484/
.. _`0.11.7`: http://trac.edgewall.org/milestone/0.11.7


Trac とは
=========

スウェーデンにある `EdgeWall Software`_ が開発した プロジェクト管理ツールです。
Python_ で作成された Web アプリケーションであり、ソフトウェア開発のプロジェクト
管理に特化しています。

Trac は以下の機能で構成されています。

* Wiki_
* Subversion_ リポジトリブラウザ
* バグトラッカ (チケットシステム)

2010年3月11日現在の安定版バージョンは `0.11.7`_ です。


特徴
----

* Wiki の活用により、単なるバグトラッカではなくプロジェクトポータルとして利用で
  きます。
  
  - バグトラッカのコメントの記述や、 Subversion のコミットログなどで表現力が高
    まります。
  - Wiki, Subversion リポジトリ, バグトラッカを横断したリンクを簡単に作成するこ
    とが出来ます。
  
* メールサーバの設定は不要です。
  
  - Wiki ページ更新、バグトラッカの更新、 Subversion へのコミット等を RSS 配信
    できます。
  - もちろん必要であればバグトラッカの更新はメール通知できます。
  
* Subversion で成果物を管理しているプロジェクトでは最大の効果を発揮します。
  
  - ユーザ認証に HTTP 基本認証を使用するため、 Subversion のために作成したユー
    ザをそのまま使用できます。
  - リポジトリブラウザを使用することで、コミット内容やファイルの状態などが簡単
    に表示できます。
  - Subversion に hook-script を設定することで、コミットとバグトラッカの状態を
    同期できます。


セキュリティ情報
----------------

**セキュリティフィックス以前のバージョンをご利用の場合、更新を強く推奨します**

:0.8 系列:
  * 0.8.3 以前のバージョンには添付ファイル機能にディレクトリトラバーサルに対す
    る脆弱性が存在します。

:0.9 系列:
  * 0.9.2 以前のバージョンには SQL インジェクションに対する脆弱性が存在します。
  * 0.9.4 以前のバージョンには XSS に対する脆弱性が存在します。
    (関連情報: `JVN#84091359`_)
  * 0.9.5 以前のバージョンかつ reStructuredText の WikiProcessors を有効にして
    いる場合、プライバシー情報の抜き取りと、サービス拒否攻撃(DoS)に対する脆弱性
    が存在します。この対応のため、 Trac-0.9.6 以降ではサポートする docutils_ の
    バージョンが 0.3.9 以降に改められました。

:0.10 系列:
  * 0.10 (系列全体ではなく、最初のリリース) 以前の全てのバージョンには、 CSRF
    に対する脆弱性が存在します。
  * 0.10.3 以前のバージョンの添付ファイル機能に、 XSS に対する脆弱性が 存在しま
    す。
  * 0.10.3 以前のバージョンで、 Microsoft Internet Explorer を使用している場合
    に、 Wiki ページのテキスト形式でのダウンロードに XSS に対する脆弱性が存在し
    ます。 (関連情報: `JVN#91706484`_)
  * 0.10.4 以前のバージョンの WikiFormatter 機能に、 XSS に対する脆弱性が存在し
    ます。
  * 0.10.4 以前のバージョンの検索機能に、クロスサイトリダイレクションに対する脆
    弱性が存在します。

:0.11 系列:
  * 0.11.1 以前のバージョンの Wiki parser 機能に、処理性能が極端に悪くなるパ
    ターンがあり、その箇所を突くことで DOS 攻撃となりうる脆弱性が存在します。
  * 0.11.1 以前のバージョンの WikiFormatter 機能に、 HTML 出力時の危険なコード
    の無効化が不十分なパターンがあります。この脆弱性を突かれることで、フィッシ
    ングの挿入の危険になり得ます。
  * 0.11.5 以前のバージョンの TracReports では、 HTML 以外の形式で出力する際に
    FineGrainedPermission によるポリシーが適用されていない問題が存在します。
    IPermissionPolicy インタフェースを実装するプラグインを使用している場合のみ
    影響があります。
  * 0.11.5 以前のバージョンでは、 docutils-0.6 で実装された raw_role チェック
    相当の機能が実装されていません。 0.6 より古い docutils を使用している場合
    のみ影響があります。
  * 0.11.6 以前のバージョンでは、権限が与えられていないユーザであっても、
    チケットのステータス ("status") と、解決方法 ("resolution") を変更できてし
    まうバグが存在します。

ライセンス
----------

バージョン 0.8 以前の Trac は `GNU GPL`_ で、バージョン 0.9 以降は
`修正 BSD ライセンス`_ で配布されています。

詳しくは `Trac Project Web サイト`_ をご覧下さい。


Trac-ja とは
============

Trac はオリジナル配布物のままでも、 Wiki ページ、バグ管理システムでの日本語利用
や、 Subversion リポジトリでの日本語利用も基本的には可能です。
(詳しくは配布に含まれる TracJa に記載しました)

しかし、ページのレイアウトテンプレートや、 Wiki 形式で同梱されているオンライン
マニュアルが英語のみとなっているため、英語圏以外の利用者にとっては、必ずしも使
いやすいとは言えません。

弊社では Trac を社内利用のために日本語ローカライズしており、その成果を Trac-ja
として一般に提供しています。


配布に当たっての注意事項
------------------------

* Trac-ja はフリーウェアです。

  - ライセンス条項に従い、無償でご利用いただけます。
  - 提供内容は "AS IS" です。配布物および、その利用による責任の一切を弊社は負い
    ません。各自の自己責任においてご利用ください。

* Trac-ja に関しての質問やバグ報告は、 EdgeWall Software および Trac Project に
  行わないで下さい。

  - Trac-ja は Trac の派生物であり、 EdgeWall Software および Trac Project はサ
    ポートしていません。
  - また EdgeWall Software と弊社の間には、いかなる契約も締結されておらず、
    弊社も EdgeWall Software から見ると一ユーザに過ぎません。


ライセンス
----------

ベースとなる Trac のバージョンと同じライセンスを適用します。現時点では
`修正 BSD ライセンス`_ です。


インストール方法
----------------

Trac-ja にはオリジナル配布物に相当する全てのファイルが含まれています。通常通り
`setup.py` を使用してインストールすることが出来ます。

書籍などによっては、オリジナル配布をインストールした上で、上書きインストールす
るように記述されている場合もありますが、この場合、一部のファイルが上書きされな
いことがあります。オリジナル配布が既にインストールされている場合、一旦アンイン
ストールしてから新たに Trac-ja をインストールしてください。

詳しくは配布に含まれる TracJa, TracInstall, TracUpgrade をご覧ください。


謝辞
----

Trac-0.9.5 のリリースは、 Kazuhiro Nishiyama 様による IPA への情報提供が契機と
なりました。また EdgeWall Software への報告や対処については、 JPCERT/CC 脆弱性
情報ハンドリングチームにご尽力いただきました。

Trac-0.10.3.1 のリリースは、株式会社ビジネス・アーキテクツ 太田 良典 様による
IPA への報告が契機となりました。情報セキュリティ早期警戒パートナーシップに基づ
き、 JPCERT/CC 脆弱性情報ハンドリングチームにご尽力いただきました。

Trac-0.11 の日本語化にあたって、株式会社 NTTデータ様にご協賛いただきました。

ありがとうございました。


リソース
========

お問い合わせ
------------

Trac-ja のバグ、ライセンス等に関するお問い合わせは `Trac 日本語化作業グループ`_
までお願いします。セキュリティ等の問題について、弊社では可能な限り誠意的に対応
したいと考えておりますが、これは全てのお問い合わせに対して回答をお約束するもの
ではありません。
