<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/http.c, branch v2.8.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.8.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.8.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2016-03-10T18:56:43Z</updated>
<entry>
<title>Merge branch 'jx/http-no-proxy'</title>
<updated>2016-03-10T18:56:43Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-03-10T18:56:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f4a48e870892b18a7205c9315821e4b6a831ade4'/>
<id>urn:sha1:f4a48e870892b18a7205c9315821e4b6a831ade4</id>
<content type='text'>
* jx/http-no-proxy:
  http: honor no_http env variable to bypass proxy
</content>
</entry>
<entry>
<title>http: honor no_http env variable to bypass proxy</title>
<updated>2016-02-29T19:28:39Z</updated>
<author>
<name>Jiang Xin</name>
<email>xin.jiang@huawei.com</email>
</author>
<published>2016-02-29T15:16:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d445fda44dbf031dccdfd384b2418ea50988a756'/>
<id>urn:sha1:d445fda44dbf031dccdfd384b2418ea50988a756</id>
<content type='text'>
Curl and its families honor several proxy related environment variables:

* http_proxy and https_proxy define proxy for http/https connections.
* no_proxy (a comma separated hosts) defines hosts bypass the proxy.

This command will bypass the bad-proxy and connect to the host directly:

    no_proxy=* https_proxy=http://bad-proxy/ \
    curl -sk https://google.com/

Before commit 372370f (http: use credential API to handle proxy auth...),
Environment variable "no_proxy" will take effect if the config variable
"http.proxy" is not set.  So the following comamnd won't fail if not
behind a firewall.

    no_proxy=* https_proxy=http://bad-proxy/ \
    git ls-remote https://github.com/git/git

But commit 372370f not only read git config variable "http.proxy", but
also read "http_proxy" and "https_proxy" environment variables, and set
the curl option using:

    curl_easy_setopt(result, CURLOPT_PROXY, proxy_auth.host);

This caused "no_proxy" environment variable not working any more.

Set extra curl option "CURLOPT_NOPROXY" will fix this issue.

Signed-off-by: Jiang Xin &lt;xin.jiang@huawei.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ce/https-public-key-pinning'</title>
<updated>2016-02-24T21:25:58Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-02-24T21:25:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e79112d21024beb997951381db21a70b087d459d'/>
<id>urn:sha1:e79112d21024beb997951381db21a70b087d459d</id>
<content type='text'>
You can now set http.[&lt;url&gt;.]pinnedpubkey to specify the pinned
public key when building with recent enough versions of libcURL.

* ce/https-public-key-pinning:
  http: implement public key pinning
</content>
</entry>
<entry>
<title>Merge branch 'bc/http-empty-auth'</title>
<updated>2016-02-24T21:25:57Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-02-24T21:25:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=65ba75ba7daae3298139f18cf866a23d01f4dd48'/>
<id>urn:sha1:65ba75ba7daae3298139f18cf866a23d01f4dd48</id>
<content type='text'>
Some authentication methods do not need username or password, but
libcurl needs some hint that it needs to perform authentication.
Supplying an empty username and password string is a valid way to
do so, but you can set the http.[&lt;url&gt;.]emptyAuth configuration
variable to achieve the same, if you find it cleaner.

* bc/http-empty-auth:
  http: add option to try authentication without username
</content>
</entry>
<entry>
<title>Merge branch 'ew/force-ipv4'</title>
<updated>2016-02-24T21:25:54Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-02-24T21:25:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e84d5e9fa178a027b1c8b9f6e22c9173dcda03b3'/>
<id>urn:sha1:e84d5e9fa178a027b1c8b9f6e22c9173dcda03b3</id>
<content type='text'>
"git fetch" and friends that make network connections can now be
told to only use ipv4 (or ipv6).

* ew/force-ipv4:
  connect &amp; http: support -4 and -6 switches for remote operations
</content>
</entry>
<entry>
<title>http: implement public key pinning</title>
<updated>2016-02-16T03:21:48Z</updated>
<author>
<name>Christoph Egger</name>
<email>christoph@christoph-egger.org</email>
</author>
<published>2016-02-15T14:04:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=aeff8a61216bf6e0d663c08c583bc8552fa3c344'/>
<id>urn:sha1:aeff8a61216bf6e0d663c08c583bc8552fa3c344</id>
<content type='text'>
Add the http.pinnedpubkey configuration option for public key
pinning. It allows any string supported by libcurl --
base64(sha256(pubkey)) or filename of the full public key.

If cURL does not support pinning (is too old) output a warning to the
user.

