公開資料(Trac)

Trac とは

EdgeWall Software およびThe Trac Project が開発した プロジェクト管理ツールです。
Python で作成されたWeb アプリケーションであり、ソフトウェア開発のプロジェクト管理に特化しています。

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

  • Wiki
  • Subversion リポジトリブラウザ
  • バグトラッカ (チケットシステム)

2012年10月5日現在の安定版バージョンは 1.0 です。

特徴

  • 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.8 以前の Trac は GNU GPL で、バージョン 0.9 以降は 修正 BSD ライセンス で配布されています。

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

Trac-ja とは

Trac はオリジナル配布物のままでも、 Wiki ページ、バグ管理システムでの日本語利用や、Subversion リポジトリでの日本語利用が可能です。
(詳しくは配布に含まれるデフォルトのWiki ページによるマニュアルを参照してください)

また 0.12 以降のバージョンではBabel による国際化が実装され、オリジナル配布の状態でも、表示されるメッセージの大半が日本語になっています。

しかし、 Wiki 形式で同梱されているオンラインマニュアルは、英語のみの提供であるため、英語圏以外の利用者にとっては、必ずしも使いやすいとは言えません。

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

Trac-ja での変更点

Trac-ja ではオリジナルの Trac に対して、以下の改変を行った上で、再配布しています。

  • デフォルトの Wiki ページとして同梱されているマニュアルの日本語化
  • レポート機能での列名による表示整形を日本語に対応させ、デフォルトのレポートを日本語化

Trac-ja から Wiki ページだけを使いたい場合、 Trac-X.X.X.jaX.zip を展開し、配布に含まれるtrac/wiki/default-pages ディレクトリを trac-admin コマンドで wiki load してください。

詳しくは、配布に含まれる TracAdmin および、 trac-admin help コマンドでのオンラインマニュアルを参照してください。

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

  • 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 をインストールしてください。

詳しくは配布に含まれる 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-0.12 以降のオリジナル配布に含まれる日本語のメッセージ翻訳は、本家チケット #5471にあるとおり、主として下記に記載する方々が、ご自身の成果を Trac Project に提供したものです。 (順不同)

  • Kyosuke Takayama 様
  • hirobe 様
  • kabuchan 様
  • IWAI Masaharu 様
  • Jun Omae 様

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

お問い合わせ

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

Trac-0.12.4 における注意事項

Trac-0.12.4 を Python2.4 及び Python2.5 で利用する場合、カスタムクエリ画面でフィルタリング項目を追加できないという問題があります。

詳細は 本家チケット #10877 を参照してください。

チケットに記載されている修正を加えることでこの問題は解決します。


この問題を修正した Trac-0.12.5 が緊急でリリースされる予定ですので、リリース後は Trac-0.12.5 をご利用ください。(2012年10月5日時点)

▲TOP