From 959eabe2675a3b8be9bc2b2459cc899a5a64b283 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Tue, 22 May 2018 10:27:47 -0700 Subject: fixes #474 websocket listen on ws://*: fails fixes #464 Support NN_WS_MSG_TYPE option (compat) fixes #415 websocket does not honor recv maxsize This fixes a significant (and security) issue in websocket, where the code does not honor a maximum receive size. We've exposed new API (internal) to set the limit on the frame size, and we've changed the default to *unlimited* for that internal API. (But the default for SP sockets, which are the only consumers at present, is still 1MB just like all other SP transports.) --- src/supplemental/websocket/websocket.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/supplemental/websocket/websocket.h') diff --git a/src/supplemental/websocket/websocket.h b/src/supplemental/websocket/websocket.h index 546f41a9..9936b10f 100644 --- a/src/supplemental/websocket/websocket.h +++ b/src/supplemental/websocket/websocket.h @@ -33,14 +33,16 @@ extern int nni_ws_listener_listen(nni_ws_listener *); extern void nni_ws_listener_accept(nni_ws_listener *, nng_aio *); extern void nni_ws_listener_hook( nni_ws_listener *, nni_ws_listen_hook, void *); -extern int nni_ws_listener_set_tls(nni_ws_listener *, nng_tls_config *); -extern int nni_ws_listener_get_tls(nni_ws_listener *, nng_tls_config **s); +extern int nni_ws_listener_set_tls(nni_ws_listener *, nng_tls_config *); +extern int nni_ws_listener_get_tls(nni_ws_listener *, nng_tls_config **s); +extern void nni_ws_listener_set_maxframe(nni_ws_listener *, size_t); extern int nni_ws_dialer_init(nni_ws_dialer **, nni_url *); extern void nni_ws_dialer_fini(nni_ws_dialer *); extern void nni_ws_dialer_close(nni_ws_dialer *); extern int nni_ws_dialer_proto(nni_ws_dialer *, const char *); extern int nni_ws_dialer_header(nni_ws_dialer *, const char *, const char *); +extern void nni_ws_dialer_set_maxframe(nni_ws_dialer *, size_t); extern void nni_ws_dialer_dial(nni_ws_dialer *, nng_aio *); extern int nni_ws_dialer_set_tls(nni_ws_dialer *, nng_tls_config *); extern int nni_ws_dialer_get_tls(nni_ws_dialer *, nng_tls_config **); -- cgit v1.2.3-70-g09d2