From 7b6de860a3626280666be481c5d59d74ac45f2bd Mon Sep 17 00:00:00 2001 From: Edward Thomson Date: Thu, 10 Aug 2023 11:27:42 +0100 Subject: [PATCH] http: don't enforce content-type Proper git servers generally respond with a predictable content-type (like `x-git-upload-pack-response`). But apparently not all do, and we should not enforce that. --- src/libgit2/transports/http.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/libgit2/transports/http.c b/src/libgit2/transports/http.c index 8437674fc..18e2ffefa 100644 --- a/src/libgit2/transports/http.c +++ b/src/libgit2/transports/http.c @@ -290,11 +290,9 @@ static int handle_response( return -1; } - /* The Content-Type header must match our expectation. */ - if (strcmp(response->content_type, stream->service->response_type) != 0) { - git_error_set(GIT_ERROR_HTTP, "invalid content-type: '%s'", response->content_type); - return -1; - } + /* The Content-Type header _should_ match our expectation. */ + if (strcmp(response->content_type, stream->service->response_type) != 0) + git_trace(GIT_TRACE_INFO, "server sent content-type '%s' (expected '%s')", response->content_type, stream->service->response_type); *complete = true; stream->state = HTTP_STATE_RECEIVING_RESPONSE;