static void ssh_throttle_all(Ssh ssh, int enable, int bufsize);
static void ssh2_set_window(struct ssh_channel *c, unsigned newwin);
static int ssh_sendbuffer(void *handle);
static void ssh_throttle_all(Ssh ssh, int enable, int bufsize);
static void ssh2_set_window(struct ssh_channel *c, unsigned newwin);
static int ssh_sendbuffer(void *handle);
static unsigned long ssh_pkt_getuint32(struct Packet *pkt);
static int ssh2_pkt_getbool(struct Packet *pkt);
static void ssh_pkt_getstring(struct Packet *pkt, char **p, int *length);
static unsigned long ssh_pkt_getuint32(struct Packet *pkt);
static int ssh2_pkt_getbool(struct Packet *pkt);
static void ssh_pkt_getstring(struct Packet *pkt, char **p, int *length);
tree234 *channels; /* indexed by local id */
struct ssh_channel *mainchan; /* primary session channel */
int exitcode;
tree234 *channels; /* indexed by local id */
struct ssh_channel *mainchan; /* primary session channel */
int exitcode;
- (wc_match("Sun_SSH_1.0", imp) ||
+ (wc_match("OpenSSH_2.[0-4]*", imp) ||
+ wc_match("OpenSSH_2.5.[0-3]*", imp) ||
+ wc_match("Sun_SSH_1.0", imp) ||
}
static int ssh_closing(Plug plug, const char *error_msg, int error_code,
int calling_back)
{
Ssh ssh = (Ssh) plug;
}
static int ssh_closing(Plug plug, const char *error_msg, int error_code,
int calling_back)
{
Ssh ssh = (Ssh) plug;
if (error_msg) {
/* A socket error has occurred. */
logevent(error_msg);
connection_fatal(ssh->frontend, "%s", error_msg);
} else {
if (error_msg) {
/* A socket error has occurred. */
logevent(error_msg);
connection_fatal(ssh->frontend, "%s", error_msg);
} else {
Ssh ssh = (Ssh) plug;
ssh_gotdata(ssh, (unsigned char *)data, len);
if (ssh->state == SSH_STATE_CLOSED) {
Ssh ssh = (Ssh) plug;
ssh_gotdata(ssh, (unsigned char *)data, len);
if (ssh->state == SSH_STATE_CLOSED) {
ssh_closing((Plug)ssh, NULL, 0, 0);
crStop(1);
}
ssh_closing((Plug)ssh, NULL, 0, 0);
crStop(1);
}
PKT_END);
logevent("Unable to authenticate");
connection_fatal(ssh->frontend, "Unable to authenticate");
PKT_END);
logevent("Unable to authenticate");
connection_fatal(ssh->frontend, "Unable to authenticate");
ssh_closing((Plug)ssh, NULL, 0, 0);
crStop(1);
}
ssh_closing((Plug)ssh, NULL, 0, 0);
crStop(1);
}
* encrypted packet, we close the session once
* we've sent EXIT_CONFIRMATION.
*/
* encrypted packet, we close the session once
* we've sent EXIT_CONFIRMATION.
*/
ssh_closing((Plug)ssh, NULL, 0, 0);
}
ssh_closing((Plug)ssh, NULL, 0, 0);
}
goto wait_for_rekey; /* this is utterly horrid */
} else {
logeventf(ssh, "Initiating key re-exchange (%s)", (char *)in);
goto wait_for_rekey; /* this is utterly horrid */
} else {
logeventf(ssh, "Initiating key re-exchange (%s)", (char *)in);
ssh2_pkt_addstring(s->pktout, "en"); /* language tag */
ssh2_pkt_send_noqueue(ssh, s->pktout);
#endif
ssh2_pkt_addstring(s->pktout, "en"); /* language tag */
ssh2_pkt_send_noqueue(ssh, s->pktout);
#endif
ssh_closing((Plug)ssh, NULL, 0, 0);
}
}
ssh_closing((Plug)ssh, NULL, 0, 0);
}
}
ssh2_pkt_addstring(pktout, "en"); /* language tag */
ssh2_pkt_send_noqueue(ssh, pktout);
connection_fatal(ssh->frontend, "%s", buf);
ssh2_pkt_addstring(pktout, "en"); /* language tag */
ssh2_pkt_send_noqueue(ssh, pktout);
connection_fatal(ssh->frontend, "%s", buf);
ssh_closing((Plug)ssh, NULL, 0, 0);
return;
}
ssh_closing((Plug)ssh, NULL, 0, 0);
return;
}
ssh_closing((Plug)ssh, NULL, 0, 0);
crStopV;
}
ssh_closing((Plug)ssh, NULL, 0, 0);
crStopV;
}
logevent("Unable to authenticate");
connection_fatal(ssh->frontend,
"Unable to authenticate");
logevent("Unable to authenticate");
connection_fatal(ssh->frontend,
"Unable to authenticate");
ssh_closing((Plug)ssh, NULL, 0, 0);
crStopV;
}
ssh_closing((Plug)ssh, NULL, 0, 0);
crStopV;
}
" methods available");
ssh2_pkt_addstring(s->pktout, "en"); /* language tag */
ssh2_pkt_send_noqueue(ssh, s->pktout);
" methods available");
ssh2_pkt_addstring(s->pktout, "en"); /* language tag */
ssh2_pkt_send_noqueue(ssh, s->pktout);
ssh_closing((Plug)ssh, NULL, 0, 0);
crStopV;
}
ssh_closing((Plug)ssh, NULL, 0, 0);
crStopV;
}