From 7163efd934b75a39c766313ec2eec05c1439dbf0 Mon Sep 17 00:00:00 2001 From: Nickolay Shmyrev <nshmyrev@alphacephei.com> Date: Mon, 22 Jun 2020 19:16:15 +0200 Subject: [PATCH] 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 --- res/res_http_websocket.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/res/res_http_websocket.c b/res/res_http_websocket.c index 5d14ac6889..fdcb0d9a93 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; } -- GitLab