Commit Graph

448 Commits

Author SHA1 Message Date
Philip Kuryloski 70cb8147b2 Default all `rabbitmq_integration_suite` to flaky in bazel
Most tests that can start rabbitmq nodes have some chance of
flaking. Rather than chase individual flakes for now, this commit
changes the default (though it can still be overriden, as is the case
for config_scheme_SUITE in many places, since I have yet to see that
particular suite flake).
2021-06-21 16:10:38 +02:00
Loïc Hoguin e20c62486b
Make Web-MQTT obtain/release a FD via file_handle_cache
Makes it behave just like Web-STOMP.
2021-06-02 11:05:32 +02:00
Philip Kuryloski 30f9a95b9f Add dialyze for remaning tier-1 plugins 2021-06-01 10:19:10 +02:00
Philip Kuryloski a6f70b8dda Add xref for remaining tier-1 plugins 2021-05-25 11:39:03 +02:00
Philip Kuryloski e6df6615e1 Futher bazel file refactoring and deduplication 2021-05-11 16:15:33 +02:00
Philip Kuryloski c3f491786f Add rabbitmq_web_mqtt to bazel 2021-05-07 16:25:56 +02:00
Carl Hörberg 681cb78b0d Test that proxy dest address is picked up in all plugins 2021-03-31 11:28:40 +02:00
Philip Kuryloski a63f169fcb Remove duplicate rabbitmq-components.mk and erlang.mk files
Also adjust the references in rabbitmq-components.mk to account for
post monorepo locations
2021-03-22 15:40:19 +01:00
Michael Klishin 5e0d7041cd
Merge pull request #2910 from rabbitmq/configure-num-conns-sup
Make ranch parameter `num_conns_sups` configurable
2021-03-19 21:59:30 +03:00
dcorbacho a41ece3950 Make ranch parameter `num_conns_sups` configurable
Defaults to 1
rabbit - num_conns_sup
rabbitmq_mqtt - num_conns_sup
rabbitmq_stomp - num_conns_sup
2021-03-18 21:38:13 +01:00
kjnilsson 52f745dcde Update rabbitmq-components.mk
use v1.x branch of ra
2021-03-18 15:14:40 +00:00
Loïc Hoguin d5e3bdd623
Add ADDITIONAL_PLUGINS variable
This allows including additional applications or third party
plugins when creating a release, running the broker locally,
or just building from the top-level Makefile.

To include Looking Glass in a release, for example:

$ make package-generic-unix ADDITIONAL_PLUGINS="looking_glass"

A Docker image can then be built using this release and will
contain Looking Glass:

$ make docker-image

Beware macOS users! Applications such as Looking Glass include
NIFs. NIFs must be compiled in the right environment. If you
are building a Docker image then make sure to build the NIF
on Linux! In the two steps above, this corresponds to Step 1.

To run the broker with Looking Glass available:

$ make run-broker ADDITIONAL_PLUGINS="looking_glass"

This commit also moves Looking Glass dependency information
into rabbitmq-components.mk so it is available at all times.
2021-03-12 12:29:28 +01:00
Michael Klishin 2517aec971
Squash a compiler warning introduced in #2878 2021-03-12 10:27:43 +03:00
Michael Klishin 97ff62d3b2
Drop trailing newlines from logged messages where possible
Lager strips trailing newline characters but OTP logger with the default
formatter adds a newline at the end. To avoid unintentional multi-line log
messages we have to revisit most messages logged.

Some log entries are intentionally multiline, others
are printed to stdout directly: newlines are required there
for sensible formatting.
2021-03-11 15:17:37 +01:00
Jean-Sébastien Pédron cdcf602749
Switch from Lager to the new Erlang Logger API for logging
The configuration remains the same for the end-user. The only exception
is the log root directory: it is now set through the `log_root`
application env. variable in `rabbit`. People using the Cuttlefish-based
configuration file are not affected by this exception.

The main change is how the logging facility is configured. It now
happens in `rabbit_prelaunch_logging`. The `rabbit_lager` module is
removed.

The supported outputs remain the same: the console, text files, the
`amq.rabbitmq.log` exchange and syslog.

