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 documentationmaint
						commit
						cef5775b9f
					
				|  | @ -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 | ||||
|  | @ -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:: | ||||
|  |  | |||
|  | @ -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:: | ||||
|  |  | |||
|  | @ -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; | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Junio C Hamano
						Junio C Hamano