You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,11 @@
1
1
# Changelog
2
2
3
+
## 0.4.2 (Unreleased)
4
+
5
+
BUG FIXES:
6
+
7
+
Dictionaries are a sequence per Jinja2 contrary to Python's defaults (dictionaries are not a sequence in Python). The template conditionals assumed the latter.
{%forloginmain['error_log'] if (main['error_log'] issequenceandmain['error_log'] isnotstring) %}
37
+
{%forloginmain['error_log'] if (main['error_log'] isnotmappingandmain['error_log'] isnotstring) %}
38
38
error_log {{ log if log is string else log['file'] }}{{ (' ' + log['level'] | string) if log['level'] is defined }};
39
39
{%else%}
40
40
error_log {{ main['error_log'] if main['error_log'] is string else main['error_log']['file'] }}{{ (' ' + main['error_log']['level'] | string) if main['error_log']['level'] is defined }};
{%forenvinmain['env'] if (main['env'] issequenceandmain['env'] isnotstring) %}
55
+
{%forenvinmain['env'] if (main['env'] isnotmappingandmain['env'] isnotstring) %}
56
56
env {{ env if env is string else env['variable'] }}{{ ('=' + env['value'] | string) if env['value'] is defined }};
57
57
{%else%}
58
58
env {{ main['env'] if main['env'] is string else main['env']['variable'] }}{{ ('=' + main['env']['value'] | string) if main['env']['value'] is defined }};
thread_pool {{ thread['name'] }} {{ ('threads=' + thread['threads'] | string) if thread['threads'] is number }}{{ (' max_queue=' + thread['max_queue'] | string) if thread['max_queue'] is defined and thread['max_queue'] is number }};
76
+
{%else%}
77
+
thread_pool {{ main['thread_pool']['name'] }} {{ ('threads=' + main['thread_pool']['threads'] | string) if main['thread_pool']['threads'] is number }}{{ (' max_queue=' + main['thread_pool']['max_queue'] | string) if main['thread_pool']['max_queue'] is defined and main['thread_pool']['max_queue'] is number }};
{%ifapp_protect_waf['request_buffer_overflow_action'] isdefinedandapp_protect_waf['request_buffer_overflow_action'] in ['pass', 'drop'] %}{# Available only in 'http' context #}
{%ifapp_protect_waf['user_defined_signatures'] isdefinedandapp_protect_waf['user_defined_signatures'] issequence%}{# Available only in 'http' context #}
42
+
{%ifapp_protect_waf['user_defined_signatures'] isdefinedandapp_protect_waf['user_defined_signatures'] isnotmapping%}{# Available only in 'http' context #}
auth_jwt {{ 'off' if not auth_jwt['enable'] }}{{ auth_jwt['enable']['realm'] if auth_jwt['enable']['realm'] is defined }}{{ (' token=' + auth_jwt['enable']['token'] if auth_jwt['enable']['token'] is defined) }};
49
49
{%endif%}
50
50
{%ifauth_jwt['claim_set'] isdefined%}{# 'claim_set' is only available in the 'http' context #}
51
-
{%forclaiminauth_jwt['claim_set'] if (auth_jwt['claim_set'] issequenceandauth_jwt['claim_set'] isnotstring) %}
51
+
{%forclaiminauth_jwt['claim_set'] if (auth_jwt['claim_set'] isnotmappingandauth_jwt['claim_set'] isnotstring) %}
52
52
auth_jwt_claim_set {{ claim['variable'] }} {{ (claim['name'] if claim['name'] is string else claim['name'] | join(' ')) }};
53
53
{%else%}
54
54
auth_jwt_claim_set {{ auth_jwt['claim_set']['variable'] }} {{ (auth_jwt['claim_set']['name'] if auth_jwt['claim_set']['name'] is string else auth_jwt['claim_set']['name'] | join(' ')) }};
55
55
{%endfor%}
56
56
{%endif%}
57
57
{%ifauth_jwt['header_set'] isdefined%}{# 'header_set' is only available in the 'http' context #}
58
-
{%forclaiminauth_jwt['header_set'] if (auth_jwt['header_set'] issequenceandauth_jwt['header_set'] isnotstring) %}
58
+
{%forclaiminauth_jwt['header_set'] if (auth_jwt['header_set'] isnotmappingandauth_jwt['header_set'] isnotstring) %}
59
59
auth_jwt_header_set {{ claim['variable'] }} {{ (claim['name'] if claim['name'] is string else claim['name'] | join(' ')) }};
60
60
{%else%}
61
61
auth_jwt_header_set {{ auth_jwt['header_set']['variable'] }} {{ (auth_jwt['header_set']['name'] if auth_jwt['header_set']['name'] is string else auth_jwt['header_set']['name'] | join(' ')) }};
disable_symlinks {{ (core['disable_symlinks'] | ternary('on', 'off')) if core['disable_symlinks'] is boolean else 'if_not_owner' if core['disable_symlinks'] == 'if_not_owner' -}}
66
66
{{- core['disable_symlinks']['check'] if core['disable_symlinks']['check'] is defined and core['disable_symlinks']['check'] in ['on', 'if_not_owner'] }}{{ (' from=' + core['disable_symlinks']['from']) if core['disable_symlinks']['from'] is defined }};
{%ifcore['try_files']['files'] isdefined%}{# 'try_files' directive is not available in the 'http' context #}
261
265
try_files {{ core['try_files']['files'] if core['try_files']['files'] is string else core['try_files']['files'] | join(' ') }} {{ core['try_files']['uri'] if core['try_files']['uri'] is defined else core['try_files']['code'] if core['try_files']['code'] is defined }};
0 commit comments