-#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
pktlen += 4;
break;
case PKT_CHAR:
- (void) va_arg(ap1, char);
+ (void) va_arg(ap1, int);
pktlen++;
break;
case PKT_DATA:
p += 4;
break;
case PKT_CHAR:
- argchar = va_arg(ap2, unsigned char);
+ argchar = (unsigned char) va_arg(ap2, int);
*p = argchar;
p++;
break;
int sport,dport,sserv,dserv;
char sports[256], dports[256], host[256];
char buf[1024];
- struct servent *se;
ssh->rportfwds = newtree234(ssh_rportcmp_ssh1);
/* Add port forwardings. */
dserv = 0;
if (dport == 0) {
dserv = 1;
- se = getservbyname(dports, NULL);
- if (se != NULL) {
- dport = ntohs(se->s_port);
- } else {
+ dport = net_service_lookup(dports);
+ if (!dport) {
sprintf(buf,
"Service lookup failed for destination port \"%s\"",
dports);
sserv = 0;
if (sport == 0) {
sserv = 1;
- se = getservbyname(sports, NULL);
- if (se != NULL) {
- sport = ntohs(se->s_port);
- } else {
+ sport = net_service_lookup(sports);
+ if (!sport) {
sprintf(buf,
"Service lookup failed for source port \"%s\"",
sports);
pfd_addforward(host, dport, sport, ssh);
sprintf(buf, "Local port %.*s%.*s%d%.*s forwarding to"
" %s:%.*s%.*s%d%.*s",
- sserv ? strlen(sports) : 0, sports,
+ (int)(sserv ? strlen(sports) : 0), sports,
sserv, "(", sport, sserv, ")",
host,
- dserv ? strlen(dports) : 0, dports,
+ (int)(dserv ? strlen(dports) : 0), dports,
dserv, "(", dport, dserv, ")");
logevent(buf);
} else {
} else {
sprintf(buf, "Requesting remote port %.*s%.*s%d%.*s"
" forward to %s:%.*s%.*s%d%.*s",
- sserv ? strlen(sports) : 0, sports,
+ (int)(sserv ? strlen(sports) : 0), sports,
sserv, "(", sport, sserv, ")",
host,
- dserv ? strlen(dports) : 0, dports,
+ (int)(dserv ? strlen(dports) : 0), dports,
dserv, "(", dport, dserv, ")");
logevent(buf);
send_packet(ssh, SSH1_CMSG_PORT_FORWARD_REQUEST,
} else if (ssh->pktin.type == SSH1_MSG_CHANNEL_OPEN_FAILURE) {
unsigned int remoteid = GET_32BIT(ssh->pktin.body);
- unsigned int localid = GET_32BIT(ssh->pktin.body+4);
struct ssh_channel *c;
c = find234(ssh->channels, &remoteid, ssh_channelfind);
} while (ret == 0);
if (ret < 0)
cleanup_exit(0);
+ c_write_str(ssh, "\r\n");
}
- c_write_str(ssh, "\r\n");
s->username[strcspn(s->username, "\n\r")] = '\0';
} else {
char stuff[200];
int sport,dport,sserv,dserv;
char sports[256], dports[256], host[256];
char buf[1024];
- struct servent *se;
ssh->rportfwds = newtree234(ssh_rportcmp_ssh2);
/* Add port forwardings. */
dserv = 0;
if (dport == 0) {
dserv = 1;
- se = getservbyname(dports, NULL);
- if (se != NULL) {
- dport = ntohs(se->s_port);
- } else {
+ dport = net_service_lookup(dports);
+ if (!dport) {
sprintf(buf,
"Service lookup failed for destination port \"%s\"",
dports);
sserv = 0;
if (sport == 0) {
sserv = 1;
- se = getservbyname(sports, NULL);
- if (se != NULL) {
- sport = ntohs(se->s_port);
- } else {
+ sport = net_service_lookup(sports);
+ if (!sport) {
sprintf(buf,
"Service lookup failed for source port \"%s\"",
sports);
pfd_addforward(host, dport, sport, ssh);
sprintf(buf, "Local port %.*s%.*s%d%.*s forwarding to"
" %s:%.*s%.*s%d%.*s",
- sserv ? strlen(sports) : 0, sports,
+ (int)(sserv ? strlen(sports) : 0), sports,
sserv, "(", sport, sserv, ")",
host,
- dserv ? strlen(dports) : 0, dports,
+ (int)(dserv ? strlen(dports) : 0), dports,
dserv, "(", dport, dserv, ")");
logevent(buf);
} else {
} else {
sprintf(buf, "Requesting remote port %.*s%.*s%d%.*s"
" forward to %s:%.*s%.*s%d%.*s",
- sserv ? strlen(sports) : 0, sports,
+ (int)(sserv ? strlen(sports) : 0), sports,
sserv, "(", sport, sserv, ")",
host,
- dserv ? strlen(dports) : 0, dports,
+ (int)(dserv ? strlen(dports) : 0), dports,
dserv, "(", dport, dserv, ")");
logevent(buf);
ssh2_pkt_init(ssh, SSH2_MSG_GLOBAL_REQUEST);
ssh->do_ssh2_transport_state = NULL;
ssh->do_ssh2_authconn_state = NULL;
ssh->mainchan = NULL;
+ ssh->throttled_all = 0;
+ ssh->v1_stdout_throttling = 0;
*backend_handle = ssh;