]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - crypto/heimdal/doc/doxyout/hdb/man/man3/HDB.3
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / crypto / heimdal / doc / doxyout / hdb / man / man3 / HDB.3
1 .TH "HDB" 3 "11 Jan 2012" "Version 1.5.2" "Heimdalhdblibrary" \" -*- nroff -*-
2 .ad l
3 .nh
4 .SH NAME
5 HDB \- 
6 .SH SYNOPSIS
7 .br
8 .PP
9 \fC#include <hdb.h>\fP
10 .PP
11 .SS "Data Fields"
12
13 .in +1c
14 .ti -1c
15 .RI "char * \fBhdb_name\fP"
16 .br
17 .ti -1c
18 .RI "krb5_error_code(* \fBhdb_open\fP )(krb5_context, struct \fBHDB\fP *, int, mode_t)"
19 .br
20 .ti -1c
21 .RI "krb5_error_code(* \fBhdb_close\fP )(krb5_context, struct \fBHDB\fP *)"
22 .br
23 .ti -1c
24 .RI "void(* \fBhdb_free\fP )(krb5_context, struct \fBHDB\fP *, \fBhdb_entry_ex\fP *)"
25 .br
26 .ti -1c
27 .RI "krb5_error_code(* \fBhdb_fetch_kvno\fP )(krb5_context, struct \fBHDB\fP *, krb5_const_principal, unsigned, krb5_kvno, \fBhdb_entry_ex\fP *)"
28 .br
29 .ti -1c
30 .RI "krb5_error_code(* \fBhdb_store\fP )(krb5_context, struct \fBHDB\fP *, unsigned, \fBhdb_entry_ex\fP *)"
31 .br
32 .ti -1c
33 .RI "krb5_error_code(* \fBhdb_remove\fP )(krb5_context, struct \fBHDB\fP *, krb5_const_principal)"
34 .br
35 .ti -1c
36 .RI "krb5_error_code(* \fBhdb_firstkey\fP )(krb5_context, struct \fBHDB\fP *, unsigned, \fBhdb_entry_ex\fP *)"
37 .br
38 .ti -1c
39 .RI "krb5_error_code(* \fBhdb_nextkey\fP )(krb5_context, struct \fBHDB\fP *, unsigned, \fBhdb_entry_ex\fP *)"
40 .br
41 .ti -1c
42 .RI "krb5_error_code(* \fBhdb_lock\fP )(krb5_context, struct \fBHDB\fP *, int)"
43 .br
44 .ti -1c
45 .RI "krb5_error_code(* \fBhdb_unlock\fP )(krb5_context, struct \fBHDB\fP *)"
46 .br
47 .ti -1c
48 .RI "krb5_error_code(* \fBhdb_rename\fP )(krb5_context, struct \fBHDB\fP *, const char *)"
49 .br
50 .ti -1c
51 .RI "krb5_error_code(* \fBhdb__get\fP )(krb5_context, struct \fBHDB\fP *, krb5_data, krb5_data *)"
52 .br
53 .ti -1c
54 .RI "krb5_error_code(* \fBhdb__put\fP )(krb5_context, struct \fBHDB\fP *, int, krb5_data, krb5_data)"
55 .br
56 .ti -1c
57 .RI "krb5_error_code(* \fBhdb__del\fP )(krb5_context, struct \fBHDB\fP *, krb5_data)"
58 .br
59 .ti -1c
60 .RI "krb5_error_code(* \fBhdb_destroy\fP )(krb5_context, struct \fBHDB\fP *)"
61 .br
62 .ti -1c
63 .RI "krb5_error_code(* \fBhdb_get_realms\fP )(krb5_context, struct \fBHDB\fP *, krb5_realm **)"
64 .br
65 .ti -1c
66 .RI "krb5_error_code(* \fBhdb_password\fP )(krb5_context, struct \fBHDB\fP *, \fBhdb_entry_ex\fP *, const char *, int)"
67 .br
68 .ti -1c
69 .RI "krb5_error_code(* \fBhdb_auth_status\fP )(krb5_context, struct \fBHDB\fP *, \fBhdb_entry_ex\fP *, int)"
70 .br
71 .ti -1c
72 .RI "krb5_error_code(* \fBhdb_check_constrained_delegation\fP )(krb5_context, struct \fBHDB\fP *, \fBhdb_entry_ex\fP *, krb5_const_principal)"
73 .br
74 .ti -1c
75 .RI "krb5_error_code(* \fBhdb_check_pkinit_ms_upn_match\fP )(krb5_context, struct \fBHDB\fP *, \fBhdb_entry_ex\fP *, krb5_const_principal)"
76 .br
77 .ti -1c
78 .RI "krb5_error_code(* \fBhdb_check_s4u2self\fP )(krb5_context, struct \fBHDB\fP *, \fBhdb_entry_ex\fP *, krb5_const_principal)"
79 .br
80 .in -1c
81 .SH "Detailed Description"
82 .PP 
83 \fBHDB\fP backend function pointer structure
84 .PP
85 The \fBHDB\fP structure is what the KDC and kadmind framework uses to query the backend database when talking about principals. 
86 .SH "Field Documentation"
87 .PP 
88 .SS "char* \fBHDB::hdb_name\fP"
89 .PP
90 don't use, only for DB3 
91 .SS "krb5_error_code(* \fBHDB::hdb_open\fP)(krb5_context, struct \fBHDB\fP *, int, mode_t)"
92 .PP
93 Open (or create) the a Kerberos database.
94 .PP
95 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.
96 .PP
97 Then done the caller should call \fBhdb_close()\fP, and to release all resources \fBhdb_destroy()\fP. 
98 .SS "krb5_error_code(* \fBHDB::hdb_close\fP)(krb5_context, struct \fBHDB\fP *)"
99 .PP
100 Close the database for transaction
101 .PP
102 Closes the database for further transactions, wont release any permanant resources. the database can be ->hdb_open-ed again. 
103 .SS "void(* \fBHDB::hdb_free\fP)(krb5_context, struct \fBHDB\fP *, \fBhdb_entry_ex\fP *)"
104 .PP
105 Free an entry after use. 
106 .SS "krb5_error_code(* \fBHDB::hdb_fetch_kvno\fP)(krb5_context, struct \fBHDB\fP *, krb5_const_principal, unsigned, krb5_kvno, \fBhdb_entry_ex\fP *)"
107 .PP
108 Fetch an entry from the backend
109 .PP
110 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 
111 .SS "krb5_error_code(* \fBHDB::hdb_store\fP)(krb5_context, struct \fBHDB\fP *, unsigned, \fBhdb_entry_ex\fP *)"
112 .PP
113 Store an entry to database 
114 .SS "krb5_error_code(* \fBHDB::hdb_remove\fP)(krb5_context, struct \fBHDB\fP *, krb5_const_principal)"
115 .PP
116 Remove an entry from the database. 
117 .SS "krb5_error_code(* \fBHDB::hdb_firstkey\fP)(krb5_context, struct \fBHDB\fP *, unsigned, \fBhdb_entry_ex\fP *)"
118 .PP
119 As part of iteration, fetch one entry 
120 .SS "krb5_error_code(* \fBHDB::hdb_nextkey\fP)(krb5_context, struct \fBHDB\fP *, unsigned, \fBhdb_entry_ex\fP *)"
121 .PP
122 As part of iteration, fetch next entry 
123 .SS "krb5_error_code(* \fBHDB::hdb_lock\fP)(krb5_context, struct \fBHDB\fP *, int)"
124 .PP
125 Lock database
126 .PP
127 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. 
128 .SS "krb5_error_code(* \fBHDB::hdb_unlock\fP)(krb5_context, struct \fBHDB\fP *)"
129 .PP
130 Unlock database 
131 .SS "krb5_error_code(* \fBHDB::hdb_rename\fP)(krb5_context, struct \fBHDB\fP *, const char *)"
132 .PP
133 Rename the data base.
134 .PP
135 Assume that the database is not hdb_open'ed and not locked. 
136 .SS "krb5_error_code(* \fBHDB::hdb__get\fP)(krb5_context, struct \fBHDB\fP *, krb5_data, krb5_data *)"
137 .PP
138 Get an hdb_entry from a classical DB backend
139 .PP
140 If the database is a classical DB (ie BDB, NDBM, GDBM, etc) backend, this function will take a principal key (krb5_data) and return all data related to principal in the return krb5_data. The returned encoded entry is of type hdb_entry or hdb_entry_alias. 
141 .SS "krb5_error_code(* \fBHDB::hdb__put\fP)(krb5_context, struct \fBHDB\fP *, int, krb5_data, krb5_data)"
142 .PP
143 Store an hdb_entry from a classical DB backend
144 .PP
145 Same discussion as in \fBHDB::hdb__get\fP 
146 .SS "krb5_error_code(* \fBHDB::hdb__del\fP)(krb5_context, struct \fBHDB\fP *, krb5_data)"
147 .PP
148 Delete and hdb_entry from a classical DB backend
149 .PP
150 Same discussion as in \fBHDB::hdb__get\fP 
151 .SS "krb5_error_code(* \fBHDB::hdb_destroy\fP)(krb5_context, struct \fBHDB\fP *)"
152 .PP
153 Destroy the handle to the database.
154 .PP
155 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. 
156 .SS "krb5_error_code(* \fBHDB::hdb_get_realms\fP)(krb5_context, struct \fBHDB\fP *, krb5_realm **)"
157 .PP
158 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(). 
159 .SS "krb5_error_code(* \fBHDB::hdb_password\fP)(krb5_context, struct \fBHDB\fP *, \fBhdb_entry_ex\fP *, const char *, int)"
160 .PP
161 Change password.
162 .PP
163 Will update keys for the entry when given password. The new keys must be written into the entry and will then later be ->\fBhdb_store()\fP into the database. The backend will still perform all other operations, increasing the kvno, and update modification timestamp.
164 .PP
165 The backend needs to call _kadm5_set_keys() and perform password quality checks. 
166 .SS "krb5_error_code(* \fBHDB::hdb_auth_status\fP)(krb5_context, struct \fBHDB\fP *, \fBhdb_entry_ex\fP *, int)"
167 .PP
168 Auth feedback
169 .PP
170 This is a feedback call that allows backends that provides lockout functionality to register failure and/or successes.
171 .PP
172 In case the entry is locked out, the backend should set the hdb_entry.flags.locked-out flag. 
173 .SS "krb5_error_code(* \fBHDB::hdb_check_constrained_delegation\fP)(krb5_context, struct \fBHDB\fP *, \fBhdb_entry_ex\fP *, krb5_const_principal)"
174 .PP
175 Check if delegation is allowed. 
176 .SS "krb5_error_code(* \fBHDB::hdb_check_pkinit_ms_upn_match\fP)(krb5_context, struct \fBHDB\fP *, \fBhdb_entry_ex\fP *, krb5_const_principal)"
177 .PP
178 Check if this name is an alias for the supplied client for PKINIT userPrinicpalName logins 
179 .SS "krb5_error_code(* \fBHDB::hdb_check_s4u2self\fP)(krb5_context, struct \fBHDB\fP *, \fBhdb_entry_ex\fP *, krb5_const_principal)"
180 .PP
181 Check if s4u2self is allowed from this client to this server 
182
183 .SH "Author"
184 .PP 
185 Generated automatically by Doxygen for Heimdalhdblibrary from the source code.