From a612bbe199e5627c53efd5bf87460419b0af5c90 Mon Sep 17 00:00:00 2001 From: CyberMind-FR Date: Wed, 25 Feb 2026 15:25:28 +0100 Subject: [PATCH] fix(haproxyctl): Handle multiple users in userlist - Changed _print_uci_userlist to use config_list_foreach - Each user now gets separate "user ... password ..." line - Fixes HAProxy basic auth with multiple users Co-Authored-By: Claude Opus 4.5 --- .../files/usr/sbin/haproxyctl | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/package/secubox/secubox-app-haproxy/files/usr/sbin/haproxyctl b/package/secubox/secubox-app-haproxy/files/usr/sbin/haproxyctl index deaaff85..cceeb1e1 100644 --- a/package/secubox/secubox-app-haproxy/files/usr/sbin/haproxyctl +++ b/package/secubox/secubox-app-haproxy/files/usr/sbin/haproxyctl @@ -523,22 +523,24 @@ generate_certs_list() { # Helper to print a single userlist from UCI _print_uci_userlist() { local section="$1" - local name user + local name config_get name "$section" name - config_get user "$section" user - [ -z "$name" ] && return - [ -z "$user" ] && return echo "userlist $name" - # user format in UCI: username:password_hash - local username="${user%%:*}" - local password="${user#*:}" - echo " user $username password $password" + # Handle list of users + config_list_foreach "$section" user _print_userlist_user echo "" } +_print_userlist_user() { + local entry="$1" + local username="${entry%%:*}" + local password="${entry#*:}" + echo " user $username password $password" +} + # Generate all UCI-defined userlists _generate_uci_userlists() { config_load haproxy