From 1455d6bb690d8c91159a709cc6d1a0dc01ed9153 Mon Sep 17 00:00:00 2001 From: Francis Lavoie Date: Fri, 2 Apr 2021 18:47:04 -0400 Subject: httpcaddyfile: Fix panic in automation policy consolidation (#4104) * httpcaddyfile: Add reproduce test * httpcaddyfile: Don't allow `i` to go below zero --- .../caddyfile_adapt/tls_automation_policies_4.txt | 155 +++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 caddytest/integration/caddyfile_adapt/tls_automation_policies_4.txt (limited to 'caddytest') diff --git a/caddytest/integration/caddyfile_adapt/tls_automation_policies_4.txt b/caddytest/integration/caddyfile_adapt/tls_automation_policies_4.txt new file mode 100644 index 0000000..502dbd0 --- /dev/null +++ b/caddytest/integration/caddyfile_adapt/tls_automation_policies_4.txt @@ -0,0 +1,155 @@ +{ + email my.email@example.com +} + +:82 { + redir https://example.com{uri} +} + +:83 { + redir https://example.com{uri} +} + +:84 { + redir https://example.com{uri} +} + +abc.de { + redir https://example.com{uri} +} +---------- +{ + "apps": { + "http": { + "servers": { + "srv0": { + "listen": [ + ":443" + ], + "routes": [ + { + "match": [ + { + "host": [ + "abc.de" + ] + } + ], + "handle": [ + { + "handler": "subroute", + "routes": [ + { + "handle": [ + { + "handler": "static_response", + "headers": { + "Location": [ + "https://example.com{http.request.uri}" + ] + }, + "status_code": 302 + } + ] + } + ] + } + ], + "terminal": true + } + ] + }, + "srv1": { + "listen": [ + ":82" + ], + "routes": [ + { + "handle": [ + { + "handler": "static_response", + "headers": { + "Location": [ + "https://example.com{http.request.uri}" + ] + }, + "status_code": 302 + } + ] + } + ] + }, + "srv2": { + "listen": [ + ":83" + ], + "routes": [ + { + "handle": [ + { + "handler": "static_response", + "headers": { + "Location": [ + "https://example.com{http.request.uri}" + ] + }, + "status_code": 302 + } + ] + } + ] + }, + "srv3": { + "listen": [ + ":84" + ], + "routes": [ + { + "handle": [ + { + "handler": "static_response", + "headers": { + "Location": [ + "https://example.com{http.request.uri}" + ] + }, + "status_code": 302 + } + ] + } + ] + } + } + }, + "tls": { + "automation": { + "policies": [ + { + "issuers": [ + { + "email": "my.email@example.com", + "module": "acme" + }, + { + "email": "my.email@example.com", + "module": "zerossl" + } + ] + }, + { + "issuers": [ + { + "email": "my.email@example.com", + "module": "acme" + }, + { + "email": "my.email@example.com", + "module": "zerossl" + } + ] + } + ] + } + } + } +} \ No newline at end of file -- cgit v1.2.3