From e91aec21e7f7a6f86120d1c9167b04d420369294 Mon Sep 17 00:00:00 2001 From: Daniel-Constantin Mierla Date: Mon, 10 Oct 2016 11:41:24 +0200 Subject: [PATCH] websocket: catch CRLFCRLF pings over websocket connections - reported by GH #810 (cherry picked from commit 8fa51e52e9cf9dbae45069c9354cfeb36997dff9) --- modules/websocket/ws_frame.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/websocket/ws_frame.c b/modules/websocket/ws_frame.c index e8653ebd9da..833af22c4de 100644 --- a/modules/websocket/ws_frame.c +++ b/modules/websocket/ws_frame.c @@ -686,8 +686,10 @@ int ws_frame_receive(void *data) frame.payload_data); update_stat(ws_sip_received_frames, 1); - if(frame.payload_len==CRLF_LEN + if((frame.payload_len==CRLF_LEN && strncmp(frame.payload_data, CRLF, CRLF_LEN)==0) + || (frame.payload_len==CRLFCRLF_LEN + && strncmp(frame.payload_data, CRLFCRLF, CRLFCRLF_LEN)==0)) { ws_send_crlf(frame.wsc, opcode); wsconn_put(frame.wsc);