mirror of
https://github.com/caddyserver/caddy.git
synced 2024-12-23 22:27:38 -05:00
053373a385
* 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 #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! Fixes #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. |
||
---|---|---|
.. | ||
testdata | ||
dispenser.go | ||
dispenser_test.go | ||
json.go | ||
json_test.go | ||
lexer.go | ||
lexer_test.go | ||
parse.go | ||
parse_test.go |