1/*
2 * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
3 * Use is subject to license terms.
4 */
5
6
7/*
8 * include/krb5/stock/osconf.h
9 *
10 * Copyright 1990,1991 by the Massachusetts Institute of Technology.
11 * All Rights Reserved.
12 *
13 * Export of this software from the United States of America may
14 *   require a specific license from the United States Government.
15 *   It is the responsibility of any person or organization contemplating
16 *   export to obtain such a license before exporting.
17 *
18 * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
19 * distribute this software and its documentation for any purpose and
20 * without fee is hereby granted, provided that the above copyright
21 * notice appear in all copies and that both that copyright notice and
22 * this permission notice appear in supporting documentation, and that
23 * the name of M.I.T. not be used in advertising or publicity pertaining
24 * to distribution of the software without specific, written prior
25 * permission.  Furthermore if you modify this software you must label
26 * your software as modified software and not distribute it in such a
27 * fashion that it might be confused with the original M.I.T. software.
28 * M.I.T. makes no representations about the suitability of
29 * this software for any purpose.  It is provided "as is" without express
30 * or implied warranty.
31 *
32 *
33 * Site- and OS- dependant configuration.
34 */
35
36#ifndef KRB5_OSCONF__
37#define KRB5_OSCONF__
38
39#if !defined(_WIN32)
40    /* Don't try to pull in autoconf.h for Windows, since it's not used */
41#ifndef KRB5_AUTOCONF__
42#define KRB5_AUTOCONF__
43#include "autoconf.h"
44#endif
45#endif
46
47#if defined(__MACH__) && defined(__APPLE__)
48# include <TargetConditionals.h>
49#endif
50
51#if defined(_WIN32)
52#define DEFAULT_PROFILE_FILENAME "krb5.ini"
53#define	DEFAULT_LNAME_FILENAME	"/aname"
54#define	DEFAULT_KEYTAB_NAME	"FILE:%s\\krb5kt"
55#else /* !_WINDOWS */
56#if TARGET_OS_MAC
57#define DEFAULT_SECURE_PROFILE_PATH "/Library/Preferences/edu.mit.Kerberos:/etc/krb5.conf:@SYSCONFDIR/krb5.conf"
58#define DEFAULT_PROFILE_PATH        ("~/Library/Preferences/edu.mit.Kerberos" ":" DEFAULT_SECURE_PROFILE_PATH)
59#define KRB5_PLUGIN_BUNDLE_DIR       "/System/Library/KerberosPlugins/KerberosFrameworkPlugins"
60#define KDB5_PLUGIN_BUNDLE_DIR       "/System/Library/KerberosPlugins/KerberosDatabasePlugins"
61#else
62/* Solaris Kerberos */
63#define DEFAULT_SECURE_PROFILE_PATH	"/etc/krb5/krb5.conf"
64#define DEFAULT_PROFILE_PATH        DEFAULT_SECURE_PROFILE_PATH
65#endif
66/* Solaris Kerberos */
67#define	DEFAULT_KEYTAB_NAME	"FILE:/etc/krb5/krb5.keytab"
68#endif /* _WINDOWS  */
69
70/* Solaris Kerberos: default for where ldap bind passwds stored */
71#define DEF_SERVICE_PASSWD_FILE "/var/krb5/service_passwd"
72
73/* Solaris Kerberos */
74#define DEFAULT_KDB_FILE    "/var/krb5/principal"
75#define	DEFAULT_KEYFILE_STUB	"/var/krb5/.k5."
76#define KRB5_DEFAULT_ADMIN_ACL	"/etc/krb5/krb5_adm.acl"
77
78#define	DEFAULT_ADMIN_ACL	"@LOCALSTATEDIR/krb5kdc/kadm_old.acl"
79
80/* Location of KDC profile */
81/* Solaris Kerberos */
82#define	DEFAULT_KDC_PROFILE	"/etc/krb5/kdc.conf"
83#define	KDC_PROFILE_ENV		"KRB5_KDC_PROFILE"
84
85#if TARGET_OS_MAC
86#define DEFAULT_KDB_LIB_PATH	{ KDB5_PLUGIN_BUNDLE_DIR, "@MODULEDIR/kdb", NULL }
87#else
88/* Solaris Kerberos */
89#define DEFAULT_KDB_LIB_PATH	{ "/usr/lib/krb5", NULL }
90#endif
91
92/*
93 * SUNW14resync
94 * MIT 1.4 has changed to ENCTYPE_DES3_CBC_SHA1 but we stick with the old one
95 * for backward compat.
96 */
97#define DEFAULT_KDC_ENCTYPE	ENCTYPE_DES_CBC_CRC
98#define	KDCRCACHE		"dfl:krb5kdc_rcache"
99
100#define KDC_PORTNAME		"kerberos" /* for /etc/services or equiv. */
101#define KDC_SECONDARY_PORTNAME	"kerberos-sec" /* For backwards */
102					    /* compatibility with */
103					    /* port 750 clients */
104
105#define KRB5_DEFAULT_PORT	88
106#define KRB5_DEFAULT_SEC_PORT	750
107
108#define DEFAULT_KPASSWD_PORT	464
109#define KPASSWD_PORTNAME "kpasswd"
110
111#define DEFAULT_KDC_UDP_PORTLIST "88,750"
112/* Solaris Kerberos: enabled TCP by default on port 88 */
113#define DEFAULT_KDC_TCP_PORTLIST	"88"
114
115/* Solaris Kerberos: control # of kdc tcp connection */
116#define	DEFAULT_KDC_TCP_CONNECTIONS	30
117#define	MIN_KDC_TCP_CONNECTIONS	10
118
119/*
120 * Defaults for the KADM5 admin system.
121 */
122/* Solaris Kerberos */
123#define DEFAULT_KADM5_KEYTAB	"/etc/krb5/kadm5.keytab"
124#define DEFAULT_KADM5_ACL_FILE	"/etc/krb5/kadm5.acl"
125#define DEFAULT_KADM5_PORT	749 /* assigned by IANA */
126
127#define MAX_DGRAM_SIZE	4096
128#define MAX_SKDC_TIMEOUT 30
129#define SKDC_TIMEOUT_SHIFT 2		/* left shift of timeout for backoff */
130#define SKDC_TIMEOUT_1 1		/* seconds for first timeout */
131
132#define KRB5_ENV_CCNAME	"KRB5CCNAME"
133
134/*
135 * krb5 slave support follows
136 */
137
138/* Solaris Kerberos */
139#define KPROP_DEFAULT_FILE "/var/krb5/slave_datatrans"
140#define KPROPD_DEFAULT_FILE "/var/krb5/from_master"
141#define KPROPD_DEFAULT_KDB5_UTIL "/usr/sbin/kdb5_util"
142#define KPROPD_DEFAULT_KDB5_EDIT "/usr/sbin/kdb5_edit"
143#define KPROPD_DEFAULT_KRB_DB DEFAULT_KDB_FILE
144#define KPROPD_ACL_FILE "/etc/krb5/kpropd.acl"
145
146#endif /* KRB5_OSCONF__ */
147