From: Jeff King Date: Mon, 04 Feb 2013 08:38:24 GMT Subject: Re: [PATCH] Verify Content-Type from smart HTTP servers Message-ID: <20130204083824.GB30835@sigill.intra.peff.net> In-Reply-To: <7va9rk5z02.fsf@alter.siamese.dyndns.org> On Sun, Feb 03, 2013 at 11:17:33PM -0800, Junio C Hamano wrote: > Does this look good to both of you (relative to Shawn's patch)? > > remote-curl.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/remote-curl.c b/remote-curl.c > index e6f3b63..933c69a 100644 > --- a/remote-curl.c > +++ b/remote-curl.c > @@ -134,14 +134,14 @@ static struct discovery* discover_refs(const char *service) > last->buf_alloc = strbuf_detach(&buffer, &last->len); > last->buf = last->buf_alloc; > > - if (maybe_smart && 5 <= last->len && last->buf[4] == '#') { > + strbuf_addf(&exp, "application/x-%s-advertisement", service); > + if (maybe_smart && > + (5 <= last->len && last->buf[4] == '#') && > + !strbuf_cmp(&exp, &type)) { > /* > * smart HTTP response; validate that the service > * pkt-line matches our request. > */ > - strbuf_addf(&exp, "application/x-%s-advertisement", service); > - if (strbuf_cmp(&exp, &type)) > - die("invalid content-type %s", type.buf); > if (packet_get_line(&buffer, &last->buf, &last->len) <= 0) > die("%s has invalid packet header", refs_url); > if (buffer.len && buffer.buf[buffer.len - 1] == '\n') Yeah, I think that's fine. Thanks. -Peff