Variables to expand are extracted from the AMQP params
(only internal, not network). This allows to propagate
some upstream variables (e.g. MQTT client_id).
References rabbitmq/rabbitmq-server#1229
The expansion is done inside the internal authz backend
and the variables to expand are provided in a map from
the context parameter. This decoupling allows to provide
different variables to expand based on the caller context
(e.g. add other variables to expand from the MQTT plugin).
References rabbitmq/rabbbitmq-server#1229
Pid binary format has changed in OTP-20.0.
We can still get the node using node/1, so we can
skip the node part when decomposing a pid.
Added unit tests for decomposing and composing a pid and changing
the node.
Pid binary format has changed in OTP-20.0.
We can still get the node using node/1, so we can
skip the node part when decomposing a pid.
Added unit tests for decomposing and composing a pid and changing
the node.
They are pulled by amqp_client and can create conflicts with
other libraries when developers build releases with the Rabbit
client and Mochiweb, for example.
* mochiweb_util -> rabbit_http_util
* mochinum -> rabbit_numerical
* ec_semver -> rabbit_semver
3.6.6 will introduce a change to the schema.
e.g. 3.6.6 is not compatible with 3.6.5
This special case can be removed once 3.6.x reaches EOL
[#132175569]
Use ec_semver from erlware for implementation. This is the same module
used in rebar3.
This changes some existing behaviour, e.g.:
3.0 is now minor-equivalent to 3.0.0 and 3.0.0.1
'master' is now a valid in version_compare
Add property tests
[#131650399]