s4:kdc: Cache user info and resource groups from PACs
[samba.git] / source4 / kdc / kdc-glue.h
1 /*
2    Unix SMB/CIFS implementation.
3
4    KDC structures
5
6    Copyright (C) Andrew Tridgell        2005
7    Copyright (C) Andrew Bartlett <abartlet@samba.org> 2005
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    You should have received a copy of the GNU General Public License
20    along with this program.  If not, see <http://www.gnu.org/licenses/>.
21 */
22
23 #ifndef _KDC_KDC_H
24 #define _KDC_KDC_H
25
26 #include "system/kerberos.h"
27 #include "auth/kerberos/kerberos.h"
28 #include <hdb.h>
29 #include <heimbase.h>
30 #include <kdc.h>
31 #include <krb5/kdc-plugin.h>
32 #include "kdc/samba_kdc.h"
33 #include "kdc/kdc-server.h"
34
35 /* from hdb-samba4.c */
36 NTSTATUS hdb_samba4_create_kdc(struct samba_kdc_base_context *base_ctx,
37                                krb5_context context, struct HDB **db);
38
39 NTSTATUS hdb_samba4_kpasswd_create_kdc(struct samba_kdc_base_context *base_ctx,
40                                        krb5_context context, struct HDB **db);
41
42 krb5_error_code hdb_samba4_set_ntstatus(astgs_request_t r,
43                                         NTSTATUS status,
44                                         krb5_error_code error);
45
46 struct authn_audit_info;
47
48 krb5_error_code hdb_samba4_set_steal_client_audit_info(astgs_request_t r,
49                                                        struct authn_audit_info *client_audit_info);
50
51 krb5_error_code hdb_samba4_set_steal_server_audit_info(astgs_request_t r,
52                                                        struct authn_audit_info *server_audit_info);
53
54 /* from kdc-glue.c */
55 int kdc_check_pac(krb5_context krb5_context,
56                   DATA_BLOB server_sig,
57                   struct PAC_SIGNATURE_DATA *kdc_sig,
58                   hdb_entry *ent);
59
60 struct samba_kdc_entry_pac samba_kdc_get_device_pac(const astgs_request_t r);
61
62 #endif