[asterisk-bugs] [JIRA] (ASTERISK-28231) res_http_websocket: Not responding to Connection Close Frame (opcode 8)

Jeremy Lainé (JIRA) noreply at issues.asterisk.org
Fri Jan 4 07:41:47 CST 2019


    [ https://issues.asterisk.org/jira/browse/ASTERISK-28231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=245900#comment-245900 ] 

Jeremy Lainé commented on ASTERISK-28231:
-----------------------------------------

After some further investigation, there are other issues with the way Asterisk handles CLOSE opcodes:

- the payload which is returned to the calling code is garbage, as no unmasking is performed
- the iostream doesn't get closed

> res_http_websocket: Not responding to Connection Close Frame (opcode 8)
> -----------------------------------------------------------------------
>
>                 Key: ASTERISK-28231
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-28231
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_http_websocket
>    Affects Versions: 16.0.1
>            Reporter: Jeremy Lainé
>         Attachments: test-ws.py
>
>
> Asterisk's WebSocket implementation does not seem to respond to opcode 8, meaning that a client client which tries to close the WebSocket cleanly ends up hanging.
> Quoting RFC 6455 section 5.5.1 Close:
> {quote}
>    If an endpoint receives a Close frame and did not previously send a
>    Close frame, the endpoint MUST send a Close frame in response.
> {quote}
> I can reproduce this 100% against Asterisk 16.0.1 using a trivial Python script.
> NOTE: it would probably be good to run the full autobahn test suite to shake out any other quirks: https://github.com/crossbario/autobahn-testsuite



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list