The message text format slightly changed: the timestamp is more precise
(now to the microsecond) and the level can be abbreviated to always be
4-character long to align all messages and improve readability. Here is
an example:

    2021-03-03 10:22:30.377392+01:00 [dbug] <0.229.0> == Prelaunch DONE ==
    2021-03-03 10:22:30.377860+01:00 [info] <0.229.0>
    2021-03-03 10:22:30.377860+01:00 [info] <0.229.0>  Starting RabbitMQ 3.8.10+115.g071f3fb on Erlang 23.2.5
    2021-03-03 10:22:30.377860+01:00 [info] <0.229.0>  Licensed under the MPL 2.0. Website: https://rabbitmq.com

The example above also shows that multiline messages are supported and
each line is prepended with the same prefix (the timestamp, the level
and the Erlang process PID).

JSON is also supported as a message format and now for any outputs.
Indeed, it is possible to use it with e.g. syslog or the exchange. Here
is an example of a JSON-formatted message sent to syslog:

    Mar  3 11:23:06 localhost rabbitmq-server[27908] <0.229.0> - {"time":"2021-03-03T11:23:06.998466+01:00","level":"notice","msg":"Logging: configured log handlers are now ACTIVE","meta":{"domain":"rabbitmq.prelaunch","file":"src/rabbit_prelaunch_logging.erl","gl":"<0.228.0>","line":311,"mfa":["rabbit_prelaunch_logging","configure_logger",1],"pid":"<0.229.0>"}}

For quick testing, the values accepted by the `$RABBITMQ_LOGS`
environment variables were extended:
  * `-` still means stdout
  * `-stderr` means stderr
  * `syslog:` means syslog on localhost
  * `exchange:` means logging to `amq.rabbitmq.log`

`$RABBITMQ_LOG` was also extended. It now accepts a `+json` modifier (in
addition to the existing `+color` one). With that modifier, messages are
formatted as JSON intead of plain text.

The `rabbitmqctl rotate_logs` command is deprecated. The reason is
Logger does not expose a function to force log rotation. However, it
will detect when a file was rotated by an external tool.

From a developer point of view, the old `rabbit_log*` API remains
supported, though it is now deprecated. It is implemented as regular
modules: there is no `parse_transform` involved anymore.

