[v3,3/4] remote-curl: tighten "version 2" check for smart-http
diff mbox series

Message ID dc995b3d17cd62dfc19964dd8a95811fe928aa57.1544572142.git.steadmon@google.com
State New
Headers show
  • Unify pkt-line error handling and refactor smart-http
Related show

Commit Message

Josh Steadmon Dec. 12, 2018, 12:25 a.m. UTC
From: Jeff King <peff@peff.net>

In a v2 smart-http conversation, the server should reply to our initial
request with a pkt-line saying "version 2" (this is the start of the
"capabilities advertisement"). We check for the string using
starts_with(), but that's overly permissive (it would match "version
20", for example).

Let's tighten this check to use strcmp(). Note that we don't need to
worry about a trailing newline here, because the ptk-line code will have
chomped it for us already.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Josh Steadmon <steadmon@google.com>
 remote-curl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff mbox series

diff --git a/remote-curl.c b/remote-curl.c
index 38f51dffb8..b77b173f33 100644
--- a/remote-curl.c
+++ b/remote-curl.c
@@ -375,7 +375,7 @@  static void check_smart_http(struct discovery *d, const char *service,
 		d->len = src_len;
 		d->proto_git = 1;
-	} else if (starts_with(line, "version 2")) {
+	} else if (!strcmp(line, "version 2")) {
 		 * v2 smart http; do not consume version packet, which will
 		 * be handled elsewhere.