factotum のパッチの充て方
TLS において factotum がユーザ web のプロセスを処理できるようにするためには、/sys/src/cmd/auth/factotum/util.cの中の以下のコードに
case Kuser:
if(strcmp(fss->sysuser, owner) != 0){
werrstr("%q can't use %q's keys", fss->sysuser, owner);
return failure(fss, nil);
}
break;
次のように2つの行を追加する必要がある。 case Kuser:
if(strcmp(fss->sysuser, "web") == 0)
break;
if(strcmp(fss->sysuser, owner) != 0){
werrstr("%q can't use %q's keys", fss->sysuser, owner);
return failure(fss, nil);
}
break;
この下で factotum をコンパイルした後に、(カーネルがこれを使用しているので)カーネルの再コンパイルが必要になる。
cpu% cd /sys/src/9/pc cpu% ramfs cpu% bind -bc /tmp . cpu% mk 'CONF=pccpu' install ... cpu%これは {9pccpu} を再コンパイルする例である。