EN JA
Heimdal Kerberos 5 support functions(3)
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_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_config_parse_file_multi (krb5_context context, const char *fname, krb5_config_section **res)
 
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_config_file_free (krb5_context context, krb5_config_section *s)
 
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 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_get_string (krb5_context context, const krb5_config_section *c,...)
 
KRB5_LIB_FUNCTION const char *KRB5_LIB_CALL krb5_config_vget_string (krb5_context context, const krb5_config_section *c, va_list args)
 
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_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_LIB_FUNCTION char **KRB5_LIB_CALL krb5_config_vget_strings (krb5_context context, const krb5_config_section *c, va_list args)
 
KRB5_LIB_FUNCTION char **KRB5_LIB_CALL krb5_config_get_strings (krb5_context context, const krb5_config_section *c,...)
 
KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_config_free_strings (char **strings)
 
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_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_vget_bool (krb5_context context, const krb5_config_section *c, va_list args)
 
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_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_config_get_bool (krb5_context context, const krb5_config_section *c,...)
 
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_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_vget_time (krb5_context context, const krb5_config_section *c, va_list args)
 
KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_get_time_default (krb5_context context, const krb5_config_section *c, int def_value,...)
 
KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_get_time (krb5_context context, const krb5_config_section *c,...)
 
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_expand_hostname (krb5_context context, const char *orig_hostname, char **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_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_host_realm (krb5_context context, krb5_realm *realmlist)
 
KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_kuserok (krb5_context context, krb5_principal principal, const char *luser)
 
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)
 

詳細説明

 

関数説明

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 形式と比較します。 # で始まる行は、コメントのように扱われ、無視されます。

パラメータ:

context Kerberos 5 コンテキスト。
 
file ファイルにリストされた acl があるファイル。
 
format 比較する形式。
 
... 書式文字列へのパラメータ。

返り値:

エラーコードまたは 0 を返します。

関連項目:

krb5_acl_match_string

 

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 に設定します。

パラメータ:

context Kerberos 5 コンテキスト。
 
string 比較する文字列。
 
format 比較する形式。
 
... 書式文字列へのパラメータ。

返り値:

エラーコードまたは 0 を返します。


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_acl_match_file

 

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() の結果を解放します。

パラメータ:

context Kerberos 5 コンテキスト。
 
s 解放する設定セクション。

返り値:

成功すれば、0 を返し、そうでなければ、エラーコードを返します、 krb5_get_error_message() を参照。

 

KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_config_free_strings (char ** strings)

krb5_config-get_strings() と krb5_config_vget_strings() の結果の文字列を解放します。

パラメータ:

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 です。

パラメータ:

context Kerberos 5 コンテキスト。
 
c 設定セクション、またはコンテキストからのセクションを使用する NULL。
 
... NULL で終了する、名前のリスト。

返り値:

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 です。

パラメータ:

context Kerberos 5 コンテキスト。
 
c 設定セクション、またはコンテキストからのセクションを使用する NULL。
 
def_value 設定がデータベースで見つからないなら、返されるデフォルト値。
 
... NULL で終了する、名前のリスト。

返り値:

TRUE または FALSE。

 

KRB5_LIB_FUNCTION const krb5_config_binding* KRB5_LIB_CALL krb5_config_get_list (krb5_context context, const krb5_config_section * c, ...)

より多くの処理のために設定バインディングリストのリストを取得します。

パラメータ:

context Kerberos 5 コンテキスト。
 
c 設定セクション、またはコンテキストからのセクションを使用する NULL。
 
... NULL で終了する、名前のリスト。

返り値:

設定リストが見つからないなら、NULL、そうでなければ、1 つのリスト。

 

KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_config_get_string (krb5_context context, const krb5_config_section * c, ...)

設定データベースの文字列への 'const char *' を返します。文字列は、設定データベースの再ロードの後に有効ではないかもしれないので、呼び出し側は、文字列を維持する必要があるなら、ローカルのコピーを作るべきです。

パラメータ:

context Kerberos 5 コンテキスト。
 
c 設定セクション、またはコンテキストからのセクションを使用する NULL。
 
... NULL で終了する、名前のリスト。

返り値:

NULL、場合、見つからない配置文字列、文字列、そうでなければ;

 

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 を返します。

パラメータ:

context Kerberos 5 コンテキスト。
 
c 設定セクション、またはコンテキストからのセクションを使用する NULL。
 
def_value 設定がデータベースで見つからないなら、返されるデフォルト値。
 
... NULL で終了する、名前のリスト。

返り値:

設定文字列。

 

KRB5_LIB_FUNCTION char** KRB5_LIB_CALL krb5_config_get_strings (krb5_context context, const krb5_config_section * c, ...)

設定文字列のリストを取得します、 krb5_config_free_strings() で結果を解放します。

パラメータ:

context Kerberos 5 コンテキスト。
 
c 設定セクション、またはコンテキストからのセクションを使用する NULL。
 
... NULL で終了する、名前のリスト。

返り値:

TRUE または FALSE。

 

KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_get_time (krb5_context context, const krb5_config_section * c, ...)

相対的な時間を使用して設定ファイルから時間を取得します、例えば、次の通りです: 1h30s

パラメータ:

context Kerberos 5 コンテキスト。
 
c 設定セクション、またはコンテキストからのセクションを使用する NULL。
 
