HDB - Online Linux Manual PageSection : 3
Updated : Tue Nov 15 2022
Source : Version 7.8.0
Note : Heimdal hdb library

NAMEHDB

SYNOPSIS
#include <hdb​.h>

Data Fieldschar * 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 *, unsigned, 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)
krb5_error_code(* hdb_set_sync )(krb5_context, struct HDB *, int)

Detailed DescriptionHDB backend function pointer structure The HDB structure is what the KDC and kadmind framework uses to query the backend database when talking about principals​.

Field Documentation

krb5_error_code(* HDB::hdb__del) (krb5_context, struct HDB *, krb5_data)Delete and hdb_entry from a classical DB backend This function takes a principal key (krb5_data) naming the record to delete​. Same discussion as in HDB::hdb__put

krb5_error_code(* HDB::hdb__get) (krb5_context, struct HDB *, krb5_data, krb5_data *)Get an hdb_entry from a classical DB backend This function takes a principal key (krb5_data) and returns all data related to principal in the return krb5_data​. The returned encoded entry is of type hdb_entry or hdb_entry_alias​.

krb5_error_code(* HDB::hdb__put) (krb5_context, struct HDB *, int, krb5_data, krb5_data)Store an hdb_entry from a classical DB backend This function takes a principal key (krb5_data) and encoded hdb_entry or hdb_entry_alias as the data to store​. For a file-based DB, this must synchronize to disk when done​. This is sub-optimal for kadm5_s_rename_principal(), and for kadm5_s_modify_principal() when using principal aliases; to improve this so that only one fsync() need be done per-transaction will require HDB API extensions​.

krb5_error_code(* HDB::hdb_auth_status) (krb5_context, struct HDB *, hdb_entry_ex *, int)Auth feedback This is a feedback call that allows backends that provides lockout functionality to register failure and/or successes​. In case the entry is locked out, the backend should set the hdb_entry​.flags​.locked-out flag​.

krb5_error_code(* HDB::hdb_check_constrained_delegation) (krb5_context, struct HDB *, hdb_entry_ex *, krb5_const_principal)Check if delegation is allowed​.

krb5_error_code(* HDB::hdb_check_pkinit_ms_upn_match) (krb5_context, struct HDB *, hdb_entry_ex *, krb5_const_principal)Check if this name is an alias for the supplied client for PKINIT userPrinicpalName logins

krb5_error_code(* HDB::hdb_check_s4u2self) (krb5_context, struct HDB *, hdb_entry_ex *, krb5_const_principal)Check if s4u2self is allowed from this client to this server

krb5_error_code(* HDB::hdb_close) (krb5_context, struct HDB *)Close the database for transaction Closes the database for further transactions, wont release any permanant resources​. the database can be ->hdb_open-ed again​.

krb5_error_code(* HDB::hdb_destroy) (krb5_context, struct HDB *)Destroy the handle to the database​. Destroy the handle to the database, deallocate all memory and related resources​. Does not remove any permanent data​. Its the logical reverse of hdb_create() function that is the entry point for the module​.

krb5_error_code(* HDB::hdb_fetch_kvno) (krb5_context, struct HDB *, krb5_const_principal, unsigned, krb5_kvno, hdb_entry_ex *)Fetch an entry from the backend Fetch an entry from the backend, flags are what type of entry should be fetch: client, server, krbtgt​. knvo (if specified and flags HDB_F_KVNO_SPECIFIED set) is the kvno to get

krb5_error_code(* HDB::hdb_firstkey) (krb5_context, struct HDB *, unsigned, hdb_entry_ex *)As part of iteration, fetch one entry

void(* HDB::hdb_free) (krb5_context, struct HDB *, hdb_entry_ex *)Free an entry after use​.

krb5_error_code(* HDB::hdb_get_realms) (krb5_context, struct HDB *, krb5_realm **)Get the list of realms this backend handles​. This call is optional to support​. The returned realms are used for announcing the realms over bonjour​. Free returned array with krb5_free_host_realm()​.

krb5_error_code(* HDB::hdb_lock) (krb5_context, struct HDB *, int)Lock database A lock can only be held by one consumers​. Transaction can still happen on the database while the lock is held, so the entry is only useful for syncroning creation of the database and renaming of the database​.

char* HDB::hdb_namedon't use, only for DB3

krb5_error_code(* HDB::hdb_nextkey) (krb5_context, struct HDB *, unsigned, hdb_entry_ex *)As part of iteration, fetch next entry

krb5_error_code(* HDB::hdb_open) (krb5_context, struct HDB *, int, mode_t)Open (or create) the a Kerberos database​. Open (or create) the a Kerberos database that was resolved with hdb_create()​. The third and fourth flag to the function are the same as open(), thus passing O_CREAT will create the data base if it doesn't exists​. Then done the caller should call hdb_close(), and to release all resources hdb_destroy()​.

krb5_error_code(* HDB::hdb_password) (krb5_context, struct HDB *, hdb_entry_ex *, const char *, int)Change password​. Will update keys for the entry when given password​. The new keys must be written into the entry and will then later be ->hdb_store() into the database​. The backend will still perform all other operations, increasing the kvno, and update modification timestamp​. The backend needs to call _kadm5_set_keys() and perform password quality checks​.

krb5_error_code(* HDB::hdb_remove) (krb5_context, struct HDB *, unsigned, krb5_const_principal)Remove an entry from the database​.

krb5_error_code(* HDB::hdb_rename) (krb5_context, struct HDB *, const char *)Rename the data base​. Assume that the database is not hdb_open'ed and not locked​.

krb5_error_code(* HDB::hdb_set_sync) (krb5_context, struct HDB *, int)Enable/disable synchronous updates Calling this with 0 disables sync​. Calling it with non-zero enables sync and does an fsync()​.

krb5_error_code(* HDB::hdb_store) (krb5_context, struct HDB *, unsigned, hdb_entry_ex *)Store an entry to database

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

AuthorGenerated automatically by Doxygen for Heimdal hdb library from the source code​.
0
Johanes Gumabo
Data Size   :   32,165 byte
man-hdb_lock.3Build   :   2024-12-05, 20:55   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   3 / 168,946
Visitor ID   :     :  
Visitor IP   :   3.147.27.154   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.