Signed-off-by: Christoph Egger &lt;christoph@christoph-egger.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>http: add option to try authentication without username</title>
<updated>2016-02-15T22:13:37Z</updated>
<author>
<name>brian m. carlson</name>
<email>sandals@crustytoothpaste.net</email>
</author>
<published>2016-02-15T18:44:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=121061f67fd47aed5b2f3a7deb82af15215636bd'/>
<id>urn:sha1:121061f67fd47aed5b2f3a7deb82af15215636bd</id>
<content type='text'>
Performing GSS-Negotiate authentication using Kerberos does not require
specifying a username or password, since that information is already
included in the ticket itself.  However, libcurl refuses to perform
authentication if it has not been provided with a username and password.
Add an option, http.emptyAuth, that provides libcurl with an empty
username and password to make it attempt authentication anyway.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>connect &amp; http: support -4 and -6 switches for remote operations</title>
<updated>2016-02-12T19:34:14Z</updated>
<author>
<name>Eric Wong</name>
<email>normalperson@yhbt.net</email>
</author>
<published>2016-02-03T04:09:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c915f11eb4922e154e29cf62d3b549d65c06a170'/>
<id>urn:sha1:c915f11eb4922e154e29cf62d3b549d65c06a170</id>
<content type='text'>
Sometimes it is necessary to force IPv4-only or IPv6-only operation
on networks where name lookups may return a non-routable address and
stall remote operations.

The ssh(1) command has an equivalent switches which we may pass when
we run them.  There may be old ssh(1) implementations out there
which do not support these switches; they should report the
appropriate error in that case.

rsync support is untouched for now since it is deprecated and
scheduled to be removed.

Signed-off-by: Eric Wong &lt;normalperson@yhbt.net&gt;
Reviewed-by: Torsten Bögershausen &lt;tboegi@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>http: use credential API to handle proxy authentication</title>
<updated>2016-01-26T18:53:25Z</updated>
<author>
<name>Knut Franke</name>
<email>k.franke@science-computing.de</email>
</author>
<published>2016-01-26T13:02:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=372370f1675c2b935fb703665358dd5567641107'/>
<id>urn:sha1:372370f1675c2b935fb703665358dd5567641107</id>
<content type='text'>
Currently, the only way to pass proxy credentials to curl is by including them
in the proxy URL. Usually, this means they will end up on disk unencrypted, one
way or another (by inclusion in ~/.gitconfig, shell profile or history). Since
proxy authentication often uses a domain user, credentials can be security
sensitive; therefore, a safer way of passing credentials is desirable.

If the configured proxy contains a username but not a password, query the
credential API for one. Also, make sure we approve/reject proxy credentials
properly.

For consistency reasons, add parsing of http_proxy/https_proxy/all_proxy
environment variables, which would otherwise be evaluated as a fallback by curl.
Without this, we would have different semantics for git configuration and
environment variables.

Helped-by: Junio C Hamano &lt;gitster@pobox.com&gt;
Helped-by: Eric Sunshine &lt;sunshine@sunshineco.com&gt;
Helped-by: Elia Pinto &lt;gitter.spiros@gmail.com&gt;
Signed-off-by: Knut Franke &lt;k.franke@science-computing.de&gt;
Signed-off-by: Elia Pinto &lt;gitter.spiros@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>http: allow selection of proxy authentication method</title>
<updated>2016-01-26T18:53:09Z</updated>
<author>
<name>Knut Franke</name>
<email>k.franke@science-computing.de</email>
</author>
<published>2016-01-26T13:02:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ef976395e26a25fb6d048d859a1c8cddb2640b9a'/>
<id>urn:sha1:ef976395e26a25fb6d048d859a1c8cddb2640b9a</id>
<content type='text'>
CURLAUTH_ANY does not work with proxies which answer unauthenticated requests
with a 307 redirect to an error page instead of a 407 listing supported
authentication methods. Therefore, allow the authentication method to be set
using the environment variable GIT_HTTP_PROXY_AUTHMETHOD or configuration
variables http.proxyAuthmethod and remote.&lt;name&gt;.proxyAuthmethod (in analogy
to http.proxy and remote.&lt;name&gt;.proxy).

The following values are supported:

* anyauth (default)
* basic
* digest
* negotiate
* ntlm

Signed-off-by: Knut Franke &lt;k.franke@science-computing.de&gt;
Signed-off-by: Elia Pinto &lt;gitter.spiros@gmail.com&gt;
Helped-by: Junio C Hamano &lt;gitster@pobox.com&gt;
Helped-by: Eric Sunshine &lt;sunshine@sunshineco.com&gt;
Helped-by: Elia Pinto &lt;gitter.spiros@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
