Re: [PATCH v5 2/5] http: handle proxy proactive authentication
- From
Jeff King <peff@peff.net>
- Date
- Apr 12, 2012, 22:42 UTC
- Message-ID
- <20120412224230.GA22988@sigill.intra.peff.net>
- In-Reply-To
- <7vd37c4msm.fsf@alter.siamese.dyndns.org>
On Thu, Apr 12, 2012 at 03:18:01PM -0700, Junio C Hamano wrote:
Show 10 quoted lines
> > So as far as I can tell, these are equivalent: > > > > http_proxy=http://127.0.0.1:1080 > > http_proxy=https://127.0.0.1:1080 > > http_proxy=foobar://127.0.0.1:1080 > > Yes, that is exactly what I was trying to say. The foobar:// part does > not matter; "http" in "http_proxy" is what matters, as it is how you can > specify two separate proxies depending on what destination you are going > via what protocol.
But you snipped the later part of my message, which is that the "http" in "http_proxy" does _not_ matter. It is about which destinations to apply the proxy to, not how you talk to the proxy (and the latter is what should matter for the credentials).
Show 9 quoted lines
> > Not splitting "http" and "http-proxy" does have a slight confusion, as > > the default proxy port is "1080". So a proxy of "http://127.0.0.1" would > > mean "http://127.0.0.1:1080", whereas a regular request would mean > > "http://127.0.0.1:80". The credential code includes the port as part of > > the unique hostname, but since the default-port magic happens inside > > curl, we have no access to it (short of re-implementing it ourselves). > > Ok, so how about this as a replacement patch for what I have had for the > past few days?
My other message argued "the http-proxy distinction might be important, but probably isn't". But I didn't talk about "the http-proxy distinction might break helpers". The stock helpers will be fine; they are totally clueless about what the protocol means, and just treat it as a string to be matched. But for something like osxkeychain, where it is converting the protocol string into some OS-specific magic value, it does matter, and http-proxy would cause it to exit in confusion.
It looks like OS X defines a SOCKS type and an HTTPProxy type for its keychain API. So in either case, it should probably be updated to handle these new types. And I guess that argues for making the distinction, since at least one helper does want to care about it.
-Peff