diff options
author | René Scharfe <rene.scharfe@lsrfire.ath.cx> | 2012-06-12 20:46:56 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-06-13 13:10:55 -0700 |
commit | 7acf438215d1b0e8e47a707f3585de8486a2e5fe (patch) | |
tree | dd7b2535a9d3b4edae9a275558478f7ce76d7a49 | |
parent | 121f71f0da1bc9a4e1e96be2c3e683191a82a354 (diff) | |
download | git-7acf438215d1b0e8e47a707f3585de8486a2e5fe.tar.gz |
git: Wrong parsing of ssh urls with IPv6 literals ignores port
If we encounter an address part shaped like "[HOST]:PORT", we skip the opening
bracket and replace the closing one with a NUL. The variable host then points
to HOST and we've cut off the PORT part. Thus, when we go looking for it using
host a bit later, we can't find it. Start at end instead, which either points
to the colon, if present, or is equal to host.
Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | connect.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -536,7 +536,7 @@ struct child_process *git_connect(int fd[2], const char *url_orig, * Add support for ssh port: ssh://host.xy:<port>/... */ if (protocol == PROTO_SSH && host != url) - port = get_port(host); + port = get_port(end); if (protocol == PROTO_GIT) { /* These underlying connection commands die() if they |