1 /*
2    Unix SMB/CIFS implementation.
3 
4    Database Glue between Samba and the KDC
5 
6    Copyright (C) Andrew Bartlett <abartlet@samba.org> 2005-2009
7    Copyright (C) Simo Sorce <idra@samba.org> 2010
8 
9    This program is free software; you can redistribute it and/or modify
10    it under the terms of the GNU General Public License as published by
11    the Free Software Foundation; either version 3 of the License, or
12    (at your option) any later version.
13 
14    This program is distributed in the hope that it will be useful,
15    but WITHOUT ANY WARRANTY; without even the implied warranty of
16    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17    GNU General Public License for more details.
18 
19 
20    You should have received a copy of the GNU General Public License
21    along with this program.  If not, see <http://www.gnu.org/licenses/>.
22 */
23 
24 struct sdb_entry_ex;
25 
26 krb5_error_code samba_kdc_fetch(krb5_context context,
27 				struct samba_kdc_db_context *kdc_db_ctx,
28 				krb5_const_principal principal,
29 				unsigned flags,
30 				krb5_kvno kvno,
31 				struct sdb_entry_ex *entry_ex);
32 
33 krb5_error_code samba_kdc_firstkey(krb5_context context,
34 				   struct samba_kdc_db_context *kdc_db_ctx,
35 				   struct sdb_entry_ex *entry);
36 
37 krb5_error_code samba_kdc_nextkey(krb5_context context,
38 				  struct samba_kdc_db_context *kdc_db_ctx,
39 				  struct sdb_entry_ex *entry);
40 
41 krb5_error_code
42 samba_kdc_check_s4u2self(krb5_context context,
43 			 struct samba_kdc_db_context *kdc_db_ctx,
44 			 struct samba_kdc_entry *skdc_entry,
45 			 krb5_const_principal target_principal);
46 
47 krb5_error_code
48 samba_kdc_check_pkinit_ms_upn_match(krb5_context context,
49 				    struct samba_kdc_db_context *kdc_db_ctx,
50 				    struct samba_kdc_entry *skdc_entry,
51 				    krb5_const_principal certificate_principal);
52 
53 krb5_error_code
54 samba_kdc_check_s4u2proxy(krb5_context context,
55 			  struct samba_kdc_db_context *kdc_db_ctx,
56 			  struct samba_kdc_entry *skdc_entry,
57 			  krb5_const_principal target_principal);
58 
59 NTSTATUS samba_kdc_setup_db_ctx(TALLOC_CTX *mem_ctx, struct samba_kdc_base_context *base_ctx,
60 				struct samba_kdc_db_context **kdc_db_ctx_out);
61