Subject: Re: Revamping the git protocol

From: "H. Peter Anvin" <[email-masked]>
Date: Thu, 20 Oct 2005 08:50:20 -0700

Petr Baudis wrote:
> Dear diary, on Thu, Oct 20, 2005 at 08:11:17AM CEST, I got a letter
> where Junio C Hamano <[email-masked]> told me that...
> 
>>I am wondering if we can just get away with a simpler scheme
>>Linus outlined instead.  One drawback of that approach is it
>>does not easily allow things like challenge-response uniformly
>>across different commands (admittedly we only have "upload-pack"
>>command right now, but we could add list of supported commands
>>easily in execute()), but you could do something along this, I
>>presume?
> 
> What's wrong with my scheme? That is, _reply_ with challenge to the
> upload-pack command. This should be equally powerful to the Linus'
> scheme and the crucial advantage is that you do not need to tell at
> the client side whether you are talking to a new server or an old one.
> 
> I was convinced that the authentication part of the challenge-resposne
> isn't such a good idea after all, though. ;-)
> 

Anyone noticed that either of those schemes aren't actually 
backward-compatible in any way (old client talking to new server will be 
disconnected), and that unfortunately is the best thing one can do with 
the current setup, exactly because there is no option negotiation phase?

Another issue is that currently there is no error information propagated 
back to the client; the server logs an error in its own logs, but the 
client is simply disconnected.

	-hpa