Commit Graph

322 Commits

Author SHA1 Message Date
Jean-Sébastien Pédron 9b7d8f8e1a Update rabbitmq-components.mk 2020-07-30 12:06:49 +02:00
Luke Bakken b7775a9021 Update rabbitmq-components.mk 2020-07-29 10:02:01 -07:00
kjnilsson 4284f205bd Switch remaining processes to gen_statem 2020-07-24 15:38:50 +01:00
Antoine Gagné 37f6a35dde Convert frame reader to `gen_statem` 2020-07-23 15:04:46 +01:00
Antoine Gagné 3ac16fbe91 Add type specification 2020-07-23 15:02:46 +01:00
kjnilsson cc501f987d Use ssl:sslsocket instead of ssl:socket
This allows dialyzer to pass without dialyzer directives.
2020-07-23 13:08:03 +01:00
Philip Kuryloski f46bac3d8b Corrections for various dialyzer warnings 2020-07-23 13:08:03 +01:00
Philip Kuryloski 015a3ff00c First attempt at generating workflows 2020-07-23 13:08:03 +01:00
dcorbacho 616846b98a Update erlang.mk 2020-07-21 14:31:30 +01:00
Jean-Sébastien Pédron 7049ae20e0 Update rabbitmq-components.mk 2020-07-21 12:07:55 +02:00
Michael Klishin a60a7bbeb0 Update rabbitmq-components.mk 2020-07-21 03:42:14 +03:00
dcorbacho 56a1ec19a5 Revert drop of Exhibit B on MPL 2.0 2020-07-20 16:49:24 +01:00
dcorbacho 31630adaca Update LICENSE 2020-07-20 10:36:26 +01:00
Michael Klishin 90cfe96717 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:10 +03:00
dcorbacho 42fbdeb19f Remove unused file 2020-07-14 22:03:35 +01:00
dcorbacho 177c269fc7 Switch to Mozilla Public License 2.0 (MPL 2.0) 2020-07-10 14:39:32 +01:00
Jean-Sébastien Pédron 6f6f82389c Update erlang.mk 2020-06-23 17:12:50 +02:00
Michael Klishin 0e4c360f20 Bump Recon to 2.5.1
for Erlang 23 compatibility of 'rabbitmq-diagnostics observer'

References zhongwencool/observer_cli#68.
2020-06-09 08:22:16 +03:00
Michael Klishin 4b883566b9 Revert "Merge pull request #49 from AntoineGagne/feature/migrate-to-gen-statem-frame-reader"
This reverts commit 5291bdc1e5, reversing
changes made to 53c3db7f07.

We cannot migrate just frame reader; client connection and other
processes need to be migrated as well. As things stand right now,
the client does not compile from scratch.
2020-05-13 00:43:36 +03:00
Antoine Gagné c3adec4e67 Convert frame reader to `gen_statem` 2020-05-09 19:00:04 -04:00
Antoine Gagné 1e8af97f53 Add type specification 2020-05-09 18:44:32 -04:00
k fe018ac513 sasl supports more errors 2020-05-08 10:26:04 +02:00
Luke Bakken e139665736 Encode boolean values specifically
Follow-up to #45
2020-04-30 20:01:55 +00:00
Luke Bakken 3dba14bed8 Take atoms into account
Fixes #45
2020-04-30 18:44:18 +00:00
Jean-Sébastien Pédron b2b4887534 Update copyright (year 2020) 2020-03-10 17:04:51 +01:00
Gerhard Lazu 134373c3d8 Update rabbitmq-components.mk 2020-03-06 09:19:11 +00:00
Gerhard Lazu 690ab9ce95 Update erlang.mk 2020-03-06 09:17:03 +00:00
Michael Klishin 29785ce008 Support lists of endpoints
that are tried in sequence until one of them succeeds.

