CVE-2022-2031 s4:kdc: Limit kpasswd ticket lifetime to two minutes or less
[Samba.git] / source4 / kdc / samba_kdc.h
blob8010d7c35ed05b14da2cafa70be3b61b76b755a1
1 /*
2 Unix SMB/CIFS implementation.
4 KDC structures
6 Copyright (C) Andrew Tridgell 2005
7 Copyright (C) Andrew Bartlett <abartlet@samba.org> 2005
8 Copyright (C) Simo Sorce <idra@samba.org> 2010
10 This program is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 3 of the License, or
13 (at your option) any later version.
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
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/>.
24 #ifndef _SAMBA_KDC_H_
25 #define _SAMBA_KDC_H_
27 struct samba_kdc_policy {
28 time_t svc_tkt_lifetime;
29 time_t usr_tkt_lifetime;
30 time_t renewal_lifetime;
33 struct samba_kdc_base_context {
34 struct tevent_context *ev_ctx;
35 struct loadparm_context *lp_ctx;
36 struct imessaging_context *msg_ctx;
39 struct samba_kdc_seq;
41 struct samba_kdc_db_context {
42 struct tevent_context *ev_ctx;
43 struct loadparm_context *lp_ctx;
44 struct imessaging_context *msg_ctx;
45 struct ldb_context *samdb;
46 struct samba_kdc_seq *seq_ctx;
47 bool rodc;
48 unsigned int my_krbtgt_number;
49 struct ldb_dn *krbtgt_dn;
50 struct samba_kdc_policy policy;
53 struct samba_kdc_entry {
54 struct samba_kdc_db_context *kdc_db_ctx;
55 struct ldb_message *msg;
56 struct ldb_dn *realm_dn;
57 bool is_krbtgt;
58 bool is_rodc;
59 bool is_trust;
60 void *entry_ex;
63 extern struct hdb_method hdb_samba4_interface;
65 #define CHANGEPW_LIFETIME 60*2 /* 2 minutes */
67 #endif /* _SAMBA_KDC_H_ */