localconf.h revision 6b112236f31ae21c11e416d3dd5d265a5cc5177a
1/* $NetBSD: localconf.h,v 1.4 2006/09/09 16:22:09 manu Exp $ */ 2 3/* Id: localconf.h,v 1.13 2005/11/06 18:13:18 monas Exp */ 4 5/* 6 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 7 * All rights reserved. 8 * 9 * Redistribution and use in source and binary forms, with or without 10 * modification, are permitted provided that the following conditions 11 * are met: 12 * 1. Redistributions of source code must retain the above copyright 13 * notice, this list of conditions and the following disclaimer. 14 * 2. Redistributions in binary form must reproduce the above copyright 15 * notice, this list of conditions and the following disclaimer in the 16 * documentation and/or other materials provided with the distribution. 17 * 3. Neither the name of the project nor the names of its contributors 18 * may be used to endorse or promote products derived from this software 19 * without specific prior written permission. 20 * 21 * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND 22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE 25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 */ 33 34#ifndef _LOCALCONF_H 35#define _LOCALCONF_H 36 37/* local configuration */ 38 39#define LC_DEFAULT_CF SYSCONFDIR "/racoon.conf" 40 41#define LC_PATHTYPE_INCLUDE 0 42#define LC_PATHTYPE_PSK 1 43#define LC_PATHTYPE_CERT 2 44#define LC_PATHTYPE_BACKUPSA 3 45#define LC_PATHTYPE_SCRIPT 4 46#define LC_PATHTYPE_PIDFILE 5 47#define LC_PATHTYPE_MAX 6 48 49#define LC_DEFAULT_PAD_MAXSIZE 20 50#define LC_DEFAULT_PAD_RANDOM TRUE 51#define LC_DEFAULT_PAD_RANDOMLEN FALSE 52#define LC_DEFAULT_PAD_STRICT FALSE 53#define LC_DEFAULT_PAD_EXCLTAIL TRUE 54#define LC_DEFAULT_RETRY_COUNTER 5 55#define LC_DEFAULT_RETRY_INTERVAL 10 56#define LC_DEFAULT_COUNT_PERSEND 1 57#define LC_DEFAULT_RETRY_CHECKPH1 30 58#define LC_DEFAULT_WAIT_PH2COMPLETE 30 59#define LC_DEFAULT_NATT_KA_INTERVAL 20 60 61#define LC_DEFAULT_SECRETSIZE 16 /* 128 bits */ 62 63#define LC_IDENTTYPE_MAX 5 /* XXX */ 64 65#define LC_GSSENC_UTF16LE 0 /* GSS ID in UTF-16LE */ 66#define LC_GSSENC_LATIN1 1 /* GSS ID in ISO-Latin-1 */ 67#define LC_GSSENC_MAX 2 68 69struct localconf { 70 char *racoon_conf; /* configuration filename */ 71 72 uid_t uid; 73 gid_t gid; 74 char *chroot; /* chroot path */ 75 u_int16_t port_isakmp; /* port for isakmp as default */ 76 u_int16_t port_isakmp_natt; /* port for NAT-T use */ 77 u_int16_t port_admin; /* port for admin */ 78 int default_af; /* default address family */ 79 80 int sock_admin; 81#ifdef ANDROID_CHANGES 82 int sock_control; 83 int control_client; /* we handle one client connection only */ 84#endif 85 int sock_pfkey; 86 int rtsock; /* routing socket */ 87 88 int autograbaddr; 89 struct myaddrs *myaddrs; 90 91 char *pathinfo[LC_PATHTYPE_MAX]; 92 vchar_t *ident[LC_IDENTTYPE_MAX]; /* base of Identifier payload. */ 93 94 int pad_random; 95 int pad_randomlen; 96 int pad_maxsize; 97 int pad_strict; 98 int pad_excltail; 99 100 int retry_counter; /* times to retry. */ 101 int retry_interval; /* interval each retry. */ 102 int count_persend; /* the number of packets each retry. */ 103 /* above 3 values are copied into a handler. */ 104 105 int retry_checkph1; 106 int wait_ph2complete; 107 108 int natt_ka_interval; /* NAT-T keepalive interval. */ 109 110 int secret_size; 111 int strict_address; /* strictly check addresses. */ 112 113 int complex_bundle; 114 /* 115 * If we want to make a packet "IP2 AH ESP IP1 ULP", 116 * the SPD in KAME expresses AH transport + ESP tunnel. 117 * So racoon sent the proposal contained such the order. 118 * But lots of implementation interprets AH tunnel + ESP 119 * tunnel in this case. racoon has changed the format, 120 * usually uses this format. If the option, 'complex_bundle' 121 * is enable, racoon uses old format. 122 */ 123 124 int gss_id_enc; /* GSS ID encoding to use */ 125}; 126 127extern struct localconf *lcconf; 128 129extern void initlcconf __P((void)); 130extern void flushlcconf __P((void)); 131extern vchar_t *getpskbyname __P((vchar_t *)); 132extern vchar_t *getpskbyaddr __P((struct sockaddr *)); 133extern void getpathname __P((char *, int, int, const char *)); 134extern int sittype2doi __P((int)); 135extern int doitype2doi __P((int)); 136extern vchar_t *getpsk __P((const char *, const int)); 137 138extern void restore_params __P((void)); 139extern void save_params __P((void)); 140 141#endif /* _LOCALCONF_H */ 142