All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: "Shawn O. Pearce" <spearce@spearce.org>, git@vger.kernel.org
Subject: Re: [PATCH 4/4] fetch-pack: mention server version with verbose output
Date: Mon, 13 Aug 2012 16:54:24 -0400	[thread overview]
Message-ID: <20120813205423.GA31630@sigill.intra.peff.net> (raw)
In-Reply-To: <7v7gt2ehl4.fsf_-_@alter.siamese.dyndns.org>

On Mon, Aug 13, 2012 at 12:07:35PM -0700, Junio C Hamano wrote:

>  * And this is your 4 adjusted for the previous one, releaving the
>    caller from having to figure out where the capability string
>    ends.
> [...]
> @@ -829,8 +831,15 @@ static struct ref *do_fetch_pack(int fd[2],
>  			fprintf(stderr, "Server supports ofs-delta\n");
>  	} else
>  		prefer_ofs_delta = 0;
> -	if (server_supports("agent"))
> +
> +	if ((agent_feature = server_feature("agent", &agent_len)) != NULL &&
> +	    5 < agent_len && agent_feature[5] == '=') {
>  		agent_supported = 1;
> +		if (args.verbose) {
> +			fprintf(stderr, "Server version is %.*s\n",
> +				agent_len - 6, agent_feature + 6);
> +		}
> +	}

Yeah, this is exactly the kind of ugliness I was trying to avoid with my
allocating wrapper. Still, there is only one call site, so I do not care
overly much (and I as I've already said, I'm lukewarm on the final two
patches, anyway).

There is one difference in your code and mine. With mine, the server can
say simply "agent" to tell the client that it understands the extension
but does not wish to disclose its version. That might be considered
unfriendly (why would the client show theirs if the server is not
willing to do the same?), but it may be a practical decision (e.g.,
security policies may say that servers are higher-risk targets[1]).
Of course, a server can also say "agent=git/none-of-your-business"; this
is just a syntactic question.

-Peff

[1] I think you and I both agreed earlier that the "sharing versions is
    a security risk" line of argument is not that compelling, but that
    does not mean it is not made all the time.

-Peff

  parent reply	other threads:[~2012-08-13 20:54 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-10  7:53 [PATCH 0/4] jk/version-string and google code Jeff King
2012-08-10  7:57 ` [PATCH 1/4] send-pack: fix capability-sending logic Jeff King
2012-08-10  7:57 ` [PATCH 2/4] do not send client agent unless server does first Jeff King
2012-08-10 19:45   ` Junio C Hamano
2012-08-10 21:09     ` Jeff King
2012-08-10  7:58 ` [PATCH 3/4] connect: learn to parse capabilities with values Jeff King
2012-08-10  8:06   ` Eric Sunshine
2012-08-10 20:01   ` Junio C Hamano
2012-08-10 21:15     ` Jeff King
2012-08-10 21:55       ` Junio C Hamano
2012-08-13 19:03         ` Junio C Hamano
2012-08-13 19:07           ` [PATCH 4/4] fetch-pack: mention server version with verbose output Junio C Hamano
2012-08-13 19:43             ` Junio C Hamano
2012-08-13 20:54             ` Jeff King [this message]
2012-08-13 21:07               ` Junio C Hamano
2012-08-13 21:07                 ` Jeff King
2012-08-13 21:09               ` Junio C Hamano
2012-08-13 21:11                 ` Jeff King
2012-08-14  1:59                   ` Jeff King
2012-08-14  2:02                     ` Jeff King
2012-08-14  4:56                       ` Junio C Hamano
2012-08-10  7:59 ` Jeff King
2012-08-10 15:34 ` [PATCH 0/4] jk/version-string and google code Junio C Hamano
2012-08-10 17:46   ` Jeff King
2012-08-10 18:52     ` Junio C Hamano
2012-08-10 21:50       ` Jeff King
2012-08-10 22:29         ` Shawn Pearce
2012-08-10 22:36           ` Junio C Hamano
2012-08-10 15:37 ` Junio C Hamano
2012-08-10 18:06   ` Dave Borowitz
2012-08-10 18:08     ` Jeff King
2012-08-10 18:13       ` Dave Borowitz
2012-08-10 18:25         ` Jeff King
2012-08-10 21:25           ` Junio C Hamano
2012-08-10 21:35             ` Jeff King
2012-08-10 21:42               ` Junio C Hamano
2012-08-10 19:11         ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120813205423.GA31630@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=spearce@spearce.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.