diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-04-18 14:45:59 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-04-18 14:45:59 -0700 |
commit | cef5775b9f640beb51b07f8a296cfcc9b11b9744 (patch) | |
tree | 1bc646b4ffaa3d8cdd8bae0262e7eae839faa728 | |
parent | 1a1f063a1738f8e59c26fccdf3f60580edde3dbe (diff) | |
parent | 67daebfd3b9ba020d677e069000782b9b1e8cf75 (diff) | |
download | git-cef5775b9f640beb51b07f8a296cfcc9b11b9744.tar.gz git-cef5775b9f640beb51b07f8a296cfcc9b11b9744.tar.xz |
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.txt | 31 | ||||
-rw-r--r-- | Documentation/git-daemon.txt | 18 | ||||
-rw-r--r-- | Documentation/git-imap-send.txt | 2 | ||||
-rw-r--r-- | builtin-init-db.c | 4 | ||||
-rwxr-xr-x | t/t0001-init.sh | 9 |
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 000000000..21bf4f3a3 --- /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 36f00aed6..a85121c68 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 024084b8b..d016dafd4 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 4e02b33bb..d1fa12a59 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 5ac0a273a..e3d846420 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 |