<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/http.c, branch v1.6.4.3</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://www.git.shady.money/git/atom?h=v1.6.4.3</id>
<link rel='self' href='https://www.git.shady.money/git/atom?h=v1.6.4.3'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/'/>
<updated>2009-09-11T08:45:36Z</updated>
<entry>
<title>http.c: remove verification of remote packs</title>
<updated>2009-09-11T08:45:36Z</updated>
<author>
<name>Tay Ray Chuan</name>
<email>rctay89@gmail.com</email>
</author>
<published>2009-09-09T12:33:50Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=59b8d38f6e4f19b93c5dc4493ab11706acd101b5'/>
<id>urn:sha1:59b8d38f6e4f19b93c5dc4493ab11706acd101b5</id>
<content type='text'>
Make http.c::fetch_pack_index() no longer check for the remote pack
with a HEAD request before fetching the corresponding pack index file.

Not only does sending a HEAD request before we do a GET incur a
performance penalty, it does not offer any significant error-
prevention advantages (pack fetching in the *_http_pack_request()
methods is capable of handling any errors on its own).

This addresses an issue raised elsewhere:

  http://code.google.com/p/msysgit/issues/detail?id=323
  http://support.github.com/discussions/repos/957-cant-clone-over-http-or-git

Signed-off-by: Tay Ray Chuan &lt;rctay89@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'rc/maint-http-fix' into maint</title>
<updated>2009-08-29T02:34:16Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-08-29T02:34:16Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=48ae73b11487e12f8f7198e18779e65500d4ca0c'/>
<id>urn:sha1:48ae73b11487e12f8f7198e18779e65500d4ca0c</id>
<content type='text'>
* rc/maint-http-fix:
  http.c: don't assume that urls don't end with slash
</content>
</entry>
<entry>
<title>http.c: set slot callback members to NULL when releasing object</title>
<updated>2009-08-29T02:24:43Z</updated>
<author>
<name>Tay Ray Chuan</name>
<email>rctay89@gmail.com</email>
</author>
<published>2009-08-26T12:20:53Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=4b9fa0e359a710b5d8dae542a92df7dbe56d9915'/>
<id>urn:sha1:4b9fa0e359a710b5d8dae542a92df7dbe56d9915</id>
<content type='text'>
Set the members callback_func and callback_data of freq-&gt;slot to NULL
when releasing a http_object_request. release_active_slot() is also
invoked on the slot to remove the curl handle associated with the slot
from the multi stack (CURLM *curlm in http.c).

These prevent the callback function and data from being used in http
methods (like http.c::finish_active_slot()) after a
http_object_request has been free'd.

Noticed by Ali Polatel, who later tested this patch to verify that it
fixes the problem he saw; Dscho helped to identify the problem spot.

Signed-off-by: Tay Ray Chuan &lt;rctay89@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>http.c: don't assume that urls don't end with slash</title>
<updated>2009-08-18T20:59:44Z</updated>
<author>
<name>Tay Ray Chuan</name>
<email>rctay89@gmail.com</email>
</author>
<published>2009-08-17T09:09:43Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=800324c3addbf60b15114c4292204806b1300060'/>
<id>urn:sha1:800324c3addbf60b15114c4292204806b1300060</id>
<content type='text'>
Make append_remote_object_url() (and by implication,
get_remote_object_url) use end_url_with_slash() to ensure that the url
ends with a slash.

Previously, they assumed that the url did not end with a slash and
as a result appended a slash, sometimes errorneously.

