Skip to content

Commit ea52b09

Browse files
committed
Add --no-restart flag for secret setlimit/setlimits commands
1 parent 2b18dc4 commit ea52b09

1 file changed

Lines changed: 26 additions & 12 deletions

File tree

mtproxymax.sh

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1978,7 +1978,7 @@ get_proxy_link_https() {
19781978

19791979
# Set per-user limits for a secret
19801980
secret_set_limits() {
1981-
local label="$1" max_conns="${2:-}" max_ips="${3:-}" quota="${4:-}" expires="${5:-}"
1981+
local label="$1" max_conns="${2:-}" max_ips="${3:-}" quota="${4:-}" expires="${5:-}" no_restart="${6:-false}"
19821982

19831983
local idx=-1
19841984
local i
@@ -2026,7 +2026,7 @@ secret_set_limits() {
20262026

20272027
save_secrets
20282028

2029-
if is_proxy_running; then
2029+
if [ "$no_restart" != "true" ] && is_proxy_running; then
20302030
restart_proxy_container
20312031
fi
20322032

@@ -4291,8 +4291,8 @@ show_cli_help() {
42914291
echo -e " ${GREEN}secret enable${NC} <label> Enable a secret"
42924292
echo -e " ${GREEN}secret disable${NC} <label> Disable a secret"
42934293
echo -e " ${GREEN}secret limits${NC} [label] Show user limits"
4294-
echo -e " ${GREEN}secret setlimit${NC} <label> conns|ips|quota|expires <value>"
4295-
echo -e " ${GREEN}secret setlimits${NC} <label> <conns> <ips> <quota> [expires]"
4294+
echo -e " ${GREEN}secret setlimit${NC} <label> conns|ips|quota|expires <value> [--no-restart]"
4295+
echo -e " ${GREEN}secret setlimits${NC} <label> <conns> <ips> <quota> [expires] [--no-restart]"
42964296
echo -e " ${DIM}Tip: add/remove support --no-restart flag for scripting${NC}"
42974297
echo ""
42984298
echo -e " ${BOLD}Upstream Routing:${NC}"
@@ -4469,30 +4469,44 @@ cli_main() {
44694469
limits) secret_show_limits "$1" ;;
44704470
setlimit)
44714471
check_root
4472+
local _no_restart="false"
4473+
local _args=()
4474+
for _a in "$@"; do
4475+
if [ "$_a" = "--no-restart" ]; then _no_restart="true"
4476+
else _args+=("$_a"); fi
4477+
done
4478+
set -- "${_args[@]}"
44724479
local label="$1"; shift 2>/dev/null || true
44734480
local field="$1"; shift 2>/dev/null || true
44744481
local value="$1"
44754482
if [ -z "$label" ] || [ -z "$field" ] || [ -z "$value" ]; then
4476-
log_error "Usage: mtproxymax secret setlimit <label> conns|ips|quota|expires <value>"
4483+
log_error "Usage: mtproxymax secret setlimit <label> conns|ips|quota|expires <value> [--no-restart]"
44774484
return 1
44784485
fi
44794486
case "$field" in
4480-
conns) secret_set_limits "$label" "$value" "" "" "" ;;
4481-
ips) secret_set_limits "$label" "" "$value" "" "" ;;
4482-
quota) secret_set_limits "$label" "" "" "$value" "" ;;
4483-
expires) secret_set_limits "$label" "" "" "" "$value" ;;
4484-
*) log_error "Usage: mtproxymax secret setlimit <label> conns|ips|quota|expires <value>"; return 1 ;;
4487+
conns) secret_set_limits "$label" "$value" "" "" "" "$_no_restart" ;;
4488+
ips) secret_set_limits "$label" "" "$value" "" "" "$_no_restart" ;;
4489+
quota) secret_set_limits "$label" "" "" "$value" "" "$_no_restart" ;;
4490+
expires) secret_set_limits "$label" "" "" "" "$value" "$_no_restart" ;;
4491+
*) log_error "Usage: mtproxymax secret setlimit <label> conns|ips|quota|expires <value> [--no-restart]"; return 1 ;;
44854492
esac
44864493
;;
44874494
setlimits)
44884495
check_root
4496+
local _no_restart="false"
4497+
local _args=()
4498+
for _a in "$@"; do
4499+
if [ "$_a" = "--no-restart" ]; then _no_restart="true"
4500+
else _args+=("$_a"); fi
4501+
done
4502+
set -- "${_args[@]}"
44894503
local label="$1"; shift 2>/dev/null || true
44904504
local sl_conns="${1:-0}"; shift 2>/dev/null || true
44914505
local sl_ips="${1:-0}"; shift 2>/dev/null || true
44924506
local sl_quota="${1:-0}"; shift 2>/dev/null || true
44934507
local sl_exp="${1:-}"
4494-
[ -z "$label" ] && { log_error "Usage: mtproxymax secret setlimits <label> <conns> <ips> <quota> [expires]"; return 1; }
4495-
secret_set_limits "$label" "$sl_conns" "$sl_ips" "$sl_quota" "$sl_exp"
4508+
[ -z "$label" ] && { log_error "Usage: mtproxymax secret setlimits <label> <conns> <ips> <quota> [expires] [--no-restart]"; return 1; }
4509+
secret_set_limits "$label" "$sl_conns" "$sl_ips" "$sl_quota" "$sl_exp" "$_no_restart"
44964510
;;
44974511
*) log_error "Unknown: secret ${subcmd}"; show_cli_help; return 1 ;;
44984512
esac

0 commit comments

Comments
 (0)