From: Shawn Pearce Date: Mon, 04 Feb 2013 23:49:35 GMT Subject: Re: [PATCH] Verify Content-Type from smart HTTP servers Message-ID: In-Reply-To: <20130204083824.GB30835@sigill.intra.peff.net> On Mon, Feb 4, 2013 at 12:38 AM, Jeff King wrote: > 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. Looks fine to me too, but I think the test won't work now. :-)