r19604: This is a massive commit, and I appologise in advance for it's size.
[samba.git] / source4 / heimdal / kdc / default_config.c
1 /*
2  * Copyright (c) 2005 Andrew Bartlett <abartlet@samba.org>
3  * 
4  * All rights reserved. 
5  *
6  * Redistribution and use in source and binary forms, with or without 
7  * modification, are permitted provided that the following conditions 
8  * are met: 
9  *
10  * 1. Redistributions of source code must retain the above copyright 
11  *    notice, this list of conditions and the following disclaimer. 
12  *
13  * 2. Redistributions in binary form must reproduce the above copyright 
14  *    notice, this list of conditions and the following disclaimer in the 
15  *    documentation and/or other materials provided with the distribution. 
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 
18  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
20  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 
21  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
22  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 
23  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
24  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
25  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 
26  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
27  * SUCH DAMAGE. 
28  */
29
30 #include "kdc_locl.h"
31
32 /* 
33  * Setup some of the defaults for the KDC configuration.
34  * 
35  * Note: Caller must also fill in:
36  * - db
37  * - num_db
38  * - logf
39  *
40 */
41
42 void
43 krb5_kdc_default_config(krb5_kdc_configuration *config)
44 {
45     memset(config, 0, sizeof(*config));
46     config->require_preauth = TRUE;
47     config->kdc_warn_pwexpire = 0;
48     config->encode_as_rep_as_tgs_rep = FALSE; /* bug compatibility */
49     config->check_ticket_addresses = TRUE;
50     config->allow_null_ticket_addresses = TRUE;
51     config->allow_anonymous = FALSE;
52     config->trpolicy = TRPOLICY_ALWAYS_CHECK;
53     config->enable_v4 = FALSE;
54     config->enable_kaserver = FALSE;
55     config->enable_524 = FALSE; /* overriden by enable_v4 in configure()) */
56     config->enable_v4_cross_realm = FALSE;
57     config->enable_pkinit = FALSE;
58     config->enable_pkinit_princ_in_cert = TRUE;
59     config->db = NULL;
60     config->num_db = 0;
61     config->logf = NULL;
62 }