mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-28 11:11:47 +02:00
ssh kitten: Fix a regression causing hostname directives in ssh.conf not matching when username is specified
This commit is contained in:
@@ -76,6 +76,8 @@ Detailed list of changes
|
|||||||
|
|
||||||
- Config file format: allow splitting lines by starting subsequent lines with a backslash (:pull:`6603`)
|
- Config file format: allow splitting lines by starting subsequent lines with a backslash (:pull:`6603`)
|
||||||
|
|
||||||
|
- ssh kitten: Fix a regression causing hostname directives in :file:`ssh.conf` not matching when username is specified (:disc:`6609`)
|
||||||
|
|
||||||
|
|
||||||
0.29.2 [2023-07-27]
|
0.29.2 [2023-07-27]
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|||||||
@@ -49,19 +49,23 @@ func get_destination(hostname string) (username, hostname_for_match string) {
|
|||||||
username = u.Username
|
username = u.Username
|
||||||
}
|
}
|
||||||
hostname_for_match = hostname
|
hostname_for_match = hostname
|
||||||
|
parsed := false
|
||||||
if strings.HasPrefix(hostname, "ssh://") {
|
if strings.HasPrefix(hostname, "ssh://") {
|
||||||
p, err := url.Parse(hostname)
|
p, err := url.Parse(hostname)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
hostname_for_match = p.Hostname()
|
hostname_for_match = p.Hostname()
|
||||||
|
parsed = true
|
||||||
if p.User.Username() != "" {
|
if p.User.Username() != "" {
|
||||||
username = p.User.Username()
|
username = p.User.Username()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if strings.Contains(hostname, "@") && hostname[0] != '@' {
|
} else if strings.Contains(hostname, "@") && hostname[0] != '@' {
|
||||||
username, hostname_for_match, _ = strings.Cut(hostname, "@")
|
username, hostname_for_match, _ = strings.Cut(hostname, "@")
|
||||||
|
parsed = true
|
||||||
}
|
}
|
||||||
if strings.Contains(hostname, "@") && hostname[0] != '@' {
|
if !parsed && strings.Contains(hostname, "@") && hostname[0] != '@' {
|
||||||
_, hostname_for_match, _ = strings.Cut(hostname_for_match, "@")
|
_, hostname_for_match, _ = strings.Cut(hostname, "@")
|
||||||
|
parsed = true
|
||||||
}
|
}
|
||||||
hostname_for_match, _, _ = strings.Cut(hostname_for_match, ":")
|
hostname_for_match, _, _ = strings.Cut(hostname_for_match, ":")
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user