1# 2# Copyright (C) 2010-2013 OpenWrt.org 3# 4# This is free software, licensed under the GNU General Public License v2. 5# See /LICENSE for more information. 6# 7 8include $(TOPDIR)/rules.mk 9 10PKG_NAME:=openvpn 11 12PKG_VERSION:=2.3.2 13PKG_RELEASE:=3 14 15PKG_SOURCE_URL:=http://swupdate.openvpn.net/community/releases 16PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz 17PKG_MD5SUM:=06e5f93dbf13f2c19647ca15ffc23ac1 18 19PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) 20 21PKG_INSTALL:=1 22PKG_FIXUP:=autoreconf 23PKG_BUILD_PARALLEL:=1 24 25include $(INCLUDE_DIR)/package.mk 26 27define Package/openvpn/Default 28 TITLE:=Open source VPN solution using $(2) 29 SECTION:=net 30 CATEGORY:=Network 31 URL:=http://openvpn.net 32 SUBMENU:=VPN 33 MENU:=1 34 DEPENDS:=+kmod-tun +OPENVPN_$(1)_ENABLE_LZO:liblzo +OPENVPN_$(1)_ENABLE_IPROUTE2:ip $(3) 35 VARIANT:=$(1) 36 MAINTAINER:=Mirko Vogt <mirko@openwrt.org> 37endef 38 39Package/openvpn-openssl=$(call Package/openvpn/Default,openssl,OpenSSL,+libopenssl) 40Package/openvpn-polarssl=$(call Package/openvpn/Default,polarssl,PolarSSL,+libpolarssl) 41Package/openvpn-nossl=$(call Package/openvpn/Default,nossl,plaintext (no SSL)) 42 43define Package/openvpn/config/Default 44 source "$(SOURCE)/Config-$(1).in" 45endef 46 47Package/openvpn-openssl/config=$(call Package/openvpn/config/Default,openssl) 48Package/openvpn-polarssl/config=$(call Package/openvpn/config/Default,polarssl) 49Package/openvpn-nossl/config=$(call Package/openvpn/config/Default,nossl) 50 51ifeq ($(BUILD_VARIANT),polarssl) 52CONFIG_OPENVPN_POLARSSL:=y 53endif 54ifeq ($(BUILD_VARIANT),openssl) 55CONFIG_OPENVPN_OPENSSL:=y 56endif 57ifeq ($(BUILD_VARIANT),nossl) 58CONFIG_OPENVPN_NOSSL:=y 59endif 60 61CONFIGURE_VARS += \ 62 IFCONFIG=/sbin/ifconfig \ 63 ROUTE=/sbin/route \ 64 IPROUTE=/usr/sbin/ip \ 65 NETSTAT=/sbin/netstat 66 67define Build/Configure 68 $(call Build/Configure/Default, \ 69 --enable-small \ 70 --disable-selinux \ 71 --disable-systemd \ 72 --disable-plugins \ 73 --disable-debug \ 74 --disable-eurephia \ 75 --disable-pkcs11 \ 76 --enable-password-save \ 77 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_LZO),--enable,--disable)-lzo \ 78 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_X509_ALT_USERNAME),enable,disable-x509-alt-username)-ssl \ 79 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_SERVER),--enable,--disable)-server \ 80 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_MANAGEMENT),--enable,--disable)-management \ 81 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_SOCKS),--enable,--disable)-socks \ 82 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_HTTP),--enable,--disable)-http \ 83 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_FRAGMENT),--enable,--disable)-fragment \ 84 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_MULTIHOME),--enable,--disable)-multihome \ 85 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_IPROUTE2),--enable,--disable)-iproute2 \ 86 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_DEF_AUTH),--enable,--disable)-def-auth \ 87 $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_PF),--enable,--disable)-pf \ 88 $(if $(CONFIG_OPENVPN_NOSSL),--disable-ssl --disable-crypto,--enable-ssl --enable-crypto) \ 89 $(if $(CONFIG_OPENVPN_OPENSSL),--with-crypto-library=openssl) \ 90 $(if $(CONFIG_OPENVPN_POLARSSL),--with-crypto-library=polarssl) \ 91 ) 92endef 93 94define Package/openvpn-$(BUILD_VARIANT)/conffiles 95/etc/config/openvpn 96endef 97 98define Package/openvpn-$(BUILD_VARIANT)/install 99 $(INSTALL_DIR) \ 100 $(1)/usr/sbin \ 101 $(1)/etc/rc.d \ 102 $(1)/etc/init.d \ 103 $(1)/etc/config \ 104 $(1)/etc/openvpn \ 105 $(1)/lib/upgrade/keep.d 106 107 $(INSTALL_BIN) \ 108 $(PKG_INSTALL_DIR)/usr/sbin/openvpn \ 109 $(1)/usr/sbin/ 110 111 $(INSTALL_BIN) \ 112 files/openvpn.init \ 113 $(1)/etc/init.d/openvpn 114 115 ln -sv ../init.d/openvpn $(1)/etc/rc.d/S60openvpn 116 117 $(INSTALL_BIN) \ 118 files/check_cert_files.init \ 119 $(1)/etc/init.d/zzprefix-check_cert_files 120 121 $(INSTALL_DATA) \ 122 files/openvpn.upgrade \ 123 $(1)/lib/upgrade/keep.d/openvpn 124 $(INSTALL_BIN) \ 125 files/openvpn.push_routing_rule \ 126 $(1)/etc/openvpn/push_routing_rule 127 $(INSTALL_BIN) \ 128 files/openvpn.download \ 129 $(1)/etc/openvpn/download 130 $(INSTALL_BIN) \ 131 files/vpn-firewall.sh \ 132 $(1)/etc/openvpn/vpn-firewall.sh 133endef 134 135$(eval $(call BuildPackage,openvpn-openssl)) 136$(eval $(call BuildPackage,openvpn-polarssl)) 137$(eval $(call BuildPackage,openvpn-nossl)) 138