aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_websocket.erl (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Make websocket send put back pressure on c2s processPaweł Chmielowski2020-10-131-0/+10
| | | | | | | | | | | Previously c2s was free to generate data to send in unlimited manner, and just generate queue of messages that are waiting to be send. This could lead to hitting timouts in stream management ack handling (if c2s generate lot of packages, after which <r> request was sent, client could even not receive it before timeout was triggered on server waiting for corresponding <a>). This changes makes c2s process wait for data being sent to tcp socket associated with websocket connection, which should help with this problem.
* Use include_lib() to include headers from dependencies (#3369)Stu Tomlinson2020-09-031-1/+1
|
* Update copyright to 2020 (#3149)Badlop2020-01-281-1/+1
|
* Correctly handle unicode in log messagesEvgeny Khramtsov2019-09-231-2/+2
|
* Apply shaping to websocket connectionsFrank Diebolt2019-07-291-15/+47
|
* Make logging messages more consistentEvgeny Khramtsov2019-06-241-6/+6
|
* Use new configuration validatorEvgeny Khramtsov2019-06-141-26/+2
|
* Handle TCP errors in websocketsEvgeny Khramtsov2019-05-091-0/+3
|
* Return "Bad request" error when origin in websocket connection doesn't matchPaweł Chmielowski2019-04-261-37/+55
| | | | | This also allow websocket_origin option to accept multiple values instead of just single one.
* Use binary framing in MQTT WebSocketsEvgeny Khramtsov2019-04-251-1/+5
|
* Fix RFC6454 violation on websocket connection when validating Origin headerPaweł Dorofiejczyk2019-04-241-9/+9
|
* Move websocket optionsEvgeny Khramtsov2019-04-231-3/+21
|
* Origin header validation on websocket connection (#2821)Paweł Dorofiejczyk2019-03-151-1/+5
|
* Update copyright to 2019 (#2756)Badlop2019-01-081-1/+1
|
* Get rid of ejabberd.hrl headerEvgeniy Khramtsov2018-06-141-1/+0
| | | | | | | | | The header consisted of too many unrelated stuff and macros misuse. Some stuff is moved into scram.hrl and type_compat.hrl. All macros have been replaced with the corresponding function calls. TODO: probably type_compat.hrl is not even needed anymore since we support only Erlang >= OTP 17.5
* Optimize HTTP requests memory usageEvgeniy Khramtsov2018-05-141-6/+7
| | | | | | | | | | | | | | | Due to historical reasons, ejabberd loads the whole file/data into the memory when serving an HTTP request. This is now improved: 1) For GET requests ejabberd uses sendfile(2) if the underlying connection is HTTP and falls back to read/write loop with 64kb buffer for HTTPS connections. This type of requests are handled by mod_http_fileserver, mod_http_upload, ejabberd_captcha, etc 2) POST requests are now limited to 20Mb and are fully downloaded into the memory for further processing (by ejabberd_web_admin, mod_bosh, etc) 3) PUT requests (e.g. for mod_http_upload) are handled by read/write loop with 64kb buffer
* Update copyright datesEvgeniy Khramtsov2018-01-051-1/+1
|
* Deprecate misc:encode_base64/1 and misc:decode_base64/1Evgeniy Khramtsov2017-05-231-1/+1
|
* Rename aux.erl as misc.erl17.04Christophe Romain2017-04-111-1/+1
| | | | Thanks Microsoft Windows to not support some filenames
* Deprecate jlib.erl in favor of aux.erlEvgeniy Khramtsov2017-03-301-1/+1
| | | | | Since the main goal of jlib.erl is lost, all auxiliary functions are now moved to aux.erl, and the whole jlib.erl is now deprecated.
* Use crypto:hash/2 functionPeter Lemenkov2017-02-131-1/+1
| | | | | | | | | | Use crypto:hash/2 function instead of ones from p1_sha. This function exists since commit erlang/otp@208f9ad3828313f6c659a501d53f5534ec1bdf2e and also implemented as NIF, so I believe it's safe to use it. Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
* Update copyright date automatically (#1442)Badlop2017-01-021-1/+1
|
* Get rid of "jlib.hrl" dependency in some modulesEvgeniy Khramtsov2016-07-301-1/+1
|
* Switch to fast_tls and update app namesMickael Remond2016-02-031-3/+3
|
* Update copyright to 2016 (#901)Badlop2016-01-131-1/+1
|
* Pass stream management options defined in http listener to http-bind and ↵Paweł Chmielowski2015-09-041-2/+4
| | | | websocket
* Document protocol support (EJABS-1620)Badlop2015-05-211-0/+2
|
* ejabberd_websocket: Ignore case of header valuesHolger Weiss2015-04-051-2/+3
| | | | | | | | RFC 6455 says that the client's opening handshake includes an Upgrade header field "containing the value 'websocket', treated as an ASCII case-insensitive value." Closes #510.
* Add support for websocket connectionsPaweł Chmielowski2015-02-251-0/+403