version 1.403, 2020/10/18 11:32:01 |
version 1.404, 2021/01/27 09:26:53 |
|
|
return 0; |
return 0; |
} |
} |
if (c->flags & CHAN_EOF_RCVD) { |
if (c->flags & CHAN_EOF_RCVD) { |
if (datafellows & SSH_BUG_EXTEOF) |
if (ssh->compat & SSH_BUG_EXTEOF) |
debug("channel %d: accepting ext data after eof", |
debug("channel %d: accepting ext data after eof", |
c->self); |
c->self); |
else |
else |
|
|
if (fwd_opts->gateway_ports) |
if (fwd_opts->gateway_ports) |
wildcard = 1; |
wildcard = 1; |
} else if (fwd_opts->gateway_ports || is_client) { |
} else if (fwd_opts->gateway_ports || is_client) { |
if (((datafellows & SSH_OLD_FORWARD_ADDR) && |
if (((ssh->compat & SSH_OLD_FORWARD_ADDR) && |
strcmp(listen_addr, "0.0.0.0") == 0 && is_client == 0) || |
strcmp(listen_addr, "0.0.0.0") == 0 && is_client == 0) || |
*listen_addr == '\0' || strcmp(listen_addr, "*") == 0 || |
*listen_addr == '\0' || strcmp(listen_addr, "*") == 0 || |
(!is_client && fwd_opts->gateway_ports == 1)) { |
(!is_client && fwd_opts->gateway_ports == 1)) { |
|
|
c->host_port = fwd->connect_port; |
c->host_port = fwd->connect_port; |
c->listening_addr = addr == NULL ? NULL : xstrdup(addr); |
c->listening_addr = addr == NULL ? NULL : xstrdup(addr); |
if (fwd->listen_port == 0 && allocated_listen_port != NULL && |
if (fwd->listen_port == 0 && allocated_listen_port != NULL && |
!(datafellows & SSH_BUG_DYNAMIC_RPORT)) |
!(ssh->compat & SSH_BUG_DYNAMIC_RPORT)) |
c->listening_port = *allocated_listen_port; |
c->listening_port = *allocated_listen_port; |
else |
else |
c->listening_port = fwd->listen_port; |
c->listening_port = fwd->listen_port; |
|
|
fwd_perm_clear(&pset->permitted_user[idx]); |
fwd_perm_clear(&pset->permitted_user[idx]); |
else { |
else { |
pset->permitted_user[idx].listen_port = |
pset->permitted_user[idx].listen_port = |
(datafellows & SSH_BUG_DYNAMIC_RPORT) ? 0 : newport; |
(ssh->compat & SSH_BUG_DYNAMIC_RPORT) ? 0 : newport; |
} |
} |
} |
} |
|
|