<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/http.c, branch v1.7.9.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://www.git.shady.money/git/atom?h=v1.7.9.2</id>
<link rel='self' href='https://www.git.shady.money/git/atom?h=v1.7.9.2'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/'/>
<updated>2011-12-20T00:05:59Z</updated>
<entry>
<title>Merge branch 'jk/maint-push-over-dav'</title>
<updated>2011-12-20T00:05:59Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2011-12-20T00:05:59Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=1d3a035d6d48bfa870b6ebe7c59f12b66e3a1b1c'/>
<id>urn:sha1:1d3a035d6d48bfa870b6ebe7c59f12b66e3a1b1c</id>
<content type='text'>
* jk/maint-push-over-dav:
  http-push: enable "proactive auth"
  t5540: test DAV push with authentication

Conflicts:
	http.c
</content>
</entry>
<entry>
<title>Merge branch 'jk/credentials'</title>
<updated>2011-12-20T00:05:16Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2011-12-20T00:05:16Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=367d20ec6b9e8e297537f665fb528346bd0aff27'/>
<id>urn:sha1:367d20ec6b9e8e297537f665fb528346bd0aff27</id>
<content type='text'>
* jk/credentials:
  t: add test harness for external credential helpers
  credentials: add "store" helper
  strbuf: add strbuf_add*_urlencode
  Makefile: unix sockets may not available on some platforms
  credentials: add "cache" helper
  docs: end-user documentation for the credential subsystem
  credential: make relevance of http path configurable
  credential: add credential.*.username
  credential: apply helper config
  http: use credential API to get passwords
  credential: add function for parsing url components
  introduce credentials API
  t5550: fix typo
  test-lib: add test_config_global variant

Conflicts:
	strbuf.c
</content>
</entry>
<entry>
<title>http-push: enable "proactive auth"</title>
<updated>2011-12-14T00:34:44Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2011-12-14T00:11:56Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=a4ddbc33d7906f0e10c68c140a9a1003d9715a77'/>
<id>urn:sha1:a4ddbc33d7906f0e10c68c140a9a1003d9715a77</id>
<content type='text'>
Before commit 986bbc08, git was proactive about asking for
http passwords. It assumed that if you had a username in
your URL, you would also want a password, and asked for it
before making any http requests.

However, this could interfere with the use of .netrc (see
986bbc08 for details). And it was also unnecessary, since
the http fetching code had learned to recognize an HTTP 401
and prompt the user then. Furthermore, the proactive prompt
could interfere with the usage of .netrc (see 986bbc08 for
details).

Unfortunately, the http push-over-DAV code never learned to
recognize HTTP 401, and so was broken by this change. This
patch does a quick fix of re-enabling the "proactive auth"
strategy only for http-push, leaving the dumb http fetch and
smart-http as-is.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>http: use credential API to get passwords</title>
<updated>2011-12-12T07:16:24Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2011-12-10T10:31:21Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=148bb6a7b4d82a6380c6a51951b870933564c115'/>
<id>urn:sha1:148bb6a7b4d82a6380c6a51951b870933564c115</id>
<content type='text'>
This patch converts the http code to use the new credential
API, both for http authentication as well as for getting
certificate passwords.

Most of the code change is simply variable naming (the
passwords are now contained inside the credential struct)
or deletion of obsolete code (the credential code handles
URL parsing and prompting for us).

The behavior should be the same, with one exception: the
credential code will prompt with a description based on the
credential components. Therefore, the old prompt of:

  Username for 'example.com':
  Password for 'example.com':

now looks like:

  Username for 'https://example.com/repo.git':
  Password for 'https://user@example.com/repo.git':

Note that we include more information in each line,
specifically:

  1. We now include the protocol. While more noisy, this is
     an important part of knowing what you are accessing
     (especially if you care about http vs https).

  2. We include the username in the password prompt. This is
     not a big deal when you have just been prompted for it,
     but the username may also come from the remote's URL
     (and after future patches, from configuration or
     credential helpers).  In that case, it's a nice
     reminder of the user for which you're giving the
     password.

  3. We include the path component of the URL. In many
     cases, the user won't care about this and it's simply
     noise (i.e., they'll use the same credential for a
     whole site). However, that is part of a larger
     question, which is whether path components should be
     part of credential context, both for prompting and for
     lookup by storage helpers. That issue will be addressed
     as a whole in a future patch.

Similarly, for unlocking certificates, we used to say:

  Certificate Password for 'example.com':

