10a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang/* $NetBSD: isakmp_cfg.h,v 1.6 2006/09/09 16:22:09 manu Exp $ */ 20a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 30a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang/* $KAME$ */ 40a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 50a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang/* 60a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * Copyright (C) 2004 Emmanuel Dreyfus 70a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * All rights reserved. 80a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * 90a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * Redistribution and use in source and binary forms, with or without 100a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * modification, are permitted provided that the following conditions 110a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * are met: 120a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * 1. Redistributions of source code must retain the above copyright 130a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * notice, this list of conditions and the following disclaimer. 140a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * 2. Redistributions in binary form must reproduce the above copyright 150a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * notice, this list of conditions and the following disclaimer in the 160a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * documentation and/or other materials provided with the distribution. 170a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * 3. Neither the name of the project nor the names of its contributors 180a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * may be used to endorse or promote products derived from this software 190a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * without specific prior written permission. 200a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * 210a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND 220a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 230a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 240a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE 250a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 260a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 270a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 280a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 290a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 300a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 310a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * SUCH DAMAGE. 320a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang */ 330a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 340a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#ifdef HAVE_LIBPAM 350a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#include <security/pam_appl.h> 360a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#endif 370a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 38514ffe2b8b4236d53f584fcd8382dd65bc4df532Chia-chi Yeh#ifdef ANDROID_PATCHED 39514ffe2b8b4236d53f584fcd8382dd65bc4df532Chia-chi Yeh#include <arpa/inet.h> 40514ffe2b8b4236d53f584fcd8382dd65bc4df532Chia-chi Yeh#ifndef MAXNS 41bec9d4b45de8876e251375ff47a1d2054d89d55bChia-chi Yeh#define MAXNS 2 42514ffe2b8b4236d53f584fcd8382dd65bc4df532Chia-chi Yeh#endif 43514ffe2b8b4236d53f584fcd8382dd65bc4df532Chia-chi Yeh#endif 44514ffe2b8b4236d53f584fcd8382dd65bc4df532Chia-chi Yeh 450a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang/* 460a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * XXX don't forget to update 470a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * src/racoon/handler.c:exclude_cfg_addr() 480a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * if you add IPv6 capability 490a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang */ 500a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 510a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang/* Attribute types */ 520a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define INTERNAL_IP4_ADDRESS 1 530a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define INTERNAL_IP4_NETMASK 2 540a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define INTERNAL_IP4_DNS 3 550a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define INTERNAL_IP4_NBNS 4 560a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define INTERNAL_ADDRESS_EXPIRY 5 570a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define INTERNAL_IP4_DHCP 6 580a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define APPLICATION_VERSION 7 590a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define INTERNAL_IP6_ADDRESS 8 600a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define INTERNAL_IP6_NETMASK 9 610a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define INTERNAL_IP6_DNS 10 620a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define INTERNAL_IP6_NBNS 11 630a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define INTERNAL_IP6_DHCP 12 640a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define INTERNAL_IP4_SUBNET 13 650a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define SUPPORTED_ATTRIBUTES 14 660a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define INTERNAL_IP6_SUBNET 15 670a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 680a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang/* For APPLICATION_VERSION */ 690a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_RACOON_VERSION "racoon / IPsec-tools" 700a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 710a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang/* For the wins servers -- XXX find the value somewhere ? */ 720a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define MAXWINS 4 730a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 740a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang/* 750a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * Global configuration for ISAKMP mode confiration address allocation 760a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * Read from the mode_cfg section of racoon.conf 770a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang */ 780a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangstruct isakmp_cfg_port { 790a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang char used; 800a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#ifdef HAVE_LIBPAM 810a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang pam_handle_t *pam; 820a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#endif 830a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang}; 840a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 850a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangstruct isakmp_cfg_config { 860a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang in_addr_t network4; 870a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang in_addr_t netmask4; 880a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang in_addr_t dns4[MAXNS]; 890a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang int dns4_index; 900a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang in_addr_t nbns4[MAXWINS]; 910a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang int nbns4_index; 920a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang struct isakmp_cfg_port *port_pool; 930a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang int authsource; 940a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang int groupsource; 950a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang char **grouplist; 960a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang int groupcount; 970a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang int confsource; 980a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang int accounting; 990a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang size_t pool_size; 1000a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang int auth_throttle; 1010a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang /* XXX move this to a unity specific sub-structure */ 1020a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang char default_domain[MAXPATHLEN + 1]; 1030a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang char motd[MAXPATHLEN + 1]; 1040a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang struct unity_netentry *splitnet_list; 1050a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang int splitnet_count; 1060a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang int splitnet_type; 1070a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang char *splitdns_list; 1080a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang int splitdns_len; 1090a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang int pfs_group; 1100a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang int save_passwd; 1110a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang}; 1120a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 1130a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang/* For utmp updating */ 1140a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define TERMSPEC "vpn%d" 1150a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 1160a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang/* For authsource */ 1170a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_AUTH_SYSTEM 0 1180a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_AUTH_RADIUS 1 1190a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_AUTH_PAM 2 1200a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_AUTH_LDAP 4 1210a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 1220a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang/* For groupsource */ 1230a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_GROUP_SYSTEM 0 1240a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_GROUP_LDAP 1 1250a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 1260a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang/* For confsource */ 1270a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_CONF_LOCAL 0 1280a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_CONF_RADIUS 1 1290a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_CONF_LDAP 2 1300a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 1310a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang/* For accounting */ 1320a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_ACCT_NONE 0 1330a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_ACCT_RADIUS 1 1340a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_ACCT_PAM 2 1350a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_ACCT_LDAP 3 1360a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_ACCT_SYSTEM 4 1370a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 1380a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang/* For pool_size */ 1390a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_MAX_CNX 255 1400a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 1410a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang/* For motd */ 1420a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_MOTD "/etc/motd" 1430a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 1440a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang/* For default domain */ 1450a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_DEFAULT_DOMAIN "" 1460a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 1470a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangextern struct isakmp_cfg_config isakmp_cfg_config; 1480a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 1490a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang/* 1500a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang * ISAKMP mode config state 1510a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang */ 1520a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define LOGINLEN 31 1530a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangstruct isakmp_cfg_state { 1540a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang int flags; /* See below */ 1550a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang unsigned int port; /* address index */ 1560a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang char login[LOGINLEN + 1]; /* login */ 1570a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang struct in_addr addr4; /* IPv4 address */ 1580a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang struct in_addr mask4; /* IPv4 netmask */ 1590a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang struct in_addr dns4[MAXNS]; /* IPv4 DNS (when client only) */ 1600a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang int dns4_index; /* Number of IPv4 DNS (client only) */ 1610a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang struct in_addr wins4[MAXWINS]; /* IPv4 WINS (when client only) */ 1620a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang int wins4_index; /* Number of IPv4 WINS (client only) */ 1630a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang char default_domain[MAXPATHLEN + 1]; /* Default domain recieved */ 1640a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang struct unity_netentry 1650a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang *split_include; /* UNITY_SPLIT_INCLUDE */ 1660a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang int include_count; /* Number of SPLIT_INCLUDES */ 1670a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang struct unity_netentry 1680a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang *split_local; /* UNITY_LOCAL_LAN */ 1690a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang int local_count; /* Number of SPLIT_LOCAL */ 1700a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang struct xauth_state xauth; /* Xauth state, if revelant */ 1710a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang struct isakmp_ivm *ivm; /* XXX Use iph1's ivm? */ 1720a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang u_int32_t last_msgid; /* Last message-ID */ 1730a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang}; 1740a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 1750a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang/* flags */ 1760a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_VENDORID_XAUTH 0x01 /* Supports Xauth */ 1770a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_VENDORID_UNITY 0x02 /* Cisco Unity compliant */ 1780a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_PORT_ALLOCATED 0x04 /* Port allocated */ 1790a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_ADDR4_EXTERN 0x08 /* Address from external config */ 1800a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_MASK4_EXTERN 0x10 /* Netmask from external config */ 1810a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_ADDR4_LOCAL 0x20 /* Address from local pool */ 1820a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_MASK4_LOCAL 0x40 /* Netmask from local pool */ 1830a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_GOT_ADDR4 0x80 /* Client got address */ 1840a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_GOT_MASK4 0x100 /* Client got mask */ 1850a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_GOT_DNS4 0x200 /* Client got DNS */ 1860a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_GOT_WINS4 0x400 /* Client got WINS */ 1870a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_DELETE_PH1 0x800 /* phase 1 should be deleted */ 1880a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_GOT_DEFAULT_DOMAIN 0x1000 /* Client got default domain */ 1890a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_GOT_SPLIT_INCLUDE 0x2000 /* Client got a split network config */ 1900a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_GOT_SPLIT_LOCAL 0x4000 /* Client got a split LAN config */ 1910a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 1920a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangstruct isakmp_pl_attr; 1930a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangstruct ph1handle; 1940a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangstruct isakmp_ivm; 1950a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangvoid isakmp_cfg_r(struct ph1handle *, vchar_t *); 1960a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangint isakmp_cfg_attr_r(struct ph1handle *, u_int32_t, struct isakmp_pl_attr *); 1970a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangint isakmp_cfg_reply(struct ph1handle *, struct isakmp_pl_attr *); 1980a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangint isakmp_cfg_request(struct ph1handle *, struct isakmp_pl_attr *); 1990a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangint isakmp_cfg_set(struct ph1handle *, struct isakmp_pl_attr *); 2000a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangint isakmp_cfg_send(struct ph1handle *, vchar_t *, u_int32_t, int, int); 2010a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangstruct isakmp_ivm *isakmp_cfg_newiv(struct ph1handle *, u_int32_t); 2020a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangvoid isakmp_cfg_rmstate(struct ph1handle *); 2030a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangstruct isakmp_cfg_state *isakmp_cfg_mkstate(void); 2040a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangvchar_t *isakmp_cfg_copy(struct ph1handle *, struct isakmp_data *); 2050a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangvchar_t *isakmp_cfg_short(struct ph1handle *, struct isakmp_data *, int); 2060a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangvchar_t *isakmp_cfg_varlen(struct ph1handle *, struct isakmp_data *, char *, size_t); 2070a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangvchar_t *isakmp_cfg_string(struct ph1handle *, struct isakmp_data *, char *); 2080a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangint isakmp_cfg_getconfig(struct ph1handle *); 2090a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangint isakmp_cfg_setenv(struct ph1handle *, char ***, int *); 2100a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 2110a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangint isakmp_cfg_resize_pool(int); 2120a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangint isakmp_cfg_getport(struct ph1handle *); 2130a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangint isakmp_cfg_putport(struct ph1handle *, unsigned int); 2140a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangint isakmp_cfg_init(int); 2150a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_INIT_COLD 1 2160a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#define ISAKMP_CFG_INIT_WARM 0 2170a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 2180a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#ifdef HAVE_LIBRADIUS 2190a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangstruct rad_handle; 2200a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangextern struct rad_handle *radius_acct_state; 2210a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangint isakmp_cfg_radius_common(struct rad_handle *, int); 2220a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#endif 2230a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 2240a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#ifdef HAVE_LIBPAM 2250a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangint isakmp_cfg_accounting_pam(int, int); 2260a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangvoid cleanup_pam(int); 2270a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang#endif 2280a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wang 2290a1907d434839af6a9cb6329bbde60b237bf53dcChung-yih Wangint isakmp_cfg_accounting_system(int, struct sockaddr *, char *, int); 230