fix: escape variables in the header command #279
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The documentation for the header command setting says:
However, if the command line itself references
$CODER_URL
, when connecting via the VSCode extension the variable will get substituted before thecoder
CLI can set the variable when running the header command, which is contrary to the behaviour of the JetBrains plugin. This is because the VSCode extension is currently writing the header command into the SSH config'sProxyCommand
with double quotes, allowing the shell spawned byssh
to substitute$CODER_URL
(with the empty string).This ensures environment variable references within the header command are not substituted before the
coder
binary can receive them, by using single quotes rather than double quotes in theProxyCommand
.Tested on a macOS client.