and we now say:

  Password for 'cert:///path/to/certificate':

Showing the path to the client certificate makes more sense,
as that is what you are unlocking, not "example.com".

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'mf/curl-select-fdset'</title>
<updated>2011-12-05T23:10:28Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2011-12-05T23:10:28Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=c4c9a63b5434d008fdbfc8c41240d642cbe5147e'/>
<id>urn:sha1:c4c9a63b5434d008fdbfc8c41240d642cbe5147e</id>
<content type='text'>
* mf/curl-select-fdset:
  http: drop "local" member from request struct
  http.c: Rely on select instead of tracking whether data was received
  http.c: Use timeout suggested by curl instead of fixed 50ms timeout
  http.c: Use curl_multi_fdset to select on curl fds instead of just sleeping
</content>
</entry>
<entry>
<title>http: remove unused function hex()</title>
<updated>2011-11-16T00:08:48Z</updated>
<author>
<name>Ramkumar Ramachandra</name>
<email>artagnon@gmail.com</email>
</author>
<published>2011-11-15T16:59:36Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=620771c83ec67c7f066d366acbc2efdfa75e7d14'/>
<id>urn:sha1:620771c83ec67c7f066d366acbc2efdfa75e7d14</id>
<content type='text'>
Signed-off-by: Ramkumar Ramachandra &lt;artagnon@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>http: drop "local" member from request struct</title>
<updated>2011-11-04T19:05:01Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2011-11-04T17:53:33Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=093c44a3600323c3ca7a8d28a0d2ba2bc145dd47'/>
<id>urn:sha1:093c44a3600323c3ca7a8d28a0d2ba2bc145dd47</id>
<content type='text'>
This is a FILE pointer in the case that we are sending our
output to a file. We originally used it to run ftell() to
determine whether data had been written to our file during
our last call to curl. However, as of the last patch, we no
longer care about that flag anymore. All uses of this struct
member are now just book-keeping that can go away.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>http.c: Rely on select instead of tracking whether data was received</title>
<updated>2011-11-04T17:47:13Z</updated>
<author>
<name>Mika Fischer</name>
<email>mika.fischer@zoopnet.de</email>
</author>
<published>2011-11-04T14:19:27Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=df26c471278f13ca6ad96b12a533ef4172323c13'/>
<id>urn:sha1:df26c471278f13ca6ad96b12a533ef4172323c13</id>
<content type='text'>
Since now select is used with the file descriptors of the http connections,
tracking whether data was received recently (and trying to read more in
that case) is no longer necessary. Instead, always call select and rely on
it to return as soon as new data can be read.

Signed-off-by: Mika Fischer &lt;mika.fischer@zoopnet.de&gt;
Helped-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>http.c: Use timeout suggested by curl instead of fixed 50ms timeout</title>
<updated>2011-11-04T17:46:56Z</updated>
<author>
<name>Mika Fischer</name>
<email>mika.fischer@zoopnet.de</email>
</author>
<published>2011-11-04T14:19:26Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=eb56c82163487fe07ba04f2b365a557282cbd766'/>
<id>urn:sha1:eb56c82163487fe07ba04f2b365a557282cbd766</id>
<content type='text'>
Recent versions of curl can suggest a period of time the library user
should sleep and try again, when curl is blocked on reading or writing
(or connecting). Use this timeout instead of always sleeping for 50ms.

Signed-off-by: Mika Fischer &lt;mika.fischer@zoopnet.de&gt;
Helped-by: Daniel Stenberg &lt;daniel@haxx.se&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>http.c: Use curl_multi_fdset to select on curl fds instead of just sleeping</title>
<updated>2011-11-04T17:46:25Z</updated>
<author>
<name>Mika Fischer</name>
<email>mika.fischer@zoopnet.de</email>
</author>
<published>2011-11-04T14:19:25Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=6f9dd67ffea3e86276a73e522ce1186a99bbe65d'/>
<id>urn:sha1:6f9dd67ffea3e86276a73e522ce1186a99bbe65d</id>
<content type='text'>
Instead of sleeping unconditionally for a 50ms, when no data can be read
from the http connection(s), use curl_multi_fdset() to obtain the actual
file descriptors of the open connections and use them in the select call.
This way, the 50ms sleep is interrupted when new data arrives.

Signed-off-by: Mika Fischer &lt;mika.fischer@zoopnet.de&gt;
Helped-by: Daniel Stenberg &lt;daniel@haxx.se&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
