|  | @@ -1,4 +1,5 @@
 | 
	
		
			
				|  |  |  #!/bin/sh
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  ### BEGIN INIT INFO
 | 
	
		
			
				|  |  |  # Provides:          pptpd
 | 
	
		
			
				|  |  |  # Required-Start:    $remote_fs $syslog
 | 
	
	
		
			
				|  | @@ -10,96 +11,98 @@
 | 
	
		
			
				|  |  |  ### END INIT INFO
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  PATH=/sbin:/usr/sbin:/bin:/usr/bin
 | 
	
		
			
				|  |  | -DESC='PoPToP Point to Point Tunneling Server'
 | 
	
		
			
				|  |  | -NAME=pptpd
 | 
	
		
			
				|  |  | -DAEMON="/usr/sbin/$NAME"
 | 
	
		
			
				|  |  | +description='PoPToP Point to Point Tunneling Server'
 | 
	
		
			
				|  |  | +name=pptpd
 | 
	
		
			
				|  |  | +daemon="/usr/sbin/$name"
 | 
	
		
			
				|  |  |  DAEMON_OPTS=''
 | 
	
		
			
				|  |  | -PIDFILE='/var/run/pptpd.pid'
 | 
	
		
			
				|  |  | -SCRIPTNAME="/etc/init.d/$NAME"
 | 
	
		
			
				|  |  | +pid_file='/var/run/pptpd.pid'
 | 
	
		
			
				|  |  | +script_name="/etc/init.d/$name"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -[ -x "$DAEMON" ] || exit 0
 | 
	
		
			
				|  |  | +[ -x "$daemon" ] || exit 0
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -[ -r "/etc/default/$NAME" ] && . "/etc/default/$NAME"
 | 
	
		
			
				|  |  | +# shellcheck source=debian/pptpd.default
 | 
	
		
			
				|  |  | +[ -r "/etc/default/$name" ] && . "/etc/default/$name"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  . /lib/init/vars.sh
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  . /lib/lsb/init-functions
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -do_start()
 | 
	
		
			
				|  |  | -{
 | 
	
		
			
				|  |  | +do_start() {
 | 
	
		
			
				|  |  |      start-stop-daemon --start --quiet \
 | 
	
		
			
				|  |  | -                --pidfile "$PIDFILE" --exec "$DAEMON" --test > /dev/null \
 | 
	
		
			
				|  |  | -        || return 1
 | 
	
		
			
				|  |  | +        --pidfile "$pid_file" --exec "$daemon" --test >/dev/null ||
 | 
	
		
			
				|  |  | +        return 1
 | 
	
		
			
				|  |  | +    # shellcheck disable=SC2086 # We have to trust the default file
 | 
	
		
			
				|  |  |      start-stop-daemon --start --quiet \
 | 
	
		
			
				|  |  | -                --pidfile "$PIDFILE" --exec "$DAEMON" -- $DAEMON_OPTS \
 | 
	
		
			
				|  |  | -        || return 2
 | 
	
		
			
				|  |  | +        --pidfile "$pid_file" --exec "$daemon" -- $DAEMON_OPTS ||
 | 
	
		
			
				|  |  | +        return 2
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -do_stop()
 | 
	
		
			
				|  |  | -{
 | 
	
		
			
				|  |  | -    [ -f "$PIDFILE" ] || return 1
 | 
	
		
			
				|  |  | +do_stop() {
 | 
	
		
			
				|  |  | +    local retval
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    [ -f "$pid_file" ] || return 1
 | 
	
		
			
				|  |  |      start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 \
 | 
	
		
			
				|  |  | -        --pidfile "$PIDFILE" --name "$NAME"
 | 
	
		
			
				|  |  | -    RETVAL="$?"
 | 
	
		
			
				|  |  | -    [ "$RETVAL" = 2 ] && return 2
 | 
	
		
			
				|  |  | +        --pidfile "$pid_file" --name "$name"
 | 
	
		
			
				|  |  | +    retval="$?"
 | 
	
		
			
				|  |  | +    [ "$retval" = 2 ] && return 2
 | 
	
		
			
				|  |  |      start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 \
 | 
	
		
			
				|  |  | -        --exec "$DAEMON"
 | 
	
		
			
				|  |  | +        --exec "$daemon"
 | 
	
		
			
				|  |  |      [ "$?" = 2 ] && return 2
 | 
	
		
			
				|  |  |      # Many daemons don't delete their pidfiles when they exit.
 | 
	
		
			
				|  |  | -    rm -f "$PIDFILE"
 | 
	
		
			
				|  |  | -    return "$RETVAL"
 | 
	
		
			
				|  |  | +    rm -f "$pid_file"
 | 
	
		
			
				|  |  | +    return "$retval"
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  case "$1" in
 | 
	
		
			
				|  |  | -start)
 | 
	
		
			
				|  |  | -    [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
 | 
	
		
			
				|  |  | -    do_start
 | 
	
		
			
				|  |  | -    case "$?" in
 | 
	
		
			
				|  |  | -        0|1)
 | 
	
		
			
				|  |  | -            [ "$VERBOSE" != 'no' ] && log_end_msg 0
 | 
	
		
			
				|  |  | -            ;;
 | 
	
		
			
				|  |  | -        2)
 | 
	
		
			
				|  |  | -            [ "$VERBOSE" != 'no' ] && log_end_msg 1
 | 
	
		
			
				|  |  | -            ;;
 | 
	
		
			
				|  |  | -    esac
 | 
	
		
			
				|  |  | -    ;;
 | 
	
		
			
				|  |  | -stop)
 | 
	
		
			
				|  |  | -    [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
 | 
	
		
			
				|  |  | -    do_stop
 | 
	
		
			
				|  |  | -    case "$?" in
 | 
	
		
			
				|  |  | -        0|1)
 | 
	
		
			
				|  |  | -            [ "$VERBOSE" != 'no' ] && log_end_msg 0
 | 
	
		
			
				|  |  | -            ;;
 | 
	
		
			
				|  |  | -        2)
 | 
	
		
			
				|  |  | -            [ "$VERBOSE" != 'no' ] && log_end_msg 1
 | 
	
		
			
				|  |  | -            ;;
 | 
	
		
			
				|  |  | -    esac
 | 
	
		
			
				|  |  | -    ;;
 | 
	
		
			
				|  |  | -status)
 | 
	
		
			
				|  |  | -    status_of_proc -p "$PIDFILE" "$DAEMON" "$NAME" && exit 0 || exit $?
 | 
	
		
			
				|  |  | -    ;;
 | 
	
		
			
				|  |  | -restart|force-reload)
 | 
	
		
			
				|  |  | -    log_daemon_msg "Restarting $DESC" "$NAME"
 | 
	
		
			
				|  |  | -    do_stop
 | 
	
		
			
				|  |  | -    case "$?" in
 | 
	
		
			
				|  |  | -        0|1)
 | 
	
		
			
				|  |  | -            do_start
 | 
	
		
			
				|  |  | -            case "$?" in
 | 
	
		
			
				|  |  | -                0) log_end_msg 0 ;;
 | 
	
		
			
				|  |  | -                1) log_end_msg 1 ;; # Old process is still running
 | 
	
		
			
				|  |  | -                *) log_end_msg 1 ;; # Failed to start
 | 
	
		
			
				|  |  | -            esac
 | 
	
		
			
				|  |  | -            ;;
 | 
	
		
			
				|  |  | -        *)
 | 
	
		
			
				|  |  | -            # Failed to stop
 | 
	
		
			
				|  |  | -            log_end_msg 1
 | 
	
		
			
				|  |  | -            ;;
 | 
	
		
			
				|  |  | +    start)
 | 
	
		
			
				|  |  | +        [ "$VERBOSE" != 'no' ] && log_daemon_msg "Starting $description" "$name"
 | 
	
		
			
				|  |  | +        do_start
 | 
	
		
			
				|  |  | +        case "$?" in
 | 
	
		
			
				|  |  | +            0 | 1)
 | 
	
		
			
				|  |  | +                [ "$VERBOSE" != 'no' ] && log_end_msg 0
 | 
	
		
			
				|  |  | +                ;;
 | 
	
		
			
				|  |  | +            2)
 | 
	
		
			
				|  |  | +                [ "$VERBOSE" != 'no' ] && log_end_msg 1
 | 
	
		
			
				|  |  | +                ;;
 | 
	
		
			
				|  |  | +        esac
 | 
	
		
			
				|  |  | +        ;;
 | 
	
		
			
				|  |  | +    stop)
 | 
	
		
			
				|  |  | +        [ "$VERBOSE" != 'no' ] && log_daemon_msg "Stopping $description" "$name"
 | 
	
		
			
				|  |  | +        do_stop
 | 
	
		
			
				|  |  | +        case "$?" in
 | 
	
		
			
				|  |  | +            0 | 1)
 | 
	
		
			
				|  |  | +                [ "$VERBOSE" != 'no' ] && log_end_msg 0
 | 
	
		
			
				|  |  | +                ;;
 | 
	
		
			
				|  |  | +            2)
 | 
	
		
			
				|  |  | +                [ "$VERBOSE" != 'no' ] && log_end_msg 1
 | 
	
		
			
				|  |  | +                ;;
 | 
	
		
			
				|  |  | +        esac
 | 
	
		
			
				|  |  | +        ;;
 | 
	
		
			
				|  |  | +    status)
 | 
	
		
			
				|  |  | +        status_of_proc -p "$pid_file" "$daemon" "$name" && exit 0 || exit $?
 | 
	
		
			
				|  |  | +        ;;
 | 
	
		
			
				|  |  | +    restart | force-reload)
 | 
	
		
			
				|  |  | +        log_daemon_msg "Restarting $description" "$name"
 | 
	
		
			
				|  |  | +        do_stop
 | 
	
		
			
				|  |  | +        case "$?" in
 | 
	
		
			
				|  |  | +            0 | 1)
 | 
	
		
			
				|  |  | +                do_start
 | 
	
		
			
				|  |  | +                case "$?" in
 | 
	
		
			
				|  |  | +                    0) log_end_msg 0 ;;
 | 
	
		
			
				|  |  | +                    1) log_end_msg 1 ;; # Old process is still running
 | 
	
		
			
				|  |  | +                    *) log_end_msg 1 ;; # Failed to start
 | 
	
		
			
				|  |  | +                esac
 | 
	
		
			
				|  |  | +                ;;
 | 
	
		
			
				|  |  | +            *)
 | 
	
		
			
				|  |  | +                # Failed to stop
 | 
	
		
			
				|  |  | +                log_end_msg 1
 | 
	
		
			
				|  |  | +                ;;
 | 
	
		
			
				|  |  |          esac
 | 
	
		
			
				|  |  | -    ;;
 | 
	
		
			
				|  |  | -*)
 | 
	
		
			
				|  |  | -    echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
 | 
	
		
			
				|  |  | -    exit 3
 | 
	
		
			
				|  |  | -    ;;
 | 
	
		
			
				|  |  | +        ;;
 | 
	
		
			
				|  |  | +    *)
 | 
	
		
			
				|  |  | +        echo "Usage: $script_name {start|stop|status|restart|force-reload}" >&2
 | 
	
		
			
				|  |  | +        exit 3
 | 
	
		
			
				|  |  | +        ;;
 | 
	
		
			
				|  |  |  esac
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  exit 0
 |