- Add VSL support,

- Display VSL tab in VPN Admin Board,
- Support now rx3-base 1.2.0.
This commit is contained in:
2026-09-11 20:21:19 +02:00
parent 3dc7f6bdd5
commit c250bfe433
17 changed files with 431 additions and 245 deletions

View File

@@ -1,3 +1,14 @@
------------------------------------------------------------------------------------------------------------------------------------
Network Tools V 1.2.4 - A. GIBERT - 2026/09/12
------------------------------------------------------------------------------------------------------------------------------------
- Add VSL support,
- Display VSL tab in VPN Admin Board,
- Fix unset QUERY_STRING & REMOTE_USER variables case in VPN Admin Board,
- Support now rx3-base 1.2.0.
------------------------------------------------------------------------------------------------------------------------------------
Network Tools V 1.2.3 - A. GIBERT - 2026/08/25
------------------------------------------------------------------------------------------------------------------------------------

View File

@@ -24,7 +24,7 @@
%define name network_tools
%define version 1.2.3
%define version 1.2.4
%define release %mkrel 1rx3
%global debug_package %{nil}
@@ -213,6 +213,9 @@ cp www/cgi-bin/*.cgi %{buildroot}%{_webcgi}
#-----------------------------------------------------------------------------------------------------------------------------------
%changelog
* Sat Sep 12 2026 Arnaud G. GIBERT <arnaud@rx3.net> - 1.2.4-1rx3.mga9
- Update to 1.2.4
* Tue Aug 25 2026 Arnaud G. GIBERT <arnaud@rx3.net> - 1.2.3-1rx3.mga9
- Update to 1.2.3

View File

@@ -46,6 +46,9 @@ fi
# Global Variable
#-----------------------------------------------------------------------------------------------------------------------------------
declare LIB_NAME="DNS"
declare LIB_VERSION="1.2.4"
declare -Ag DNS_A_TAB=()
declare -g DNS_A_ID_LIST=""
@@ -358,3 +361,12 @@ dns_deinit()
# :;
}
#--------------------------------------------------------------------------------------------------------------------------
# Main
#--------------------------------------------------------------------------------------------------------------------------
vsl_add

View File

@@ -46,6 +46,9 @@ fi
# Global Variable
#-----------------------------------------------------------------------------------------------------------------------------------
declare LIB_NAME="IP"
declare LIB_VERSION="1.2.4"
@@ -143,3 +146,10 @@ ip_ip_filter()
#--------------------------------------------------------------------------------------------------------------------------
# Main
#--------------------------------------------------------------------------------------------------------------------------
vsl_add

View File

@@ -46,7 +46,10 @@ fi
# Global Variable
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g NETWORK_OPENVPN_STATUS
declare LIB_NAME="Network"
declare LIB_VERSION="1.2.4"
declare -g N ETWORK_OPENVPN_STATUS
declare -Ag NETWORK_IP_ROUTE_TAB=()
declare -g NETWORK_IP_ROUTE_ID_LIST=""
@@ -1669,3 +1672,13 @@ network_status()
iptables -t nat -L PREROUTING-VPN -v -n || true
}
#--------------------------------------------------------------------------------------------------------------------------
# Main
#--------------------------------------------------------------------------------------------------------------------------
vsl_add

View File

@@ -46,6 +46,9 @@ fi
# Global Variable
#-----------------------------------------------------------------------------------------------------------------------------------
declare LIB_NAME="VPN"
declare LIB_VERSION="1.2.4"
declare -Ag VPN_JOB_TAB=()
declare -g VPN_JOB_ID_LIST=""
declare -Ag VPN_JOB_NAME_IDX=()
@@ -572,3 +575,13 @@ vpn_status()
printf "%-*s | %-*s | %-*s | %-*s | %-*s | %-*s | %-*s\n" 8 "${job_id}" 24 "${job_name}" 8 "${job_status}" 8 "${job_pid}" 32 "${job_date}" 15 "${dst_ip}" 8 "${job_cmd}"
done
}
#--------------------------------------------------------------------------------------------------------------------------
# Main
#--------------------------------------------------------------------------------------------------------------------------
vsl_add

View File

@@ -37,14 +37,14 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.2.0"
declare -g VERSION="1.2.4"
declare -g NAME="cert_dump"
declare -g HELP="usage: [-h | --help] | [-V | --version] | [-v | --verbose] {ca|tc|key|csr|crt} [host]"
declare -g EXIT_CODE=0
declare -g MODE="DEFAULT"
declare -g VERBOSE="FALSE"
declare -g DRY_RUN="FALSE"
declare -g RETVAL=0
declare -g DEBUG=""
#declare -g DEBUG="echo"
@@ -81,7 +81,6 @@ cdu_version_print()
cdu_help_print()
{
cdu_version_print
help_print
}
@@ -104,9 +103,11 @@ cdu_args_parse()
while true
do
case "$1" in
# Options
-h|--help) MODE="EXIT"; cdu_help_print; shift;;
-V|--version) MODE="EXIT"; cdu_version_print; shift;;
# Mode switches
-h|--help) MODE="HELP"; shift;;
-V|--version) MODE="VERSION"; shift;;
# Global options
-v|--verbose) VERBOSE="TRUE"; shift;;
# End of options
@@ -115,14 +116,13 @@ cdu_args_parse()
esac
done
if [[ "${MODE}" != "EXIT" ]]
if [[ "${MODE}" == "DEFAULT" ]]
then
if [[ "${#}" -lt "1" ]]
then
MODE="EXIT"
echo_error "Not enough args!"
cdu_help_print
MODE="HELP"
EXIT_CODE=1
else
case "$1" in
"ca"|"tc")
@@ -132,10 +132,9 @@ cdu_args_parse()
"key"|"csr"|"crt")
if [[ "${#}" -lt "2" ]]
then
MODE="EXIT"
echo_error "Missing host argument for type: [$1]"
cdu_help_print
MODE="HELP"
EXIT_CODE=1
else
MODE="$(echo "$1" | tr '[:lower:]' '[:upper:]')"
HOST="$2"
@@ -143,10 +142,9 @@ cdu_args_parse()
;;
*)
MODE="EXIT"
echo_error "Invalid type: [$1]"
cdu_help_print
MODE="HELP"
EXIT_CODE=1
;;
esac
fi
@@ -232,15 +230,26 @@ cdu_cert_dump_crt()
# Main
#-----------------------------------------------------------------------------------------------------------------------------------
vsl_add
cdu_args_parse "$@"
case "${MODE}" in
"EXIT")
exit ${EXIT_CODE}
;;
if [[ "${MODE}" == "EXIT" ]]
then
exit 0
fi
"HELP")
cdu_help_print
exit ${EXIT_CODE}
;;
"VERSION")
cdu_version_print
exit ${EXIT_CODE}
;;
esac
case "${MODE}" in
@@ -266,10 +275,10 @@ case "${MODE}" in
*)
cdu_help_print
RETVAL=1
EXIT_CODE=1
;;
esac
exit ${RETVAL}
exit ${EXIT_CODE}

View File

@@ -39,14 +39,14 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.0.0"
declare -g VERSION="1.2.4"
declare -g NAME="ip_host_update"
declare -g HELP="usage: [-h | --help] | [-V | --version] | [-v | --verbose] <host> <zone> <ip> <ttl>"
declare -g EXIT_CODE=0
declare -g MODE="DEFAULT"
declare -g VERBOSE="FALSE"
declare -g DRY_RUN="FALSE"
declare -g RETVAL=0
declare -g DEBUG=""
#declare -g DEBUG="echo"
@@ -84,7 +84,6 @@ ihu_version_print()
ihu_help_print()
{
ihu_version_print
help_print
}
@@ -107,9 +106,11 @@ ihu_args_parse()
while true
do
case "$1" in
# Options
-h|--help) MODE="EXIT"; ihu_help_print; shift;;
-V|--version) MODE="EXIT"; ihu_version_print; shift;;
# Mode switches
-h|--help) MODE="HELP"; shift;;
-V|--version) MODE="VERSION"; shift;;
# Global options
-v|--verbose) VERBOSE="TRUE"; shift;;
# End of options
@@ -118,14 +119,13 @@ ihu_args_parse()
esac
done
if [[ "${MODE}" != "EXIT" ]]
if [[ "${MODE}" == "DEFAULT" ]]
then
if [[ "${#}" -lt "4" ]]
then
MODE="EXIT"
echo_error "Not enough args!"
ihu_help_print
MODE="HELP"
EXIT_CODE=1
else
MODE="UPDATE"
HOST="$1"
@@ -162,12 +162,27 @@ ihu_host_update()
# Main
#-----------------------------------------------------------------------------------------------------------------------------------
vsl_add
ihu_args_parse "$@"
if [[ "${MODE}" == "EXIT" ]]
then
exit 0
fi
case "${MODE}" in
"EXIT")
exit ${EXIT_CODE}
;;
"HELP")
ihu_help_print
exit ${EXIT_CODE}
;;
"VERSION")
ihu_version_print
exit ${EXIT_CODE}
;;
esac
case "${MODE}" in
UPDATE)
@@ -176,8 +191,8 @@ case "${MODE}" in
*)
echo "Usage: $0 <host> <zone> <ip> <ttl>"
RETVAL=1
EXIT_CODE=1
;;
esac
exit ${RETVAL}
exit ${EXIT_CODE}

View File

@@ -39,7 +39,7 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.2.0"
declare -g VERSION="1.2.4"
declare -g NAME="openvpn-client-down"
declare -g DEBUG=""

View File

@@ -39,7 +39,7 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.0.0"
declare -g VERSION="1.2.4"
declare -g NAME="openvpn-client-up"
declare -g DEBUG=""

View File

@@ -39,7 +39,7 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.0.0"
declare -g VERSION="1.2.4"
declare -g NAME="openvpn-down"
declare -g DEBUG=""

View File

@@ -39,14 +39,14 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.0.0"
declare -g VERSION="1.2.4"
declare -g NAME="openvpn-status"
declare -g HELP="usage: [-h | --help] | [-V | --version] | [-v | --verbose] [dev]"
declare -g EXIT_CODE=0
declare -g MODE="DEFAULT"
declare -g VERBOSE="FALSE"
declare -g DRY_RUN="FALSE"
declare -g RETVAL=0
declare -g DEBUG=""
#declare -g DEBUG="echo"
@@ -105,9 +105,11 @@ ovs_args_parse()
while true
do
case "$1" in
# Options
-h|--help) MODE="EXIT"; ovs_help_print; shift;;
-V|--version) MODE="EXIT"; ovs_version_print; shift;;
# Mode switches
-h|--help) MODE="HELP"; shift;;
-V|--version) MODE="VERSION"; shift;;
# Global options
-v|--verbose) VERBOSE="TRUE"; shift;;
# End of options
@@ -116,7 +118,7 @@ ovs_args_parse()
esac
done
if [[ "${MODE}" != "EXIT" ]]
if [[ "${MODE}" == "DEFAULT" ]]
then
if [[ "${#}" -ge "1" ]]
then
@@ -164,15 +166,26 @@ ovs_status_all()
# Main
#-----------------------------------------------------------------------------------------------------------------------------------
vsl_add
ovs_args_parse "$@"
case "${MODE}" in
"EXIT")
exit ${EXIT_CODE}
;;
if [[ "${MODE}" == "EXIT" ]]
then
exit 0
fi
"HELP")
ovs_help_print
exit ${EXIT_CODE}
;;
"VERSION")
ovs_version_print
exit ${EXIT_CODE}
;;
esac
case "${MODE}" in
@@ -186,8 +199,9 @@ case "${MODE}" in
*)
echo "Usage: $0 [dev]"
RETVAL=1
EXIT_CODE=1
;;
esac
exit ${RETVAL}
exit ${EXIT_CODE}

View File

@@ -37,7 +37,7 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.0.0"
declare -g VERSION="1.2.4"
declare -g NAME="openvpn-up"
declare -g DEBUG=""

View File

@@ -39,14 +39,14 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.2.0"
declare -g VERSION="1.2.4"
declare -g NAME="rx3_net_adm"
declare -g HELP="usage: [-h | --help] | [-V | --version] | [-v | --verbose] {start|stop|restart|status|dump|table_set|refresh_address} [args...]"
declare -g EXIT_CODE=0
declare -g MODE="DEFAULT"
declare -g VERBOSE="FALSE"
declare -g DRY_RUN="FALSE"
declare -g RETVAL=0
declare -g prog="rx3-net"
declare -g DEBUG="${DEBUG-}"
@@ -83,7 +83,7 @@ rna_version_print()
rna_help_print()
{
rna_version_print
version_print ""
help_print
}
@@ -106,9 +106,11 @@ rna_args_parse()
while true
do
case "$1" in
# Options
-h|--help) MODE="EXIT"; rna_help_print; shift;;
-V|--version) MODE="EXIT"; rna_version_print; shift;;
# Mode switches
-h|--help) MODE="HELP"; shift;;
-V|--version) MODE="VERSION"; shift;;
# Global options
-v|--verbose) VERBOSE="TRUE"; shift;;
# End of options
@@ -117,14 +119,13 @@ rna_args_parse()
esac
done
if [[ "${MODE}" != "EXIT" ]]
if [[ "${MODE}" == "DEFAULT" ]]
then
if [[ "${#}" -lt "1" ]]
then
MODE="EXIT"
echo_error "Not enough args!"
rna_help_print
MODE="HELP"
EXIT_CODE=1
else
case "$1" in
start|stop|restart|status|dump|table_set|refresh_address)
@@ -132,10 +133,9 @@ rna_args_parse()
;;
*)
MODE="EXIT"
echo_error "Invalid command: [$1]"
rna_help_print
MODE="HELP"
EXIT_CODE=1
;;
esac
fi
@@ -157,12 +157,12 @@ rna_start()
if [ -r /var/lock/subsys/rx3-net ]
then
echo "already started"
RETVAL=0
EXIT_CODE=0
else
network_start
RETVAL=$?
[ "${RETVAL}" = 0 ] && touch /var/lock/subsys/rx3-net
EXIT_CODE=$?
[ "${EXIT_CODE}" = 0 ] && touch /var/lock/subsys/rx3-net
fi
echo
@@ -184,13 +184,13 @@ rna_stop()
then
network_stop
RETVAL=$?
EXIT_CODE=$?
else
echo "already stopped"
RETVAL=0
EXIT_CODE=0
fi
[ "${RETVAL}" = 0 ] && rm -f /var/lock/subsys/rx3-net
[ "${EXIT_CODE}" = 0 ] && rm -f /var/lock/subsys/rx3-net
echo
}
@@ -269,12 +269,27 @@ rna_address_refresh()
# Main
#-----------------------------------------------------------------------------------------------------------------------------------
vsl_add
rna_args_parse "$@"
if [[ "${MODE}" == "EXIT" ]]
then
exit 0
fi
case "${MODE}" in
"EXIT")
exit ${EXIT_CODE}
;;
"HELP")
rna_help_print
exit ${EXIT_CODE}
;;
"VERSION")
rna_version_print
exit ${EXIT_CODE}
;;
esac
network_init
@@ -311,10 +326,11 @@ case "${MODE}" in
*)
echo "Usage: $0 {start|stop|restart|status|dump|table_set|refresh_address}"
RETVAL=1
EXIT_CODE=1
;;
esac
network_deinit
exit ${RETVAL}
exit ${EXIT_CODE}

View File

@@ -39,14 +39,14 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.2.0"
declare -g NAME="rx3_vpn_adm"
declare -g VERSION="1.2.4"
declare -g NAME="Rx3_VPN_Adm"
declare -g HELP="usage: [-h | --help] | [-V | --version] | [-v | --verbose] {start | stop | restart | status | dump} [args...]"
declare -g EXIT_CODE=0
declare -g MODE="DEFAULT"
declare -g VERBOSE="FALSE"
declare -g DRY_RUN="FALSE"
declare -g RETVAL=0
declare -g prog="rx3-vpn"
declare -g DEBUG=""
@@ -80,7 +80,6 @@ rva_version_print()
rva_help_print()
{
rva_version_print
help_print
}
@@ -103,9 +102,11 @@ rva_args_parse()
while true
do
case "$1" in
# Options
-h|--help) MODE="EXIT"; rva_help_print; shift;;
-V|--version) MODE="EXIT"; rva_version_print; shift;;
# Mode switches
-h|--help) MODE="HELP"; shift;;
-V|--version) MODE="VERSION"; shift;;
# Global options
-v|--verbose) VERBOSE="TRUE"; shift;;
# End of options
@@ -114,14 +115,14 @@ rva_args_parse()
esac
done
if [[ "${MODE}" != "EXIT" ]]
if [[ "${MODE}" == "DEFAULT" ]]
then
if [[ "${#}" -lt "1" ]]
then
MODE="EXIT"
echo_error "Not enough args!"
rva_help_print
MODE="HELP"
EXIT_CODE=1
else
case "$1" in
start|stop|restart|status|dump)
@@ -129,10 +130,10 @@ rva_args_parse()
;;
*)
MODE="EXIT"
echo_error "Invalid command: [$1]"
rva_help_print
MODE="HELP"
EXIT_CODE=1
;;
esac
fi
@@ -154,12 +155,12 @@ rva_start()
if [ -r /var/lock/subsys/rx3-vpn ]
then
echo "already started"
RETVAL=0
EXIT_CODE=0
else
vpn_start
RETVAL=$?
[ "${RETVAL}" = 0 ] && touch /var/lock/subsys/rx3-vpn
EXIT_CODE=$?
[ "${EXIT_CODE}" = 0 ] && touch /var/lock/subsys/rx3-vpn
fi
echo
@@ -181,13 +182,13 @@ rva_stop()
then
vpn_stop
RETVAL=$?
EXIT_CODE=$?
else
echo "already stopped"
RETVAL=0
EXIT_CODE=0
fi
[ "${RETVAL}" = 0 ] && rm -f /var/lock/subsys/rx3-vpn
[ "${EXIT_CODE}" = 0 ] && rm -f /var/lock/subsys/rx3-vpn
echo
}
@@ -226,14 +227,27 @@ rva_dump()
# Main
#-----------------------------------------------------------------------------------------------------------------------------------
vsl_add
rva_args_parse "$@"
case "${MODE}" in
"EXIT")
exit ${EXIT_CODE}
;;
"HELP")
rva_help_print
exit ${EXIT_CODE}
;;
"VERSION")
rva_version_print
exit ${EXIT_CODE}
;;
esac
if [[ "${MODE}" == "EXIT" ]]
then
exit 0
fi
vpn_init
@@ -262,10 +276,11 @@ case "${MODE}" in
*)
echo "Usage: $0 {start|stop|restart|status|dump}"
RETVAL=1
EXIT_CODE=1
;;
esac
vpn_deinit
exit ${RETVAL}
exit ${EXIT_CODE}

View File

@@ -41,8 +41,8 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.2.0"
declare -g NAME="ns-admin_board.cgi"
declare -g VERSION="1.2.4"
declare -g NAME="NS Admin Board"
declare -g DEBUG=""
#declare -g DEBUG="echo"

111
www/cgi-bin/vpn-admin_board.cgi Normal file → Executable file
View File

@@ -37,8 +37,8 @@
# Global Variables
#-----------------------------------------------------------------------------------------------------------------------------------
declare -g VERSION="1.0.0"
declare -g NAME="vpn-admin_board.cgi"
declare -g VERSION="1.2.4"
declare -g NAME="VPN Admin Board"
declare -g DEBUG=""
#declare -g DEBUG="echo"
@@ -104,6 +104,26 @@ vab_header_print()
echo " <meta http-equiv=\"REFRESH\" content=\"1; URL=${REDIRECT}\">"
fi
echo " <style>"
echo " #vsl-tab td { font: 12px/1.5em arial, helvetica, verdana, sans-serif; color: #333; }"
echo " #vsl-tab table { width: 100%; border: 1px solid #919191; }"
echo " #vsl-tab th { background-color: #919191; color: #fff; }"
echo " #vsl-tab table th:first-child, #vsl-tab table td:first-child { text-align: left; }"
echo " #vsl-tab table th:last-child, #vsl-tab table td:last-child { text-align: right; }"
echo " #vsl-tab th.state { text-align: center; width: 44px; }"
echo " #vsl-tab th.desc { width: 200px; }"
echo " #vsl-tab th.name { width: 200px; }"
echo " #vsl-tab th.action { }"
echo " #vsl-tab td, th { padding: 4px 8px; border-bottom: 1px solid #fff; }"
echo " #vsl-tab tr td { background-color: #FBFBFB; }"
echo " #vsl-tab tr.shade td { background-color: #F0F0F0; }"
echo " #vsl { position: relative; display: inline-block; cursor: pointer; }"
echo " #vsl-tab { visibility: hidden; width: fit-content; background: #00000000; color: white; padding: 2px; border-radius: 4px; position: absolute; z-index: 1; right: auto; left: 0; top: auto; bottom: 100%; transform: none; opacity: 0; transition: opacity 0.3s; }"
echo " #vsl:hover #vsl-tab { visibility: visible; opacity: 1; }"
echo " #vsl-tab table td, #vsl-tab table th { white-space: nowrap; padding: 4px 8px; border: 0px solid #666; font-size: 12px; }"
echo " #vsl-tab table th { background: #333; }"
echo " #vsl-tab table { border-collapse: collapse; width: fit-content; max-width: 500px; overflow-x: auto; }"
echo " </style>"
echo " </HEAD>"
echo " <BODY>"
;;
@@ -147,6 +167,59 @@ vab_footer_print()
case "${FORMAT}"
in
"html")
time_out=$(date +%s%N)
elaps=$(( time_out - TIME_IN))
elaps_sec=$(( elaps / 1000000000))
elaps_mili=$(( ( elaps / 1000000) - ( elaps_sec * 1000)))
echo " <P>"
echo " <BR>"
echo " <BR>"
echo " <div id=\"vsl\">Page generated by <b>${NAME}</b> V <b>${VERSION}</b>"
echo " <div id=\"vsl-tab\">"
echo " <table>"
echo " <thead>"
echo " <tr>"
echo " <th>Id</th>"
echo " <th>Name</th>"
echo " <th>Version</th>"
if [[ "${ADMIN}" == "true" ]]
then
export VERBOSE="TRUE"
echo " <th>File</th>"
fi
echo " </tr>"
echo " </thead>"
echo " <tbody>"
vsl_html_dump "TRUE" ""
unset VERBOSE
echo " </tbody>"
echo " </table>"
echo " </div>"
printf " in <b>%d.%03d seconds</b>\n" "${elaps_sec}" "${elaps_mili}"
echo " </div>"
echo " </P>"
echo ""
echo " <HR>"
echo ""
echo " <P>"
echo " <A HREF=\"/tdsots/admin/\">Rx3 Admin</A>"
echo " </P>"
echo ""
echo " <HR>"
echo ""
echo " <P>"
echo " <A HREF=\"http://www.hertgen.com/anybrowser/\"> <IMG SRC=\"/images/anyb09.png\" ALT=\"Best Viewed With Any Browser\"></A>"
echo " <A HREF=\"http://validator.w3.org/check?uri=referer\"><IMG SRC=\"/images/valid-html401.png\" ALT=\"Valid HTML 4.01!\"></A>"
echo " <A HREF=\"http://jigsaw.w3.org/css-validator/\"> <IMG SRC=\"/images/valid-css.png\" ALT=\"Valid CSS!\"></A>"
echo " </P>"
echo " </BODY>"
echo ""
echo "</HTML>"
@@ -666,31 +739,6 @@ vab_main_board_print()
fi
echo ""
echo " </P>"
time_out=$(date +%s%N)
elaps=$(( time_out - TIME_IN))
elaps_sec=$(( elaps / 1000000000))
elaps_mili=$(( ( elaps / 1000000) - ( elaps_sec * 1000)))
echo " <P>"
echo " <BR>"
echo " <BR>"
printf " Page generated in %d.%03d seconds\n" "${elaps_sec}" "${elaps_mili}"
echo " </P>"
echo ""
echo " <HR>"
echo ""
echo " <P>"
echo " <A HREF=\"/tdsots/admin/\">Rx3 Admin</A>"
echo " </P>"
echo ""
echo " <HR>"
echo ""
echo " <P>"
echo " <A HREF=\"http://www.hertgen.com/anybrowser/\"> <IMG SRC=\"/images/anyb09.png\" ALT=\"Best Viewed With Any Browser\"></A>"
echo " <A HREF=\"http://validator.w3.org/check?uri=referer\"><IMG SRC=\"/images/valid-html401.png\" ALT=\"Valid HTML 4.01!\"></A>"
echo " <A HREF=\"http://jigsaw.w3.org/css-validator/\"> <IMG SRC=\"/images/valid-css.png\" ALT=\"Valid CSS!\"></A>"
echo " </P>"
fi
}
@@ -723,7 +771,8 @@ vab_query_string_parse()
DEFROUTE=""
FILENAME=""
if [[ "${QUERY_STRING}" != "" ]]
if [[ "${QUERY_STRING:-}" != "" ]]
then
local OIFS="${IFS}"
IFS="&"
@@ -958,6 +1007,12 @@ vab_command_handler()
# Main
#-----------------------------------------------------------------------------------------------------------------------------------
QUERY_STRING=${QUERY_STRING:-}
REMOTE_USER=${REMOTE_USER:-}
vsl_add
vab_query_string_parse
network_init