version 1.405, 2021/02/15 20:43:15 |
version 1.406, 2021/04/03 06:18:40 |
|
|
chan_fn **pre, **post; |
chan_fn **pre, **post; |
|
|
if ((pre = calloc(SSH_CHANNEL_MAX_TYPE, sizeof(*pre))) == NULL || |
if ((pre = calloc(SSH_CHANNEL_MAX_TYPE, sizeof(*pre))) == NULL || |
(post = calloc(SSH_CHANNEL_MAX_TYPE, sizeof(*post))) == NULL) |
(post = calloc(SSH_CHANNEL_MAX_TYPE, sizeof(*post))) == NULL) |
fatal_f("allocation failed"); |
fatal_f("allocation failed"); |
|
|
pre[SSH_CHANNEL_OPEN] = &channel_pre_open; |
pre[SSH_CHANNEL_OPEN] = &channel_pre_open; |
|
|
goto out; |
goto out; |
} |
} |
c = channel_new(ssh, "mux proxy", SSH_CHANNEL_MUX_PROXY, |
c = channel_new(ssh, "mux proxy", SSH_CHANNEL_MUX_PROXY, |
-1, -1, -1, 0, 0, 0, ctype, 1); |
-1, -1, -1, 0, 0, 0, ctype, 1); |
c->mux_ctx = downstream; /* point to mux client */ |
c->mux_ctx = downstream; /* point to mux client */ |
c->mux_downstream_id = id; /* original downstream id */ |
c->mux_downstream_id = id; /* original downstream id */ |
if ((r = sshbuf_put_cstring(modified, ctype)) != 0 || |
if ((r = sshbuf_put_cstring(modified, ctype)) != 0 || |
|
|
goto out; |
goto out; |
} |
} |
c = channel_new(ssh, "mux proxy", SSH_CHANNEL_MUX_PROXY, |
c = channel_new(ssh, "mux proxy", SSH_CHANNEL_MUX_PROXY, |
-1, -1, -1, 0, 0, 0, "mux-down-connect", 1); |
-1, -1, -1, 0, 0, 0, "mux-down-connect", 1); |
c->mux_ctx = downstream; /* point to mux client */ |
c->mux_ctx = downstream; /* point to mux client */ |
c->mux_downstream_id = id; |
c->mux_downstream_id = id; |
c->remote_id = remote_id; |
c->remote_id = remote_id; |