• Augusto Roman's avatar
    caddyfile: Fix multi-file snippets and import literals. (#2205) · 053373a3
    Augusto Roman authored
    * 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 tha...
    053373a3
parse_test.go 16 KB