unbreak across API change
This commit is contained in:
parent
6e2549ac2b
commit
0cdc5a3eb6
|
@ -32,8 +32,9 @@
|
|||
#include "openbsd-compat/sys-queue.h"
|
||||
#include "log.h"
|
||||
#include "misc.h"
|
||||
#include "buffer.h"
|
||||
#include "sshbuf.h"
|
||||
#include "channels.h"
|
||||
#include "ssherr.h"
|
||||
|
||||
/*
|
||||
* This is the portable version of the SSH tunnel forwarding, it
|
||||
|
@ -210,6 +211,7 @@ sys_tun_infilter(struct Channel *c, char *buf, int len)
|
|||
#endif
|
||||
u_int32_t *af;
|
||||
char *ptr = buf;
|
||||
int r;
|
||||
|
||||
#if defined(SSH_TUN_PREPEND_AF)
|
||||
if (len <= 0 || len > (int)(sizeof(rbuf) - sizeof(*af)))
|
||||
|
@ -242,17 +244,20 @@ sys_tun_infilter(struct Channel *c, char *buf, int len)
|
|||
*af = htonl(OPENBSD_AF_INET);
|
||||
#endif
|
||||
|
||||
buffer_put_string(&c->input, ptr, len);
|
||||
if ((r = sshbuf_put_string(&c->input, ptr, len)) != 0)
|
||||
fatal("%s: buffer error: %s", __func__, ssh_err(r));
|
||||
return (0);
|
||||
}
|
||||
|
||||
u_char *
|
||||
sys_tun_outfilter(struct Channel *c, u_char **data, u_int *dlen)
|
||||
sys_tun_outfilter(struct Channel *c, u_char **data, size_t *dlen)
|
||||
{
|
||||
u_char *buf;
|
||||
u_int32_t *af;
|
||||
int r;
|
||||
|
||||
*data = buffer_get_string(&c->output, dlen);
|
||||
if ((r = sshbuf_get_string(&c->output, data, dlen)) != 0)
|
||||
fatal("%s: buffer error: %s", __func__, ssh_err(r));
|
||||
if (*dlen < sizeof(*af))
|
||||
return (NULL);
|
||||
buf = *data;
|
||||
|
|
|
@ -27,7 +27,7 @@ int sys_tun_open(int, int);
|
|||
#if defined(SSH_TUN_COMPAT_AF) || defined(SSH_TUN_PREPEND_AF)
|
||||
# define SSH_TUN_FILTER
|
||||
int sys_tun_infilter(struct Channel *, char *, int);
|
||||
u_char *sys_tun_outfilter(struct Channel *, u_char **, u_int *);
|
||||
u_char *sys_tun_outfilter(struct Channel *, u_char **, size_t *);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue