mirror of
https://github.com/curl/curl.git
synced 2026-06-19 23:25:38 +03:00
parent
7428060b0e
commit
b2e0b4d008
1 changed files with 6 additions and 4 deletions
|
|
@ -748,19 +748,21 @@ static CURLcode ssh_force_knownhost_key_type(struct Curl_easy *data,
|
|||
if(store) {
|
||||
if(store->name) {
|
||||
if(store->name[0] == '[') {
|
||||
int port = 0;
|
||||
curl_off_t port;
|
||||
size_t kh_name_size = 0;
|
||||
const char *p;
|
||||
const char *kh_name_end = strstr(store->name, "]:");
|
||||
if(!kh_name_end) {
|
||||
infof(data, "Invalid host pattern %s in %s",
|
||||
store->name, data->set.str[STRING_SSH_KNOWNHOSTS]);
|
||||
continue;
|
||||
}
|
||||
port = atoi(kh_name_end + 2);
|
||||
if(kh_name_end && (port == conn->remote_port)) {
|
||||
p = kh_name_end + 2; /* start of port number */
|
||||
if(!curlx_str_number(&p, &port, 0xffff) &&
|
||||
(kh_name_end && (port == conn->remote_port))) {
|
||||
kh_name_size = strlen(store->name) - 1 - strlen(kh_name_end);
|
||||
if(strncmp(store->name + 1,
|
||||
conn->host.name, kh_name_size) == 0) {
|
||||
conn->host.name, kh_name_size) == 0) {
|
||||
found = TRUE;
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue