3 Commits

7 changed files with 71 additions and 37 deletions

View File

@@ -1,3 +1,28 @@
------------------------------------------------------------------------------------------------------------------------------------
Network Tools V 1.2.3 - A. GIBERT - 2026/08/25
------------------------------------------------------------------------------------------------------------------------------------
- Bug fixes next to Darkstar live testing...
- Fix .ovpn download file type.
------------------------------------------------------------------------------------------------------------------------------------
Network Tools V 1.2.2 - A. GIBERT - 2026/08/18
------------------------------------------------------------------------------------------------------------------------------------
- Exclude Gateway destination type from PREROUTING-VPN rule call.
------------------------------------------------------------------------------------------------------------------------------------
Network Tools V 1.2.1 - A. GIBERT - 2026/07/26
------------------------------------------------------------------------------------------------------------------------------------
- Fix CA & TC certificate path in cert_dump & vpn-admin_board.cgi.
------------------------------------------------------------------------------------------------------------------------------------
Network Tools V 1.2.0 - A. GIBERT - 2026/05/19
------------------------------------------------------------------------------------------------------------------------------------

View File

@@ -24,7 +24,7 @@
%define name network_tools
%define version 1.2.0
%define version 1.2.3
%define release %mkrel 1rx3
%global debug_package %{nil}
@@ -213,5 +213,14 @@ cp www/cgi-bin/*.cgi %{buildroot}%{_webcgi}
#-----------------------------------------------------------------------------------------------------------------------------------
%changelog
* Tue Aug 25 2026 Arnaud G. GIBERT <arnaud@rx3.net> - 1.2.3-1rx3.mga9
- Update to 1.2.3
* Tue Aug 18 2026 Arnaud G. GIBERT <arnaud@rx3.net> - 1.2.2-1rx3.mga9
- Update to 1.2.2
* Sun Jul 26 2026 Arnaud G. GIBERT <arnaud@rx3.net> - 1.2.1-1rx3.mga9
- Update to 1.2.1
* Tue May 19 2026 Arnaud G. GIBERT <arnaud@rx3.net> - 1.2.0-1rx3.mga9
- Create initial SPEC file for 1.2.0 on Mageia 9

View File

@@ -315,7 +315,7 @@ dns_host_update()
echo "update delete ${host}.${zone}. TXT"
echo "update add ${host}.${zone}. ${ttl} TXT ${date}"
echo ""
) | sudo nsupdate || rc="$?"
) | sudo nsupdate && rc="$?"
if [[ "${rc}" == "0" ]]
then

View File

@@ -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="DISABLE"
declare -g NETWORK_LOG_TRACE="DISABLED"
declare -g NETWORK_NC_TIMEOUT
@@ -134,14 +134,24 @@ network_common_openvpn_stats_get()
fi
if [[ "${device}" != "" ]]
then
then
ovpn_stat_client_name=""
if [[ "${NETWORK_OPENVPN_STATUS}" =~ ("${device}.status: TITLE") ]]
then
# OpenVPN Server Mode
OIFS="${IFS}"
IFS=","
set XXX/$( echo "${NETWORK_OPENVPN_STATUS}" | grep "${device}\.status: CLIENT_LIST,${client},") &>/dev/null || true
line="$( echo "${NETWORK_OPENVPN_STATUS}" | grep "${device}\.status: CLIENT_LIST,${client},")" || true
if [[ "${line}" == "" ]]
then
line="/var/lib/openvpn/${device}.status: CLIENT_LIST,,,,,,,,,,,,"
fi
set XXX/${line} &>/dev/null || true
IFS="${OIFS}"
tmp="${1/XXX*\//}"
@@ -1078,7 +1088,7 @@ network_table_set()
fi
tab_assign NETWORK_SRC_TAB "${src_id},Table" "${ts_table}"
tab_assign NETWORK_SRC_TAB "${src_id},Table" "${nts_table}"
${DEBUG} sed "/^NETWORK_SRC_CONFIG=\"/,/^\"/ { s/^\(${nts_ip//./\\.}[[:space:]]\+\([^\t ]\+[[:space:]]\+\)\{2\}\)[^[:space:]]\+/\1${nts_table}/ }" -i ${NETWORK_CONFIG_FILE}
@@ -1367,7 +1377,7 @@ network_forward_start()
do
network_dst_tab_get ${dst_id}
if [[ "${dst_type}" != "0" ]]
if [[ ( "${dst_type}" != "0") && ( "${dst_type}" != "1") ]]
then
${DEBUG} iptables -t nat -A PREROUTING -i ${dst_device} -j PREROUTING-VPN
fi
@@ -1424,7 +1434,7 @@ network_forward_stop()
do
network_dst_tab_get ${dst_id}
if [[ "${dst_type}" != "0" ]]
if [[ ( "${dst_type}" != "0") && ( "${dst_type}" != "1") ]]
then
${DEBUG} iptables -t nat -D PREROUTING -i ${dst_device} -j PREROUTING-VPN 2>/dev/null || true
fi

View File

@@ -264,11 +264,11 @@ vpn_job_tab_deinit()
do
vpn_job_tab_get "${job_id}"
if [[ "${job_PId}" -gt 0 ]]
if [[ "${job_pid}" -gt 0 ]]
then
log_info "VPN" "Killing : Id: [${job_id}] Name: [${job_name}] PId: [${job_pid}]..."
kill -15 ${job_pid}
kill -15 ${job_pid} || true
fi
done
@@ -339,12 +339,8 @@ vpn_supervisor()
for job_id in ${VPN_JOB_ID_LIST}
do
vpn_job_tab_get "${job_id}"
${DEBUG} kill -0 "${job_pid}" 2>/dev/null
rc=$?
if [[ ${job_pid} == 0 ]] || [[ $rc != 0 ]]
if [[ ${job_pid} == "0" ]] || ! kill -0 "${job_pid}" 2>/dev/null
then
log_info "VPN" "Restarting Cmd: [${job_cmd}]..."
@@ -395,10 +391,7 @@ vpn_jobs_kill()
do
vpn_job_tab_get "${job_id}"
${DEBUG} kill -0 "${job_pid}" 2>/dev/null
rc=$?
if [[ ${job_pid} != 0 ]] && [[ $rc == 0 ]]
if [[ ${job_pid} != 0 ]] && kill -0 "${job_pid}" 2>/dev/null
then
log_info "VPN" "Killing Job Id: [${job_id}] Job_PId: [${job_pid}] Cmd: [${job_cmd}]..."
@@ -477,10 +470,7 @@ vpn_start()
daemon_pid=0
fi
${DEBUG} kill -0 "${daemon_pid}" 2>/dev/null
rc=$?
if [[ "${daemon_pid}" == "0" ]] || [[ $rc != 0 ]]
if [[ "${daemon_pid}" == "0" ]] || ! kill -0 "${daemon_pid}" 2>/dev/null
then
vpn_config_make_all
@@ -519,10 +509,7 @@ vpn_stop()
daemon_pid=0
fi
${DEBUG} kill -0 "${daemon_pid}" 2>/dev/null
rc=$?
if [[ "${daemon_pid}" == "0" ]] || [[ $rc != 0 ]]
if [[ "${daemon_pid}" == "0" ]] || ! kill -0 "${daemon_pid}" 2>/dev/null
then
log_info "VPN" "Daemon already stoped!"
else
@@ -572,10 +559,7 @@ vpn_status()
do
vpn_job_tab_get "${job_id}"
${DEBUG} kill -0 "${job_pid}" 2>/dev/null
rc=$?
if [[ "${job_pid}" == "0" ]] || [[ $rc != 0 ]]
if [[ "${job_pid}" == "0" ]] || ! kill -0 "${job_pid}" 2>/dev/null
then
job_status="Down"
else

View File

@@ -163,7 +163,7 @@ cdu_args_parse()
cdu_cert_dump_ca()
{
cat "${OPENVPN_DIR}/tls/certs/ca.crt"
cat "${OPENVPN_DIR}/tls/certs/ca.rx3.net.crt"
}
@@ -176,7 +176,7 @@ cdu_cert_dump_ca()
cdu_cert_dump_tc()
{
cat "${OPENVPN_DIR}/tls/private/tc.key"
cat "${OPENVPN_DIR}/tls/private/tc.rx3.net.key"
}

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

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/bash
#-----------------------------------------------------------------------------------------------------------------------------------
#
# Rx3 VPN Admin Board CGI
@@ -125,6 +125,12 @@ vab_header_print()
echo "Content-type: text/plain"
echo ""
;;
"ovpn")
echo "Content-disposition: attachment; filename=${FILE_NAME}"
echo "Content-type: application/x-openvpn-profile"
echo ""
;;
esac
}
@@ -903,7 +909,7 @@ vab_command_handler()
route_type="defroute"
fi
FORMAT="txt"
FORMAT="ovpn"
if [[ "${TYPE}" == "ext" ]]
then
@@ -918,10 +924,10 @@ vab_command_handler()
vab_header_print
eval "echo \"$( sed </etc/openvpn/template/${template_name} \
-e "s/ca tls\/certs\/ca.crt/\$(echo \"<ca>\"; sudo cert_dump ca; echo \"<\/ca>\")/" \
-e "s/ca tls\/certs\/ca.rx3.net.crt/\$(echo \"<ca>\"; sudo cert_dump ca; echo \"<\/ca>\")/" \
-e "s/cert tls\/certs\/CLIENT_FQDN.crt/\$(echo \"<cert>\"; sudo cert_dump crt CLIENT_FQDN; echo \"<\/cert>\")/" \
-e "s/key tls\/private\/CLIENT_FQDN.key/\$(echo \"<key>\"; sudo cert_dump key CLIENT_FQDN; echo \"<\/key>\")/" \
-e "s/tls-crypt tls\/private\/tc.key/\$(echo \"<tls-crypt>\"; sudo cert_dump tc; echo \"<\/tls-crypt>\")/" \
-e "s/tls-crypt tls\/private\/tc.rx3.net.key/\$(echo \"<tls-crypt>\"; sudo cert_dump tc; echo \"<\/tls-crypt>\")/" \
-e "s/CLIENT_FQDN/${HOST_NAME}/g")\"" | ${defroute_pipe}
fi
else