From: Nickolay Shmyrev Date: Mon, 22 Jun 2020 17:16:15 +0000 (+0200) Subject: res_http_websocket.c: Continue reading after ping/pong X-Git-Tag: 16.12.0-rc1~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a700134f5705aef3d9c859d7ada848aef23154ad;p=thirdparty%2Fasterisk.git res_http_websocket.c: Continue reading after ping/pong Do not return error if the client received ping frame while looking for a string and just wait for another frame. ASTERISK-28958 #close Change-Id: I4d06b4827bd71e56cbaafc011ffdcef9f0332922 --- diff --git a/res/res_http_websocket.c b/res/res_http_websocket.c index 2baf9177c5..b5d50e6b96 100644 --- a/res/res_http_websocket.c +++ b/res/res_http_websocket.c @@ -1452,6 +1452,12 @@ int AST_OPTIONAL_API_NAME(ast_websocket_read_string) return -1; } + if (opcode == AST_WEBSOCKET_OPCODE_PING) { + /* Try read again, we have sent pong already */ + fragmented = 1; + continue; + } + if (opcode == AST_WEBSOCKET_OPCODE_CONTINUATION) { continue; }