Commit Graph

66 Commits

Author SHA1 Message Date
Michael Klishin 8b90d4a27c Allow for tagged values for a few more rabbitmq.conf settings 2024-08-13 16:27:00 -04:00
Michal Kuratczyk cfa3de4b2b
Remove unused imports (thanks elp!) 2024-05-23 16:36:08 +02:00
Michael Klishin 01092ff31f
(c) year bumps 2024-01-01 22:02:20 -05:00
Michael Klishin 1b642353ca
Update (c) according to [1]
1. https://investors.broadcom.com/news-releases/news-release-details/broadcom-and-vmware-intend-close-transaction-november-22-2023
2023-11-21 23:18:22 -05:00
Michael Klishin 71a23c3675 Renaming in follow-up to #8790
{prefix}.enable_file_handle_cache => {prefix}.use_file_handle_cache
2023-07-10 13:35:25 +04:00
Michael Klishin 9bd0697b21 Introduce a way to disable FHC use in web_stomp 2023-07-09 09:16:17 +04:00
Loïc Hoguin 610af302c6
Add support for LOCAL proxy header
This is what the proxy uses for health checks. In those cases
we use the socket's IP/ports for the connection name as we
have nothing else we can use.
2023-06-23 12:12:58 +02:00
Iliia Khaprov 4404f3c083 Remove '\n' from Access refused stomp log. close #2568 2023-06-04 21:58:08 +02:00
Michal Kuratczyk d04b3afe9b verify_none in a couple of tests 2023-04-24 13:11:44 +00:00
Michal Kuratczyk 9345707739
verify_none in rfc6455_client 2023-04-14 16:15:21 +02:00
Carsten Csiky 644bf2cf57
Fix tests: Do not close connection from client side
- Server closes connection on the error case, so the client was not able
  to do so and consequently hung
- Do not test for the error code returned by the server, because it is
  not part of the spec and now accessible via the websocket client,
  which handles the TCP close instead of the Websocket close message
2023-01-10 15:58:17 -08:00
Carsten Csiky c3b3c34ae0
Fix connection linger for WebSTOMP 2023-01-10 15:58:17 -08:00
Michael Klishin ec4f1dba7d
(c) year bump: 2022 => 2023 2023-01-01 23:17:36 -05:00
Michael Klishin c38a3d697d
Bump (c) year 2022-03-21 01:21:56 +04:00
Carl Hörberg 681cb78b0d Test that proxy dest address is picked up in all plugins 2021-03-31 11:28:40 +02:00
Michael Klishin 52479099ec
Bump (c) year 2021-01-22 09:00:14 +03:00
Michael Klishin 8cb3b30033 Switch to MPL2 2020-07-15 03:19:24 +03:00
Michael Klishin 13eb64d80a Unify Ranch ref construction for all listeners
This makes the refs predictable and easy to compute
from a listener record. Then suspending all listeners
becomes a lot simpler.

While at it, make protocol applications clean up
their listeners when they stop. This way tests
and other callers that have to stop the app
would not need to know anything about
its listeners.

Part of rabbitmq/rabbitmq-server#2321
2020-06-24 04:27:34 +03:00
Michael Klishin 35aeffb886 Expose use_http_auth in new style config schema
as web_stomp.use_http_auth.

Closes #119
2020-05-27 17:59:21 +03:00
Jean-Sébastien Pédron da1a774348 Update copyright (year 2020) 2020-03-10 17:02:18 +01:00
Michael Klishin 09acbb66d7 (c) bump 2019-12-29 05:50:38 +03:00
Michael Klishin 525dd258f1 Refactor to use ranch:start_listener/5
and avoid a warning from Ranch.

Closes #115.

References rabbitmq/rabbitmq-server#2069, rabbitmq/rabbitmq-web-mqtt#59.
2019-10-31 15:42:30 +03:00
Michael Klishin 0c2c660f4f Configure Ranch to use max_connections value of 'infinity' by default
Also make the value configurable via web_stomp.max_connections.

While at it, reduce module naming delta with the Web MQTT plugin.
We mean to do this every time we have to touch this codebase, so
let's finally do the renaming.

Closes #113.
References rabbitmq/rabbitmq-web-mqtt#28, rabbitmq/rabbitmq-web-mqtt#55.
2019-06-07 13:10:03 +03:00
Michael Klishin dc1214a507 Tests for #110 2019-04-22 18:11:06 +03:00
Spring Operator 0869d31e40 URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# HTTP URLs that Could Not Be Fixed
These URLs were unable to be fixed. Please review them to see if they can be manually resolved.