In the code, it is recommended to use the new Logger macros. For
instance, `?LOG_INFO(Format, Args)`. If possible, messages should be
augmented with some metadata. For instance (note the map after the
message):

    ?LOG_NOTICE("Logging: switching to configured handler(s); following "
                "messages may not be visible in this log output",
                #{domain => ?RMQLOG_DOMAIN_PRELAUNCH}),

Domains in Erlang Logger parlance are the way to categorize messages.
Some predefined domains, matching previous categories, are currently
defined in `rabbit_common/include/logging.hrl` or headers in the
relevant plugins for plugin-specific categories.

At this point, very few messages have been converted from the old
`rabbit_log*` API to the new macros. It can be done gradually when
working on a particular module or logging.

The Erlang builtin console/file handler, `logger_std_h`, has been forked
because it lacks date-based file rotation. The configuration of
date-based rotation is identical to Lager. Once the dust has settled for
this feature, the goal is to submit it upstream for inclusion in Erlang.
The forked module is calld `rabbit_logger_std_h` and is based
`logger_std_h` in Erlang 23.0.
2021-03-11 15:17:36 +01:00
dcorbacho 61f7b2a723 Update to ranch 2.0 2021-03-08 23:11:05 +01:00
Michael Klishin b6c4831e75
Bump Lager to 3.9.1 2021-03-04 04:36:39 +03:00
Loïc Hoguin 66ac1bf5e9
Bump observer_cli to 1.6.1
More responsive when the system is overloaded with file calls.
2021-03-01 21:55:27 +03:00
Michael Klishin 8fe3df9343
Upgrade Lager to 3.9.0 for OTP 24 compatibility
`lager_util:expand_path/1` use changes are
due to erlang-lager/lager#540
2021-02-26 00:52:15 +03:00
Michael Klishin f73e851f9c
Bump observer_cli to 1.6.0 2021-02-24 12:53:55 +03:00
Michael Klishin a5098b28a7
Bump Lager to 3.8.2 for OTP 24 compatibility 2021-02-24 12:53:30 +03:00
Arnaud Cogoluègnes b921ac11a8
Merge pull request #2712 from rabbitmq/rabbitmq-stream-prometheus
Add stream prometheus plugin
2021-01-27 16:46:37 +01:00
Michael Klishin 52479099ec
Bump (c) year 2021-01-22 09:00:14 +03:00
Arnaud Cogoluègnes bf72683eb2
Add stream prometheus plugin 2021-01-11 16:49:56 +01:00
Arnaud Cogoluègnes 23d7e8114c
Introduce stream management plugin 2020-11-19 14:48:25 +01:00
Jean-Sébastien Pédron 47686ee1f0
Remove unused .github directories
They were valid until the switch to the "monorepository" when everything
was merged into a single Git repository.
2020-11-17 13:33:16 +01:00
Arnaud Cogoluègnes 1f21d2815b Update rabbitmq-components.mk 2020-11-03 14:27:52 +01:00
Michael Klishin c7ca91c6f0 Update rabbitmq-components.mk 2020-10-21 12:55:49 +03:00
David Ansari 07ac3ad0f7 Fix typo 2020-08-31 11:30:49 +02:00
Luke Bakken 0f022b85e3 Update rabbitmq-components.mk 2020-08-04 08:41:51 -07:00
Jean-Sébastien Pédron 67f40e0905 Update rabbitmq-components.mk 2020-07-30 12:06:58 +02:00
Luke Bakken 101011cdf2 Update rabbitmq-components.mk 2020-07-29 10:02:07 -07:00
dcorbacho 82fffd452a Update erlang.mk 2020-07-21 14:34:11 +01:00
Michael Klishin b0d92759c9 Update rabbitmq-components.mk 2020-07-21 13:12:57 +03:00
Michael Klishin 8ed22af851 Update rabbitmq-components.mk 2020-07-21 03:43:27 +03:00
dcorbacho 9bda0ac282 Revert drop of Exhibit B on MPL 2.0 2020-07-20 17:05:16 +01:00
Michael Klishin 8fe7698478 Update MPL2 license file, drop Exhibit B
and add a VMware copyright notice.

We did not mean to make this code Incompatible with Secondary Licenses
as defined in [1].

1. https://www.mozilla.org/en-US/MPL/2.0/FAQ/
2020-07-17 14:53:08 +03:00
Michael Klishin 1f000db28d Cosmetics 2020-07-15 03:04:50 +03:00
Michael Klishin f6e77db3d3 Switch to MPL2 2020-07-15 03:02:19 +03:00
Michael Klishin f1f8425103 Extract rabbit_networking:stop_ranch_listener_of_protocol/1
Part of rabbitmq/rabbitmq-server#2321
2020-07-09 22:02:09 +03:00
Michael Klishin d31d88baf0 Close Web MQTT client connections when the node enters maintenance mode
Actually we rely on the MQTT plugin to close MQTT connections,
and only make the WebSocket handler gracefully log such events.

There is no need to close all connections in an internal event handler,
like we do in MQTT or STOMP or Web STOMP plugins. This plugin is
more modern than Web STOMP and some things are not exactly the same.
Nonetheless, we keep functions that list and close connections
around as useful and to keep the delta with Web STOMP smaller.

Part of rabbitmq/rabbitmq-server#2321
2020-07-09 20:57:26 +03:00
Michael Klishin 284a75c04b 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
Jean-Sébastien Pédron 6f86131a34 Update erlang.mk 2020-06-23 17:15:56 +02:00
Luke Bakken ebeed7bb10 Stop on errors
Rather than crashing with case_clause, errors returned in the data
handlers should result in the orderly shutdown of the MQTT connection.

Fixes #64
2020-06-17 08:46:09 -07:00
Michael Klishin 5714f7e4a9 Bump Recon to 2.5.1
for Erlang 23 compatibility of 'rabbitmq-diagnostics observer'

References zhongwencool/observer_cli#68.
2020-06-09 08:22:15 +03:00
Jean-Sébastien Pédron 90884e4346 Update copyright (year 2020) 2020-03-10 17:01:22 +01:00
Gerhard Lazu 4fa44da6c4 Update rabbitmq-components.mk 2020-03-06 09:19:22 +00:00
Gerhard Lazu 835b859ae2 Update erlang.mk 2020-03-06 09:18:44 +00:00
Jean-Sébastien Pédron 003a5a00f0 Travis CI: Update config from rabbitmq-common 2020-03-04 14:24:33 +01:00
Jean-Sébastien Pédron 2cba7f316a Travis CI: Update config from rabbitmq-common 2020-03-04 11:17:20 +01:00
Jean-Sébastien Pédron 4361cec35c Travis CI: Update config from rabbitmq-common 2020-03-03 14:53:43 +01:00
Gerhard Lazu 570afad40f Update rabbitmq-components.mk 2020-02-11 15:31:50 +00:00
Michael Klishin d736248cd3 (c) bump 2019-12-29 05:50:38 +03:00
Jean-Sébastien Pédron 3eaa6f13b3 Git: Ignore copied CLI 2019-12-12 15:14:22 +01:00
Jean-Sébastien Pédron 3371a2aa81 Update rabbitmq-components.mk 2019-12-12 13:14:59 +01:00
Michael Klishin b4f51bf2aa Refactor to use ranch:start_listener/5
and avoid a warning from Ranch.

Closes #59.

References rabbitmq/rabbitmq-server#2069.
2019-10-31 15:12:54 +03:00
Luke Bakken cbfd3db0f2 Add GitHub issue and PR templates
Update CONTRIBUTING

Inspired by this message: https://groups.google.com/d/msg/rabbitmq-users/uF05pvy8hk8/iUiVxHr6AQAJ
2019-10-30 08:40:18 -07:00
kjnilsson fa7c23911e Update rabbitmq-components.mk 2019-09-13 10:24:38 +01:00
kjnilsson a9d684288c Update rabbitmq-components.mk 2019-09-04 10:31:15 +01:00
Jean-Sébastien Pédron 02e9ace788 Update erlang.mk 2019-08-29 20:46:12 +02:00
Michael Klishin f1f75c1d55 Update rabbitmq-components.mk 2019-08-11 01:48:13 +10:00
Jean-Sébastien Pédron fe891b9546 Update erlang.mk 2019-08-02 09:55:03 +02:00
Michael Klishin e0a326af6c Update rabbitmq-components.mk 2019-08-01 17:13:34 +03:00
Michael Klishin e7b3b5618e RabbitMQ 3.6.x has long been out of support 2019-07-09 20:00:40 +03:00
Michael Klishin 0a1ed6842a README edits to match rabbitmq-web-stomp 2019-07-09 19:59:51 +03:00
Arnaud Cogoluègnes 3a7642509b Update rabbitmq-components.mk 2019-07-09 16:06:16 +02:00
Jean-Sébastien Pédron f2bf3aaa9d Update rabbitmq-components.mk 2019-06-28 16:05:45 +02:00
Jean-Sébastien Pédron 25d2464ada Update erlang.mk 2019-06-28 16:03:12 +02:00
Arnaud Cogoluègnes 6037931ac5 Add connection info module
To extract client ID at authentication time.

[#166271318]

References #1767
2019-06-14 14:26:23 +02:00
Michael Klishin 38160e0c76 Don't include max_connections into socket options
It is rejected as an unsupported value.
Use Ranch transport options directly instead.

References #28.
Closes #55.
2019-06-07 12:22:08 +03:00
Michael Klishin f5b9436a5d Make sure web_mqtt.tcp.max_connections accepts 'infinity' as value 2019-06-07 09:43:57 +03:00
Michael Klishin 90c72a7bec Default max_connections to infinity
References #28.
Closes #55.
2019-06-07 09:39:30 +03:00
Michael Klishin 84430e557b Make web_mqtt.tcp.max_connections configurable via ini-style config file
References #28, #55.
2019-06-07 09:38:13 +03:00
Gerhard Lazu f22caf237a Update rabbitmq-components.mk 2019-06-03 02:23:51 +01:00
Jean-Sébastien Pédron f1f7a5fb27 Update rabbitmq-components.mk 2019-05-17 15:21:52 +02:00
Michael Klishin f8e48fc648 Update rabbitmq-components.mk 2019-05-17 08:37:29 +03:00
Michael Klishin 085f6616e6 Update rabbitmq-components.mk 2019-05-14 11:51:13 +03:00
Michael Klishin 368dca1609 Update rabbitmq-components.mk 2019-05-13 16:40:52 +03:00
Gerhard Lazu 8de958de94 Update rabbitmq-components.mk 2019-05-01 13:18:30 +01:00
Luke Bakken 2d60e1b035 Update rabbitmq-components.mk 2019-04-30 16:21:07 -07:00
Jean-Sébastien Pédron c1c8eb1d7d Update rabbitmq-components.mk 2019-04-30 14:47:43 +02:00
Gerhard Lazu bf9bbf0d77 Update rabbitmq-components.mk 2019-04-22 21:55:20 +01:00
Spring Operator b443fa10a6 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://erlang.2086793.n4.nabble.com/initializing-library-applications-without-processes-td2094473.html (200) with 1 occurrences could not be migrated:
   ([https](https://erlang.2086793.n4.nabble.com/initializing-library-applications-without-processes-td2094473.html) result SSLHandshakeException).
* 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-mqtt.html with 1 occurrences migrated to:
  https://www.rabbitmq.com/web-mqtt.html ([https](https://www.rabbitmq.com/web-mqtt.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://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 10 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:32 -05:00
Michael Klishin 20718881d1 Travis: use Erlang 21.3, Elixir 1.8.1 2019-03-20 10:33:22 +03:00
Michael Klishin e0582a5a05 Update rabbitmq-components.mk 2019-03-15 09:34:56 +03:00
Michael Klishin c72f4bbd3f Update rabbitmq-components.mk 2019-03-15 05:06:04 +03:00
Michael Klishin 528c1f87c8 Update rabbitmq-components.mk 2019-02-12 23:24:15 +03:00
Michael Klishin 21817b733d .travis.yml: use 21.2 as 21.2.2 builds are no available 2019-01-14 01:20:29 +03:00
Michael Klishin 3431ddded5 .travis.yml: sync Erlang and Elixir versions, require Erlang/OTP 21.2 2019-01-13 05:50:08 +03:00
Luke Bakken d903da9dac Update rabbitmq-components.mk 2019-01-09 12:55:28 -08:00
Luke Bakken 3d6bb5d4b4 Update rabbitmq-components.mk 2019-01-08 11:58:38 -08:00
Luke Bakken 5ac293267b Reverse order of ciphers in generated file to ensure they match rabbitmq.conf. The ct helpers will not verify this as the snippets and results are deep sorted 2018-12-31 11:59:36 -08:00
Luke Bakken f17eff13f7 Modify test so generated ciphers are in the expected order 2018-12-31 11:59:06 -08:00
Michael Klishin ac867ef45d Remove debug tracing 2018-12-18 05:02:01 +03:00
Michael Klishin ec5e78563b Lower the timeout since it's expected here 2018-12-18 04:30:25 +03:00
Michael Klishin ac4ffa5f4c Squash a warning 2018-12-18 04:23:27 +03:00
Michael Klishin 4cbeaf0e73 Integration tests for #52
[#162720877]
2018-12-18 04:03:07 +03:00
Michael Klishin dc81d674f7 Last Will is now sent in terminate/2 2018-12-18 04:00:05 +03:00
Karen Mae Bajador c6c8b83594 Send will on client's ungraceful disconnect 2018-12-17 14:31:26 +11:00
Luke Bakken 9c37888edd Fix port in schema
Follow-up to #50
2018-12-12 07:14:24 -08:00
Michael Klishin 8a03489505 Make sure a TCP listener is started by default
References #44, #49.

Per discussion with @acogoluegnes.
2018-12-12 15:38:56 +03:00
Luke Bakken 4c09348aa0 Merge pull request #49 from rabbitmq/rabbitmq-web-mqtt-48
Support web_mqtt.ssl.listener combined with other web_mqtt.ssl.* settings
2018-12-11 11:35:40 -08:00
Michael Klishin a45a7633b1 Support web_mqtt.ssl.listener combined with other web_mqtt.ssl.* settings
Closes #48.
2018-12-11 21:58:00 +03:00
Michael Klishin b10407ed81 Merge branch 'master' into ciphers-in-new-style-config
Conflicts:
	test/config_schema_SUITE_data/rabbitmq_web_mqtt.snippets
2018-12-11 18:00:59 +03:00
Michael Klishin 6bfc6a4664 Merge pull request #44 from rabbitmq/rabbitmq-web-mqtt-31
Add settings to disable TCP and TLS listeners explicitly
2018-12-11 17:11:23 +03:00
Arnaud Cogoluègnes 81725f34df Add proxy_protocol flag to new configuration format
Fixes #46
2018-12-11 11:02:05 +01:00
Michael Klishin 6774806048 Bring web_mqtt.ssl.ip back in this test 2018-12-11 03:59:36 +03:00
Michael Klishin 03709f9f93 Support more web_mqtt.ssl.* options, including cipher suites
References rabbitmq/rabbitmq-server#1712, rabbitmq/rabbitmq-server#1745.
2018-12-11 03:40:03 +03:00
Luke Bakken 4c5c72dc5f Add settings to disable TCP and TLS listeners explicitly
Fixes #31
2018-12-10 16:20:57 -08:00
Michael Klishin 086dd6ed3b Re-merge: oass on unwrapped socket here
References #40, #43.
2018-12-06 19:21:22 +03:00
Michael Klishin da9fb4858a Compile 2018-12-06 19:10:02 +03:00
Michael Klishin 74247e8c1c Correct a merge
This plugin now does support flow control, so don't hardcode
the state field.
2018-12-06 18:54:15 +03:00
Michael Klishin d1ad8c8b7d Update rabbitmq-components.mk 2018-12-06 18:29:10 +03:00
Michael Klishin 59824d5296 Update rabbitmq-components.mk 2018-12-06 03:15:32 +03:00
Michael Klishin 690f870b47 Merge branch 'master' into rabbitmq-web-stomp-40
Conflicts:
	src/rabbit_web_mqtt_handler.erl
2018-12-05 21:28:44 +03:00
Michael Klishin ae348bf8de Default to port 15675 for TLS, too
This change from db9b7f1bd2 doesn't seem to be
intentional.
2018-12-05 20:07:39 +03:00
Loïc Hoguin d44bae553f Add PROXY protocol support 2018-12-04 14:52:16 +01:00
Jean-Sébastien Pédron 2356d84922 Update rabbitmq-components.mk 2018-11-30 14:57:01 +01:00
Jean-Sébastien Pédron f6c575de84 Update rabbitmq-components.mk 2018-11-22 09:19:46 +01:00
Loïc Hoguin ec44d02020 Implement credits flow 2018-11-20 13:58:25 +01:00
Michael Klishin ac0214b26f Travis: use Elixir 1.6.6, test on Erlang 21.1 2018-11-15 12:04:19 +00:00
Michael Klishin b1b180d0f8 Drive by cosmetic changes 2018-11-15 09:48:56 +00:00
Loïc Hoguin 3dde1511e6 Add two missing hibernate in returned tuples 2018-11-13 14:42:46 +01:00
kjnilsson a61e000ed6 Update rabbitmq-components.mk 2018-10-29 12:43:35 +00:00
Michael Klishin daf9853044 Use 10 TLS connection acceptors by default
Part of rabbitmq/rabbitmq-server#1729.

[#161136615]
2018-10-11 03:13:18 +03:00
Luke Bakken 55b949f214 formatting 2018-10-09 12:20:23 -07:00
Michael Klishin 69f37bf3fa Propagate WebSocket options; enable compression by default
References #34.

[#161053821]
2018-10-08 23:24:57 +03:00
Michael Klishin 97a08e78a5 Make it possible to configure WebSocket options such as compression
While at it, correctly configure connection inactivity
timeout with modern Cowboy versions.

Closes #34.
References rabbitmq/rabbitmq-web-stomp#89.

[#161053821]
2018-10-08 21:19:12 +03:00
Loïc Hoguin 2ee2ee85e8 Ignore ping/pong Websocket frames 2018-09-27 16:56:30 +02:00
Jean-Sébastien Pédron 5da746b357 Update rabbitmq-components.mk 2018-09-19 10:38:27 +02:00
Jean-Sébastien Pédron a67ef5ebcb Update rabbitmq-components.mk 2018-09-11 14:22:44 +02:00
Michael Klishin 1bd714f705 One more config schema test case 2018-09-03 21:03:14 +02:00
Thomas Sauzeau aa9d197411 Retrieve ws path from config 2018-09-01 11:53:17 +02:00
Jean-Sébastien Pédron 26cf8eddbe Update rabbitmq-components.mk 2018-08-09 17:44:25 +02:00
Jean-Sébastien Pédron 0a5aacd635 Update rabbitmq-components.mk 2018-08-09 12:17:12 +02:00
Jean-Sébastien Pédron 1d66dfbe6b Update rabbitmq-components.mk 2018-06-07 11:31:47 +02:00
Jean-Sébastien Pédron 2d4143f93c Update erlang.mk 2018-04-11 10:54:41 +02:00
Jean-Sébastien Pédron 7f90e8e66c Update rabbitmq-components.mk 2018-04-11 10:51:33 +02:00
Jean-Sébastien Pédron f0e5689116 Update rabbitmq-components.mk 2018-04-11 10:10:15 +02:00
Jean-Sébastien Pédron 1f1244fdc6 Travis CI: Update config from rabbitmq-common 2018-04-10 13:09:59 +02:00
Luke Bakken db9b7f1bd2 Add support for a listener configuration parameter that uses the cuttlefish ip datatype, and associated tests
Ensure ip address is in format expected by ranch:start_listener
2018-03-23 16:02:30 -07:00
Jean-Sébastien Pédron 5ab2048740 Update erlang.mk 2018-03-02 19:10:59 +01:00
Jean-Sébastien Pédron d181e7ed1c Update rabbitmq-components.mk 2018-01-30 15:24:02 +01:00
Luke Bakken 90dc465599 Update rabbitmq-components.mk 2018-01-29 16:22:28 -08:00
Jean-Sébastien Pédron e7d8fcfbb9 Update rabbitmq-components.mk 2018-01-23 17:21:51 +01:00
Jean-Sébastien Pédron f2ae29e0fe Update rabbitmq-components.mk 2018-01-23 15:31:38 +01:00
Diana Corbacho b0046ce39b Update rabbitmq-components.mk 2018-01-22 22:13:34 +00:00
Jean-Sébastien Pédron c7c71fee50 Travis CI: Update config from rabbitmq-common 2017-12-15 15:18:26 +01:00
Jean-Sébastien Pédron 5130431190 Update rabbitmq-components.mk 2017-12-01 11:07:13 +01:00
Jean-Sébastien Pédron 2b2a06d0f2 Update rabbitmq-components.mk 2017-11-28 14:01:24 +01:00
Jean-Sébastien Pédron 2c29bf3c21 Update rabbitmq-components.mk 2017-11-28 13:33:50 +01:00
Michael Klishin 04ebdd64a2 Merge branch 'stable' 2017-11-13 11:19:01 +00:00
Michael Klishin 559ac88b03 Store correct TLS listener info
Otherwise management UI will display an incorrect value
(the regular TCP port).

Closes #25.

Pushing directly as a very small change reviewed by @hairyhum.

[#152797163]
2017-11-13 11:16:59 +00:00
Michael Klishin 58817c2e9c Use naming closer to web-stomp 2017-11-13 11:10:31 +00:00
Jean-Sébastien Pédron 860d4d33db Travis CI: Update config from rabbitmq-common 2017-11-08 12:29:50 +01:00
Jean-Sébastien Pédron 265155144a Travis CI: Update config from rabbitmq-common 2017-11-08 12:29:15 +01:00
Daniil Fedotov 029c447685 Support cowboy2 2017-10-20 16:49:25 +01:00
Jean-Sébastien Pédron 9d348dafcc Merge branch 'stable' 2017-10-13 15:14:28 +02:00
Jean-Sébastien Pédron a1e9a6d081 Update rabbitmq-components.mk 2017-10-13 14:33:19 +02:00
Jean-Sébastien Pédron 1f2c54da61 Update rabbitmq-components.mk 2017-10-13 14:13:40 +02:00
Jean-Sébastien Pédron 088125883f Update rabbitmq-components.mk 2017-10-13 12:15:55 +02:00
Michael Klishin d6086440ed Update rabbitmq-components.mk 2017-09-13 17:54:54 -04:00
Michael Klishin 992bd113b3 Update rabbitmq-components.mk 2017-09-13 17:45:50 -04:00
Michael Klishin 9617ad4158 Update rabbitmq-components.mk 2017-09-12 19:53:44 -04:00
Michael Klishin 8c3f6cb977 Update rabbitmq-components.mk 2017-09-12 12:42:10 -04:00
Daniil Fedotov c6f8afbe21 Merge branch 'stable' 2017-08-30 19:20:54 +01:00
Daniil Fedotov 864383620a Update erlang.mk 2017-08-30 18:46:45 +01:00
Daniil Fedotov 2e0412e3f5 Use lager sinks for logging.
Making logging sink API consistent across RabbitMQ projects.
[#149634975]
2017-08-07 14:37:11 +01:00
Michael Klishin 74abe514ee Erlang/OTP 19.2 is now the minimum supported version.
Part of rabbitmq/rabbitmq-server#1305.

[#149563549]
2017-07-26 19:03:37 +03:00
Michael Klishin 3a85e208f1 Update rabbitmq-components.mk 2017-07-26 03:48:45 +03:00
Michael Klishin fa214e5268 Update rabbitmq-components.mk 2017-07-26 02:27:20 +03:00
Michael Klishin 332c9b4d82 Update rabbitmq-components.mk 2017-06-12 20:18:59 +03:00
Michael Klishin 68202bd148 Update rabbitmq-components.mk 2017-06-12 18:35:52 +03:00
Michael Klishin 6bbf808773 Merge branch 'stable' 2017-06-02 18:12:19 +03:00
Michael Klishin ae94d1231f Update rabbitmq-components.mk 2017-06-02 17:51:39 +03:00
Michael Klishin cd23a3219f Update rabbitmq-components.mk 2017-06-02 00:43:36 +03:00
Michael Klishin 8745481830 Update rabbitmq-components.mk 2017-06-01 18:01:55 +03:00
Jean-Sébastien Pédron a5fdd5bc68 Merge branch 'stable' 2017-05-31 11:06:14 +02:00
Jean-Sébastien Pédron 08d77e9c6e rfc6455_client: 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 11:03:10 +02:00
Jean-Sébastien Pédron cd3c6f9e08 Merge branch 'stable' 2017-05-16 18:13:50 +02:00
Jean-Sébastien Pédron 03b02a97fe Makefile: Load the new `rabbitmq-early-plugin.mk` early-stage plugin
See the corresponding commit in rabbitmq-common for an explanation.

[#144697185]
2017-05-16 17:39:43 +02:00
Jean-Sébastien Pédron 1f941bb1eb Update erlang.mk 2017-05-16 17:39:43 +02:00
Jean-Sébastien Pédron 5c3572bb8e Merge branch 'stable' 2017-04-19 16:24:20 +02:00
Jean-Sébastien Pédron d86cbef112 Update erlang.mk 2017-04-19 12:06:17 +02:00
Michael Klishin b3c3b41c53 Merge branch 'stable' 2017-04-06 21:42:28 +02:00
Diana Corbacho f124727c3b Do not emit stats if connection has not been stablished
Ensures stats are not emitted until the connection is stablished.
A non-pid value crashes the stats gc.

rabbitmq-management-agent#42
2017-04-06 12:10:48 +01:00
Michael Klishin f9688950de Merge branch 'stable' 2017-04-02 22:04:40 +03:00
Michael Klishin 2da7008647 (c) year 2017-04-02 21:50:02 +03:00
Michael Klishin ca342d92d2 Port config schema tests from Web STOMP 2017-03-20 21:41:59 +03:00
Michael Klishin fa65231ac0 Sync README with master 2017-03-20 16:21:02 +03:00
Michael Klishin 8abc1f8ca2 Update README.md 2017-03-20 16:20:32 +03:00
Michael Klishin f3bea78ba4 Update README.md 2017-03-20 16:16:32 +03:00
Michael Klishin 4774a01374 3.6.1 is certainly no longer pending 2017-03-20 16:09:33 +03:00
Michael Klishin c24239888f Update rabbitmq-components.mk 2017-02-11 23:29:45 +03:00
Michael Klishin 5651e26c1e Update rabbitmq-components.mk 2017-02-10 11:16:47 +03:00
Michael Klishin 653bcdec0a Update rabbitmq-components.mk 2017-02-10 03:06:41 +03:00
Michael Klishin 3dcc54d073 merge branch 'stable' 2017-02-08 16:58:54 +03:00
Michael Klishin 702fa1830d Update rabbitmq-components.mk 2017-02-08 16:38:27 +03:00
Michael Klishin 4e9dea7035 merge branch 'stable' 2017-02-06 19:52:35 +03:00
Michael Klishin b76e787b9c Update rabbitmq-components.mk 2017-02-06 19:24:05 +03:00