diff options
author | jlam <jlam> | 2005-09-18 03:11:39 +0000 |
---|---|---|
committer | jlam <jlam> | 2005-09-18 03:11:39 +0000 |
commit | 0c99ebe6abd98f35191f94f6eb79619c5cc321fd (patch) | |
tree | 4a65f46a26a49f8f054d8d758dd5518f3e852017 /net | |
parent | d8863de38e3a24cadcc379a7bb5e66e49a2329b0 (diff) | |
download | pkgsrc-0c99ebe6abd98f35191f94f6eb79619c5cc321fd.tar.gz |
Add a "reset" action to the openvpn rc.d script which triggers a
SIGUSR1 reset of the openvpn process. This is useful for simplifying
dhclient-exit-hooks hook scripts that need to tell the openvpn process
to reset and re-run its "up" script.
Bump the PKGREVISION of net/openvpn to 1.
Diffstat (limited to 'net')
-rw-r--r-- | net/openvpn/Makefile | 3 | ||||
-rw-r--r-- | net/openvpn/files/openvpn.sh | 32 |
2 files changed, 32 insertions, 3 deletions
diff --git a/net/openvpn/Makefile b/net/openvpn/Makefile index 22ab7727f54..3d7097ebb84 100644 --- a/net/openvpn/Makefile +++ b/net/openvpn/Makefile @@ -1,8 +1,9 @@ -# $NetBSD: Makefile,v 1.9 2005/09/01 03:40:42 jlam Exp $ +# $NetBSD: Makefile,v 1.10 2005/09/18 03:11:39 jlam Exp $ # DISTNAME= openvpn-2.0.2 PKGNAME= ${DISTNAME:S/_//} +PKGREVISION= 1 CATEGORIES= net MASTER_SITES= http://openvpn.net/release/ \ http://openvpn.net/release/old/ diff --git a/net/openvpn/files/openvpn.sh b/net/openvpn/files/openvpn.sh index f1d55fdb08b..dfb8a5d3f2d 100644 --- a/net/openvpn/files/openvpn.sh +++ b/net/openvpn/files/openvpn.sh @@ -1,6 +1,6 @@ #!@RCD_SCRIPTS_SHELL@ # -# $NetBSD: openvpn.sh,v 1.1 2005/08/17 19:55:57 jlam Exp $ +# $NetBSD: openvpn.sh,v 1.2 2005/09/18 03:11:40 jlam Exp $ # # PROVIDE: openvpn # REQUIRE: NETWORKING @@ -20,6 +20,9 @@ # # a process is started for all # # *.conf files. # +# The "reset" action will trigger a SIGUSR1 restart of the OpenVPN +# process. Please read the openvpn(8) man page for more details. +# # For information on how to write an OpenVPN config file, please read the # openvpn(8) man page or check the website at: # @@ -33,10 +36,11 @@ rcvar=$name sysconfdir="@PKG_SYSCONFDIR@" command="@PREFIX@/sbin/openvpn" command_args="--cd $sysconfdir --daemon" -extra_commands="reload" +extra_commands="reload reset" required_dirs="$sysconfdir" start_cmd="openvpn_start" +reset_cmd="openvpn_reset" openvpn_start() { @@ -71,5 +75,29 @@ openvpn_start() cd $savewd } +openvpn_reset() +{ + if [ -z "$rc_pid" ]; then + if [ -n "$pidfile" ]; then + echo 1>&2 \ + "${name} not running? (check $pidfile)." + else + echo 1>&2 "${name} not running?" + fi + exit 1 + fi + echo "Triggering SIGUSR1 restart of ${name}." + if ! eval $_precmd && [ -z "$rc_force" ]; then + return 1 + fi + _doit="kill -${sig_reload:-USR1} $rc_pid" + if [ -n "$_user" ]; then + _doit="su -m $_user -c 'sh -c \"$_doit\"'" + fi + if ! eval $_doit && [ -z "$rc_force" ]; then + return 1 + fi +} + load_rc_config $name run_rc_command "$1" |