Kahua Release
- Release Note
- Download
- Current Version 1.0.7.3 (2008-05-08)
kahua-web Release
- kahua-webとは
- Release Note
- Download
- Current Version 0.3.1 (2007-06-12)
Security Advisory
Event Log
Documentation
For developers
Site info
Related Site
Release Note for version 0.7
今後の機能強化に向けた内部構造の変更/整理とバグ修正を中心としたリリースです。 このバージョンにはセキュリティフィックスが含まれており、アップグレードすることを推奨します。
セキュリティフィックス
- 同一のスーパバイザ配下で稼働し、別のユーザデータベースを使って認証を行う アプリケーション間で、ログインセッションが共有されてしまう(あるユーザ名であるアプリケーションにログインすると、同じユーザ名で他のアプリケーションにもログインしていることになってしまう)という、セキュリティ上の問題を修正しました。この問題の詳細については、セキュリティアドバイザリを参照してください。
以前のバージョンとの相違
- configureオプションに--with-kahua-user、--with-kahua-group、--with-cgi-userを追加しました。これを使うことで、root権限でインストールする際、作成されるファイルやディレクトリのオーナー/グループが適切に設定されるようになります。
- kahua-check-transaction! は廃止されました。定義としては残っていますが、Kahuaの動作に影響は与えません。
- ワーカはリクエスト毎にデータベースに接続するのではなく、起動時に接続してそのまま接続を保持するようになりました。また、リクエスト処理前に接続が生きていることを確認し、接続が途絶えていた場合は再接続します。
- Kahuaオブジェクトデータベースにおいて、オブジェクトを擬似的に削除できるようになりました。これにともない、RDBMSにおけるテーブル定義が変更になっています。以前のバージョンのKahuaで作成されたデータベースをこのバージョン以降のKahuaで使うためには、kahua-dbutilによる変換が必要です。
- 上記のセキュリティフィックスにともない、kahua-current-user と kahua-current-user-name の挙動が変更になりました。詳細はkahua.serverモジュールのドキュメントを参照してください。
バグ修正
- fsdbにおいて、キー値が同じ新しいオブジェクトを作成すると、黙って同じキー値を持つ既存のオブジェクトを上書きしてしまうバグを修正しました。
- 細かいバグをたくさん修正しました。
その他、大幅にコードを整理しました。
動作条件
- Gauche-0.8.7 以降(0.8.8リリースまではCVS HEADの使用を推奨します)
- Gaucheがpthreadをサポートするように構築されていること。
$ gosh -V|grep pthread Gauche scheme interpreter, version 0.8.7 [utf-8,pthreads]
のように表示されればOKです。
注意事項
- 0.7においてオブジェクトの削除を実現するためにRDBMS上でのテーブル定義を変更しました。
0.6以前のリリースバージョンからアップグレードする場合、必ず0.7に含まれるkahua-dbutilコマンドでデータベースの変換を行ってください。fsdbの場合は変換の必要はありません。
% /usr/local/kahua/bin/kahua-dbutil fix mysql:kahua:password:db=test ==Start checking: #<<kahua-db-mysql> "mysql:kahua:password:db=test" (active)>== Checking kahua_db_idcount...OK Checking kahua_db_classcount...FIXED ==Done==
- Linux カーネルバージョン 2.4 系列を使っているシステムでは、
NPTL(Native Posix Thread Library)が組込まれていない libc を使っている場合
(たとえば、2.4 系列カーネルの Debian 3.1 sarge)では正しく動作しません。
2.6系列のカーネルに入れ替えるか、NPTLを組み込んだlibcを使用してください。
NPTLが有効かどうかは getconf コマンドで調べることができます。
% getconf GNU_LIBPTHREAD_VERSION NPTL 0.60