Tetsuo Handa
from-****@I-lov*****
2009年 7月 9日 (木) 06:49:35 JST
熊猫です。 テストありがとうございました。 > - else if (S_ISREG(buf.st_mode)) > + else if (S_ISDIR(buf.st_mode)) (^^; > ただし、uClibcで使うときには、realpathのところを > > #if defined __UCLIBC__ > cp = realpath(path, malloc(PATH_MAX)); > #else > cp = realpath(path, NULL); > #endif > > とする必要はありますが。 > #実はrealpath.cもおんなじ。 はい。 Android で使われている bionic ライブラリでも同様です。 パス名の最大長が PATH_MAX であるとは限らないという理由で realpath() の第2引数に NULL 以外を渡すべきではないとされています。 #if defined __GLIBC__ の場合は realpath(path , NULL) でOKですが それ以外の場合は chdir() + getcwd() + strncat() で実現するバージョンの realpath() を作らないといけないですね。 で、 make_alias.c が動作するということは、 make_exception.c とマージして exception_policy.conf の部分を 完全にCプログラム化できますね。 次のリリースからは readlink と find と which に依存しないものに なるかと思います。 LTP に TOMOYO 2.2.0 用のテストプログラムが追加されました。 http://ltp.cvs.sourceforge.net/viewvc/ltp/ltp/testcases/kernel/security/tomoyo/