path: root/Documentation/gitnamespaces.txt
diff options
authorMatt McCutchen <>2016-11-14 18:20:24 (GMT)
committerJunio C Hamano <>2016-11-14 19:23:07 (GMT)
commit235ec24352e151bed37063a004b9800ee0debd74 (patch)
tree6646f0e70a1cd42276ae6e3e4f863b2097146b69 /Documentation/gitnamespaces.txt
parent0b65a8dbdb38962e700ee16776a3042beb489060 (diff)
doc: mention transfer data leaks in more places
The "SECURITY" section of the gitnamespaces(7) man page described two ways for a client to steal data from a server that wasn't intended to be shared. Similar attacks can be performed by a server on a client, so adapt the section to cover both directions and add it to the git-fetch(1), git-pull(1), and git-push(1) man pages. Also add references to this section from the documentation of server configuration options that attempt to control data leakage but may not be fully effective. Signed-off-by: Matt McCutchen <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'Documentation/gitnamespaces.txt')
1 files changed, 1 insertions, 19 deletions
diff --git a/Documentation/gitnamespaces.txt b/Documentation/gitnamespaces.txt
index 7685e36..b614969 100644
--- a/Documentation/gitnamespaces.txt
+++ b/Documentation/gitnamespaces.txt
@@ -61,22 +61,4 @@ For a simple local test, you can use linkgit:git-remote-ext[1]:
git clone ext::'git --namespace=foo %s /tmp/prefixed.git'
-Anyone with access to any namespace within a repository can potentially
-access objects from any other namespace stored in the same repository.
-You can't directly say "give me object ABCD" if you don't have a ref to
-it, but you can do some other sneaky things like:
-. Claiming to push ABCD, at which point the server will optimize out the
- need for you to actually send it. Now you have a ref to ABCD and can
- fetch it (claiming not to have it, of course).
-. Requesting other refs, claiming that you have ABCD, at which point the
- server may generate deltas against ABCD.
-None of this causes a problem if you only host public repositories, or
-if everyone who may read one namespace may also read everything in every
-other namespace (for instance, if everyone in an organization has read
-permission to every repository).