kludge around tun API mismatch betterer
This commit is contained in:
parent
c332110291
commit
bc42cc6fe7
|
@ -250,14 +250,18 @@ sys_tun_infilter(struct Channel *c, char *buf, int len)
|
||||||
}
|
}
|
||||||
|
|
||||||
u_char *
|
u_char *
|
||||||
sys_tun_outfilter(struct Channel *c, u_char **data, size_t *dlen)
|
sys_tun_outfilter(struct Channel *c, u_char **data, u_int *dlen)
|
||||||
{
|
{
|
||||||
u_char *buf;
|
u_char *buf;
|
||||||
u_int32_t *af;
|
u_int32_t *af;
|
||||||
int r;
|
int r;
|
||||||
|
size_t xxx_dlen;
|
||||||
|
|
||||||
if ((r = sshbuf_get_string(&c->output, data, dlen)) != 0)
|
/* XXX new API is incompatible with this signature. */
|
||||||
|
if ((r = sshbuf_get_string(&c->output, data, &xxx_dlen)) != 0)
|
||||||
fatal("%s: buffer error: %s", __func__, ssh_err(r));
|
fatal("%s: buffer error: %s", __func__, ssh_err(r));
|
||||||
|
if (dlen != NULL)
|
||||||
|
*dlen = xxx_dlen;
|
||||||
if (*dlen < sizeof(*af))
|
if (*dlen < sizeof(*af))
|
||||||
return (NULL);
|
return (NULL);
|
||||||
buf = *data;
|
buf = *data;
|
||||||
|
|
|
@ -27,7 +27,7 @@ int sys_tun_open(int, int);
|
||||||
#if defined(SSH_TUN_COMPAT_AF) || defined(SSH_TUN_PREPEND_AF)
|
#if defined(SSH_TUN_COMPAT_AF) || defined(SSH_TUN_PREPEND_AF)
|
||||||
# define SSH_TUN_FILTER
|
# define SSH_TUN_FILTER
|
||||||
int sys_tun_infilter(struct Channel *, char *, int);
|
int sys_tun_infilter(struct Channel *, char *, int);
|
||||||
u_char *sys_tun_outfilter(struct Channel *, u_char **, size_t *);
|
u_char *sys_tun_outfilter(struct Channel *, u_char **, u_int *);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue