Fixed config parsing wich has overwritten user specified values.

This commit is contained in:
Andreas Schneider
2010-04-04 14:02:09 +02:00
parent d87b29b678
commit 3e0959fa1b

View File

@@ -197,21 +197,25 @@ static int ssh_config_parse_line(ssh_session session, const char *line,
} }
break; break;
case SOC_PORT: case SOC_PORT:
if (session->port == 22) {
p = ssh_config_get_str(&s, NULL); p = ssh_config_get_str(&s, NULL);
if (p && *parsing) { if (p && *parsing) {
ssh_options_set(session, SSH_OPTIONS_PORT_STR, p); ssh_options_set(session, SSH_OPTIONS_PORT_STR, p);
} }
}
break; break;
case SOC_USERNAME: case SOC_USERNAME:
if (session->username == NULL) {
p = ssh_config_get_str(&s, NULL); p = ssh_config_get_str(&s, NULL);
if (p && *parsing) { if (p && *parsing) {
ssh_options_set(session, SSH_OPTIONS_USER, p); ssh_options_set(session, SSH_OPTIONS_USER, p);
} }
}
break; break;
case SOC_IDENTITY: case SOC_IDENTITY:
p = ssh_config_get_str(&s, NULL); p = ssh_config_get_str(&s, NULL);
if (p && *parsing) { if (p && *parsing) {
ssh_options_set(session, SSH_OPTIONS_IDENTITY, p); ssh_options_set(session, SSH_OPTIONS_ADD_IDENTITY, p);
} }
break; break;
case SOC_CIPHERS: case SOC_CIPHERS: