EN JA
HDB(3)
HDB(3) Heimdalhdblibrary HDB(3)

名称

HDB -

書式

#include <hdb.h>

データフィールド


char * hdb_name
 
krb5_error_code(* hdb_open )(krb5_context, struct HDB *, int, mode_t)
 
krb5_error_code(* hdb_close )(krb5_context, struct HDB *)
 
void(* hdb_free )(krb5_context, struct HDB *, hdb_entry_ex *)
 
krb5_error_code(* hdb_fetch_kvno )(krb5_context, struct HDB *, krb5_const_principal, unsigned, krb5_kvno, hdb_entry_ex *)
 
krb5_error_code(* hdb_store )(krb5_context, struct HDB *, unsigned, hdb_entry_ex *)
 
krb5_error_code(* hdb_remove )(krb5_context, struct HDB *, krb5_const_principal)
 
krb5_error_code(* hdb_firstkey )(krb5_context, struct HDB *, unsigned, hdb_entry_ex *)
 
krb5_error_code(* hdb_nextkey )(krb5_context, struct HDB *, unsigned, hdb_entry_ex *)
 
krb5_error_code(* hdb_lock )(krb5_context, struct HDB *, int)
 
krb5_error_code(* hdb_unlock )(krb5_context, struct HDB *)
 
krb5_error_code(* hdb_rename )(krb5_context, struct HDB *, const char *)
 
krb5_error_code(* hdb__get )(krb5_context, struct HDB *, krb5_data, krb5_data *)
 
krb5_error_code(* hdb__put )(krb5_context, struct HDB *, int, krb5_data, krb5_data)
 
krb5_error_code(* hdb__del )(krb5_context, struct HDB *, krb5_data)
 
krb5_error_code(* hdb_destroy )(krb5_context, struct HDB *)
 
krb5_error_code(* hdb_get_realms )(krb5_context, struct HDB *, krb5_realm **)
 
krb5_error_code(* hdb_password )(krb5_context, struct HDB *, hdb_entry_ex *, const char *, int)
 
krb5_error_code(* hdb_auth_status )(krb5_context, struct HDB *, hdb_entry_ex *, int)
 
krb5_error_code(* hdb_check_constrained_delegation )(krb5_context, struct HDB *, hdb_entry_ex *, krb5_const_principal)
 
krb5_error_code(* hdb_check_pkinit_ms_upn_match )(krb5_context, struct HDB *, hdb_entry_ex *, krb5_const_principal)
 
krb5_error_code(* hdb_check_s4u2self )(krb5_context, struct HDB *, hdb_entry_ex *, krb5_const_principal)
 

詳細説明

HDB バックエンド関数ポインタ構造体。

HDB 構造体は、プリンシパルに関して通信するとき、バックエンドデータベースに問い合わせるために、KDC と kadmind フレームワークで使用するものです。

フィールド説明

char* HDB::hdb_name

DB3 のためだけに使用しません。

krb5_error_code(* HDB::hdb_open)(krb5_context, struct HDB *, int, mode_t)

Kerberos データベースをオープン (または作成) します。

hdb_create() で解決された Kerberos データベースをオープン (または作成) します。関数への 3 番目と 4 番目のフラグは、open() と同様です、したがって、 O_CREAT を渡すことは、それが存在しないなら、データベースを作成します。

その後、呼び出し側は、 hdb_close() を呼び出し、すべてリソース hdb_destroy() を開放すべきです。

krb5_error_code(* HDB::hdb_close)(krb5_context, struct HDB *)

トランザクションのためのデータベースをクローズします。

さらなるトランザクションのためにデータベースをクローズし、常にあらゆる永久的なリソースを開放します。データベースを、再び ->hdb_open することができます。

void(* HDB::hdb_free)(krb5_context, struct HDB *, hdb_entry_ex *)

使用の後にエントリを解放します。

krb5_error_code(* HDB::hdb_fetch_kvno)(krb5_context, struct HDB *, krb5_const_principal, unsigned, krb5_kvno, hdb_entry_ex *)

バックエンドからエントリを取って来ます。

バックエンドからエントリを取って来て、フラグは、次の取って来るべきエントリのいずれかのタイプです: client, server, krbtgt。 knvo (指定されるなら、フラグ HDB_F_KVNO_SPECIFIED を設定します) は、取得する kvno です。

krb5_error_code(* HDB::hdb_store)(krb5_context, struct HDB *, unsigned, hdb_entry_ex *)

データベースにエントリを格納します。

krb5_error_code(* HDB::hdb_remove)(krb5_context, struct HDB *, krb5_const_principal)

