
The Openswan and UCI configuration file formats are very similar. Implement the conversion from UCI to IPsec configuration file format in the ipsec init script and store the converted information in /etc/ipsec.uci.{conf,secrets} then reference these files from /etc/ipsec.{conf,secrets}. This scheme allows for backwards-compatibility during upgrades (since the original configuration is preserved) and allows for users to implement any exotic configurations that they require without conflicting with the configuration in UCI. Also add a nearly empty ipsec config file which enables nat_traversal. This option should be safe in all configurations and is required in many, which makes it a good default. Signed-off-by: Kevin Locke <kevin@kevinlocke.name> git-svn-id: svn://svn.openwrt.org/openwrt/packages@29585 3c298f89-4303-0410-b956-a3cf2f4a3e73
111 lines
2.8 KiB
Makefile
111 lines
2.8 KiB
Makefile
#
|
|
# Copyright (C) 2006-2011 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
include $(INCLUDE_DIR)/kernel.mk
|
|
|
|
PKG_NAME:=openswan
|
|
PKG_VERSION:=2.6.37
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_SOURCE_URL:=http://www.openswan.org/download
|
|
PKG_MD5SUM:=e5c948555088df06cfadcfbe6c13adfe
|
|
|
|
PKG_BUILD_PARALLEL:=1
|
|
PKG_INSTALL:=1
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define Package/openswan/Default
|
|
TITLE:=Openswan
|
|
URL:=http://www.openswan.org/
|
|
endef
|
|
|
|
define Package/openswan/Default/description
|
|
Openswan is an IPsec implementation for Linux.
|
|
endef
|
|
|
|
define Package/openswan
|
|
$(call Package/openswan/Default)
|
|
SUBMENU:=VPN
|
|
SECTION:=net
|
|
CATEGORY:=Network
|
|
TITLE+= (daemon)
|
|
DEPENDS+= +libgmp +ip
|
|
endef
|
|
|
|
define Package/openswan/description
|
|
$(call Package/openswan/Default/description)
|
|
This package contains the Openswan user-land daemon.
|
|
endef
|
|
|
|
define KernelPackage/openswan
|
|
$(call Package/openswan/Default)
|
|
SUBMENU:=Network Support
|
|
TITLE+= (kernel module)
|
|
DEPENDS+=+IPV6:kmod-ipv6
|
|
FILES:=$(PKG_BUILD_DIR)/modobj*/ipsec.$(LINUX_KMOD_SUFFIX)
|
|
endef
|
|
|
|
define KernelPackage/openswan/description
|
|
$(call Package/openswan/Default/description)
|
|
This package contains the Openswan kernel module.
|
|
endef
|
|
|
|
TARGET_CPPFLAGS += -I$(LINUX_DIR)/include -D__EXPORTED_HEADERS__
|
|
|
|
OPENSWAN_MAKEFLAGS:= \
|
|
-C $(PKG_BUILD_DIR) \
|
|
$(TARGET_CONFIGURE_OPTS) \
|
|
LINUX_RELEASE="$(LINUX_RELEASE)" \
|
|
KERNELSRC="$(LINUX_DIR)" \
|
|
ARCH="$(LINUX_KARCH)" \
|
|
CROSS_COMPILE="$(TARGET_CROSS)" \
|
|
USERCOMPILE="$(TARGET_CFLAGS) -I$(PKG_BUILD_DIR)/ports/linux/include -I$(PKG_BUILD_DIR)/linux/include -I$(PKG_BUILD_DIR)/include $(TARGET_CPPFLAGS) $(TARGET_LDFLAGS)" \
|
|
IPSECDIR="/usr/lib/ipsec" \
|
|
INC_USRLOCAL="/usr" \
|
|
INC_RCDEFAULT="/etc/init.d" \
|
|
MODPROBE="/sbin/insmod" \
|
|
LDFLAGS="$(TARGET_LDFLAGS)" \
|
|
DESTDIR="$(PKG_INSTALL_DIR)"
|
|
|
|
define Build/Compile
|
|
$(MAKE) $(PKG_JOBS) $(OPENSWAN_MAKEFLAGS) programs
|
|
$(MAKE) $(PKG_JOBS) $(OPENSWAN_MAKEFLAGS) module
|
|
endef
|
|
|
|
define Build/Install
|
|
$(MAKE) $(OPENSWAN_MAKEFLAGS) install
|
|
endef
|
|
|
|
define Package/openswan/conffiles
|
|
/etc/ipsec.conf
|
|
/etc/ipsec.secrets
|
|
/etc/config/ipsec
|
|
endef
|
|
|
|
define Package/openswan/install
|
|
$(CP) $(PKG_INSTALL_DIR)/* $(1)
|
|
$(INSTALL_DIR) $(1)/etc/init.d
|
|
$(CP) ./files/ipsec.init $(1)/etc/init.d/ipsec
|
|
$(CP) ./files/ipsec.conf $(1)/etc/ipsec.conf
|
|
$(CP) ./files/ipsec.secrets $(1)/etc/ipsec.secrets
|
|
$(INSTALL_DIR) $(1)/etc/config
|
|
$(INSTALL_CONF) ./files/ipsec.config $(1)/etc/config/ipsec
|
|
rm -rf $(1)/usr/share
|
|
rm -rf $(1)/usr/man
|
|
rm -rf $(1)/var
|
|
rm -rf $(1)/etc/rc.d
|
|
find $(1) -name \*.old | xargs rm -rf
|
|
$(INSTALL_DIR) $(1)/lib/upgrade/keep.d
|
|
$(INSTALL_DATA) files/ipsec.upgrade $(1)/lib/upgrade/keep.d/ipsec
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,openswan))
|
|
$(eval $(call KernelPackage,openswan))
|