<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/git.git/archive.c, branch v1.8.0.2</title>
<subtitle>Git
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.8.0.2</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.8.0.2'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/'/>
<updated>2012-08-22T19:02:28Z</updated>
<entry>
<title>Reduce translations by using same terminologies</title>
<updated>2012-08-22T19:02:28Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2012-08-20T12:32:54Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=b0ff96547ec66979487707ad71f89c23f5e0669d'/>
<id>urn:sha1:b0ff96547ec66979487707ad71f89c23f5e0669d</id>
<content type='text'>
Somewhere in help usage, we use both "message" and "msg", "command"
and "cmd", "key id" and "key-id". This patch makes all help text from
parseopt use the first form. Clearer and 3 fewer strings for
translators.

Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>i18n: archive: mark parseopt strings for translation</title>
<updated>2012-08-20T19:23:15Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2012-08-20T12:31:51Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=0012a3873b5df4476b5b9142d0b5748a101c1ba8'/>
<id>urn:sha1:0012a3873b5df4476b5b9142d0b5748a101c1ba8</id>
<content type='text'>
Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'rs/archive-tree-in-tip-simplify'</title>
<updated>2012-05-23T20:35:22Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-05-23T20:35:22Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=b83cfa5949081c32a13b84e8aeea7d2cb7a96331'/>
<id>urn:sha1:b83cfa5949081c32a13b84e8aeea7d2cb7a96331</id>
<content type='text'>
By René Scharfe
* rs/archive-tree-in-tip-simplify:
  archive-tar: keep const in checksum calculation
  archive: simplify refname handling
</content>
</entry>
<entry>
<title>archive: simplify refname handling</title>
<updated>2012-05-18T18:26:10Z</updated>
<author>
<name>René Scharfe</name>
<email>rene.scharfe@lsrfire.ath.cx</email>
</author>
<published>2012-05-18T05:15:17Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=c51a351a6bcc64ad8cb2ed5a6ebde54b8d50eef1'/>
<id>urn:sha1:c51a351a6bcc64ad8cb2ed5a6ebde54b8d50eef1</id>
<content type='text'>
There is no need to build a copy of the relevant part of the string just
to make sure we have a NUL-terminated string.  We can simply pass the
length of the interesting part to dwim_ref() instead.

Signed-off-by: Rene Scharfe &lt;rene.scharfe@lsrfire.ath.cx&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>archive: delegate blob reading to backend</title>
<updated>2012-05-03T17:22:56Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2012-05-03T01:51:03Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=9cb513b7988c2fe443c47186e42dd827b76ddb14'/>
<id>urn:sha1:9cb513b7988c2fe443c47186e42dd827b76ddb14</id>
<content type='text'>
archive-tar.c and archive-zip.c now perform conversion check, with
help of sha1_file_to_archive() from archive.c

This gives backends more freedom in dealing with (streaming) large
blobs.

Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jk/maint-upload-archive'</title>
<updated>2012-01-13T07:34:17Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-01-13T07:34:17Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=bdb8cb52962522e5444241242110780fc6a19c4f'/>
<id>urn:sha1:bdb8cb52962522e5444241242110780fc6a19c4f</id>
<content type='text'>
* jk/maint-upload-archive:
  archive: re-allow HEAD:Documentation on a remote invocation
</content>
</entry>
<entry>
<title>archive: re-allow HEAD:Documentation on a remote invocation</title>
<updated>2012-01-12T03:21:22Z</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@elego.de</email>
</author>
<published>2012-01-11T12:12:38Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=0f544ee897ac2cc760f29d3568cc4295ca69fd1f'/>
<id>urn:sha1:0f544ee897ac2cc760f29d3568cc4295ca69fd1f</id>
<content type='text'>
The tightening done in (ee27ca4a: archive: don't let remote clients
get unreachable commits, 2011-11-17) went too far and disallowed
HEAD:Documentation as it would try to find "HEAD:Documentation" as a
ref.

Only DWIM the "HEAD" part to see if it exists as a ref. Once we're
sure that we've been given a valid ref, we follow the normal code
path. This still disallows attempts to access commits which are not
branch tips.

Signed-off-by: Carlos Martín Nieto &lt;cmn@elego.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jk/maint-upload-archive'</title>
<updated>2011-12-14T06:47:38Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2011-12-14T06:47:38Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=3c4b5ad5a5d4356948f1207908bd3ba62b1a7773'/>
<id>urn:sha1:3c4b5ad5a5d4356948f1207908bd3ba62b1a7773</id>
<content type='text'>
* jk/maint-upload-archive:
  archive: don't let remote clients get unreachable commits
</content>
</entry>
<entry>
<title>Merge branch 'jk/maint-1.6.2-upload-archive' into jk/maint-upload-archive</title>
<updated>2011-11-21T23:04:11Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2011-11-21T23:04:11Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=7b51c33b376d22195dba1c4e067180164fd35dbf'/>
<id>urn:sha1:7b51c33b376d22195dba1c4e067180164fd35dbf</id>
<content type='text'>
* jk/maint-1.6.2-upload-archive:
  archive: don't let remote clients get unreachable commits

Conflicts:
	archive.c
	archive.h
	builtin-archive.c
	builtin/upload-archive.c
	t/t5000-tar-tree.sh
</content>
</entry>
<entry>
<title>archive: don't let remote clients get unreachable commits</title>
<updated>2011-11-21T22:42:25Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2011-11-17T23:04:22Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=ee27ca4a781844ddbf556ec64daae24d748a7c5a'/>
<id>urn:sha1:ee27ca4a781844ddbf556ec64daae24d748a7c5a</id>
<content type='text'>
Usually git is careful not to allow clients to fetch
arbitrary objects from the database; for example, objects
received via upload-pack must be reachable from a ref.
Upload-archive breaks this by feeding the client's tree-ish
directly to get_sha1, which will accept arbitrary hex sha1s,
reflogs, etc.

This is not a problem if all of your objects are publicly
reachable anyway (or at least public to anybody who can run
upload-archive). Or if you are making the repo available by
dumb protocols like http or rsync (in which case the client
can read your whole object db directly).

But for sites which allow access only through smart
protocols, clients may be able to fetch trees from commits
that exist in the server's object database but are not
referenced (e.g., because history was rewound).

This patch tightens upload-archive's lookup to use dwim_ref
rather than get_sha1. This means a remote client can only
fetch the tip of a named ref, not an arbitrary sha1 or
reflog entry.

This also restricts some legitimate requests, too:

  1. Reachable non-tip commits, like:

        git archive --remote=$url v1.0~5

  2. Sub-trees of reachable commits, like:

        git archive --remote=$url v1.7.7:Documentation

Local requests continue to use get_sha1, and are not
restricted at all.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
