Merge branch 'jk/daemon-interpolate' into maint
The "interpolated-path" option of "git daemon" inserted any string client declared on the "host=" capability request without checking. Sanitize and limit %H and %CH to a saner and a valid DNS name. * jk/daemon-interpolate: daemon: sanitize incoming virtual hostname t5570: test git-daemon's --interpolated-path option git_connect: let user override virtual-host we send to daemon
This commit is contained in:
12
connect.c
12
connect.c
@ -669,10 +669,20 @@ struct child_process *git_connect(int fd[2], const char *url,
|
||||
printf("Diag: path=%s\n", path ? path : "NULL");
|
||||
conn = NULL;
|
||||
} else if (protocol == PROTO_GIT) {
|
||||
/*
|
||||
* Set up virtual host information based on where we will
|
||||
* connect, unless the user has overridden us in
|
||||
* the environment.
|
||||
*/
|
||||
char *target_host = getenv("GIT_OVERRIDE_VIRTUAL_HOST");
|
||||
if (target_host)
|
||||
target_host = xstrdup(target_host);
|
||||
else
|
||||
target_host = xstrdup(hostandport);
|
||||
|
||||
/* These underlying connection commands die() if they
|
||||
* cannot connect.
|
||||
*/
|
||||
char *target_host = xstrdup(hostandport);
|
||||
if (git_use_proxy(hostandport))
|
||||
conn = git_proxy_connect(fd, hostandport);
|
||||
else
|
||||
|
Reference in New Issue
Block a user