... NULL で終了する、名前のリスト。

返り値:

解析された時間、またはエラーのとき、-1。

 

KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_get_time_default (krb5_context context, const krb5_config_section * c, int def_value, ...)

相対的な時間を使用して設定ファイルから時間を取得します、例えば、次の通りです: 1h30s

パラメータ:

context Kerberos 5 コンテキスト。
 
c 設定セクション、またはコンテキストからのセクションを使用する NULL。
 
def_value 設定がデータベースで見つからないなら、返されるデフォルト値。
 
... NULL で終了する、名前のリスト。

返り値:

解析された時間 (または解析エラーのとき、def_value)。

 

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 にいくつかの設定ファイルを解析するために使用することができます。

パラメータ:

context Kerberos 5 コンテキスト。
 
fname Kerberos 設定ファイルへのファイル名。
 
res the 返された結果、 krb5_free_config_files() で解放されなければなりません。

返り値:

エラーコードまたは 0 を返します、krb5_get_error_message() 参照。

 

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 です。

パラメータ:

context Kerberos 5 コンテキスト。
 
c 設定セクション、またはコンテキストからのセクションを使用する NULL。
 
args 引数の va_list。

返り値:

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 です。

パラメータ:

context Kerberos 5 コンテキスト。
 
c 設定セクション、またはコンテキストからのセクションを使用する NULL。
 
def_value 設定がデータベースで見つからないなら、返されるデフォルト値。
 
args 引数の va_list。

返り値:

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)

より多くの処理のために設定バインディングリストのリストを取得します。

パラメータ:

context Kerberos 5 コンテキスト。
 
c 設定セクション、またはコンテキストからのセクションを使用する NULL。
 
args 引数の va_list。

返り値:

設定リストが見つからないなら、NULL、そうでなければ、1 つのリスト。

 

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 を使用します。

パラメータ:

context Kerberos 5 コンテキスト。
 
c 設定セクション、またはコンテキストからのセクションを使用する NULL。
 
args 引数の va_list。

返り値:

設定文字列が見つからなければ、NULL、そうでなけれは、1 つの文字列。

 

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 を返します。

パラメータ:

context Kerberos 5 コンテキスト。
 
c 設定セクション、またはコンテキストからのセクションを使用する NULL。
 
def_value 設定がデータベースで見つからないなら、返されるデフォルト値。
 
args 引数の va_list。

返り値:

設定文字列。

 

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() で結果を解放します。

パラメータ:

context Kerberos 5 コンテキスト。
 
c 設定セクション、またはコンテキストからのセクションを使用する NULL。
 
args 引数の va_list。

返り値:

TRUE または FALSE。

 

KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_config_vget_time (krb5_context context, const krb5_config_section * c, va_list args)

相対的な時間を使用して設定ファイルから時間を取得します、例えば、次の通りです: 1h30s

パラメータ:

context Kerberos 5 コンテキスト。
 
c 設定セクション、またはコンテキストからのセクションを使用する NULL。
 
args 引数の va_list。

返り値:

解析された時間、またはエラーのとき、-1。

 

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 リストがあります。

パラメータ:

context Kerberos 5 コンテキスト。
 
c 設定セクション、またはコンテキストからのセクションを使用する NULL。
 
def_value 設定がデータベースで見つからないなら、返されるデフォルト値。
 
args 引数の va_list。

返り値:

解析された時間 (または解析エラーのとき、def_value)。

 

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 に返された、新しく割り付けられた空間で正規化されたものにしようと試みます。

パラメータ:

context Kerberos コンテキスト。
 
orig_hostname 正規化するホスト名。
 
new_hostname 出力されたホスト名、呼び出し側は、krb5_xfree() でホスト名を解放しなければなりません。

返り値:

エラーコードまたは 0 を返します、krb5_get_error_message() 参照。

 

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) に属すると信じるレルムを返します。

パラメータ:

context Kerberos コンテキスト。
 
orig_hostname 正規化するホスト名。
 
new_hostname 出力されたホスト名、呼び出し側は、krb5_xfree() でホスト名を解放しなければなりません。
 
realms 可能な出力レルム、NULL で終了する配列です。呼び出し側は、 krb5_free_host_realm() で解放しなければなりません。

返り値:

エラーコードまたは 0 を返します、krb5_get_error_message() 参照。

 

KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_free_host_realm (krb5_context context, krb5_realm * realmlist)

`realmlist' によって割り付けられたすべてのメモリを解放します。

パラメータ:

context Kerberos 5 コンテキスト。
 
realmlist 解放する realmlist、NULL は、ok です。

返り値:

Kerberos エラーコード、常に、0。

 

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。

パラメータ:

context Kerberos 5 コンテキスト。
 
principal ログインが許可されているかチェックするプリンシパル。
 
luser ローカルユーザの ID。

返り値:

アクセスが与えられているなら、TRUE を返し、そうでなければ、FALSE を返します。

 

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)

特定のタイプのプラグインシンボル名を登録します。

パラメータ:

context Kerberos コンテキスト。
 
type プラグインシンボルのタイプ。
 
name プラグインシンボルの名前。
 
symbol 指定されたシンボルへのポインタ。

返り値:

エラーの場合に、0 以外のエラー com_err エラーが返され、 Kerberos エラー文字列が設定されます。

 
11 Jan 2012 Version 1.5.2