Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | plugins: Use integer config API with interval specification where sensible | Kim Alvefur | 2023-07-17 | 1 | -3/+3 |
| | | | | | | | Many of these fall into a few categories: - util.cache size, must be >= 1 - byte or item counts that logically can't be negative - port numbers that should be in 1..0xffff | ||||
* | plugins: Switch to :get_option_period() for time range options | Kim Alvefur | 2023-07-16 | 1 | -1/+1 |
| | | | | Improves readability ("1 day" vs 86400) and centralizes validation. | ||||
* | plugins: Prefix module imports with prosody namespace | Kim Alvefur | 2023-03-24 | 1 | -12/+12 |
| | |||||
* | mod_websocket: Fire pre-session-close event (fixes #1800)0.12.3 | Matthew Wild | 2023-02-20 | 1 | -0/+3 |
| | | | | | | | | | | | | | | | | This event was added in a7c183bb4e64 and is required to make mod_smacks know that a session was intentionally closed and shouldn't be hibernated (see fcea4d9e7502). Because this was missing from mod_websocket's session.close(), mod_smacks would always attempt to hibernate websocket sessions even if they closed cleanly. That mod_websocket has its own copy of session.close() is something to fix another day (probably not in the stable branch). So for now this commit makes the minimal change to get things working again. Thanks to Damian and the Jitsi team for reporting. | ||||
* | mod_http (and dependent modules): Make CORS opt-in by default (fixes #1731) | Matthew Wild | 2022-03-28 | 1 | -0/+3 |
| | | | | | | | | | The same-origin policy enforced by browsers is a security measure that should only be turned off when it is safe to do so. It is safe to do so in Prosody's default modules, but people may load third-party modules that are unsafe. Therefore we have flipped the default, so that modules must explicitly opt in to having CORS headers added on their requests. | ||||
* | mod_websocket: Only enable host-agnostic HTTP routing when enabled globally | Kim Alvefur | 2022-02-04 | 1 | -1/+3 |
| | | | | | | | This way the host-agnostic http://*:5280/ handler is not enabled, but BOSH can still be used with any local VirtualHost Ref #1712 | ||||
* | mod_c2s,etc: Identify stanza object with appropriate function | Kim Alvefur | 2021-10-24 | 1 | -2/+2 |
| | | | | | Better than duck typing, in case anyone ever passes a non-stanza table with a 'name' field. | ||||
* | mod_bosh,mod_websocket: Make into global-shared modules (...again) | Kim Alvefur | 2021-06-21 | 1 | -12/+14 |
| | | | | | | | | | | | | Global modules aren't quite considered loaded onto hosts, which causes confusion in some cases. They are also reported in the log as being served on http://*:5280/foo which is also a bit confusing, and can't be clicked. Global modules also have to have their paths configured in the global section, which could be confusing and unexpected. This global+shared method should be the best of both worlds. | ||||
* | Merge 0.11->trunk | Matthew Wild | 2021-05-13 | 1 | -1/+1 |
|\ | |||||
| * | mod_c2s, mod_s2s, mod_component, mod_bosh, mod_websockets: Set default ↵ | Matthew Wild | 2021-05-07 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | stanza size limits c2s/bosh/ws streams will default to 256KB, s2s and components to 512KB. These values are aligned with ejabberd's default settings, which should reduce issues related to inconsistent size limits between servers on the XMPP network. The previous default (10MB) is excessive for any production server, and allows significant memory usage by even unauthenticated sessions. | ||||
* | | mod_websocket: Use mod_http_errors html template #1172 | Kim Alvefur | 2021-02-21 | 1 | -4/+12 |
| | | | | | | | | Same as the prior commit to mod_bosh | ||||
* | | mod_websocket: Inherit security status from http request | Kim Alvefur | 2021-02-18 | 1 | -1/+1 |
| | | | | | | | | | | | | | | Allows requests considered secure becasue of a proxy header to carry over to the client session. mod_bosh does this too. | ||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-09-29 | 1 | -76/+106 |
|\| | |||||
| * | mod_websocket: Refactor frame validity checking, also check ↵ | Matthew Wild | 2020-09-29 | 1 | -77/+95 |
| | | | | | | | | partially-received frames against constraints | ||||
| * | mod_websocket: Continue to process data already in the buffer after an error ↵ | Matthew Wild | 2020-09-28 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | occurs Previously any error, or even a normal websocket close frame, would return early, leaving potentially entire frames in the buffer unprocessed and then discarded. This change stops processing new data, but returns an existing processed data up to the point of the error/close. | ||||
| * | mod_websocket: Enforce stanza size limit and close stream | Matthew Wild | 2020-09-17 | 1 | -0/+4 |
| | | |||||
| * | mod_websocket: Add separate limit for frame buffer size | Matthew Wild | 2020-09-17 | 1 | -2/+2 |
| | | |||||
| * | mod_websocket: handle full frame buffer and raise stream error | Matthew Wild | 2020-09-17 | 1 | -1/+5 |
| | | |||||
| * | mod_websocket: Switch partial frame buffering to util.dbuffer | Matthew Wild | 2020-09-17 | 1 | -3/+8 |
| | | | | | | | | | | This improves performance and enforces stanza size limits earlier in the pipeline. | ||||
| * | mod_websocket: Fire event on session creation (thanks Aaron van Meerten) | Matthew Wild | 2020-01-24 | 1 | -0/+2 |
| | | |||||
* | | mod_bosh, mod_websocket: Add config options to override GET responses | Matthew Wild | 2020-04-20 | 1 | -3/+7 |
| | | |||||
* | | mod_websocket: Fire event on session creation (thanks Aaron van Meerten) | Matthew Wild | 2020-01-24 | 1 | -0/+2 |
| | | |||||
* | | Merge 0.11->trunk | Kim Alvefur | 2020-01-02 | 1 | -0/+1 |
|\| | |||||
| * | mod_websocket: Clear mask bit when reflecting ping frames (fixes #1484)0.11.4 | Kim Alvefur | 2020-01-02 | 1 | -0/+1 |
| | | |||||
* | | mod_websocket: Guard against upgrading to websocket from a HEAD request | Kim Alvefur | 2019-10-12 | 1 | -1/+1 |
| | | |||||
* | | plugins: Remove tostring call from logging | Kim Alvefur | 2019-07-30 | 1 | -1/+1 |
| | | | | | | | | | | | | Taken care of by loggingmanager now Mass-rewrite using lua pattern like `tostring%b()` | ||||
* | | Merge 0.11->trunk | Kim Alvefur | 2019-07-28 | 1 | -0/+1 |
|\| | |||||
| * | mod_websocket: Clone stanza before mutating (fixes #1398) | Kim Alvefur | 2019-07-20 | 1 | -0/+1 |
| | | | | | | | | | | | | | | | | | | | | | | Checking for `stanza.attr.xmlns == nil` to determine if the stanza object is an actual stanza (`<message>`, `<presence>` or `<iq>` in the `jabber:client` or `jabbber:server` namespace) or some other stream element. Since this mutation is not reverted, it may leak to other places and cause them to mistreat stanzas as stream elements. Especially in cases like MUC where a single stanza is broadcast to many recipients. | ||||
| * | mod_websocket: Log an error if cross_domain_websocket = true is set in a ↵ | Kim Alvefur | 2019-01-22 | 1 | -0/+5 |
| | | | | | | | | VirtualHost section | ||||
| * | mod_websocket: Include the value of cross_domain_websocket in debug message | Kim Alvefur | 2019-01-18 | 1 | -1/+1 |
| | | |||||
* | | mod_bosh, mod_websocket: Remove accidentally included dependency on ↵ | Kim Alvefur | 2019-01-19 | 1 | -1/+0 |
| | | | | | | | | non-existant module | ||||
* | | mod_websocket: Drop CORS code in favor of that in mod_http | Kim Alvefur | 2018-10-04 | 1 | -34/+4 |
|/ | | | | | Like for mod_bosh, deprecates consider_websocket_secure and depend on mod_http_crossdomain if it is set. | ||||
* | mod_websocket: Silence the one warning instead of ignoring the entire file | Kim Alvefur | 2018-09-30 | 1 | -0/+2 |
| | |||||
* | mod_websocket: Serve HTTP in global context | Kim Alvefur | 2018-09-22 | 1 | -9/+10 |
| | |||||
* | Merge 0.10 -> trunk | Matthew Wild | 2018-05-16 | 1 | -0/+1 |
|\ | | | | | | | | | This commit intentionally drops changes from c2b99fa134b3 and 8da11142fabf which are based on older MUC code. | ||||
| * | mod_websocket: Store the request object on the session for use by other modules0.10.1 | Matthew Wild | 2018-05-08 | 1 | -0/+1 |
| | | |||||
* | | mod_websocket: Transfer IP address derived by mod_http | Kim Alvefur | 2018-03-15 | 1 | -0/+4 |
|/ | |||||
* | mod_websocket: Convert set to string (syslog sink needs a better fix) | Kim Alvefur | 2017-05-16 | 1 | -1/+1 |
| | |||||
* | mod_websocket: Log state of cross domain set after changing it | Kim Alvefur | 2017-04-03 | 1 | -0/+1 |
| | |||||
* | mod_websocket: Make open_stream method behave like the one from util.xmppstream | Kim Alvefur | 2017-03-02 | 1 | -2/+5 |
| | |||||
* | mod_websocket: Include xml:lang attribute on stream <open> (fixes #840) | Kim Alvefur | 2017-03-02 | 1 | -0/+1 |
| | |||||
* | mod_websocket: Set connections starttls method to false to prevent mod_tls ↵ | Kim Alvefur | 2017-02-25 | 1 | -0/+2 |
| | | | | from offering starttls (fixes #837) | ||||
* | mod_websocket: Allow per-host cross_domain_websocket, defaulting to the base ↵ | Kim Alvefur | 2016-12-05 | 1 | -2/+6 |
| | | | | URL of the current host | ||||
* | mod_websocket: Add the base URL of each host module is enabled on to ↵ | Kim Alvefur | 2016-12-05 | 1 | -0/+13 |
| | | | | 'cross_domain_websocket' | ||||
* | mod_websocket: Verify that the client-sent Origin header matches ↵ | Kim Alvefur | 2016-12-05 | 1 | -9/+13 |
| | | | | cross_domain_websocket (fixes #652) | ||||
* | mod_websocket: Use contains_token from util.http for checking if the ↵ | Kim Alvefur | 2016-12-04 | 1 | -4/+2 |
| | | | | requested WebSocket sub-protocols include XMPP | ||||
* | mod_websocket: Add some debug messages | Kim Alvefur | 2016-12-04 | 1 | -0/+3 |
| | |||||
* | mod_websocket: Set FIN flag on ping frames (fixes #773) | Kim Alvefur | 2016-11-04 | 1 | -1/+1 |
| | |||||
* | mod_websocket: Fix read timeout handler (thanks mt) | Kim Alvefur | 2016-04-06 | 1 | -1/+4 |
| | |||||
* | mod_websocket: Send a ping on read timeout | Kim Alvefur | 2016-03-23 | 1 | -0/+7 |
| |