Changeset 30246


Ignore:
Timestamp:
2012-02-05T16:59:42+01:00 (6 years ago)
Author:
jow
Message:

[packages_10.03.2] quicktun: merge r29168

Location:
branches/packages_10.03.2/net/quicktun
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/packages_10.03.2/net/quicktun/Makefile

    r26787 r30246  
    1010PKG_NAME:=quicktun 
    1111PKG_VERSION:=2.1.7 
    12 PKG_RELEASE:=1 
     12PKG_RELEASE:=2 
    1313 
    1414PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz 
  • branches/packages_10.03.2/net/quicktun/files/quicktun.config

    r25098 r30246  
    44 
    55        # Set to 1 to enable this instance: 
    6         option enable 0 
     6        option enabled 0 
    77 
    88        # IP address or hostname of the local end, optional 
  • branches/packages_10.03.2/net/quicktun/files/quicktun.init

    r26488 r30246  
    11#!/bin/sh /etc/rc.common 
    2 # Quicktun init script 
    3 # Partly taken the the OpenVPN init script (Copyright (C) 2008 Jo-Philipp Wich) 
     2# Copyright (C) 2010-2011 OpenWrt.org 
     3 
     4# Partly taken the OpenVPN init script (Copyright (C) 2008 Jo-Philipp Wich) 
    45# This is free software, licensed under the GNU General Public License v2. 
    56# See /LICENSE for more information. 
    67 
    78START=95 
    8 BIN=/usr/sbin/quicktun 
    9 SSD=start-stop-daemon 
     9 
     10SERVICE_DAEMONIZE=1 
     11SERVICE_WRITE_PID=1 
     12 
    1013EXTRA_COMMANDS="up down" 
    1114 
     
    2831} 
    2932 
    30 start_service() { 
     33section_enabled() { 
     34        config_get_bool enabled "$1" 'enabled' 0 
     35        [ $enabled -gt 0 ] 
     36} 
     37 
     38error() { 
     39        echo "${initscript}:" "$@" 1>&2 
     40} 
     41 
     42start_instance() { 
    3143        local s="$1" 
    32         local enable=0 
    3344 
    34         # disabled? 
    35         config_get_bool enable "$s" enable 0 
    36         [ "$enable" == 0 ] && return 0 
     45        section_enabled "$s" || return 1 
    3746 
    38         PID="/var/run/quicktun-$s.pid" 
     47        SERVICE_PID_FILE="/var/run/quicktun-$s.pid" 
    3948        OPTS="" 
    4049 
    4150        config_get interface "$s" interface 
    4251        if [ -z "$interface" ]; then 
    43                 echo "$s: interface not set" 
     52                error "$s: interface '$interface' is not set" 
    4453                return 1 
    4554        fi 
    4655 
    47         if ifconfig "$interface" >/dev/null 2>&1; then 
    48                 echo "$s: interface $interface is already in use" 
     56        if ifconfig "$interface" &>/dev/null; then 
     57                error "$s: interface '$interface' is already in use" 
    4958                return 1 
    5059        fi 
     
    5968        [ "$remote_float" == 1 ] && append_opt remote_float 1 
    6069 
    61         eval env $OPTS "$SSD" -q -b -p "$PID" -m -x "$BIN" -S 
     70        eval env $OPTS service_start /usr/sbin/quicktun 
    6271 
    6372        while ! ifconfig "$interface" >/dev/null 2>&1; do 
    64                 if ! $SSD -t -q -p $PID -x $BIN -K; then 
    65                         echo "$s: daemon startup failed" 
     73                if ! service_check /usr/sbin/quicktun; then 
     74                        error "$s: startup failed" 
    6675                        return 1 
    6776                fi 
     
    7483} 
    7584 
    76 stop_service() { 
     85stop_instance() { 
    7786        local s="$1" 
    78         local enable=0 
    7987 
    80         # disabled? 
    81         config_get_bool enable "$s" enable 0 
    82         [ "$enable" == 0 ] && return 0 
     88        section_enabled "$s" || return 1 
     89 
     90        SERVICE_PID_FILE="/var/run/quicktun-$s.pid" 
    8391 
    8492        config_get interface "$s" interface 
    8593        if [ -z "$interface" ]; then 
    86                 echo "$s: interface not set" 
     94                error "$s: interface '$interface' is not set" 
    8795                return 1 
    8896        fi 
    8997 
    90         if ! ifconfig "$interface" >/dev/null 2>&1; then 
    91                 echo "$s: interface $interface does not exist" 
     98        if ! ifconfig "$interface" &>/dev/null; then 
     99                error "$s: interface '$interface' does not exist" 
    92100                return 1 
    93101        fi 
     
    96104        [ -n "$down" ] && sh -c "$down" - "$interface" 
    97105 
    98         PID="/var/run/quicktun-$s.pid" 
    99  
    100         $SSD -q -p $PID -x $BIN -K 
    101         rm -f "$PID" 
     106        service_stop /usr/sbin/quicktun 
    102107} 
    103108 
    104109start() { 
    105         config_load quicktun 
    106         config_foreach start_service quicktun 
     110        config_load 'quicktun' 
     111        config_foreach start_instance 'quicktun' 
    107112} 
    108113 
    109114stop() { 
    110         config_load quicktun 
    111         config_foreach stop_service quicktun 
    112 } 
    113  
    114 restart() { 
    115         stop; start 
     115        config_load 'quicktun' 
     116        config_foreach stop_instance 'quicktun' 
    116117} 
    117118 
    118119up() { 
    119120        local exists 
    120         local INSTANCE 
    121         config_load quicktun 
    122         for INSTANCE in "$@"; do 
    123                 config_get exists "$INSTANCE" TYPE 
     121        local instance 
     122        config_load 'quicktun' 
     123        for instance in "$@"; do 
     124                config_get exists "$instance" 'TYPE' 
    124125                if [ "$exists" == "quicktun" ]; then 
    125                         start_service "$INSTANCE" 
     126                        start_instance "$instance" 
    126127                fi 
    127128        done 
     
    130131down() { 
    131132        local exists 
    132         local INSTANCE 
    133         config_load quicktun 
    134         for INSTANCE in "$@"; do 
    135                 config_get exists "$INSTANCE" TYPE 
     133        local instance 
     134        config_load 'quicktun' 
     135        for instance in "$@"; do 
     136                config_get exists "$instance" 'TYPE' 
    136137                if [ "$exists" == "quicktun" ]; then 
    137                         stop_service "$INSTANCE" 
     138                        stop_instance "$instance" 
    138139                fi 
    139140        done 
Note: See TracChangeset for help on using the changeset viewer.