You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

109 lines
3.2 KiB

11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
  1. #
  2. # Copyright (C) 2007-2011 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=ocserv
  9. PKG_VERSION:=1.0.0
  10. PKG_RELEASE:=1
  11. PKG_USE_MIPS16:=0
  12. PKG_BUILD_DIR :=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
  13. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
  14. PKG_SOURCE_URL:=ftp://ftp.infradead.org/pub/ocserv/
  15. PKG_HASH:=17440e78aadc800836824adb17088534740ebdce3e0cbd3a615fdbbd326b9e91
  16. PKG_LICENSE:=GPL-2.0-or-later
  17. PKG_LICENSE_FILES:=COPYING
  18. #PKG_FIXUP:=autoreconf
  19. PKG_CONFIG_DEPENDS:= \
  20. CONFIG_OCSERV_PAM \
  21. CONFIG_OCSERV_SECCOMP \
  22. CONFIG_OCSERV_PROTOBUF \
  23. include $(INCLUDE_DIR)/package.mk
  24. define Package/ocserv/config
  25. source "$(SOURCE)/Config.in"
  26. endef
  27. define Package/ocserv
  28. SECTION:=net
  29. CATEGORY:=Network
  30. SUBMENU:=VPN
  31. TITLE:=OpenConnect VPN server
  32. URL:=http://www.infradead.org/ocserv/
  33. MAINTAINER:=Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
  34. DEPENDS:= +OCSERV_RADIUS:libradcli +OCSERV_HTTP_PARSER:libhttp-parser +OCSERV_SECCOMP:libseccomp +libgnutls +certtool +libncurses +libreadline +OCSERV_PAM:libpam +OCSERV_PROTOBUF:libprotobuf-c +libev +kmod-tun
  35. USERID:=ocserv=72:ocserv=72
  36. endef
  37. define Package/ocserv/description
  38. OpenConnect server (ocserv) is an SSL VPN server. Its purpose is to be
  39. a secure, small, fast and configurable VPN server. It implements the
  40. OpenConnect SSL VPN protocol, and has also (currently experimental)
  41. compatibility with clients using the AnyConnect SSL VPN protocol. The
  42. OpenConnect VPN protocol uses the standard IETF security protocols such
  43. as TLS 1.2, and Datagram TLS to provide the secure VPN service.
  44. endef
  45. EXTRA_CPPFLAGS+=-I$(STAGING_DIR)/usr/include/readline/
  46. EXTRA_LDFLAGS+=-lncurses
  47. CONFIGURE_ARGS+= \
  48. --with-pager="" \
  49. --with-libreadline-prefix="$(STAGING_DIR)/" \
  50. --without-libnl \
  51. --without-gssapi \
  52. --with-libcrypt-prefix="$(STAGING_DIR)/" \
  53. --with-libev-prefix="$(STAGING_DIR)/" \
  54. --without-lz4 \
  55. --with-local-talloc \
  56. ifneq ($(CONFIG_OCSERV_PAM),y)
  57. CONFIGURE_ARGS += --without-pam
  58. endif
  59. ifneq ($(CONFIG_OCSERV_RADIUS),y)
  60. CONFIGURE_ARGS += --without-radius
  61. endif
  62. ifneq ($(CONFIG_OCSERV_SECCOMP),y)
  63. CONFIGURE_ARGS += --disable-seccomp
  64. endif
  65. ifneq ($(CONFIG_OCSERV_PROTOBUF),y)
  66. CONFIGURE_ARGS += --without-protobuf
  67. endif
  68. ifneq ($(CONFIG_OCSERV_HTTP_PARSER),y)
  69. CONFIGURE_ARGS += --without-http-parser
  70. endif
  71. define Package/ocserv/conffiles
  72. /etc/config/ocserv
  73. endef
  74. define Package/ocserv/install
  75. $(INSTALL_DIR) $(1)/usr/sbin
  76. $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/ocserv $(1)/usr/sbin/
  77. $(INSTALL_DIR) $(1)/usr/bin
  78. $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/ocserv-fw $(1)/usr/bin/
  79. $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/ocpasswd/ocpasswd $(1)/usr/bin/
  80. $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/occtl/occtl $(1)/usr/bin/
  81. $(INSTALL_DIR) $(1)/etc/init.d
  82. $(INSTALL_BIN) ./files/ocserv.init $(1)/etc/init.d/ocserv
  83. $(INSTALL_DIR) $(1)/etc/ocserv
  84. $(INSTALL_CONF) ./files/ocserv.conf.template $(1)/etc/ocserv/ocserv.conf.template
  85. $(INSTALL_DIR) $(1)/etc/config
  86. $(INSTALL_CONF) ./files/config $(1)/etc/config/ocserv
  87. $(INSTALL_DIR) $(1)/lib/upgrade/keep.d
  88. $(INSTALL_DATA) ./files/ocserv.upgrade $(1)/lib/upgrade/keep.d/ocserv
  89. endef
  90. $(eval $(call BuildPackage,ocserv))