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
caddyfile: Fix multi-file snippets and import literals. (caddyserver#2205)
* Fix a few import problems: snippets and import literals.
Two problems are fixed by this code simplification:
1. Snippets defined in one import file are strangely not available in
another.
2. If an imported file had a directive with an argument "import", then
the rest of the tokens on the line would be converted to absolute
filepaths.
An example of caddyserver#2 would be the following directive in an imported file:
basicauth / import secret
In this case, the password would actually be an absolute path to the
file 'secret' (whether or not it exists) in the directory of the imported
Caddyfile.
The problem was the blind token processing to fix import paths in the
imported tokens without considering the context of the 'import' token.
My first inclination was to just add more context (detect 'import' tokens
at the beginning of lines and check the value tokens against defined
snippets), however I eventually realized that we already do all of this
in the parser, so the code was redundant. Instead we just use the current
token's File property when importing. This works fine with imported tokens
since they already have the absolute path to the imported file!
Fixescaddyserver#2204
* renamed file2 -> fileName
* Fix copy/pasted comment in test.
* Change gzip example to basicauth example.
This makes it more clear how the import side effect is detrimental.
0 commit comments