- Add sudoers config file,
- Bug fixies, - Change rx3-base to rx3-base-libs dependency.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
Network Tools V 1.2.0 - A. GIBERT - 2026/04/23
|
||||
Network Tools V 1.2.0 - A. GIBERT - 2026/05/03
|
||||
------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
- Split repository to remove the Rx3 configuration part and push it to rx3-config repo,
|
||||
|
||||
@@ -35,14 +35,19 @@
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Package
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
Name: %{name}
|
||||
Version: %{version}
|
||||
Release: %{release}
|
||||
|
||||
Summary: Rx3 Network Tools
|
||||
|
||||
License: GPL
|
||||
URL: https://git.rx3.org/gitea/rx3/%{name}
|
||||
|
||||
Source0: https://git.rx3.org/gitea/rx3/%{name}/archive/%{name}-%{version}.tar.gz
|
||||
Group: System
|
||||
|
||||
Distribution: Rx3 Free Software
|
||||
Vendor: Rx3
|
||||
@@ -52,6 +57,9 @@ BuildArch: noarch
|
||||
|
||||
Requires: %{name}-libs
|
||||
|
||||
Source0: https://git.rx3.org/gitea/rx3/%{name}/archive/%{name}-%{version}.tar.gz
|
||||
|
||||
|
||||
|
||||
%description
|
||||
These tools aims to manage network operation on Rx3 systems. This include:
|
||||
@@ -72,7 +80,7 @@ This release support IPTables and OpenVPN.
|
||||
|
||||
%package libs
|
||||
Summary: Rx3 Network Tools Libraries
|
||||
Requires: rx3-base
|
||||
Requires: rx3-base-libs
|
||||
Requires: bind-utils
|
||||
|
||||
|
||||
@@ -113,6 +121,8 @@ This is the bash libraires.
|
||||
# Config
|
||||
%{__mkdir_p} %{buildroot}%{_sysconfdir}/sysconfig
|
||||
cp etc/sysconfig/* %{buildroot}%{_sysconfdir}/sysconfig
|
||||
%{__mkdir_p} %{buildroot}%{_sysconfdir}/sudoers.d
|
||||
cp etc/sudoers.d/* %{buildroot}%{_sysconfdir}/sudoers.d
|
||||
|
||||
# SystemD
|
||||
%{__mkdir_p} %{buildroot}%{_unitdir}
|
||||
@@ -180,6 +190,7 @@ cp www/cgi-bin/*.cgi %{buildroot}%{_webcgi}
|
||||
%doc ReadMe.txt ReleaseNotes.txt ToDo.txt
|
||||
%license COPYING COPYING.LESSER GNU_GPL-3.0.txt GNU_LGPL-3.0.txt GNU_FDL-1.3.txt
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/*
|
||||
%config(noreplace) %{_sysconfdir}/sudoers.d/*
|
||||
%defattr(644,root,root)
|
||||
%{_sysconfdir}/bash_completion.d/*
|
||||
%{_unitdir}/*.service
|
||||
@@ -202,5 +213,5 @@ cp www/cgi-bin/*.cgi %{buildroot}%{_webcgi}
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
%changelog
|
||||
* Tue Apr 21 2026 Arnaud G. GIBERT <arnaud@rx3.net> - 1.2.0-1rx3.mga9
|
||||
* Sun May 3 2026 Arnaud G. GIBERT <arnaud@rx3.net> - 1.2.0-1rx3.mga9
|
||||
- Create initial SPEC file for 1.2.0 on Mageia 9
|
||||
|
||||
2
etc/sudoers.d/rx3-network
Normal file
2
etc/sudoers.d/rx3-network
Normal file
@@ -0,0 +1,2 @@
|
||||
# Rx3 VPN Admin Board
|
||||
apache ALL= NOPASSWD: /usr/sbin/rx3_net_adm, /usr/sbin/iptables_list, /usr/sbin/cert_dump, /usr/sbin/ns-launch, /usr/sbin/openvpn-status
|
||||
@@ -46,10 +46,10 @@ fi
|
||||
# Global Variable
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
declare -Ag DNS_A_TAB
|
||||
declare -Ag DNS_A_TAB=()
|
||||
declare -g DNS_A_ID_LIST=""
|
||||
|
||||
declare -Ag DNS_PTR_TAB
|
||||
declare -Ag DNS_PTR_TAB=()
|
||||
declare -g DNS_PTR_ID_LIST=""
|
||||
|
||||
declare -g DNS_CACHE_FILE=""
|
||||
@@ -63,7 +63,7 @@ declare -g DNS_CACHE_UPDATED=0
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# dns_tab_load
|
||||
# Dns Tab Load
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
dns_tab_load()
|
||||
@@ -106,7 +106,7 @@ dns_tab_load()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# dns_tab_save
|
||||
# Dns Tab Save
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
dns_tab_save()
|
||||
@@ -142,7 +142,7 @@ dns_tab_save()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# dns_tab_get
|
||||
# Dns Tab Get
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
dns_tab_get()
|
||||
@@ -184,7 +184,7 @@ dns_tab_get()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# dns_tab_put
|
||||
# Dns Tab Put
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
dns_tab_put()
|
||||
@@ -212,14 +212,14 @@ dns_tab_put()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# dns_lookup
|
||||
# Dns Lookup
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
dns_lookup()
|
||||
{
|
||||
dl_type="$1"
|
||||
dl_key="$2"
|
||||
dl_flag="$3"
|
||||
dl_flag="${3:-"CACHE"}"
|
||||
|
||||
|
||||
if [[ "${dl_flag}" != "NOCACHE" ]]
|
||||
@@ -257,7 +257,7 @@ dns_lookup()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# dns_tab_dump
|
||||
# Dns Tab Dump
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
dns_tab_dump()
|
||||
@@ -292,7 +292,7 @@ dns_tab_dump()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# dns_host_update
|
||||
# Dns Host Update
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
dns_host_update()
|
||||
@@ -328,7 +328,7 @@ dns_host_update()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# dns_init
|
||||
# Dns Init
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
dns_init()
|
||||
@@ -342,7 +342,7 @@ dns_init()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# dns_deinit
|
||||
# Dns Deinit
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
dns_deinit()
|
||||
|
||||
@@ -48,20 +48,20 @@ fi
|
||||
|
||||
declare -g NETWORK_OPENVPN_STATUS
|
||||
|
||||
declare -Ag NETWORK_IP_ROUTE_TAB
|
||||
declare -g NETWORK_IP_ROUTE_ID_LIST
|
||||
declare -Ag NETWORK_IP_ROUTE_IP_IDX
|
||||
declare -Ag NETWORK_IP_ROUTE_TAB=()
|
||||
declare -g NETWORK_IP_ROUTE_ID_LIST=""
|
||||
declare -Ag NETWORK_IP_ROUTE_IP_IDX=()
|
||||
|
||||
declare -g NETWORK_SRC_TYPE
|
||||
declare -Ag NETWORK_SRC_TAB
|
||||
declare -g NETWORK_SRC_ID_LIST
|
||||
declare -Ag NETWORK_SRC_IP_IDX
|
||||
declare -g NETWORK_SRC_TYPE=""
|
||||
declare -Ag NETWORK_SRC_TAB=()
|
||||
declare -g NETWORK_SRC_ID_LIST=""
|
||||
declare -Ag NETWORK_SRC_IP_IDX=""
|
||||
|
||||
declare -g NETWORK_DST_TYPE
|
||||
declare -Ag NETWORK_DST_TAB
|
||||
declare -g NETWORK_DST_ID_LIST
|
||||
declare -Ag NETWORK_DST_NAME_IDX
|
||||
declare -Ag NETWORK_DST_DEV_IDX
|
||||
declare -g NETWORK_DST_TYPE=""
|
||||
declare -Ag NETWORK_DST_TAB=()
|
||||
declare -g NETWORK_DST_ID_LIST=""
|
||||
declare -Ag NETWORK_DST_NAME_IDX=()
|
||||
declare -Ag NETWORK_DST_DEV_IDX=()
|
||||
|
||||
declare -g NETWORK_CONFIG_FILE="/etc/sysconfig/rx3-network"
|
||||
declare -g NETWORK_CONFIG_LOCK="/var/lock/network/config"
|
||||
@@ -71,7 +71,7 @@ declare -g NETWORK_LOG_FILE
|
||||
declare -g NETWORK_LOG_LOCK
|
||||
#declare -g NETWORK_LOG_LOCK="${NETWORK_LOG_FILE}"
|
||||
|
||||
declare -g NETWORK_LOG_TRACE
|
||||
declare -g NETWORK_LOG_TRACE="DISABLE"
|
||||
|
||||
declare -g NETWORK_NC_TIMEOUT
|
||||
|
||||
@@ -80,14 +80,14 @@ declare -g NETWORK_NC_TIMEOUT
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_common_load
|
||||
# Network Common Load
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_common_load()
|
||||
{
|
||||
log_trace "Network" "Loading common..."
|
||||
|
||||
NETWORK_OPENVPN_STATUS="$( sudo /usr/local/sbin/openvpn-status)"
|
||||
NETWORK_OPENVPN_STATUS="$( sudo openvpn-status)"
|
||||
NETWORK_TABLE_LIST=""
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ network_common_load()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_common_dump
|
||||
# Network Common Dump
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_common_dump()
|
||||
@@ -112,7 +112,7 @@ network_common_dump()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_common_openvpn_stats_get
|
||||
# Network Common Openvpn Stats Get
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_common_openvpn_stats_get()
|
||||
@@ -127,7 +127,7 @@ network_common_openvpn_stats_get()
|
||||
else
|
||||
if [[ "${device}" == "" ]]
|
||||
then
|
||||
tmp="$( echo "${NETWORK_OPENVPN_STATUS}" | grep "CLIENT_LIST,${client},")"
|
||||
tmp="$( echo "${NETWORK_OPENVPN_STATUS}" | grep "CLIENT_LIST,${client},")" || true
|
||||
tmp="${tmp/*\//}"
|
||||
device="${tmp/.status*/}"
|
||||
fi
|
||||
@@ -141,7 +141,7 @@ network_common_openvpn_stats_get()
|
||||
|
||||
OIFS="${IFS}"
|
||||
IFS=","
|
||||
set XXX/$( echo "${NETWORK_OPENVPN_STATUS}" | grep "${device}\.status: CLIENT_LIST,${client},") &>/dev/null
|
||||
set XXX/$( echo "${NETWORK_OPENVPN_STATUS}" | grep "${device}\.status: CLIENT_LIST,${client},") &>/dev/null || true
|
||||
IFS="${OIFS}"
|
||||
|
||||
tmp="${1/XXX*\//}"
|
||||
@@ -161,12 +161,15 @@ network_common_openvpn_stats_get()
|
||||
else
|
||||
# OpenVPN Client Mode
|
||||
|
||||
set XXX/$( echo "${NETWORK_OPENVPN_STATUS}" | grep "${device}\.status:") &>/dev/null
|
||||
set XXX/$( echo "${NETWORK_OPENVPN_STATUS}" | grep "${device}\.status:") &>/dev/null || true
|
||||
|
||||
tmp="${1/XXX*\//}"
|
||||
tmp="${1:-""}"
|
||||
tmp="${tmp/XXX*\//}"
|
||||
ovpn_stat_device="${tmp/.status*/}"
|
||||
ovpn_stat_bytes_received="${18/bytes,}"
|
||||
ovpn_stat_bytes_sent="${22/bytes,}"
|
||||
tmp="${18:-0}"
|
||||
ovpn_stat_bytes_received="${tmp/bytes,/}"
|
||||
tmp="${22:-0}"
|
||||
ovpn_stat_bytes_sent="${tmp/bytes,/}"
|
||||
fi
|
||||
else
|
||||
ovpn_stat_device=""
|
||||
@@ -178,7 +181,7 @@ network_common_openvpn_stats_get()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_ip_route_tab_load
|
||||
# Network Ip Route Tab Load
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_ip_route_tab_load()
|
||||
@@ -217,7 +220,7 @@ network_ip_route_tab_load()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_ip_route_tab_get
|
||||
# Network Ip Route Tab Get
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_ip_route_tab_get()
|
||||
@@ -234,7 +237,7 @@ network_ip_route_tab_get()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_ip_route_tab_dump
|
||||
# Network Ip Route Tab Dump
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_ip_route_tab_dump()
|
||||
@@ -268,7 +271,7 @@ network_ip_route_tab_dump()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_dst_tab_load
|
||||
# Network Dst Tab Load
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_dst_tab_load()
|
||||
@@ -303,7 +306,7 @@ network_dst_tab_load()
|
||||
var_assign NETWORK_TABLE_LIST "${ndtl_table}" INC
|
||||
|
||||
|
||||
ndtl_status="$( ip link show dev ${ndtl_device} 2>/dev/null | grep -q ",UP," && echo "1" || echo "0")"
|
||||
ndtl_status="$( ip link show dev ${ndtl_device} 2>/dev/null | grep -q ",UP," && echo "1" || echo "0")" || true
|
||||
|
||||
|
||||
if [[ "${ndtl_type}" == "5" ]]
|
||||
@@ -322,8 +325,8 @@ network_dst_tab_load()
|
||||
case "${ndtl_type}"
|
||||
in
|
||||
"0")
|
||||
ndtl_bytes_received="$( cat /sys/class/net/${ndtl_device}/statistics/rx_bytes 2>/dev/null | numfmt --to=iec-i --suffix=B)"
|
||||
ndtl_bytes_sent="$( cat /sys/class/net/${ndtl_device}/statistics/tx_bytes 2>/dev/null | numfmt --to=iec-i --suffix=B)"
|
||||
ndtl_bytes_received="$( cat /sys/class/net/${ndtl_device}/statistics/rx_bytes 2>/dev/null | numfmt --to=iec-i --suffix=B)" || true
|
||||
ndtl_bytes_sent="$( cat /sys/class/net/${ndtl_device}/statistics/tx_bytes 2>/dev/null | numfmt --to=iec-i --suffix=B)" || true
|
||||
;;
|
||||
|
||||
"1"|"2")
|
||||
@@ -336,8 +339,8 @@ network_dst_tab_load()
|
||||
ndtl_bytes_received=""
|
||||
ndtl_bytes_sent=""
|
||||
else
|
||||
ndtl_bytes_received="$( echo ${ovpn_stat_bytes_received} | numfmt --to=iec-i --suffix=B)"
|
||||
ndtl_bytes_sent="$( echo ${ovpn_stat_bytes_sent} | numfmt --to=iec-i --suffix=B)"
|
||||
ndtl_bytes_received="$( echo ${ovpn_stat_bytes_received} | numfmt --to=iec-i --suffix=B)" || true
|
||||
ndtl_bytes_sent="$( echo ${ovpn_stat_bytes_sent} | numfmt --to=iec-i --suffix=B)" || true
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
@@ -352,10 +355,10 @@ network_dst_tab_load()
|
||||
if [[ "${ndtl_type}" == "1" ]]
|
||||
then
|
||||
ndtl_start_date="${ovpn_stat_connected_date}"
|
||||
ndtl_uptime="$( echo $(( $(date +%s) - ${ovpn_stat_connected_time_t})) | awk '{days = int($1/86400); print days " day" (( days > 1 ) ? "s" : "") strftime(" %H:%M:%S", $1,1)}')"
|
||||
ndtl_uptime="$( echo $(( $(date +%s) - ${ovpn_stat_connected_time_t})) | awk '{days = int($1/86400); print days " day" (( days > 1 ) ? "s" : "") strftime(" %H:%M:%S", $1,1)}')" || true
|
||||
else
|
||||
ndtl_start_date="$( stat -c %Z /sys/class/net/${ndtl_device})"
|
||||
ndtl_uptime="$( echo $(( $(date +%s) - ${ndtl_start_date})) | awk '{days = int($1/86400); print days " day" (( days > 1 ) ? "s" : "") strftime(" %H:%M:%S", $1,1)}')"
|
||||
ndtl_start_date="$( stat -c %Z /sys/class/net/${ndtl_device})" || true
|
||||
ndtl_uptime="$( echo $(( $(date +%s) - ${ndtl_start_date})) | awk '{days = int($1/86400); print days " day" (( days > 1 ) ? "s" : "") strftime(" %H:%M:%S", $1,1)}')" || true
|
||||
fi
|
||||
else
|
||||
ndtl_start_date=""
|
||||
@@ -381,7 +384,7 @@ network_dst_tab_load()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_dst_tab_get
|
||||
# Network Dst Tab Get
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_dst_tab_get()
|
||||
@@ -408,7 +411,7 @@ network_dst_tab_get()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_dst_tab_dump
|
||||
# Network Dst Tab Dump
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_dst_tab_dump()
|
||||
@@ -462,7 +465,7 @@ network_dst_tab_dump()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_dst_tab_name_lookup
|
||||
# Network Dst Tab Name Lookup
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_dst_tab_name_lookup()
|
||||
@@ -477,7 +480,7 @@ network_dst_tab_name_lookup()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_dst_tab_dev_lookup
|
||||
# Network Dst Tab Dev Lookup
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_dst_tab_dev_lookup()
|
||||
@@ -492,7 +495,7 @@ network_dst_tab_dev_lookup()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_dst_ip_update
|
||||
# Network Dst Ip Update
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_dst_ip_update()
|
||||
@@ -516,7 +519,7 @@ network_dst_ip_update()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_dst_ip_update
|
||||
# Network Dst Ip Update
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_dst_ip_update()
|
||||
@@ -539,7 +542,7 @@ network_dst_ip_update()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_dst_name_ip_update
|
||||
# Network Dst Name Ip Update
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_dst_name_ip_update()
|
||||
@@ -564,7 +567,7 @@ network_dst_name_ip_update()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_src_tab_load
|
||||
# Network Src Tab Load
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_src_tab_load()
|
||||
@@ -576,7 +579,7 @@ network_src_tab_load()
|
||||
|
||||
log_trace "Network" "Loading Src tab..."
|
||||
|
||||
ip_base=$( ip_ip_to_num ${NETWORK_SRC_LOCAL_ADDRESS})
|
||||
ip_base=$( ip_ip_to_num ${NETWORK_SRC_LOCAL_ADDRESS}) || true
|
||||
|
||||
while IFS= read -r line
|
||||
do
|
||||
@@ -613,14 +616,14 @@ network_src_tab_load()
|
||||
device_num="$(( ( ${ip_num} - ${ip_base}) / 4))"
|
||||
|
||||
nstl_device="${NETWORK_SRC_LOCAL_DEVICE}-${device_num}"
|
||||
nstl_status="$( ip link show dev ${nstl_device} 2>/dev/null | grep -q ",UP," && echo "1" || echo "0")"
|
||||
nstl_status="$( ip link show dev ${nstl_device} 2>/dev/null | grep -q ",UP," && echo "1" || echo "0")" || true
|
||||
|
||||
if [[ "${nstl_status}" == 1 ]]
|
||||
then
|
||||
nstl_bytes_received="$( cat /sys/class/net/${nstl_device}/statistics/rx_bytes 2>/dev/null | numfmt --to=iec-i --suffix=B)"
|
||||
nstl_bytes_sent="$( cat /sys/class/net/${nstl_device}/statistics/tx_bytes 2>/dev/null | numfmt --to=iec-i --suffix=B)"
|
||||
nstl_start_date="$( stat -c %Z /sys/class/net/${nstl_device})"
|
||||
nstl_uptime="$( echo $(( $(date +%s) - ${nstl_start_date})) | awk '{days = int($1/86400); print days " day" (( days > 1 ) ? "s" : "") strftime(" %H:%M:%S", $1,1)}')"
|
||||
nstl_bytes_received="$( cat /sys/class/net/${nstl_device}/statistics/rx_bytes 2>/dev/null | numfmt --to=iec-i --suffix=B)" || true
|
||||
nstl_bytes_sent="$( cat /sys/class/net/${nstl_device}/statistics/tx_bytes 2>/dev/null | numfmt --to=iec-i --suffix=B)" || true
|
||||
nstl_start_date="$( stat -c %Z /sys/class/net/${nstl_device})" || true
|
||||
nstl_uptime="$( echo $(( $(date +%s) - ${nstl_start_date})) | awk '{days = int($1/86400); print days " day" (( days > 1 ) ? "s" : "") strftime(" %H:%M:%S", $1,1)}')" || true
|
||||
else
|
||||
nstl_bytes_received=""
|
||||
nstl_bytes_sent=""
|
||||
@@ -635,6 +638,7 @@ network_src_tab_load()
|
||||
|
||||
nstl_bytes_received=""
|
||||
nstl_bytes_sent=""
|
||||
nstl_start_date=""
|
||||
nstl_uptime=""
|
||||
nstl_last_seen=""
|
||||
;;
|
||||
@@ -650,15 +654,15 @@ network_src_tab_load()
|
||||
nstl_bytes_sent=""
|
||||
nstl_start_date=""
|
||||
nstl_uptime=""
|
||||
nstl_last_seen="$( stat -c "%x" /etc/openvpn/status/${nstl_host_name}.status 2>/dev/null | sed -e 's/\..*//')"
|
||||
nstl_last_seen="$( stat -c "%x" /etc/openvpn/status/${nstl_host_name}.status 2>/dev/null | sed -e 's/\..*//')" || true
|
||||
else
|
||||
nstl_device="${ovpn_stat_device}"
|
||||
nstl_status="1"
|
||||
nstl_bytes_received=$( echo ${ovpn_stat_bytes_sent} | numfmt --to=iec-i --suffix=B)
|
||||
nstl_bytes_sent=$( echo ${ovpn_stat_bytes_sent} | numfmt --to=iec-i --suffix=B)
|
||||
nstl_bytes_received=$( echo ${ovpn_stat_bytes_sent} | numfmt --to=iec-i --suffix=B) || true
|
||||
nstl_bytes_sent=$( echo ${ovpn_stat_bytes_sent} | numfmt --to=iec-i --suffix=B) || true
|
||||
nstl_start_date=${ovpn_stat_connected_date}
|
||||
nstl_uptime=$( echo "$(($(date +%s) - $(date -d "${nstl_start_date}" +%s)))" | awk '{days = int($1/86400); print days " day" (( days > 1 ) ? "s" : "") strftime(" %H:%M:%S", $1,1)}')
|
||||
nstl_last_seen="$(stat -c "%x" /etc/openvpn/status/${nstl_host_name}.status 2>/dev/null | sed -e 's/\..*//')"
|
||||
nstl_uptime=$( echo "$(($(date +%s) - $(date -d "${nstl_start_date}" +%s)))" | awk '{days = int($1/86400); print days " day" (( days > 1 ) ? "s" : "") strftime(" %H:%M:%S", $1,1)}') || true
|
||||
nstl_last_seen="$(stat -c "%x" /etc/openvpn/status/${nstl_host_name}.status 2>/dev/null | sed -e 's/\..*//')" || true
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
@@ -684,6 +688,7 @@ network_src_tab_load()
|
||||
tab_assign NETWORK_SRC_TAB "${nstl_id},Status" "${nstl_status}"
|
||||
tab_assign NETWORK_SRC_TAB "${nstl_id},Bytes_Received" "${nstl_bytes_received}"
|
||||
tab_assign NETWORK_SRC_TAB "${nstl_id},Bytes_Sent" "${nstl_bytes_sent}"
|
||||
tab_assign NETWORK_SRC_TAB "${nstl_id},Start_Date" "${nstl_start_date}"
|
||||
tab_assign NETWORK_SRC_TAB "${nstl_id},Uptime" "${nstl_uptime}"
|
||||
tab_assign NETWORK_SRC_TAB "${nstl_id},Last_Seen" "${nstl_last_seen}"
|
||||
|
||||
@@ -700,7 +705,7 @@ network_src_tab_load()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_src_tab_get
|
||||
# Network Src Tab Get
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_src_tab_get()
|
||||
@@ -738,7 +743,7 @@ network_src_tab_get()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_src_tab_dump
|
||||
# Network Src Tab Dump
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_src_tab_dump()
|
||||
@@ -780,7 +785,7 @@ network_src_tab_dump()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_src_tab_ip_lookup
|
||||
# Network Src Tab Ip Lookup
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_src_tab_ip_lookup()
|
||||
@@ -795,7 +800,7 @@ network_src_tab_ip_lookup()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_tab_load
|
||||
# Network Tab Load
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_tab_load()
|
||||
@@ -818,7 +823,7 @@ network_tab_load()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_tab_dump
|
||||
# Network Tab Dump
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_tab_dump()
|
||||
@@ -837,7 +842,7 @@ network_tab_dump()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_route_dst_init
|
||||
# Network Route Dst Init
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_route_dst_init()
|
||||
@@ -873,7 +878,7 @@ network_route_dst_init()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_route_rx3_init
|
||||
# Network Route Rx3 Init
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_route_rx3_init()
|
||||
@@ -904,7 +909,7 @@ network_route_rx3_init()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_route_other_init
|
||||
# Network Route Other Init
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_route_other_init()
|
||||
@@ -933,7 +938,7 @@ network_route_other_init()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_device_init
|
||||
# Network Device Init
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_device_init()
|
||||
@@ -963,7 +968,7 @@ network_device_init()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_device_deinit
|
||||
# Network Device Deinit
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_device_deinit()
|
||||
@@ -992,7 +997,7 @@ network_device_deinit()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_route_init
|
||||
# Network Route Init
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_route_init()
|
||||
@@ -1015,7 +1020,7 @@ network_route_init()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_route_deinit
|
||||
# Network Route Deinit
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_route_deinit()
|
||||
@@ -1048,7 +1053,7 @@ network_route_deinit()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_table_set
|
||||
# Network Table Set
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_table_set()
|
||||
@@ -1085,7 +1090,7 @@ network_table_set()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_dst_address_init_all
|
||||
# Network Dst Address Init All
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_dst_address_init_all()
|
||||
@@ -1102,7 +1107,7 @@ network_dst_address_init_all()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_dst_address_refresh
|
||||
# Network Dst Address Refresh
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_dst_address_refresh()
|
||||
@@ -1129,7 +1134,7 @@ network_dst_address_refresh()
|
||||
log_info "Network" "Reseting IP: [${dst_host_name}]: IP: [${dst_ip_new}] Status: (${dst_status})"
|
||||
dst_ip_new="0.0.0.0"
|
||||
else
|
||||
dst_ip_new="$( nc -w "${NETWORK_NC_TIMEOUT}" "${proxy_host}" "${proxy_port}" 2>/dev/null)"
|
||||
dst_ip_new="$( nc -w "${NETWORK_NC_TIMEOUT}" "${proxy_host}" "${proxy_port}" 2>/dev/null)" || true
|
||||
fi
|
||||
|
||||
if ip_is_valid_ip "${dst_ip_new}"
|
||||
@@ -1157,7 +1162,7 @@ network_dst_address_refresh()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_dst_address_refresh_all
|
||||
# Network Dst Address Refresh All
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_dst_address_refresh_all()
|
||||
@@ -1173,7 +1178,7 @@ network_dst_address_refresh_all()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# bridge_up
|
||||
# Bridge Up
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
function bridge_up
|
||||
@@ -1215,7 +1220,7 @@ function bridge_up
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# bridge_down
|
||||
# Bridge Down
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
function bridge_down
|
||||
@@ -1248,7 +1253,7 @@ function bridge_down
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_bridge_init
|
||||
# Network Bridge Init
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_bridge_init()
|
||||
@@ -1277,7 +1282,7 @@ network_bridge_init()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_bridge_deinit
|
||||
# Network Bridge Deinit
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_bridge_deinit()
|
||||
@@ -1306,7 +1311,7 @@ network_bridge_deinit()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_forward_add
|
||||
# Network Forward Add
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_forward_add()
|
||||
@@ -1325,7 +1330,7 @@ network_forward_add()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_forward_remove
|
||||
# Network Forward Remove
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_forward_remove()
|
||||
@@ -1343,7 +1348,7 @@ network_forward_remove()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_forward_start
|
||||
# Network Forward Start
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_forward_start()
|
||||
@@ -1390,7 +1395,7 @@ network_forward_start()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_forward_stop
|
||||
# Network Forward Stop
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_forward_stop()
|
||||
@@ -1433,19 +1438,11 @@ network_forward_stop()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_init
|
||||
# Network Init
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_init()
|
||||
{
|
||||
file_dir_init ${NETWORK_CONFIG_LOCK} root apache
|
||||
file_lock ${NETWORK_CONFIG_LOCK} READ 9
|
||||
|
||||
[ -e "${NETWORK_CONFIG_FILE}" ] && . "${NETWORK_CONFIG_FILE}"
|
||||
|
||||
file_unlock 9
|
||||
|
||||
|
||||
# By default Loggin is enabled
|
||||
# export LOG="" to disable it
|
||||
|
||||
@@ -1464,6 +1461,14 @@ network_init()
|
||||
export ECHO=":"
|
||||
fi
|
||||
|
||||
file_dir_init ${NETWORK_CONFIG_LOCK} root apache
|
||||
file_lock ${NETWORK_CONFIG_LOCK} READ 9
|
||||
|
||||
[ -e "${NETWORK_CONFIG_FILE}" ] && . "${NETWORK_CONFIG_FILE}"
|
||||
|
||||
file_unlock 9
|
||||
|
||||
|
||||
log_set "${NETWORK_LOG_FILE}" "${NETWORK_LOG_LOCK}" "${ECHO}" "${NETWORK_LOG_TRACE}"
|
||||
|
||||
|
||||
@@ -1480,7 +1485,7 @@ network_init()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_deinit
|
||||
# Network Deinit
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_deinit()
|
||||
@@ -1510,7 +1515,7 @@ network_deinit()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_reinit
|
||||
# Network Reinit
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_reinit()
|
||||
@@ -1524,7 +1529,7 @@ network_reinit()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_start
|
||||
# Network Start
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_start()
|
||||
@@ -1547,7 +1552,7 @@ network_start()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_stop
|
||||
# Network Stop
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_stop()
|
||||
@@ -1570,7 +1575,7 @@ network_stop()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# network_status
|
||||
# Network Status
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
network_status()
|
||||
@@ -1592,7 +1597,7 @@ network_status()
|
||||
then
|
||||
echo ${src_device}
|
||||
fi
|
||||
done | sort -u
|
||||
done | sort -Vu
|
||||
|
||||
echo "DST"
|
||||
for dst_id in ${NETWORK_DST_ID_LIST}
|
||||
@@ -1603,7 +1608,7 @@ network_status()
|
||||
then
|
||||
echo ${dst_device}
|
||||
fi
|
||||
done | sort -u
|
||||
done | sort -Vu
|
||||
) | while read entry
|
||||
do
|
||||
case ${entry}
|
||||
@@ -1619,7 +1624,7 @@ network_status()
|
||||
;;
|
||||
|
||||
*)
|
||||
ip address show $entry | sed -e 's/^[^:]*: //'
|
||||
ip address show $entry | sed -e 's/^[^:]*: //' || true
|
||||
;;
|
||||
esac
|
||||
done
|
||||
@@ -1639,15 +1644,15 @@ network_status()
|
||||
do
|
||||
echo "Table ${table}:"
|
||||
|
||||
ip route list table ${table}
|
||||
ip route list table ${table} || true
|
||||
echo
|
||||
done
|
||||
fi
|
||||
|
||||
echo "Forward:"
|
||||
|
||||
iptables -t nat -L PREROUTING -v -n
|
||||
iptables -t nat -L PREROUTING -v -n || true
|
||||
echo
|
||||
|
||||
iptables -t nat -L PREROUTING-VPN -v -n
|
||||
iptables -t nat -L PREROUTING-VPN -v -n || true
|
||||
}
|
||||
|
||||
@@ -46,9 +46,9 @@ fi
|
||||
# Global Variable
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
declare -Ag VPN_JOB_TAB
|
||||
declare -Ag VPN_JOB_ID_LIST
|
||||
declare -Ag VPN_JOB_NAME_IDX
|
||||
declare -Ag VPN_JOB_TAB=()
|
||||
declare -g VPN_JOB_ID_LIST=""
|
||||
declare -Ag VPN_JOB_NAME_IDX=()
|
||||
|
||||
declare -g VPN_PID_FILE
|
||||
declare -g VPN_STATUS_FILE
|
||||
@@ -59,7 +59,7 @@ declare -g VPN_STATUS_LOCK
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# vpn_config_make
|
||||
# VPN Config Make
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
vpn_config_make()
|
||||
@@ -81,7 +81,7 @@ vpn_config_make()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# vpn_config_make_all
|
||||
# VPN Config Make All
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
vpn_config_make_all()
|
||||
@@ -108,7 +108,7 @@ vpn_config_make_all()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# vpn_job_tab_load
|
||||
# VPN Job Tab Load
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
vpn_job_tab_load()
|
||||
@@ -153,7 +153,7 @@ vpn_job_tab_load()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# vpn_job_tab_get
|
||||
# VPN Job Tab Get
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
vpn_job_tab_get()
|
||||
@@ -172,7 +172,7 @@ vpn_job_tab_get()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# vpn_job_tab_save
|
||||
# VPN Job Tab Save
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
vpn_job_tab_save()
|
||||
@@ -211,7 +211,7 @@ VPN_STATUS="
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# vpn_job_tab_init
|
||||
# VPN Job Tab Init
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
vpn_job_tab_init()
|
||||
@@ -252,7 +252,7 @@ vpn_job_tab_init()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# vpn_job_tab_deinit
|
||||
# VPN Job Tab Deinit
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
vpn_job_tab_deinit()
|
||||
@@ -286,7 +286,7 @@ vpn_job_tab_deinit()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# vpn_job_tab_dump
|
||||
# VPN Job Tab Dump
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
vpn_job_tab_dump()
|
||||
@@ -318,7 +318,7 @@ vpn_job_tab_dump()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# vpn_supervisor
|
||||
# VPN Supervisor
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
vpn_supervisor()
|
||||
@@ -383,7 +383,7 @@ vpn_supervisor()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# vpn_kill_jobs
|
||||
# VPN Kill Jobs
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
vpn_jobs_kill()
|
||||
@@ -415,7 +415,7 @@ vpn_jobs_kill()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# vpn_init
|
||||
# VPN Init
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
vpn_init()
|
||||
@@ -447,7 +447,7 @@ vpn_init()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# vpn_deinit
|
||||
# VPN Deinit
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
vpn_deinit()
|
||||
@@ -460,7 +460,7 @@ vpn_deinit()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# vpn_start
|
||||
# VPN Start
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
vpn_start()
|
||||
@@ -502,7 +502,7 @@ vpn_start()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# vpn_stop
|
||||
# VPN Stop
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
vpn_stop()
|
||||
@@ -545,7 +545,7 @@ vpn_stop()
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# vpn_status
|
||||
# VPN Status
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
vpn_status()
|
||||
|
||||
@@ -49,13 +49,16 @@ declare -g DRY_RUN="FALSE"
|
||||
declare -g RETVAL=0
|
||||
declare -g prog="rx3-net"
|
||||
|
||||
declare -g DEBUG=""
|
||||
declare -g DEBUG="${DEBUG-}"
|
||||
#declare -g DEBUG=""
|
||||
#declare -g DEBUG="echo"
|
||||
#declare -g DEBUG=":"
|
||||
|
||||
declare -g LOG=""
|
||||
#declare -g LOG=":"
|
||||
#declare -g LOG="echo"
|
||||
declare -g ECHO="${ECHO-}"
|
||||
#declare -g ECHO="echo"
|
||||
#declare -g ECHO=":"
|
||||
|
||||
#declare -g LOG=""
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user