diff options
author | Jeff King <peff@peff.net> | 2018-02-19 14:50:14 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-02-20 11:27:06 -0800 |
commit | 90dce21eb0fcf28096e661a3dd3b4e93fa0bccb5 (patch) | |
tree | ceb454eaaec086ea142c95d09078a25751b73e33 /connected.c | |
parent | t5545: factor out http repository setup (diff) | |
download | tgif-90dce21eb0fcf28096e661a3dd3b4e93fa0bccb5.tar.xz |
remote-curl: unquote incoming push-options
The transport-helper protocol c-style quotes the value of
any options passed to the helper via the "option <key> <value>"
directive. However, remote-curl doesn't actually unquote the
push-option values, meaning that we will send the quoted
version to the other side (whereas git-over-ssh would send
the raw value).
The pack-protocol.txt documentation defines the push-options
as a series of VCHARs, which excludes most characters that
would need quoting. But:
1. You can still see the bug with a valid push-option that
starts with a double-quote (since that triggers
quoting).
2. We do currently handle any non-NUL characters correctly
in git-over-ssh. So even though the spec does not say
that we need to handle most quoted characters, it's
nice if our behavior is consistent between protocols.
There are two new tests: the "direct" one shows that this
already works in the non-http case, and the http one covers
this bugfix.
Reported-by: Jon Simons <jon@jonsimons.org>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'connected.c')
0 files changed, 0 insertions, 0 deletions