This fixes an issue introduced in 5424bc5 ("http*: add helper methods
for fetching objects (loose)"), where the append_remote_object_url()
implementation in http-push.c, which assumed that urls end with a
slash, was replaced by another one in http.c, which assumed urls did
not end with a slash.

The above issue was raised by Thomas Schlichter:

  http://marc.info/?l=git&amp;m=125043105231327

Signed-off-by: Tay Ray Chuan &lt;rctay89@gmail.com&gt;
Tested-by: Thomas Schlichter &lt;thomas.schlichter@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ml/http'</title>
<updated>2009-07-09T08:00:36Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-07-09T08:00:36Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=c535d767f7a518b79a0f9b9a70ec746de76da97c'/>
<id>urn:sha1:c535d767f7a518b79a0f9b9a70ec746de76da97c</id>
<content type='text'>
* ml/http:
  http.c: add http.sslCertPasswordProtected option
  http.c: prompt for SSL client certificate password

Conflicts:
	http.c
</content>
</entry>
<entry>
<title>http.c: add http.sslCertPasswordProtected option</title>
<updated>2009-06-18T17:51:29Z</updated>
<author>
<name>Mark Lodato</name>
<email>lodatom@gmail.com</email>
</author>
<published>2009-05-28T03:16:03Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=754ae192a4390baeb4d00b96e72c69023efb22ee'/>
<id>urn:sha1:754ae192a4390baeb4d00b96e72c69023efb22ee</id>
<content type='text'>
Add a configuration option, http.sslCertPasswordProtected, and associated
environment variable, GIT_SSL_CERT_PASSWORD_PROTECTED, to enable SSL client
certificate password prompt from within git.  If this option is false and
if the environment variable does not exist, git falls back to OpenSSL's
prompts (as in earlier versions of git).

The environment variable may only be used to enable, not to disable
git's password prompt.  This behavior mimics GIT_NO_VERIFY; the mere
existence of the variable is all that is checked.

Signed-off-by: Mark Lodato &lt;lodatom@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>http.c: prompt for SSL client certificate password</title>
<updated>2009-06-18T17:45:05Z</updated>
<author>
<name>Mark Lodato</name>
<email>lodatom@gmail.com</email>
</author>
<published>2009-05-28T03:16:02Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=30dd916348001e4313708473d91d633d3b14d1b5'/>
<id>urn:sha1:30dd916348001e4313708473d91d633d3b14d1b5</id>
<content type='text'>
If an SSL client certificate is enabled (via http.sslcert or
GIT_SSL_CERT), prompt for the certificate password rather than
defaulting to OpenSSL's password prompt.  This causes the prompt to only
appear once each run.  Previously, OpenSSL prompted the user *many*
times, causing git to be unusable over HTTPS with client-side
certificates.

Note that the password is stored in memory in the clear while the
program is running.  This may be a security problem if git crashes and
core dumps.

The user is always prompted, even if the certificate is not encrypted.
This should be fine; unencrypted certificates are rare and a security
risk anyway.

Signed-off-by: Mark Lodato &lt;lodatom@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2009-06-18T17:39:17Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-06-18T17:39:17Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=da4e4a65a27ca912c3f48289acf9ff7a67476c3f'/>
<id>urn:sha1:da4e4a65a27ca912c3f48289acf9ff7a67476c3f</id>
<content type='text'>
* maint:
  http.c: fix compiling with libcurl 7.9.2
  import-tars: support symlinks
  pull, rebase: simplify to use die()
</content>
</entry>
<entry>
<title>http.c: fix compiling with libcurl 7.9.2</title>
<updated>2009-06-18T17:10:30Z</updated>
<author>
<name>Mark Lodato</name>
<email>lodatom@gmail.com</email>
</author>
<published>2009-06-15T02:39:00Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=ef52aafa0f8b1d34f2ecd9b58f2198711c87cab3'/>
<id>urn:sha1:ef52aafa0f8b1d34f2ecd9b58f2198711c87cab3</id>
<content type='text'>
Change the minimimum required libcurl version for the http.sslKey option
to 7.9.3.  Previously, preprocessor macros checked for &gt;= 7.9.2, which
is incorrect because CURLOPT_SSLKEY was introduced in 7.9.3.  This now
allows git to compile with libcurl 7.9.2.

Signed-off-by: Mark Lodato &lt;lodatom@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>http*: add helper methods for fetching objects (loose)</title>
<updated>2009-06-06T18:03:11Z</updated>
<author>
<name>Tay Ray Chuan</name>
<email>rctay89@gmail.com</email>
</author>
<published>2009-06-06T08:44:02Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=5424bc557fc6414660830b470dd45774b8f5f281'/>
<id>urn:sha1:5424bc557fc6414660830b470dd45774b8f5f281</id>
<content type='text'>
The code handling the fetching of loose objects in http-push.c and
http-walker.c have been refactored into new methods and a new struct
(object_http_request) in http.c. They are not meant to be invoked
elsewhere.

The new methods in http.c are
 - new_http_object_request
 - process_http_object_request
 - finish_http_object_request
 - abort_http_object_request
 - release_http_object_request

and the new struct is http_object_request.

RANGER_HEADER_SIZE and no_pragma_header is no longer made available
outside of http.c, since after the above changes, there are no other
instances of usage outside of http.c.

Remove members of the transfer_request struct in http-push.c and
http-walker.c, including filename, real_sha1 and zret, as they are used
no longer used.

Move the methods append_remote_object_url() and get_remote_object_url()
from http-push.c to http.c. Additionally, get_remote_object_url() is no
longer defined only when USE_CURL_MULTI is defined, since
non-USE_CURL_MULTI code in http.c uses it (namely, in
new_http_object_request()).

Refactor code from http-push.c::start_fetch_loose() and
http-walker.c::start_object_fetch_request() that deals with the details
of coming up with the filename to store the retrieved object, resuming
a previously aborted request, and making a new curl request, into a new
function, new_http_object_request().

Refactor code from http-walker.c::process_object_request() into the
function, process_http_object_request().

Refactor code from http-push.c::finish_request() and
http-walker.c::finish_object_request() into a new function,
finish_http_object_request(). It returns the result of the
move_temp_to_file() invocation.

Add a function, release_http_object_request(), which cleans up object
request data. http-push.c and http-walker.c invoke this function
separately; http-push.c::release_request() and
http-walker.c::release_object_request() do not invoke this function.

Add a function, abort_http_object_request(), which unlink()s the object
file and invokes release_http_object_request(). Update
http-walker.c::abort_object_request() to use this.

Signed-off-by: Tay Ray Chuan &lt;rctay89@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
