名前 | 形式 | インタフェースレベル | 機能説明 | 戻り値 | 使用例 | プロセス属性 | ファイル | 属性 | 関連項目 | 注意事項 | 警告
cc [flag...] file... -ltsol [library...]
#include <tsol/label.h> char *sbsltos(const m_label_t *label, const int len);
char *sbcleartos(const m_label_t *clearance, const int len);
sbsltos() および sbcleartos() 関数は、廃止または互換性がなくなる可能性があります。代わりに label_to_str(3TSOL) 関数を使用してください。
呼び出し元プロセスは、現在のプロセスの機密ラベルより優位にあるラベルについてラベル変換を実行するには、有効な特権セットの中に PRIV_SYS_TRANS_LABEL を保持している必要があります。
これらの関数は、バイナリラベルを標準的な文字列に変換し、文字列は len に指定される印刷可能な文字数にクリッピングされます。変換された文字列の文字数が len より長い場合は、クリッピングが必要です。クリップとは、指定された文字数より 2 文字少なくなるまでラベルを右方向に切り捨てることです。機密ラベルと認可上限にはクリッピングされたことを示すインジケータ「<-」が追加されます。文字形式のラベルの先頭には格付け名が指定され、ラベルの残りの部分を構成する語句のリストとの間は単一の空白文字で区切られます。バイナリラベルは正しい定義済みタイプを持ち、プロセスの機密ラベルより下位である必要があります。len が 0 (ゼロ) のときは、クリッピングしないで文字列全体を返します。
sbsltos() は、バイナリ機密ラベルを Word の長形式と格付け名の短形式を使うクリップ文字列に変換します。len が最短文字数である 3 文字より短い場合は、変換は失敗します。
sbcleartos() は、バイナリ認可上限を Word の長形式と格付け名の短形式を使うクリップ文字列に変換します。len が最短文字数である 3 文字より短い場合は、変換は失敗します。認可上限の変換結果は、機密ラベルの変換結果と同じでないことがあります。これらの関数は、label_encodings ファイルの別々のテーブルを使用します。各テーブルの Word と制約条件は異なっている場合があります。
これらのルーチンは、変換結果を含む静的に割り当てられた文字列へのポインタを返します。何らかの原因で変換に失敗した場合は、(char *)0 を返します。
次のような機密ラベルの場合、
UN TOP/MIDDLE/LOWER DRAWER |
10 文字にクリッピングすると次のようになります。
UN TOP/M<- |
次のような認可上限の場合、
UN TOP/MIDDLE/LOWER DRAWER |
10 文字にクリッピングすると次のようになります。
UN TOP/M<- |
VIEW_EXTERNAL または VIEW_INTERNAL フラグが指定されないと、ADMIN_LOW ラベルと ADMIN_HIGH ラベルの変換は、ラベル表示プロセス属性のフラグによって制御されます。ラベル表示プロセス属性のフラグが定義されていない場合は、label_encodings ファイルに設定されているラベル表示によって変換が制御されます。値 External は、ADMIN_LOW ラベルと ADMIN_HIGH ラベルが label_encodings ファイルに定義されている最下位ラベルと最上位ラベルに割り当てられるように指定します。値 Internal は、ADMIN_LOW ラベルと ADMIN_HIGH ラベルが label_encodings ファイルに指定されている admin low name 文字列と admin high name 文字列に変換されるように指定します。このような名前が指定されていない場合は、文字列「ADMIN_LOW」と「ADMIN_HIGH」が使用されます。
次の属性については、attributes(5) を参照してください。
属性タイプ |
属性値 |
---|---|
使用条件 |
SUNWtsu |
安定性 |
廃止または互換性がなくなる可能性あり |
MT レベル |
危険 |
これらの関数は旧式であり、移植を容易にする目的で維持されています。これらは、将来の Solaris Trusted Extensions リリースでは削除される可能性があります。
これらの関数はすべて、静的に割り当てられた文字列記憶領域を共有しています。MT- 安全ではありません。これらの関数を呼び出すたびに、文字列は新しく変換された文字列で上書きされます。
名前 | 形式 | インタフェースレベル | 機能説明 | 戻り値 | 使用例 | プロセス属性 | ファイル | 属性 | 関連項目 | 注意事項 | 警告