pf->dport = dport;
if (add234(ssh_rportfwds, pf) != pf) {
sprintf(buf,
- "Duplicate remote port forwarding to %s:%s",
+ "Duplicate remote port forwarding to %s:%d",
host, dport);
logevent(buf);
sfree(pf);
for(h = host, p = pktin.body+8; hostsize != 0; hostsize--) {
if (h+1 < host+sizeof(host))
*h++ = *p;
- *p++;
+ p++;
}
*h = 0;
port = GET_32BIT(p);
AUTH_TYPE_PUBLICKEY_OFFER_LOUD,
AUTH_TYPE_PUBLICKEY_OFFER_QUIET,
AUTH_TYPE_PASSWORD,
- AUTH_TYPE_KEYBOARD_INTERACTIVE
+ AUTH_TYPE_KEYBOARD_INTERACTIVE,
+ AUTH_TYPE_KEYBOARD_INTERACTIVE_QUIET
} type;
static int gotit, need_pw, can_pubkey, can_passwd, can_keyb_inter;
static int tried_pubkey_config, tried_agent, tried_keyb_inter;
if (type == AUTH_TYPE_PUBLICKEY_OFFER_LOUD)
c_write_str("Server refused our key\r\n");
logevent("Server refused public key");
+ } else if (type == AUTH_TYPE_KEYBOARD_INTERACTIVE_QUIET) {
+ /* server declined keyboard-interactive; ignore */
} else {
c_write_str("Access denied\r\n");
logevent("Access denied");
if (pktin.type == SSH2_MSG_USERAUTH_FAILURE)
gotit = TRUE;
logevent("Keyboard-interactive authentication refused");
- type = AUTH_TYPE_KEYBOARD_INTERACTIVE;
+ type = AUTH_TYPE_KEYBOARD_INTERACTIVE_QUIET;
continue;
}
pf->sport = sport;
if (add234(ssh_rportfwds, pf) != pf) {
sprintf(buf,
- "Duplicate remote port forwarding to %s:%s",
+ "Duplicate remote port forwarding to %s:%d",
host, dport);
logevent(buf);
sfree(pf);