-#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
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);
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);