summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* CQ: Don't confirm on remove from old message storecq-dont-confirm-on-removeLoïc Hoguin2023-02-021-8/+6
| | | | | | | The confirms will instead be sent when the message store syncs to disk. The problem with doing confirms on remove is that it happens far too often and it brings down the overall performance despite sending the confirms earlier.
* Merge pull request #7141 from rabbitmq/send-drained-bug-fixMichael Klishin2023-02-017-60/+137
|\ | | | | Fix channel crash when draining AMQP 1.0 credits from classic queue
| * Fix channel crash when draining AMQP 1.0 credits from classic queueKarl Nilsson2023-02-017-60/+137
| | | | | | | | | | | | | | | | | | | | | | | | Classic queues used a different format for the `{send_drained, _}` queue type action which was missed originally. This change handles both formats in the channel for backwards compatibility as well as changes classic queues to conform to the same format when sending the queue event. Whilst adding tests for this in the amqp10 plugin another issue around the amqp10_client and filters was discovered and this commit also includes improvements in this area. Such as more leninet support of source filters.
* | Merge pull request #7149 from rabbitmq/rin/rabbitmq_cli-dialyzerMichael Klishin2023-02-011-11/+6
|\ \ | | | | | | Forward-port dialyzer related rabbitmq_cli fixes from #7122
| * | Forward-port dialyzer related rabbitmq_cli fixes from #7122Rin Kuryloski2023-02-011-11/+6
| | |
* | | Merge pull request #7144 from rabbitmq/fix-7142Michael Klishin2023-02-018-8/+195
|\ \ \ | |/ / |/| | Fix issue #7142
| * | Test when there are zero limitsMarcial Rosales2023-02-015-7/+33
| | |
| * | Test display limits when there are noneMarcial Rosales2023-02-016-1/+162
| | |
| * | Fix issue #7142Marcial Rosales2023-02-011-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The issue is that users retrieved with the intention to list in the limits view are not paged hence they are not wrapped around a paging struct where users would be under items attribute. Pending selenium tests
* | | Merge pull request #7143 from rabbitmq/bazel-rabbitmqctl-helper-shell-quotingAlexey Lebedeff2023-02-011-1/+1
|\ \ \ | | | | | | | | Fix shell quoting in bazel rabbitmqctl helper
| * | | Fix shell quoting in bazel rabbitmqctl helperAlexey Lebedeff2023-02-011-1/+1
|/ / / | | | | | | | | | E.g. any complex `rabbitmqctl eval` was not possible via `bazel run rabbitmqctl`.
* | | Merge pull request #7115 from rabbitmq/cq-perf-regression-fixMichal Kuratczyk2023-02-012-3/+3
|\ \ \ | |/ / |/| | CQ: Fix performance regression after moving to v2 sets
| * | CQ: Fix performance regression after moving to v2 setsLoïc Hoguin2023-01-312-3/+3
| | | | | | | | | | | | | | | sets:from_list also must be told to use v2 otherwise it will use v1.
* | | Merge pull request #7135 from rabbitmq/mk-report-total-core-count-cluster-statusMichael Klishin2023-02-011-1/+42
|\ \ \ | |_|/ |/| | List CPU core count in 'rabbitmq-diagnostics cluster_status'
| * | mix formatMichael Klishin2023-01-311-2/+5
| | |
| * | List CPU core count in 'rabbitmq-diagnostics cluster_status'Michael Klishin2023-01-311-1/+39
| | | | | | | | | | | | | | | Both to simplify troubleshooting in some cases and to make it easier to spot licensing irregularities.
* | | Merge pull request #7118 from rabbitmq/fix-stream-delivery-v2-command-enablementArnaud Cogoluègnes2023-02-011-1/+1
|\ \ \ | | | | | | | | Activate stream delivery v2 correctly
| * | | Activate stream delivery v2 correctlyArnaud Cogoluègnes2023-01-311-1/+1
| | | | | | | | | | | | | | | | | | | | As soon as v2 is supported, whatever the min supported version is.
* | | | Merge pull request #7133 from rabbitmq/mk-cli-dialyzer-fixMichael Klishin2023-01-311-0/+5
|\ \ \ \ | |_|/ / |/| | |
| * | | Fix one more issue reported by CLI tools DialyzerMichael Klishin2023-01-311-0/+5
|/ / / | | | | | | | | | (cherry picked from commit 5d8ba2f32ae012d883cc61d3e15593b67cf89e37)
* | | Merge pull request #7128 from rabbitmq/mk-3.10.17-release-notesMichael Klishin2023-01-311-0/+45
|\ \ \ | | | | | | | | 3.10.17 release notes
| * | | 3.10.17 release notesMichael Klishin2023-01-311-0/+45
|/ / /
* | | Merge pull request #7123 from ↵Michael Klishin2023-01-311-1/+1
|\ \ \ | | | | | | | | | | | | | | | | rabbitmq/dependabot/github_actions/main/docker/build-push-action-4 Bump docker/build-push-action from 2 to 4
| * | | Bump docker/build-push-action from 2 to 4dependabot[bot]2023-01-311-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2 to 4. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v2...v4) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
* | | Merge pull request #6931 from rabbitmq/support-oauth2-in-amqp1_0Michael Klishin2023-01-316-11/+83
|\ \ \ | |/ / |/| | Support OAuth 2.0 authentication in AMQP 1.0 plugin
| * | WordingMichael Klishin2023-01-311-4/+4
| | |
| * | NamingMichael Klishin2023-01-311-1/+1
| | |
| * | Comment why we are propagating authz_backendsMarcial Rosales2023-01-313-0/+30
| | | | | | | | | | | | when opening an internal amqp connection
| * | Fix issue #6909Marcial Rosales2023-01-316-11/+53
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the outcome from first authentication stored in the #user.authz_backends to authenticate subsequent attempts which occur when a session is opened. In particular, during the first authentication attempt which occurs during the sasl handshake, the amqp 1.0 plugins reads and validates JWT token present in the password field. When a new AMQP 1.0 session is opened, the plugin creates an internal AMQP connection which triggers a second/nth authentication. For this second/nth authentication, the plugin propagates as Authentication Credentials the outcome from the first authentication which is stored in the `#user.authz_backends`. The Oauth2 backend first attempts to authenticate using the password credentials else it uses the credential with the key `rabbit_auth_backend_oauth2` which has a function which returns the decoded token
* | Mark AMQP 1.0 properties chunk as binary (#7001)Arnaud Cogoluègnes2023-01-313-77/+277
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Mark AMQP 1.0 properties chunk as binary It is marked as an UTF8 string, which is not, so strict AMQP 1.0 codecs can fail. * Re-use AMQP 1.0 binary chunks if available Instead of converting from AMQP 091 back to AMQP 1.0. This is for AMQP 1.0 properties, application properties, and message annotations. * Test AMQP 1.0 binary chunk reuse * Support AMQP 1.0 multi-value body better In the rabbit_msg_record module, mostly. Before this commit, only one Data section was supported. Now multiple Data sections, multiple Sequence sections, and an AMQP value section are supported. * Add test for non-single-data-section AMQP 1.0 message * Squash some Dialyzer warnings * Silent dialyzer for a function for now * Fix type declaration, use type, not atom * Address review comments
* | Merge pull request #7113 from rabbitmq/mqtt-debug-logMichael Klishin2023-01-312-2/+3
|\ \
| * | MQTT print stacktrace/payload only at debug levelChunyi Lyu2023-01-312-2/+3
| |/
* | Add rabbitmq_cli dialyze to bazel (#7066)Rin Kuryloski2023-01-3130-47/+86
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add rabbitmq_cli dialyze to bazel and fix a number of warnings Because we stop mix from recompiling rabbit_common in bazel, many unknown functions are reported, so this dialyzer analysis is somewhat incomplete. * Use erlang dialyzer for rabbitmq_cli rather than mix dialyzer Since this resolves all of the rabbit functions, there are far fewer unknown functions. Requires yet to be released rules_erlang 3.9.2 * Temporarily use pre-release rules_erlang So that checks can run on this PR without a release * Fix additional dialyzer warnings in rabbitmq_cli * rabbitmq_cli: mix format * Additional fixes for ignored return values * Revert "Temporarily use pre-release rules_erlang" This reverts commit c16b5b6815abd7e323fc28aa3ce8c8af255b70e5. * Use rules_erlang 3.9.2
* Merge pull request #7111 from rabbitmq/bump-otp-25.2Michael Klishin2023-01-312-7/+7
|\
| * Adopt otp 25.2.2GitHub2023-01-312-7/+7
|/
* Merge pull request #7095 from rabbitmq/mqtt-peer-addrMichael Klishin2023-01-303-36/+35
|\ | | | | Remove MQTT processor field peer_addr
| * Remove MQTT processor field peer_addrDavid Ansari2023-01-303-36/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | as it seems to always match peer_host. Commit 7e09b85426959883c2cbe5f409aeaa299427fd8e adds peer address provided by WebMQTT plugin. However, this seems unnecessary since function rabbit_net:peername/1 on the unwrapped socket provides the same address. The peer address was the address of the proxy if the proxy protocol is enabled. This commit simplifies code and reduces memory consumption.
* | Merge pull request #7101 from ↵Michael Klishin2023-01-309-12/+12
|\ \ | | | | | | | | | rabbitmq/dependabot/github_actions/main/actions/cache-3.2.4
| * | Bump actions/cache from 3.2.3 to 3.2.4dependabot[bot]2023-01-309-12/+12
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bumps [actions/cache](https://github.com/actions/cache) from 3.2.3 to 3.2.4. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3.2.3...v3.2.4) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
* | Merge pull request #7097 from rabbitmq/mk-3.10.16-and-3.10.15-release-notesMichael Klishin2023-01-302-82/+86
|\ \ | |/ |/| 3.10.16 release notes
| * 3.10.16 release notesMichael Klishin2023-01-302-82/+86
|/ | | | | | 3.10.15 never shipped due to a missing Debian package build time dependency which was not practically possible to "retry". Therefore we will be skipping that version.
* Merge pull request #7079 from rabbitmq/gh-7068Michael Klishin2023-01-302-7/+11
|\ | | | | Fix direct_exchange_routing_v2 migration
| * Fix direct_exchange_routing_v2 migrationDavid Ansari2023-01-302-7/+11
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Multiple users reported the following error when starting RabbitMQ in containers: ``` Feature flags: failed to enable `direct_exchange_routing_v2`: {error, {badarg, [{ets,lookup, [rabbit_exchange, {resource, <<"/">>, exchange, <<"messages">>}], [{error_info, #{cause => id, module => erl_stdlib_errors}}]}, {rabbit_misc, dirty_read, 1, [{file, "rabbit_misc.erl"}, {line, 372}]}, {rabbit_binding, '-populate_index_route_table/0-fun-0-', 1, [{file, "rabbit_binding.erl"}, {line, 757}]}, ... ``` Although Mnesia table rabbit_exchange is present when the migration function for direct_exchange_routing_v2 runs, its ETS table is not yet present because there is no table copy on the local node. The table copy was added later after all feature flags were synced. Fixes #7068.
* Merge pull request #7091 from rabbitmq/mqtt-max-size-connect-packetMichael Klishin2023-01-296-53/+124
|\ | | | | Set MQTT max packet size
| * Restrict MQTT CONNECT packet sizeDavid Ansari2023-01-295-53/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In MQTT 3.1.1, the CONNECT packet consists of 1. 10 bytes variable header 2. ClientId (up to 23 bytes must be supported) 3. Will Topic 4. Will Message (maximum length 2^16 bytes) 5. User Name 6. Password Restricting the CONNECT packet size to 2^16 = 65,536 bytes seems to be a reasonalbe default. The value is configurable via the MQTT app parameter `max_packet_size_unauthenticated`. (Instead of being called `max_packet_size_connect`) the name `max_packet_size_unauthenticated` is generic because MQTT 5 introduces an AUTH packet type.
| * Ignore code formatter commits in git blameDavid Ansari2023-01-291-0/+4
|/
* Merge pull request #7089 from rabbitmq/mk-3.11.8-release-notesMichael Klishin2023-01-282-1/+102
|\ | | | | 3.11.8 release notes
| * 3.11.8 release notesMichael Klishin2023-01-282-1/+102
|/
* Merge pull request #7086 from rabbitmq/mk-3.10.15-release-notesMichael Klishin2023-01-281-0/+83
|\ | | | | 3.10.15 release notes
| * 3.10.15 release notesMichael Klishin2023-01-281-0/+83
| |