mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-17 05:54:59 +02:00
ssh kitten: Fix a regression causing hostname directives in ssh.conf not matching when username is specified
This commit is contained in:
@@ -49,19 +49,23 @@ func get_destination(hostname string) (username, hostname_for_match string) {
|
||||
username = u.Username
|
||||
}
|
||||
hostname_for_match = hostname
|
||||
parsed := false
|
||||
if strings.HasPrefix(hostname, "ssh://") {
|
||||
p, err := url.Parse(hostname)
|
||||
if err == nil {
|
||||
hostname_for_match = p.Hostname()
|
||||
parsed = true
|
||||
if p.User.Username() != "" {
|
||||
username = p.User.Username()
|
||||
}
|
||||
}
|
||||
} else if strings.Contains(hostname, "@") && hostname[0] != '@' {
|
||||
username, hostname_for_match, _ = strings.Cut(hostname, "@")
|
||||
parsed = true
|
||||
}
|
||||
if strings.Contains(hostname, "@") && hostname[0] != '@' {
|
||||
_, hostname_for_match, _ = strings.Cut(hostname_for_match, "@")
|
||||
if !parsed && strings.Contains(hostname, "@") && hostname[0] != '@' {
|
||||
_, hostname_for_match, _ = strings.Cut(hostname, "@")
|
||||
parsed = true
|
||||
}
|
||||
hostname_for_match, _, _ = strings.Cut(hostname_for_match, ":")
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user