version 1.86, 2020/10/29 02:52:43 |
version 1.87, 2021/04/03 06:18:40 |
|
|
xasprintf(&ret, "dynamic forward %.200s:%d -> *", |
xasprintf(&ret, "dynamic forward %.200s:%d -> *", |
(fwd->listen_host == NULL) ? |
(fwd->listen_host == NULL) ? |
(options.fwd_opts.gateway_ports ? "*" : "LOCALHOST") : |
(options.fwd_opts.gateway_ports ? "*" : "LOCALHOST") : |
fwd->listen_host, fwd->listen_port); |
fwd->listen_host, fwd->listen_port); |
break; |
break; |
case MUX_FWD_REMOTE: |
case MUX_FWD_REMOTE: |
xasprintf(&ret, "remote forward %.200s:%d -> %.200s:%d", |
xasprintf(&ret, "remote forward %.200s:%d -> %.200s:%d", |
|
|
rfwd->allocated_port)) != 0) |
rfwd->allocated_port)) != 0) |
fatal_fr(r, "reply"); |
fatal_fr(r, "reply"); |
channel_update_permission(ssh, rfwd->handle, |
channel_update_permission(ssh, rfwd->handle, |
rfwd->allocated_port); |
rfwd->allocated_port); |
} else { |
} else { |
reply_ok(out, fctx->rid); |
reply_ok(out, fctx->rid); |
} |
} |
|
|
xasprintf(&failmsg, "remote port forwarding failed for " |
xasprintf(&failmsg, "remote port forwarding failed for " |
"listen port %d", rfwd->listen_port); |
"listen port %d", rfwd->listen_port); |
|
|
debug2_f("clearing registered forwarding for listen %d, " |
debug2_f("clearing registered forwarding for listen %d, " |
"connect %s:%d", rfwd->listen_port, |
"connect %s:%d", rfwd->listen_port, |
rfwd->connect_path ? rfwd->connect_path : |
rfwd->connect_path ? rfwd->connect_path : |
rfwd->connect_host, rfwd->connect_port); |
rfwd->connect_host, rfwd->connect_port); |
|
|
if (strlcpy(addr.sun_path, path, |
if (strlcpy(addr.sun_path, path, |
sizeof(addr.sun_path)) >= sizeof(addr.sun_path)) |
sizeof(addr.sun_path)) >= sizeof(addr.sun_path)) |
fatal("ControlPath too long ('%s' >= %u bytes)", path, |
fatal("ControlPath too long ('%s' >= %u bytes)", path, |
(unsigned int)sizeof(addr.sun_path)); |
(unsigned int)sizeof(addr.sun_path)); |
|
|
if ((sock = socket(PF_UNIX, SOCK_STREAM, 0)) == -1) |
if ((sock = socket(PF_UNIX, SOCK_STREAM, 0)) == -1) |
fatal_f("socket(): %s", strerror(errno)); |
fatal_f("socket(): %s", strerror(errno)); |