Solaris Trusted Extensions 開発ガイド

資格と遠隔ホストラベルの取得

遠隔プロセスのラベルの取得は、2 ステップの手続きで実行されます。最初に、資格を取得します。次に、その資格からラベルを取得します。

資格は、遠隔プロセスの ucred_t データ構造体にあります。ラベルは、資格の m_label_t データ構造体にあります。遠隔プロセスの資格を取得したあとに、その資格からラベル情報を抽出します。

getpeerucred() 関数が、遠隔プロセスから ucred_t 資格データ構造体を取得します。ucred_getlabel() 関数が、ucred_t データ構造体からラベルを抽出します。get_peer_label() 関数では、次のように 2 ステップの手続きがコーディングされています。

if (getpeerucred(fd, &uc) == -1)
	return (-1);

sl = ucred_getlabel(uc);

get_peer_label() ルーチン全体のソースは、get_peer_label() ラベル対応関数」を参照してください。

この 2 つの関数については、getpeerucred(3C) および ucred_getlabel(3C) のマニュアルページを参照してください。

遠隔ホストのラベルのほかに、遠隔ホストのタイプも取得できます。遠隔ホストタイプを取得するには、tsol_getrhtype() ルーチンを使用します。「遠隔ホストタイプの取得」を参照してください。