Solaris Trusted Extensions 開発ガイド

ラベルビルダーの動作

ラベルビルダーのダイアログボックスは、エンドユーザーに情報の入力を求め、その入力から有効な機密ラベルを生成します。ラベルビルダーは、有効なラベルまたは認可上限が確実に作成されるようにします。ラベルおよび認可上限は、システムの label_encodings ファイルに定義されます。

ラベルビルダーは、「OK」、「Reset」、「Cancel」、「Update」ボタンに対するデフォルト動作を提供します。tsol_lbuild_create() ルーチンに渡されるコールバックは、「OK」ボタンにマップされてアプリケーション固有の動作を提供します。

キーボード入力と「Update」ボタン

「Update」ボタンは、「Update With」フィールドにユーザーが入力するテキストを受け取り、その文字列が label_encodings ファイルに定義されている有効なラベルまたは認可上限であることを検査します。

ユーザーが「OK」をクリックすると、「OK」ボタンのコールバック実装に従ってユーザー作成の値が処理されます。

ラジオボタンオプション

「Label Settings」ラジオボタンオプションによって、格付けおよびコンパートメントから機密ラベルまたは認可上限を作成できます。また、このオプションでは、格付け、コンパートメント、およびマーキングから情報ラベルも作成できます。モードによっては、ボタンのいずれかがグレー表示になることがあります。この方法は、キーボード入力による方法、および前の節で説明した「Update」ボタンによる方法とは別です。

格付け、コンパートメント、およびマーキングに関する情報は、システムの label_encodings ファイルに指定します。label_encodings ファイルに指定される組み合わせおよび制約が強制されますが、無効な組み合わせはグレー表示です。ユーザーがオプションを選択すると、「Label」フィールドが更新され、tsol_lbuild_create() ルーチンによって返される ModLabelData 変数の該当する作業ラベルフィールドにその値が格納されます。ユーザーは格付け (CLASS) およびコンパートメント (COMPS) のリストにあるラジオボタンを選択することによって、機密ラベルまたは認可上限を作成できます。

ユーザーが「OK」をクリックすると、「OK」ボタンのコールバック実装に従ってユーザー作成の値が処理されます。

「Reset」ボタン

「Reset」ボタンは、「Label」フィールドのテキストをアプリケーションが起動したときの値に設定します。

「Cancel」ボタン

「Cancel」ボタンは、変更内容を保存せずにアプリケーションを終了します。