Heimdal Kerberos 5 support functions(3) | HeimdalKerberos5library | Heimdal Kerberos 5 support functions(3) |
名称
Heimdal Kerberos 5 サポート関数-関数
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_acl_match_string (krb5_context context, const char *string, const char *format,...)
詳細説明
関数説明
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_acl_match_file (krb5_context context, const char * file, const char * format, ...)
krb5_acl_match_file は、 krb5_acl_match_string() を使用するファイルの各行に対する ACL 形式と比較します。 # で始まる行は、コメントのように扱われ、無視されます。パラメータ:
返り値:
関連項目:
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_acl_match_string (krb5_context context, const char * string, const char * format, ...)
krb5_acl_match_string は、文字列に対して ACL 形式と比較します。ACL 形式には、3 つの書式指示子があります: s、f と r。各指示子は、比較またはデータの格納のそれぞれのために可変引数から 1 つの引数を検索します。入力文字列は、デリミタとして、' ' (空白) と '\t' (タブ) を使用して分割されます。列中の multiple と '\t' は、同じであると見なされます。
書式指示子のリストは、次の通りです:
- •
- s strcmp(3) (大文字と小文字を区別する) を使用して文字列を比較します。
- •
- f fnmatch(3) と文字列を比較します。 nmatch 関数に渡されるフラグ引数 (最後の引数) は、0 です。
- •
- r 渡された char ** の文字列のコピーを返します。コピーは、free(3) で解放されなければなりません。エラーのとき、文字列を free(3) で解放する必要はありません: 関数は、クリーンアップし、ポインタを NULL に設定します。
パラメータ:
返り値:
char *s;
ret = krb5_acl_match_string(context, 'foo', 's', 'foo');
if (ret)
krb5_errx(context, 1, 'acl didn't match');
ret = krb5_acl_match_string(context, 'foo foo baz/kaka',
'ss', 'foo', &s, 'foo/\*');
if (ret) {
// エラーのとき、free(3) で解放する必要はありません
assert(s == NULL);
krb5_errx(context, 1, 'acl didn't match');
}
free(s);
関連項目:
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_config_file_free (krb5_context context, krb5_config_section * s)
設定ファイルセクション、krb5_config_parse_file() と krb5_config_parse_file_multi() の結果を解放します。パラメータ:
返り値:
KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_config_free_strings (char ** strings)
krb5_config-get_strings() と krb5_config_vget_strings() の結果の文字列を解放します。パラメータ:
KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_get_bool (krb5_context context, const krb5_config_section * c, ...)
krb5_config_get_bool() に似ていますが、設定選択の va_list リストがあります。ブール値への設定値、ここで、 yes/true と 0 以外の数値は、TRUE を意味し、他の値は、FALSE です。
パラメータ:
返り値:
KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_get_bool_default (krb5_context context, const krb5_config_section * c, krb5_boolean def_value, ...)
krb5_config_get_bool_default() は、設定オプション値をブール値に変換します、ここで、 yes/true と 0 以外の数値は、TRUE を意味し、他の値は、FALSE です。パラメータ:
返り値:
KRB5_LIB_FUNCTION const krb5_config_binding* KRB5_LIB_CALL krb5_config_get_list (krb5_context context, const krb5_config_section * c, ...)
より多くの処理のために設定バインディングリストのリストを取得します。パラメータ:
返り値:
KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_get_string (krb5_context context, const krb5_config_section * c, ...)
設定データベースの文字列への 'const char *' を返します。文字列は、設定データベースの再ロードの後に有効ではないかもしれないので、呼び出し側は、文字列を維持する必要があるなら、ローカルのコピーを作るべきです。パラメータ:
返り値:
KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_get_string_default (krb5_context context, const krb5_config_section * c, const char * def_value, ...)
krb5_config_get_string() と似ていますが、デフォルト値を返す代わりに、 NULL を返します。パラメータ:
返り値:
KRB5_LIB_FUNCTION char** KRB5_LIB_CALL krb5_config_get_strings (krb5_context context, const krb5_config_section * c, ...)
設定文字列のリストを取得します、 krb5_config_free_strings() で結果を解放します。パラメータ:
返り値:
KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_get_time (krb5_context context, const krb5_config_section * c, ...)
相対的な時間を使用して設定ファイルから時間を取得します、例えば、次の通りです: 1h30sパラメータ:
返り値:
KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_get_time_default (krb5_context context, const krb5_config_section * c, int def_value, ...)
相対的な時間を使用して設定ファイルから時間を取得します、例えば、次の通りです: 1h30sパラメータ:
返り値:
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_config_parse_file_multi (krb5_context context, const char * fname, krb5_config_section ** res)
設定ファイルを解析して、結果を res に追加します。このインタフェースを、繰り返し呼び出すことによって、krb5_config_section の結果の 1 にいくつかの設定ファイルを解析するために使用することができます。パラメータ:
返り値:
fname が '~/' で始まるなら、カレントユーザのホームディレクトリの設定ファイルを解析します。 krb5_set_home_dir_access() を呼び出すことによって、その振る舞いを、無効にしたり、有効にしたりすることができます。
KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_vget_bool (krb5_context context, const krb5_config_section * c, va_list args)
krb5_config_get_bool() は、設定オプション値をブール値に変換します、ここで、yes/true と 0 以外の数値は、TRUE を意味し、他の値は、FALSE です。パラメータ:
返り値:
KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_vget_bool_default (krb5_context context, const krb5_config_section * c, krb5_boolean def_value, va_list args)
krb5_config_get_bool_default() に似ていますが、設定選択の va_list リストがあります。値をブールに設定します、ここで、 yes/true と 0 以外の数値は、TRUE を意味し、他の値は、FALSE です。
パラメータ:
返り値:
KRB5_LIB_FUNCTION const krb5_config_binding* KRB5_LIB_CALL krb5_config_vget_list (krb5_context context, const krb5_config_section * c, va_list args)
より多くの処理のために設定バインディングリストのリストを取得します。パラメータ:
返り値:
KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_vget_string (krb5_context context, const krb5_config_section * c, va_list args)
krb5_config_get_string() に似ていますが、代わりに va_list を使用します。パラメータ:
返り値:
KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_vget_string_default (krb5_context context, const krb5_config_section * c, const char * def_value, va_list args)
krb5_config_vget_string() に似ていますが、デフォルト値を返す代わりに、 NULL を返します。パラメータ:
返り値:
KRB5_LIB_FUNCTION char** KRB5_LIB_CALL krb5_config_vget_strings (krb5_context context, const krb5_config_section * c, va_list args)
設定文字列のリストを取得します、 krb5_config_free_strings() で結果を解放します。パラメータ:
返り値:
KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_vget_time (krb5_context context, const krb5_config_section * c, va_list args)
相対的な時間を使用して設定ファイルから時間を取得します、例えば、次の通りです: 1h30sパラメータ:
返り値:
KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_vget_time_default (krb5_context context, const krb5_config_section * c, int def_value, va_list args)
相対的な時間を使用して設定ファイルから時間を取得します。krb5_config_get_time_default() に似ていますが、設定選択の va_list リストがあります。
パラメータ:
返り値:
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_expand_hostname (krb5_context context, const char * orig_hostname, char ** new_hostname)
krb5_expand_hostname() は、orig_hostname を new_hostname に返された、新しく割り付けられた空間で正規化されたものにしようと試みます。パラメータ:
返り値:
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_expand_hostname_realms (krb5_context context, const char * orig_hostname, char ** new_hostname, char *** realms)
krb5_expand_hostname_realms() は、orig_hostname を new_hostname の新しく割り付けられた空間の hostname と信じる名前に拡張し、 new_hostname がレルム (realm) に属すると信じるレルムを返します。パラメータ:
返り値:
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_host_realm (krb5_context context, krb5_realm * realmlist)
`realmlist' によって割り付けられたすべてのメモリを解放します。パラメータ:
返り値:
KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_kuserok (krb5_context context, krb5_principal principal, const char * luser)
この関数は、ローカルユーザの名前を取り、プリンシパルが、そのユーザとしてログインすることが許可されているかチェックします。ユーザは、そのユーザとしてログインすることが許可されているプリンシパルをリストする ~/.k5login ファイルがあります。そのファイルが存在しないなら、username と同一の最初の構成要素があるすべてのプリンシパルとローカルと見なされるレルムは、アクセスを許可されます。
.k5login ファイルは、1 つの行ごとに 1 つのプリンシパルを含んでいなければならず、ユーザによって所有され、そしてグループまたは他のものによって書き込み可能であってはなりません (しかし誰でも読み込む可能でなければなりません)。
ファイルが存在するなら、暗黙のアクセス権が user@LOCALREALM に与えられないことに注意してください。
オプションで、1 組のファイルは、~/.k5login.d (ディレクトリ) に置かれ、その場合に、それらは、すべて .k5login と同じ方法でチェックされます。ファイルは、何でも呼び出されますが、ハッシュ (#) で始まるか、またはチルダ (~) で終わるファイルは、無視されます。サブディレクトリは、横断されません。このディレクトリは、他の Kerberos 実装によってチェックされないことに注意してください。
設定ファイルが存在しないなら、ローカル領域に対するユーザにマッチします、すなわち、luser@LOCAL-REALMS-IN-CONFIGURATION-FILES。
パラメータ:
返り値:
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_plugin_register (krb5_context context, enum krb5_plugin_type type, const char * name, void * symbol)
特定のタイプのプラグインシンボル名を登録します。パラメータ:
返り値:
11 Jan 2012 | Version 1.5.2 |