diff --git a/net/haproxy/pkg-descr b/net/haproxy/pkg-descr index b9017c96b..d3e0b934f 100644 --- a/net/haproxy/pkg-descr +++ b/net/haproxy/pkg-descr @@ -10,6 +10,7 @@ Plugin Changelog Fixed: * Cron job "Sync SSL certificate changes" not working (#4035) +* Template error with empty user group (#3364) 4.3 diff --git a/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf b/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf index 679ab09db..3e40f63c0 100644 --- a/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf +++ b/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf @@ -886,22 +886,27 @@ {% if group_data == {} %} # WARNING: group data not found ({{group}}) {% else %} -{# # extract user list from group object #} -{% for user in group_data.members.split(",") %} -{% set user_data = helpers.getUUID(user) %} -{% if user_data.name in users_seen %} +{# # check if group has any member #} +{% if group_data.members is defined %} +{# # extract user list from group object #} +{% for user in group_data.members.split(",") %} +{% set user_data = helpers.getUUID(user) %} +{% if user_data.name in users_seen %} # WARNING: skipping duplicate username ({{user_data.name}}) -{% else %} -{% do users_seen.append(user_data.name) %} -{# # check if using an encrypted password #} -{% if user_data.password|default("")|truncate(1, False, '', 0) == '$' %} -{% set user_pwsec = 'password' %} {% else %} -{% set user_pwsec = 'insecure-password' %} -{% endif %} +{% do users_seen.append(user_data.name) %} +{# # check if using an encrypted password #} +{% if user_data.password|default("")|truncate(1, False, '', 0) == '$' %} +{% set user_pwsec = 'password' %} +{% else %} +{% set user_pwsec = 'insecure-password' %} +{% endif %} user {{user_data.name}} {{user_pwsec}} {{user_data.password}} -{% endif %} -{% endfor %} +{% endif %} +{% endfor %} +{% else %} + # WARNING: ignoring group with no members ({{group_data.name}}) +{% endif %} {% endif %} {% endfor %} {% else %}