|
@ -14,8 +14,8 @@ proto_aiccu_setup() { |
|
|
local iface="$2" |
|
|
local iface="$2" |
|
|
local link="aiccu-$cfg" |
|
|
local link="aiccu-$cfg" |
|
|
|
|
|
|
|
|
local username password protocol server ip6prefix tunnelid requiretls defaultroute nat heartbeat verbose sourcerouting ip6addr |
|
|
|
|
|
json_get_vars username password protocol server ip6prefix tunnelid requiretls defaultroute nat heartbeat verbose sourcerouting ip6addr |
|
|
|
|
|
|
|
|
local username password protocol server ip6prefix tunnelid requiretls defaultroute nat heartbeat verbose sourcerouting ip6addr ntpsynctimeout |
|
|
|
|
|
json_get_vars username password protocol server ip6prefix tunnelid requiretls defaultroute nat heartbeat verbose sourcerouting ip6addr ntpsynctimeout |
|
|
|
|
|
|
|
|
[ -z "$username" -o -z "$password" ] && { |
|
|
[ -z "$username" -o -z "$password" ] && { |
|
|
proto_notify_error "$cfg" "MISSING_USERNAME_OR_PASSWORD" |
|
|
proto_notify_error "$cfg" "MISSING_USERNAME_OR_PASSWORD" |
|
@ -27,21 +27,32 @@ proto_aiccu_setup() { |
|
|
|
|
|
|
|
|
CFGFILE="/var/etc/${link}.conf" |
|
|
CFGFILE="/var/etc/${link}.conf" |
|
|
PIDFILE="/var/run/${link}.pid" |
|
|
PIDFILE="/var/run/${link}.pid" |
|
|
|
|
|
NTPSTRATUMFILE="/var/run/aiccu_ntp_stratum" |
|
|
mkdir -p /var/run /var/etc |
|
|
mkdir -p /var/run /var/etc |
|
|
|
|
|
|
|
|
echo "username $username" > "$CFGFILE" |
|
|
echo "username $username" > "$CFGFILE" |
|
|
echo "password $password" >> "$CFGFILE" |
|
|
echo "password $password" >> "$CFGFILE" |
|
|
echo "ipv6_interface $link" >> "$CFGFILE" |
|
|
|
|
|
|
|
|
echo "ipv6_interface $link" >> "$CFGFILE" |
|
|
[ -n "$server" ] && echo "server $server" >> "$CFGFILE" |
|
|
[ -n "$server" ] && echo "server $server" >> "$CFGFILE" |
|
|
[ -n "$protocol" ] && echo "protocol $protocol" >> "$CFGFILE" |
|
|
[ -n "$protocol" ] && echo "protocol $protocol" >> "$CFGFILE" |
|
|
[ -n "$tunnelid" ] && echo "tunnel_id $tunnelid" >> "$CFGFILE" |
|
|
|
|
|
[ -n "$requiretls" ] && echo "requiretls $requiretls" >> "$CFGFILE" |
|
|
|
|
|
[ "$nat" == 1 ] && echo "behindnat true" >> "$CFGFILE" |
|
|
|
|
|
[ "$heartbeat" == 1 ] && echo "makebeats true" >> "$CFGFILE" |
|
|
|
|
|
|
|
|
[ -n "$tunnelid" ] && echo "tunnel_id $tunnelid" >> "$CFGFILE" |
|
|
|
|
|
[ -n "$requiretls" ] && echo "requiretls $requiretls" >> "$CFGFILE" |
|
|
|
|
|
[ "$nat" == 1 ] && echo "behindnat true" >> "$CFGFILE" |
|
|
|
|
|
[ "$heartbeat" == 1 ] && echo "makebeats true" >> "$CFGFILE" |
|
|
[ "$verbose" == 1 ] && echo "verbose true" >> "$CFGFILE" |
|
|
[ "$verbose" == 1 ] && echo "verbose true" >> "$CFGFILE" |
|
|
echo "defaultroute false" >> "$CFGFILE" |
|
|
echo "defaultroute false" >> "$CFGFILE" |
|
|
echo "daemonize true" >> "$CFGFILE" |
|
|
|
|
|
echo "pidfile $PIDFILE" >> "$CFGFILE" |
|
|
|
|
|
|
|
|
echo "daemonize true" >> "$CFGFILE" |
|
|
|
|
|
echo "pidfile $PIDFILE" >> "$CFGFILE" |
|
|
|
|
|
|
|
|
|
|
|
# By default, wait at most 90 seconds for NTP sync |
|
|
|
|
|
[ -z "$ntpsynctimeout" ] && ntpsynctimeout=90 |
|
|
|
|
|
for i in $(seq 1 $ntpsynctimeout); do |
|
|
|
|
|
[ -f "$NTPSTRATUMFILE" ] && \ |
|
|
|
|
|
[ "$(cat $NTPSTRATUMFILE)" -lt 16 ] && \ |
|
|
|
|
|
echo "NTP synced, stratum $(cat $NTPSTRATUMFILE)" && break |
|
|
|
|
|
[ "$(( $i % 10 ))" -eq 0 ] && echo "Waiting ${i} secs for NTP sync..." |
|
|
|
|
|
sleep 1 |
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
aiccu start "$CFGFILE" |
|
|
aiccu start "$CFGFILE" |
|
|
|
|
|
|
|
@ -78,8 +89,12 @@ proto_aiccu_teardown() { |
|
|
local cfg="$1" |
|
|
local cfg="$1" |
|
|
local link="aiccu-$cfg" |
|
|
local link="aiccu-$cfg" |
|
|
CFGFILE="/var/etc/${link}.conf" |
|
|
CFGFILE="/var/etc/${link}.conf" |
|
|
|
|
|
|
|
|
aiccu stop "$CFGFILE" |
|
|
|
|
|
|
|
|
PIDFILE="/var/run/${link}.pid" |
|
|
|
|
|
[ -f "$CFGFILE" -a -f "$PIDFILE" ] && { |
|
|
|
|
|
local pid="$(cat "$PIDFILE")" |
|
|
|
|
|
[ -d /proc/$pid -a $(cat /proc/$pid/comm) = "aiccu" ] && \ |
|
|
|
|
|
aiccu stop "$CFGFILE" |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
proto_aiccu_init_config() { |
|
|
proto_aiccu_init_config() { |
|
@ -98,6 +113,7 @@ proto_aiccu_init_config() { |
|
|
proto_config_add_boolean "nat" |
|
|
proto_config_add_boolean "nat" |
|
|
proto_config_add_boolean "heartbeat" |
|
|
proto_config_add_boolean "heartbeat" |
|
|
proto_config_add_boolean "verbose" |
|
|
proto_config_add_boolean "verbose" |
|
|
|
|
|
proto_config_add_int "ntpsynctimeout" |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
[ -n "$INCLUDE_ONLY" ] || { |
|
|
[ -n "$INCLUDE_ONLY" ] || { |
|
|