* http://blog.listincomprehension.com/search/label/procket (200) with 1 occurrences could not be migrated:
   ([https](https://blog.listincomprehension.com/search/label/procket) result ClosedChannelException).
* http://dozzie.jarowit.net/trac/wiki/TOML (200) with 1 occurrences could not be migrated:
   ([https](https://dozzie.jarowit.net/trac/wiki/TOML) result SSLHandshakeException).
* http://dozzie.jarowit.net/trac/wiki/subproc (200) with 1 occurrences could not be migrated:
   ([https](https://dozzie.jarowit.net/trac/wiki/subproc) result SSLHandshakeException).
* http://e2project.org (200) with 1 occurrences could not be migrated:
   ([https](https://e2project.org) result AnnotatedConnectException).
* http://nitrogenproject.com/ (200) with 2 occurrences could not be migrated:
   ([https](https://nitrogenproject.com/) result ConnectTimeoutException).
* http://proper.softlab.ntua.gr (200) with 1 occurrences could not be migrated:
   ([https](https://proper.softlab.ntua.gr) result SSLHandshakeException).
* http://yaws.hyber.org (200) with 1 occurrences could not be migrated:
   ([https](https://yaws.hyber.org) result AnnotatedConnectException).
* http://choven.ca (503) with 1 occurrences could not be migrated:
   ([https](https://choven.ca) result ConnectTimeoutException).

# Fixed URLs

## Fixed But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.

* http://fixprotocol.org/ (301) with 1 occurrences migrated to:
  https://fixtrading.org ([https](https://fixprotocol.org/) result SSLHandshakeException).
* http://erldb.org (UnknownHostException) with 1 occurrences migrated to:
  https://erldb.org ([https](https://erldb.org) result UnknownHostException).

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* http://cloudi.org/ with 27 occurrences migrated to:
  https://cloudi.org/ ([https](https://cloudi.org/) result 200).
* http://erlware.org/ with 1 occurrences migrated to:
  https://erlware.org/ ([https](https://erlware.org/) result 200).
* http://inaka.github.io/cowboy-trails/ with 1 occurrences migrated to:
  https://inaka.github.io/cowboy-trails/ ([https](https://inaka.github.io/cowboy-trails/) result 200).
* http://ninenines.eu with 6 occurrences migrated to:
  https://ninenines.eu ([https](https://ninenines.eu) result 200).
* http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html with 1 occurrences migrated to:
  https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html ([https](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) result 200).
* http://www.actordb.com/ with 2 occurrences migrated to:
  https://www.actordb.com/ ([https](https://www.actordb.com/) result 200).
* http://www.cs.kent.ac.uk/projects/wrangler/Home.html with 1 occurrences migrated to:
  https://www.cs.kent.ac.uk/projects/wrangler/Home.html ([https](https://www.cs.kent.ac.uk/projects/wrangler/Home.html) result 200).
* http://www.rabbitmq.com/community-plugins.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/community-plugins.html ([https](https://www.rabbitmq.com/community-plugins.html) result 200).
* http://www.rabbitmq.com/plugin-development.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/plugin-development.html ([https](https://www.rabbitmq.com/plugin-development.html) result 200).
* http://www.rabbitmq.com/plugins.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/plugins.html ([https](https://www.rabbitmq.com/plugins.html) result 200).
* http://www.rabbitmq.com/web-stomp.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/web-stomp.html ([https](https://www.rabbitmq.com/web-stomp.html) result 200).
* http://www.rebar3.org with 1 occurrences migrated to:
  https://www.rebar3.org ([https](https://www.rebar3.org) result 200).
* http://contributor-covenant.org with 1 occurrences migrated to:
  https://contributor-covenant.org ([https](https://contributor-covenant.org) result 301).
* http://contributor-covenant.org/version/1/3/0/ with 1 occurrences migrated to:
  https://contributor-covenant.org/version/1/3/0/ ([https](https://contributor-covenant.org/version/1/3/0/) result 301).
* http://inaka.github.com/apns4erl with 1 occurrences migrated to:
  https://inaka.github.com/apns4erl ([https](https://inaka.github.com/apns4erl) result 301).
* http://inaka.github.com/edis/ with 1 occurrences migrated to:
  https://inaka.github.com/edis/ ([https](https://inaka.github.com/edis/) result 301).
* http://lasp-lang.org/ with 1 occurrences migrated to:
  https://lasp-lang.org/ ([https](https://lasp-lang.org/) result 301).
* http://rabbitmq.com/stomp.html with 1 occurrences migrated to:
  https://rabbitmq.com/stomp.html ([https](https://rabbitmq.com/stomp.html) result 301).
* http://saleyn.github.com/erlexec with 1 occurrences migrated to:
  https://saleyn.github.com/erlexec ([https](https://saleyn.github.com/erlexec) result 301).
* http://www.mozilla.org/MPL/ with 16 occurrences migrated to:
  https://www.mozilla.org/MPL/ ([https](https://www.mozilla.org/MPL/) result 301).
* http://zhongwencool.github.io/observer_cli with 1 occurrences migrated to:
  https://zhongwencool.github.io/observer_cli ([https](https://zhongwencool.github.io/observer_cli) result 301).
2019-03-20 03:25:46 -05:00
Luke Bakken df507e5695 Modify test so generated ciphers are in the expected order 2018-12-31 12:02:00 -08:00
Michael Klishin b0dcd50d53 Make sure a TCP listener is started by default
References #105.

Per discussion with @acogoluegnes.
2018-12-12 14:10:47 +03:00
Michael Klishin d4114d6d57 Support web_stomp.ssl.listener combined with other web_stomp.ssl.* settings
Closes #104, references rabbitmq/rabbitmq-web-mqtt#48.
2018-12-11 23:48:46 +03:00
Michael Klishin ffca5eff2f Merge pull request #101 from rabbitmq/ciphers-in-new-style-config
Support more web_stomp.ssl.* options, including cipher suites
2018-12-11 23:08:24 +03:00
Luke Bakken f065643504 Add settings to disable TCP and TLS listeners explicitly
Fixes #100
2018-12-11 08:15:25 -08:00
Michael Klishin 818bfd73c7 Support more web_stomp.ssl.* options, including cipher suites
References rabbitmq/rabbitmq-server#1712, rabbitmq/rabbitmq-server#1745.
2018-12-11 03:27:52 +03:00
Michael Klishin 84ae992eae New style config: support proxy protocol 2018-12-10 21:51:48 +03:00
Loïc Hoguin 248280c61e Add PROXY protocol support 2018-12-04 13:23:14 +01:00
Loïc Hoguin 5f8a0fd46a Refactor Web-STOMP to be closer to Web-MQTT
This also discards a fair bit of unnecessary code that comes
from the old SockJS implementation, and reduces the number of
processes per connection by one.
2018-11-13 14:37:06 +01:00
Michael Klishin 3244059ffe Supprot more web_stomp.ws_opts.* options
[#161053760]
2018-10-08 19:13:46 +03:00
Michael Klishin b8b01e6fec Basic tests for WebSocket options in config schema
References #89, #90.
2018-10-08 15:46:09 +03:00
Michael Klishin 04cd1d363f Make WebSocket endpoint configurable
Closes #86, inspired by rabbitmq/rabbitmq-web-mqtt#30.
2018-09-04 15:43:07 +02:00
Luke Bakken 54d937354a Begin updating schema tests 2018-03-26 10:38:55 -07:00
Daniil Fedotov da1c0b247e Support cowboy2. Drop support for SockJS.
STOMP processor uses socket, which is not retrievable from request
object.
We use custom protocol and middleware to transfer it to the
web stomp  handler
Add tests for https connection.
2017-10-23 10:24:00 +01:00
Michael Klishin f4f67171cd Merge branch 'stable' 2017-06-10 09:29:15 +03:00
Luke Bakken 06fff7c4f8 Add passing tests for stomp->stomp messaging with headers, AMQP test not running correctly yet
fix up test that does an AMQP -> web stomp publish. No headers received

Build AMQP header tuples correctly
2017-06-09 11:09:30 -07:00
Jean-Sébastien Pédron 760b204738 Merge branch 'stable' 2017-05-31 11:05:38 +02:00
Jean-Sébastien Pédron 4715c4dd6e *_SUITE: Replace crypto:rand_bytes/1 by crypto:strong_rand_bytes/1
The former is deprecated for some time and is entirely removed in Erlang
20.0. This obviously causes the testsuite to fail with this version of
Erlang (or more exactly, it hangs because the `undef` exception is
missed).

crypto:strong_rand_bytes/1 is already available in Erlang R16B03 so we
can use it directly. No need for a compat module.

[#145213041]
2017-05-31 10:59:13 +02:00
Michael Klishin af6a29d465 Merge branch 'stable' 2017-04-02 22:04:58 +03:00
Michael Klishin 458007ec03 (c) year 2017-04-02 21:50:11 +03:00
Daniil Fedotov dd31979f57 Config schema test for plugin
Part of [#141481501]
Moved from rabbitmq-server
2017-03-17 11:02:44 +00:00
Arnaud Cogoluègnes 350bde6180 Support typical RabbitMQ TCP socket options
The port option in the tcp_options entry takes now precedence
explicitly over the port option at the root of the env proplist.
It was previously the case, even if the opposite was advertized:
there would be 2 port entries in the Ranch options and Ranch
would take the one from tcp_options.

It's now possible to use strings for IP addresses, not only tuples.

The correct binding address and port are now used in the log message.

Fixes #69
2017-03-10 13:35:09 +01:00
Loïc Hoguin 186004ae47 Fix use of default credentials with use_http_auth
When HTTP authorization header is not sent, we use the default
credentials defined in the rabbitmq_stomp configuration.
2016-12-06 17:33:48 +01:00
Jean-Sébastien Pédron 4a20f21f26 rfc6455_client: Remove dead code 2016-09-05 16:13:07 +02:00
Jean-Sébastien Pédron eca021fdd8 *_websocket_SUITE: Stop the broker at the end of the testsuite 2016-09-05 16:13:06 +02:00