Trusted Solaris 開発ガイド

ファイル CMW ラベルの変更前に範囲を確認する

前述の例で説明しているファイルの CMW ラベルの昇格を行う前に、ファイルの新しい機密ラベルがそのファイルの機密ラベルの範囲内であるか確認することをお勧めします。

次の例は、ASCII 文字列を新しいバイナリの機密ラベルに変換し、ファイルシステムのラベル範囲を取得し、新しい機密ラベルがそのファイルシステムのラベル範囲内であるか調べます。

#include <tsol/label.h>

 main()
 {
 	int					retval, error;
 	bclabel_t					fileCMWlabel;
 	bslabel_t					fsenslabel;
 	brange_t 					range;
 	char					*string = "TOP SECRET";

/* 機密ラベルの新しい値を作成する */
 	retval = stobsl(string, &fsenslabel, NEW_LABEL, &error);
/* ファイルシステムのラベル範囲を得る */
 	retval = getcmwfsrange("/export/home/zelda/afile", range);

/* 機密ラベルがラベル範囲内かどうか調べる */
 	retval = blinrange(&fsenslabel, range);
 	if(retval > 0)
 			{/* ファイル CMW ラベルの昇格を実行する */}
 }