Per discussion with @kjnilsson.
2020-02-21 17:48:46 +03:00
Michael Klishin ddcb9191a6 Make it possible for connection starter to opt out of failure notifications
and prefer monitoring the pid instead. This is convenient when
the owner tries to connect to N endpoints and some of them fail,
sending a notification for each connection attempt instead of just
the successful one.
2020-02-20 17:05:02 +03:00
Jean-Sébastien Pédron 0508240ec7 amqp10_client_connection: Handle heartbeat in close_sent/2
This message, sent by the timer module, may happen in the `close_sent`
state. We can ignore it but we still need to handle it.

I saw this case happen in CI:

*** System report during system_SUITE:init_per_group/2 for activemq 2020-02-12 06:06:06.473 ***
=WARNING REPORT==== 12-Feb-2020::06:06:06.473178 ===
terminating connection with reason '{function_clause,
                                     [{amqp10_client_connection,close_sent,
                                       [heartbeat,
                                        {state,2,<0.455.0>,
(...)
2020-02-12 15:39:31 +01:00
Michael Klishin cb15a20636 Log less on abrupt socket closure 2020-02-12 03:58:41 +03:00
Gerhard Lazu 9b01c4fdfa Update rabbitmq-components.mk 2020-02-11 15:31:40 +00:00
Michael Klishin 9cdc94e06f Update README.md 2020-01-08 23:13:10 +03:00
Michael Klishin 4f9c301097 Minor doc updates 2020-01-08 23:10:51 +03:00
Michael Klishin 46bbafe66a This test breaks on OTP 21's uri_string 2019-12-29 20:18:08 +03:00
Michael Klishin 6367904515 Reduce dependency on http_uri for warning-free OTP 23 compatibility
Note that http_uri:decode/1 doesn't have a counterpart in uri_string
so an exception feels appropriate.
2019-12-29 19:40:37 +03:00
Michael Klishin 913d2bfe0b (c) bump 2019-12-29 05:50:22 +03:00
Jean-Sébastien Pédron dfb98150c0 Git: Ignore copied CLI 2019-12-12 15:59:18 +01:00
Jean-Sébastien Pédron 4c6f7ee6e6 Update rabbitmq-components.mk 2019-12-12 13:14:50 +01:00
kjnilsson e56dafd8a8 Update rabbitmq-components.mk 2019-09-13 10:24:09 +01:00
kjnilsson cf3df6bcbd Update rabbitmq-components.mk 2019-09-04 10:30:48 +01:00
Luke Bakken 328846028d Add GitHub issue and PR templates 2019-09-03 08:52:00 -07:00
Jean-Sébastien Pédron c56b990eb8 Update erlang.mk 2019-08-29 20:44:33 +02:00
Diana Corbacho 38e6cd4ea6 Replace timer:send_after/3 by erlang:send_after/3
[#167926549]
2019-08-17 20:45:56 +01:00
Michael Klishin 950241b43d Update rabbitmq-components.mk 2019-08-11 01:47:43 +10:00
Antoine Gagné 0d2b94a048 Fix type specification 2019-08-08 16:10:40 -04:00
Antoine Gagné 65fac9578a Add working properties 2019-08-08 16:07:50 -04:00
Antoine Gagné 3c0c50b762 WIP: Add sketchy properties 2019-08-08 15:02:41 -04:00
Antoine Gagné 9deede03e4 WIP: Add attach properties 2019-08-08 13:55:38 -04:00
Jean-Sébastien Pédron 303cca184b Update erlang.mk 2019-08-02 09:53:14 +02:00
Michael Klishin 86b0356492 Update rabbitmq-components.mk 2019-08-01 17:13:04 +03:00
Arnaud Cogoluègnes edc3b65324 Update rabbitmq-components.mk 2019-07-09 16:05:45 +02:00
Jean-Sébastien Pédron b7517061b9 Update rabbitmq-components.mk 2019-06-28 16:05:22 +02:00
Jean-Sébastien Pédron beec0470e6 Update erlang.mk 2019-06-28 16:01:26 +02:00
Gerhard Lazu 0c5c26388a Update rabbitmq-components.mk 2019-06-03 02:23:28 +01:00
Jean-Sébastien Pédron 3bacb06ba6 Update rabbitmq-components.mk 2019-05-17 15:17:11 +02:00
Michael Klishin aed7b20a68 Update rabbitmq-components.mk 2019-05-17 08:36:13 +03:00
Michael Klishin 4f5d21ccf3 Update rabbitmq-components.mk 2019-05-16 23:22:39 +03:00
Michael Klishin 9d8a91ce81 Update rabbitmq-components.mk 2019-05-14 11:50:35 +03:00
Michael Klishin 6bd74ea30a Update rabbitmq-components.mk 2019-05-13 16:43:35 +03:00
kjnilsson 5ba7597300 URI parser: allow the container_id to be set 2019-05-08 10:50:05 +01:00
kjnilsson 5ed06bbb68 Uri parser: return error when path segments are used 2019-05-08 09:48:40 +01:00
Michael Klishin ed054e2e2f Merge pull request #25 from rabbitmq/echo-flow-state
Add function to request flow state from sender
2019-05-07 19:41:36 +03:00
Gerhard Lazu a21725d0d0 Update rabbitmq-components.mk 2019-05-01 13:18:04 +01:00
Luke Bakken d8a5e0eedc Update rabbitmq-components.mk 2019-04-30 16:20:51 -07:00
Jean-Sébastien Pédron 26a933028e Update rabbitmq-components.mk 2019-04-30 14:47:23 +02:00
Gerhard Lazu 67299b6f04 Update rabbitmq-components.mk 2019-04-22 21:54:55 +01:00
Michael Klishin 0a9fdd60fb Merge pull request #28 from hommeabeil/play-with-filter
Fix filter encoding
2019-04-17 18:23:37 +04:00
Jean-Sébastien Pédron 2a07fe1812 activemq_ct_helpers: Skip test if waiting for ActiveMQ fails
Also, wait longer (one minute instead of 10 seconds).

Before this patch, if the service didn't start in 10 seconds, it would
still proceed with the testcases. This led to uninformative test
failures.

There are log messages to help debug the situation if ActiveMQ doesn't
start.
2019-04-04 11:07:36 +02:00
Spring Operator 9fc74a411b 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).

# Fixed URLs

## 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://www.apache.org/licenses/LICENSE-2.0 with 2 occurrences migrated to:
  https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0) result 200).
2019-03-21 02:52:01 -05:00
Jean Bouchard 2003561b02 update all the filters 2019-03-20 11:06:45 -04:00
Jean Bouchard bc1eb6193e update 2019-03-20 08:42:15 -04:00
Jean Bouchard 28c0b7e1b4 dirty hack the filter 2019-03-20 08:38:57 -04:00
Spring Operator f80a29d4fc 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).

# Fixed URLs

## 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://activemq.apache.org/configuring-transports.html with 2 occurrences migrated to:
  https://activemq.apache.org/configuring-transports.html ([https](https://activemq.apache.org/configuring-transports.html) result 200).
* http://activemq.apache.org/jmx.html with 2 occurrences migrated to:
  https://activemq.apache.org/jmx.html ([https](https://activemq.apache.org/jmx.html) result 200).
* http://activemq.apache.org/persistence.html with 2 occurrences migrated to:
  https://activemq.apache.org/persistence.html ([https](https://activemq.apache.org/persistence.html) result 200).
* http://activemq.apache.org/producer-flow-control.html with 2 occurrences migrated to:
  https://activemq.apache.org/producer-flow-control.html ([https](https://activemq.apache.org/producer-flow-control.html) result 200).
* http://activemq.apache.org/schema/core/activemq-core.xsd with 2 occurrences migrated to:
  https://activemq.apache.org/schema/core/activemq-core.xsd ([https](https://activemq.apache.org/schema/core/activemq-core.xsd) result 200).
* http://activemq.apache.org/slow-consumer-handling.html with 2 occurrences migrated to:
  https://activemq.apache.org/slow-consumer-handling.html ([https](https://activemq.apache.org/slow-consumer-handling.html) result 200).
* http://www.springframework.org/schema/beans/spring-beans.xsd with 2 occurrences migrated to:
  https://www.springframework.org/schema/beans/spring-beans.xsd ([https](https://www.springframework.org/schema/beans/spring-beans.xsd) result 200).

# Ignored
These URLs were intentionally ignored.

* http://activemq.apache.org/schema/core with 4 occurrences
* http://www.springframework.org/schema/beans with 6 occurrences
* http://www.w3.org/2001/XMLSchema-instance with 2 occurrences
2019-03-19 20:07:56 -05:00
Michael Klishin ba105196f1 Update rabbitmq-components.mk 2019-03-15 05:32:41 +03:00
Michael Klishin 91b2eff7b6 Update rabbitmq-components.mk 2019-03-15 05:05:32 +03:00
kjnilsson bd38baa3be Add function to request flow state from sender
It is part of the spec although RabbitMQ doesn't implement it.
2019-03-06 13:47:30 +00:00
kjnilsson 7bda227517 Provide scheme defualts when parsing URIs
Else uri parsing will fail when explicit ports aren't provided.
2019-02-20 10:31:06 +00:00
Michael Klishin 2aeb7a8148 Update rabbitmq-components.mk 2019-02-12 23:23:42 +03:00
Luke Bakken 187c5c25b1 Update rabbitmq-components.mk 2019-01-09 12:54:49 -08:00
Luke Bakken d720f0dbf6 Update rabbitmq-components.mk 2019-01-08 11:58:21 -08:00
Michael Klishin 82f7711495 Update rabbitmq-components.mk 2018-12-06 18:28:34 +03:00
Michael Klishin 204a3b624b Update rabbitmq-components.mk 2018-12-06 03:15:01 +03:00
Jean-Sébastien Pédron 2e6988489f Update rabbitmq-components.mk 2018-11-30 14:56:42 +01:00
Jean-Sébastien Pédron 3be8d0377f Update rabbitmq-components.mk 2018-11-22 09:19:27 +01:00
kjnilsson 5c0817875f Update rabbitmq-components.mk 2018-10-29 12:43:10 +00:00
kjnilsson c7a4333e9e Remove commented out code
[#161256187]
2018-10-26 09:36:57 +01:00
kjnilsson 2c98f67aa0 Add API for client to pass the drain flag
[#161256187]
2018-10-24 17:55:14 +01:00
Jean-Sébastien Pédron a70a105ead Update rabbitmq-components.mk 2018-09-19 10:38:08 +02:00
Jean-Sébastien Pédron d3d261852c Update rabbitmq-components.mk 2018-09-11 14:22:20 +02:00
kjnilsson 5138be18e6 Add amqp10_msg:body_bin/1 function
To allow users to get a binary representation of the body (which may be
amqp 1.0 encoded). Currently it re-encodes the decoded value, in the
future we can optimise this by delaying the actual body decoding until
it is needed. (if it ever is).

[#159434026]
2018-08-13 15:23:40 +01:00
Michael Klishin d416fe145d OTP 19.3 compatibility 2018-08-13 00:13:37 +03:00
Michael Klishin 8e50160c68 Merge pull request #21 from rabbitmq/uri-improvements
URI decode user and password when parsing
2018-08-10 18:13:23 +02:00
kjnilsson 3afc76630a URI decode user and password when parsing
Usernames and passwords in the amqp URI may be URI encoded. Ensure we
decode them during URI parse.

[#159650732]
2018-08-10 11:22:48 +01:00
Jean-Sébastien Pédron e871f9b83e Update rabbitmq-components.mk 2018-08-09 17:45:43 +02:00
Michael Klishin 330e294d78 Merge branch 'master' into uri-improvements 2018-08-09 14:16:04 +02:00
Jean-Sébastien Pédron cd672ed251 Update rabbitmq-components.mk 2018-08-09 12:16:53 +02:00
kjnilsson d44ac69679 improve URI support
This change includes three improvements:

1. Support configuring tls versions through the uri. Previusly this
could only be done in code or by configururing the application
environment.
2. Default the hostname connection property to the URI host if no
hostname query parameter was found.
3. Make sasl=plain implicit if the URI contains a username and password.

[#159650732]
2018-08-09 10:50:54 +01:00
Jean-Sébastien Pédron 12c1b028cc Update rabbitmq-components.mk 2018-06-07 11:31:28 +02:00
Michael Klishin df86bf4237 Merge pull request #18 from rabbitmq/qpid-jms-client-support
Make compatible with amqp10_common changes
2018-04-24 00:59:36 +09:00
kjnilsson 9a3c409e71 Make compatible with amqp10_common changes
The array representation was changed and needed updating.

[#156613309]
2018-04-23 12:13:34 +01:00
Jean-Sébastien Pédron cf3e7db9c6 Update erlang.mk 2018-04-11 10:52:16 +02:00
Jean-Sébastien Pédron e6b430f8b2 Update rabbitmq-components.mk 2018-04-11 10:51:14 +02:00
Jean-Sébastien Pédron 3a9f24d3aa Update rabbitmq-components.mk 2018-04-11 10:09:56 +02:00
Patrick Detlefsen b8e5b4e0a0 translate_filters tests 2018-04-07 18:24:24 +02:00
Patrick Detlefsen 12a78bad4f fix dialyzer errors 2018-04-07 15:55:28 +02:00
Patrick Detlefsen 55860b5e5e export attach_receiver_link/6 2018-04-07 15:29:39 +02:00
Patrick Detlefsen e8e599380c export filter type and add comment 2018-03-24 15:40:16 +01:00
Patrick Detlefsen d34fc6b372 test azure filtering 2018-03-23 18:47:37 +01:00
Patrick Detlefsen 982c78e89c more readable formatting 2018-03-23 13:50:10 +01:00
Patrick Detlefsen 20c8ea6c93 Allow passing of filters in attach receiver 2018-03-23 13:38:40 +01:00
Jean-Sébastien Pédron 8e6f1657e4 Update erlang.mk 2018-03-02 19:02:43 +01:00
Jean-Sébastien Pédron 66c01ca344 Update rabbitmq-components.mk 2018-01-30 15:23:24 +01:00
Luke Bakken 1fcaefee99 Update rabbitmq-components.mk 2018-01-29 16:22:06 -08:00
Jean-Sébastien Pédron 6181279581 Update rabbitmq-components.mk 2018-01-23 17:21:16 +01:00
Jean-Sébastien Pédron 0223ed33ee Update rabbitmq-components.mk 2018-01-23 15:31:06 +01:00
Jean-Sébastien Pédron 13bdfcf6c4 Update rabbitmq-components.mk 2018-01-23 12:50:19 +01:00
Diana Corbacho 14ffd0d165 Update rabbitmq-components.mk 2018-01-22 22:13:15 +00:00
Diana Corbacho 85b2430b29 Update rabbitmq-components.mk 2018-01-22 21:53:59 +00:00
kjnilsson c66617343b Add test for large message sizes.
Set a more sensible default for max_frame_size that works better with
large messages.

Clean up partial transfers on completion.
2017-12-21 16:21:22 +00:00
kjnilsson c68aa1a202 Handle transfer frames without deliver_id
Fixes bug where continuation frames without a delivery_id were not
handled.

Also re-enables tests using the mock server.

[#153702031]
2017-12-19 15:51:26 +00:00
kjnilsson c746c78223 Add integration test that parses an amqp uri
[#153597350]
2017-12-12 16:46:02 +00:00
kjnilsson fdc0719c7c typespec fixes 2017-12-12 15:32:39 +00:00
Luke Bakken 37a971637d Ensure user and pass are binaries 2017-12-11 17:41:05 -08:00
Luke Bakken a809b14f36 Add support for server_name_indication in AMQP URI
See PT story [153560059]

See rabbitmq/rabbitmq-erlang-client#95
2017-12-11 11:37:38 -08:00
Jean-Sébastien Pédron de4a4e5ef2 Update rabbitmq-components.mk 2017-12-01 15:16:10 +01:00
Jean-Sébastien Pédron 61b5529ee3 Update rabbitmq-components.mk 2017-11-28 14:00:29 +01:00
Jean-Sébastien Pédron 6a18c01dc0 Update rabbitmq-components.mk 2017-11-28 13:24:43 +01:00
Jean-Sébastien Pédron 8e79c9b9fc Makefile: Update Apache ActiveMQ download URL 2017-10-24 14:41:39 +02:00
Jean-Sébastien Pédron 0b665d6244 With Erlang 20, turn off warning about deprecated gen_fsm
Specifying '+{nowarn_deprecated_functions, [...]}' on the command line
didn't appear to work, so I put those directives in source files and
used a define to enable it.
2017-10-16 17:40:57 +02:00
Jean-Sébastien Pédron 09c3b0e8f4 Update rabbitmq-components.mk 2017-10-13 15:02:18 +02:00
Jean-Sébastien Pédron 6f5099283f Update rabbitmq-components.mk 2017-10-13 14:33:02 +02:00
Karl Nilsson 517e0512bd Update README.md
Fix sample code.
2017-09-25 09:38:34 +01:00
Michael Klishin 23fb789371 Remove a file with an absolute system-specific path hardcoded
We may want to restore it later in a way that works for everyone.
Note that currently test suite runs delete it anyway.
2017-09-12 11:39:00 -04:00
Daniil Fedotov 948ccbd0d1 Update erlang.mk 2017-08-30 19:36:37 +01:00
Michael Klishin 954d1c24cb Update README.md 2017-08-11 15:44:28 +03:00
Michael Klishin 8e8b0a6e82 Update README.md 2017-08-11 15:44:07 +03:00
Michael Klishin 2c2c1ed9e8 Merge pull request #2 from rabbitmq/rabbitmq-shovel-26
Only auto flow based on settled transfers.
2017-06-08 23:07:29 +03:00
kjnilsson 52186e736a Update README with transfer_limit_margin
connection config
2017-06-07 17:13:53 +01:00
kjnilsson 42ec995f69 Refine and comment connection config 2017-06-07 17:10:12 +01:00
kjnilsson 3b5ce0b96c Only auto flow based on settled transfers.
Previously we'd auto flow more credit to sender after a certain number
of received transfer whether they have been settled or not. This changes
the approach to keep a separate counter of transfers that have been
settled and only grant more credit once this falls below the requested
limit. It isn't a perfect approach but it is much better than what was
there before which would effectively have the effect of providing no
flow control.
2017-06-07 16:46:15 +01:00
Michael Klishin 42ec958cdd Update README.md 2017-06-06 23:39:49 +03:00
kjnilsson 3e2ff91c96 Disable debug logging 2017-05-26 16:51:04 +01:00
Michael Klishin d92661a8c6 Update README.md 2017-05-12 18:36:33 +03:00
kjnilsson 1edeb64ce7 add attach_sender_link_sync/5 2017-05-09 11:37:40 +01:00
kjnilsson 4304640f38 Add api overload to configure durability during attach
It is a fairly commonly used configuration option.
2017-05-08 13:25:31 +01:00
kjnilsson 45fb64fda7 dialyzer fixes 2017-05-08 11:29:01 +01:00
kjnilsson 631d094ba5 Monitor reader in case socket is closed
The connection process won't know if the socket is closed
as it is the reader that owns the socket. By monitoring the
reader the connection can at least close and notify closure.
2017-05-08 11:16:57 +01:00
kjnilsson 7c237ae0e4 merge 2017-05-04 17:54:12 +01:00
Karl Nilsson 10fc840c04 Replace LinkRef with Sender or Receiver
Signed-off-by: Gerhard Lazu <gerhard@rabbitmq.com>
2017-05-02 12:40:53 +01:00