データベースからエントリを削除します。

krb5_error_code(* HDB::hdb_firstkey)(krb5_context, struct HDB *, unsigned, hdb_entry_ex *)

繰り返しの一部として、1 つのエントリを取って来ます。

krb5_error_code(* HDB::hdb_nextkey)(krb5_context, struct HDB *, unsigned, hdb_entry_ex *)

繰り返しの一部として、次のエントリを取って来ます。

krb5_error_code(* HDB::hdb_lock)(krb5_context, struct HDB *, int)

データベースをロックします。

ロックは、1 人の消費者によってのみ保持することができます。トランザクションは、ロックが保持されている間に、いまだにデータベースで起こるかもしれないので、エントリは、データベースの作成を同期するために、そしてデータベースを改名するためにのみ役に立ちます。

krb5_error_code(* HDB::hdb_unlock)(krb5_context, struct HDB *)

データベースをアンロックします。

krb5_error_code(* HDB::hdb_rename)(krb5_context, struct HDB *, const char *)

データベースを改名します。

データベースが hdb_open されずロックされないと仮定します。

krb5_error_code(* HDB::hdb__get)(krb5_context, struct HDB *, krb5_data, krb5_data *)

古典的な DB バックエンド hdb_entry を取得します。

データベースが古典的な DB (すなわち、BDB、NDBM、GDBM など) のバックエンドであるなら、この関数は、プリンシパルキー (krb5_data) を取り、返された krb5_data のプリンシパルに関連するすべてのデータを返します。返されるエンコードされたエントリは、タイプ hdb_entry または hdb_entry_alias です。

krb5_error_code(* HDB::hdb__put)(krb5_context, struct HDB *, int, krb5_data, krb5_data)

古典的な DB のバックエンドから hdb_entry を格納します。

HDB::hdb__get でのような同じ引数。

krb5_error_code(* HDB::hdb__del)(krb5_context, struct HDB *, krb5_data)

古典的な DB のバックエンドから hdb_entry を削除します。

HDB::hdb__get でのような同じ引数。

krb5_error_code(* HDB::hdb_destroy)(krb5_context, struct HDB *)

データベースへのハンドルを破壊します。

データベースのハンドルを破壊し、すべてのメモリと関連するリソースを割り付け開放します。あらゆる永久的なデータを削除しません。モジュールのためのエントリポイントである hdb_create() 関数の論理的な逆。

krb5_error_code(* HDB::hdb_get_realms)(krb5_context, struct HDB *, krb5_realm **)

このバックエンドが扱うレルム (realm) のリストを取得します。この呼び出しは、オプションのサポートです。返されたレルム (realm) は、bonjour (フランス語のこんにちは) を越えるレルムを発表するために使用されます。 krb5_free_host_realm() で返された配列を解放します。

krb5_error_code(* HDB::hdb_password)(krb5_context, struct HDB *, hdb_entry_ex *, const char *, int)

変更するパスワード。

パスワードを与えられたとき、エントリのためのキーを更新します。新しいキーは、エントリに書き込まれなければなりません、次に、後でデータベースに -> hdb_store() されます。バックエンドは、kvno を増加させ、まだ他のすべての操作を実行し、修正タイムスタンプを更新します。

バックエンドは、_kadm5_set_keys() 呼び出しを、パスワードの品質チェックを行なう必要があります。

krb5_error_code(* HDB::hdb_auth_status)(krb5_context, struct HDB *, hdb_entry_ex *, int)

Auth フィードバック。

これは、失敗および/または成功を登録するためのロックアウト機能性を提供する、バックエンドを許可するフィードバック呼び出しです。

エントリがロックされた場合に、バックエンドは、 hdb_entry.flags.locked-out フラグを設定するべきです。

krb5_error_code(* HDB::hdb_check_constrained_delegation)(krb5_context, struct HDB *, hdb_entry_ex *, krb5_const_principal)

委任 (delegation) が許可されるかどうかチェックします。

krb5_error_code(* HDB::hdb_check_pkinit_ms_upn_match)(krb5_context, struct HDB *, hdb_entry_ex *, krb5_const_principal)

この名前が PKINIT userPrinicpalName ログインのために供給されたクライアントのための別名であるかチェックします。

krb5_error_code(* HDB::hdb_check_s4u2self)(krb5_context, struct HDB *, hdb_entry_ex *, krb5_const_principal)

s4u2self がこのクライアントからこのサーバまで許可されているかチェックします。
 

作者

ソースコードからの Heimdalhdblibrary のための Doxygen によって自動的に生成されました。
11 Jan 2012 Version 1.5.2