Tetsuo Handa
from-****@I-lov*****
2007年 7月 8日 (日) 00:10:11 JST
熊猫です。 6/5にリリースされた 1.4.1 ですが、バグが見つかったので バージョンアップを行うための社内手続きをしています。 バグの内容としては、例外ポリシーで path_group と address_group の両方を定義した場合、 address_group を読み出せなくなるというものです。アクセス制御を行う上では影響ありませんが、 ポリシー保存時に address_group の定義内容が失われてしまいます。 fs/ccs_common.c の ReadExceptionPolicy() 内で ReadAddressGroupPolicy() を呼び出す前に head->read_var1 = NULL; を実行し忘れたのが原因です。 #ifdef CONFIG_TOMOYO_MAC_FOR_FILE if (ReadGroupPolicy(head)) break; #endif - head->read_var2 = NULL; head->read_step = 9; + head->read_var1 = head->read_var2 = NULL; head->read_step = 9; case 9: #ifdef CONFIG_TOMOYO_MAC_FOR_NETWORK if (ReadAddressGroupPolicy(head)) break; #endif 1.2 の時には path_release() を呼び出すのが1行早すぎたというバグが見つかり、 ホットフィックスとしてバージョン 1.2 のまま再公開しました。しかし、 現在では連載を読みながらバイナリパッケージをインストールしたユーザが多くなってきているため、 バイナリパッケージを差し替える方法では修正版かどうかを判断しづらく、混乱を招く危険が高くなっています。 そこで、これを機にバージョン番号の付与規則を変更しようと思います。 従来の方法 1.X.(Y+1) は 1.X.Y に機能を追加したものであり、機能の追加が無い場合は 1.X.Y のままとする。 大きく使い方が変化した場合は 1.(X+1) とする。 今後の方法 1.(X+1).0 は 1.X.Y に機能を追加したものとする。 1.X.(Y+1) は 1.X.Y のバグフィックスのみとする。 1.4.1 まではバージョンアップの度に新機能が追加されてきましたが、 1.4.1 以降は 1.4.Y である間は新機能の追加を行わないようにします。 上記の規則に従い、今回は(機能面の変更は無いけれど) 1.4.2 として公開することにします。