diff options
-rw-r--r-- | package/network/services/openvpn/Makefile | 6 | ||||
-rw-r--r-- | package/network/services/openvpn/files/openvpn.init | 32 | ||||
-rw-r--r-- | package/network/services/openvpn/files/openvpn.options | 197 |
3 files changed, 205 insertions, 30 deletions
diff --git a/package/network/services/openvpn/Makefile b/package/network/services/openvpn/Makefile index 7507e20..ebfc51f 100644 --- a/package/network/services/openvpn/Makefile +++ b/package/network/services/openvpn/Makefile @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=openvpn PKG_VERSION:=2.4.0 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_SOURCE_URL:=http://swupdate.openvpn.net/community/releases PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz @@ -106,6 +106,7 @@ endef define Package/openvpn-$(BUILD_VARIANT)/install $(INSTALL_DIR) \ $(1)/usr/sbin \ + $(1)/usr/share/openvpn \ $(1)/etc/init.d \ $(1)/etc/config \ $(1)/etc/openvpn \ @@ -118,6 +119,9 @@ define Package/openvpn-$(BUILD_VARIANT)/install $(INSTALL_BIN) \ files/openvpn.init \ $(1)/etc/init.d/openvpn + $(INSTALL_DATA) \ + files/openvpn.options \ + $(1)/usr/share/openvpn/openvpn.options $(INSTALL_CONF) files/openvpn.config \ $(1)/etc/config/openvpn diff --git a/package/network/services/openvpn/files/openvpn.init b/package/network/services/openvpn/files/openvpn.init index d1f37d5..0d77d65 100644 --- a/package/network/services/openvpn/files/openvpn.init +++ b/package/network/services/openvpn/files/openvpn.init @@ -93,40 +93,14 @@ start_instance() { [ ! -d "/var/etc" ] && mkdir -p "/var/etc" [ -f "/var/etc/openvpn-$s.conf" ] && rm "/var/etc/openvpn-$s.conf" - # append flags - append_bools "$s" \ - allow_recursive_routing auth_nocache auth_user_pass_optional bind ccd_exclusive client client_cert_not_required \ - client_to_client comp_noadapt disable disable_occ down_pre duplicate_cn fast_io float http_proxy_retry \ - ifconfig_noexec ifconfig_nowarn ifconfig_pool_linear management_forget_disconnect management_hold \ - management_query_passwords management_signal mktun mlock mtu_test multihome mute_replay_warnings \ - ncp_disable nobind no_iv no_name_remapping no_replay opt_verify passtos persist_key persist_local_ip \ - persist_remote_ip persist_tun ping_timer_rem pull push_reset remote_random rmtun route_noexec route_nopull \ - single_session socks_proxy_retry suppress_timestamps tcp_nodelay test_crypto tls_client tls_exit tls_server \ - tun_ipv6 up_delay up_restart username_as_common_name - - # append params - append_params "$s" \ - cd askpass auth auth_retry auth_user_pass auth_user_pass_verify bcast_buffers ca cert capath \ - chroot cipher client_config_dir client_connect client_disconnect comp_lzo compress connect_freq \ - connect_retry connect_timeout connect_retry_max crl_verify dev dev_node dev_type dh \ - ecdh_curve echo engine explicit_exit_notify fragment group hand_window hash_size http_proxy \ - http_proxy_option http_proxy_timeout ifconfig ifconfig_pool ifconfig_pool_persist ifconfig_push \ - inactive ipchange iroute keepalive key key_direction key_method keysize learn_address link_mtu lladdr \ - local log log_append lport management management_log_cache max_clients max_routes_per_client mode \ - mssfix mtu_disc mute ncp_ciphers nice ns_cert_type ping ping_exit ping_restart pkcs12 plugin \ - port port_share prng proto pull_filter rcvbuf redirect_gateway remap_usr1 remote remote_cert_eku \ - remote_cert_ku remote_cert_tls reneg_bytes reneg_pkts reneg_sec replay_persist replay_window \ - resolv_retry route route_delay route_gateway route_metric route_pre_down route_up rport \ - script_security secret server server_bridge setenv shaper sndbuf socks_proxy status status_version \ - syslog tcp_queue_limit tls_auth tls_crypt tls_version_min tls_cipher tls_timeout \ - tls_verify tmp_dir topology tran_window tun_mtu tun_mtu_extra txqueuelen user verb \ - down push up verify_x509_name x509_username_field ifconfig_ipv6 route_ipv6 server_ipv6 \ - ifconfig_ipv6_pool ifconfig_ipv6_push iroute_ipv6 + append_bools "$s" $OPENVPN_BOOLS + append_params "$s" $OPENVPN_PARAMS openvpn_add_instance "$s" "/var/etc" "openvpn-$s.conf" } start_service() { + . /usr/share/openvpn/openvpn.options config_load 'openvpn' config_foreach start_instance 'openvpn' diff --git a/package/network/services/openvpn/files/openvpn.options b/package/network/services/openvpn/files/openvpn.options new file mode 100644 index 0000000..022f530 --- /dev/null +++ b/package/network/services/openvpn/files/openvpn.options @@ -0,0 +1,197 @@ +OPENVPN_PARAMS=' +askpass +auth +auth_retry +auth_user_pass +auth_user_pass_verify +bcast_buffers +ca +capath +cd +cert +chroot +cipher +client_config_dir +client_connect +client_disconnect +comp_lzo +compress +connect_freq +connect_retry +connect_retry_max +connect_timeout +crl_verify +dev +dev_node +dev_type +dh +down +ecdh_curve +echo +engine +explicit_exit_notify +fragment +group +hand_window +hash_size +http_proxy +http_proxy_option +http_proxy_timeout +ifconfig +ifconfig_ipv6 +ifconfig_ipv6_pool +ifconfig_ipv6_push +ifconfig_pool +ifconfig_pool_persist +ifconfig_push +inactive +ipchange +iroute +iroute_ipv6 +keepalive +key +key_direction +key_method +keysize +learn_address +link_mtu +lladdr +local +log +log_append +lport +management +management_log_cache +max_clients +max_routes_per_client +mode +mssfix +mtu_disc +mute +ncp_ciphers +nice +ns_cert_type +ping +ping_exit +ping_restart +pkcs12 +plugin +port +port_share +prng +proto +pull_filter +push +rcvbuf +redirect_gateway +remap_usr1 +remote +remote_cert_eku +remote_cert_ku +remote_cert_tls +reneg_bytes +reneg_pkts +reneg_sec +replay_persist +replay_window +resolv_retry +route +route_delay +route_gateway +route_ipv6 +route_metric +route_pre_down +route_up +rport +script_security +secret +server +server_bridge +server_ipv6 +setenv +shaper +sndbuf +socks_proxy +status +status_version +syslog +tcp_queue_limit +tls_auth +tls_cipher +tls_crypt +tls_timeout +tls_verify +tls_version_min +tmp_dir +topology +tran_window +tun_mtu +tun_mtu_extra +txqueuelen +up +user +verb +verify_x509_name +x509_username_field +' + +OPENVPN_BOOLS=' +allow_recursive_routing +auth_nocache +auth_user_pass_optional +bind +ccd_exclusive +client +client_cert_not_required +client_to_client +comp_noadapt +disable +disable_occ +down_pre +duplicate_cn +fast_io +float +http_proxy_retry +ifconfig_noexec +ifconfig_nowarn +ifconfig_pool_linear +management_forget_disconnect +management_hold +management_query_passwords +management_signal +mktun +mlock +mtu_test +multihome +mute_replay_warnings +ncp_disable +nobind +no_iv +no_name_remapping +no_replay +opt_verify +passtos +persist_key +persist_local_ip +persist_remote_ip +persist_tun +ping_timer_rem +pull +push_reset +remote_random +rmtun +route_noexec +route_nopull +single_session +socks_proxy_retry +suppress_timestamps +tcp_nodelay +test_crypto +tls_client +tls_exit +tls_server +tun_ipv6 +up_delay +up_restart +username_as_common_name +' |