summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-04-18 14:45:59 -0700
committerJunio C Hamano <gitster@pobox.com>2009-04-18 14:45:59 -0700
commitcef5775b9f640beb51b07f8a296cfcc9b11b9744 (patch)
tree1bc646b4ffaa3d8cdd8bae0262e7eae839faa728
parent1a1f063a1738f8e59c26fccdf3f60580edde3dbe (diff)
parent67daebfd3b9ba020d677e069000782b9b1e8cf75 (diff)
downloadgit-cef5775b9f640beb51b07f8a296cfcc9b11b9744.tar.gz
Merge branch 'maint'
* maint: Describe fixes since 1.6.2.3 doc/git-daemon: add missing arguments to max-connections option doc/git-daemon: add missing arguments to options init: Do not segfault on big GIT_TEMPLATE_DIR environment variable imap-send: use correct configuration variable in documentation
-rw-r--r--Documentation/RelNotes-1.6.2.4.txt31
-rw-r--r--Documentation/git-daemon.txt18
-rw-r--r--Documentation/git-imap-send.txt2
-rw-r--r--builtin-init-db.c4
-rwxr-xr-xt/t0001-init.sh9
5 files changed, 53 insertions, 11 deletions
diff --git a/Documentation/RelNotes-1.6.2.4.txt b/Documentation/RelNotes-1.6.2.4.txt
new file mode 100644
index 0000000000..21bf4f3a3d
--- /dev/null
+++ b/Documentation/RelNotes-1.6.2.4.txt
@@ -0,0 +1,31 @@
+GIT v1.6.2.4 Release Notes
+==========================
+
+Fixes since v1.6.2.3
+--------------------
+
+* The configuration parser had a buffer overflow while parsing an overlong
+ value.
+
+* "git-checkout <tree-ish> <submodule>" did not update the index entry at
+ the named path; it now does.
+
+* "git init" segfaulted when given an overlong template location via
+ the --template= option.
+
+* "git-ls-tree" and "git-diff-tree" used a pathspec correctly when
+ deciding to descend into a subdirectory but they did not match the
+ individual paths correctly. This caused pathspecs "abc/d ab" to match
+ "abc/0" ("abc/d" made them decide to descend into the directory "abc/",
+ and then "ab" incorrectly matched "abc/0" when it shouldn't).
+
+* "git-merge-recursive" was broken when a submodule entry was involved in
+ a criss-cross merge situation.
+
+Many small documentation updates are included as well.
+
+---
+exec >/var/tmp/1
+echo O=$(git describe maint)
+O=v1.6.2.3-21-ga51609a
+git shortlog --no-merges $O..maint
diff --git a/Documentation/git-daemon.txt b/Documentation/git-daemon.txt
index 36f00aed67..a85121c689 100644
--- a/Documentation/git-daemon.txt
+++ b/Documentation/git-daemon.txt
@@ -48,7 +48,7 @@ OPTIONS
'git-daemon' will refuse to start when this option is enabled and no
whitelist is specified.
---base-path::
+--base-path=path::
Remap all the path requests as relative to the given path.
This is sort of "GIT root" - if you run 'git-daemon' with
'--base-path=/srv/git' on example.com, then if you later try to pull
@@ -81,8 +81,8 @@ OPTIONS
Incompatible with --port, --listen, --user and --group options.
--listen=host_or_ipaddr::
- Listen on an a specific IP address or hostname. IP addresses can
- be either an IPv4 address or an IPV6 address if supported. If IPv6
+ Listen on a specific IP address or hostname. IP addresses can
+ be either an IPv4 address or an IPv6 address if supported. If IPv6
is not supported, then --listen=hostname is also not supported and
--listen must be given an IPv4 address.
Incompatible with '--inetd' option.
@@ -90,17 +90,17 @@ OPTIONS
--port=n::
Listen on an alternative port. Incompatible with '--inetd' option.
---init-timeout::
+--init-timeout=n::
Timeout between the moment the connection is established and the
client request is received (typically a rather low value, since
that should be basically immediate).
---timeout::
+--timeout=n::
Timeout for specific client sub-requests. This includes the time
- it takes for the server to process the sub-request and time spent
- waiting for next client's request.
+ it takes for the server to process the sub-request and the time spent
+ waiting for the next client's request.
---max-connections::
+--max-connections=n::
Maximum number of concurrent clients, defaults to 32. Set it to
zero for no limit.
@@ -150,7 +150,7 @@ the facility of inet daemon to achieve the same before spawning
Enable/disable the service site-wide per default. Note
that a service disabled site-wide can still be enabled
per repository if it is marked overridable and the
- repository enables the service with an configuration
+ repository enables the service with a configuration
item.
--allow-override=service::
diff --git a/Documentation/git-imap-send.txt b/Documentation/git-imap-send.txt
index 024084b8b7..d016dafd49 100644
--- a/Documentation/git-imap-send.txt
+++ b/Documentation/git-imap-send.txt
@@ -51,7 +51,7 @@ imap.host::
imap.user::
The username to use when logging in to the server.
-imap.password::
+imap.pass::
The password to use when logging in to the server.
imap.port::
diff --git a/builtin-init-db.c b/builtin-init-db.c
index 4e02b33bb7..d1fa12a59e 100644
--- a/builtin-init-db.c
+++ b/builtin-init-db.c
@@ -122,8 +122,10 @@ static void copy_templates(const char *template_dir)
template_dir = system_path(DEFAULT_GIT_TEMPLATE_DIR);
if (!template_dir[0])
return;
+ template_len = strlen(template_dir);
+ if (PATH_MAX <= (template_len+strlen("/config")))
+ die("insanely long template path %s", template_dir);
strcpy(template_path, template_dir);
- template_len = strlen(template_path);
if (template_path[template_len-1] != '/') {
template_path[template_len++] = '/';
template_path[template_len] = 0;
diff --git a/t/t0001-init.sh b/t/t0001-init.sh
index 5ac0a273a9..e3d846420d 100755
--- a/t/t0001-init.sh
+++ b/t/t0001-init.sh
@@ -199,4 +199,13 @@ test_expect_success 'init honors global core.sharedRepository' '
x`git config -f shared-honor-global/.git/config core.sharedRepository`
'
+test_expect_success 'init rejects insanely long --template' '
+ (
+ insane=$(printf "x%09999dx" 1) &&
+ mkdir test &&
+ cd test &&
+ test_must_fail git init --template=$insane
+ )
+'
+
test_done