version 1.572, 2022/01/06 22:04:20 |
version 1.573, 2022/02/08 08:59:12 |
|
|
{ |
{ |
u_int i; |
u_int i; |
int port; |
int port; |
char *addr, *arg, *oarg, ch; |
char *addr, *arg, *oarg; |
int where = FORWARD_LOCAL; |
int where = FORWARD_LOCAL; |
|
|
channel_clear_permission(ssh, FORWARD_ADM, where); |
channel_clear_permission(ssh, FORWARD_ADM, where); |
|
|
/* Otherwise treat it as a list of permitted host:port */ |
/* Otherwise treat it as a list of permitted host:port */ |
for (i = 0; i < num_opens; i++) { |
for (i = 0; i < num_opens; i++) { |
oarg = arg = xstrdup(opens[i]); |
oarg = arg = xstrdup(opens[i]); |
ch = '\0'; |
addr = hpdelim(&arg); |
addr = hpdelim2(&arg, &ch); |
if (addr == NULL) |
if (addr == NULL || ch == '/') |
|
fatal_f("missing host in %s", what); |
fatal_f("missing host in %s", what); |
addr = cleanhostname(addr); |
addr = cleanhostname(addr); |
if (arg == NULL || ((port = permitopen_port(arg)) < 0)) |
if (arg == NULL || ((port = permitopen_port(arg)) < 0)) |