From b07dcf8bf5a78a9cf94ea92b6cdd1da0efbf3edd Mon Sep 17 00:00:00 2001 From: Michal Kuratczyk Date: Mon, 19 May 2025 08:59:50 +0200 Subject: [PATCH 1/2] OTP28: re:split change; street-address macro https://github.com/erlang/otp/issues/9739 In OTP28+, splitting an empty string returns an empty list, not an empty string (the input). Additionally `street-address` macro was removed in OTP28 - replace with the value it used to be. Lastly, rabbitmq_auth_backend_oauth2 has an MQTT test, so add rabbitmq_mqtt to TEST_DEPS (cherry picked from commit 637a2bc8cc291f92866ac38388f658a04dcdb4f4) --- deps/rabbit_common/src/rabbit_cert_info.erl | 2 +- deps/rabbitmq_auth_backend_oauth2/Makefile | 4 ++-- deps/rabbitmq_mqtt/src/rabbit_mqtt_processor.erl | 6 ++++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/deps/rabbit_common/src/rabbit_cert_info.erl b/deps/rabbit_common/src/rabbit_cert_info.erl index cc4e7ea64b1c..ae1ed690c9aa 100644 --- a/deps/rabbit_common/src/rabbit_cert_info.erl +++ b/deps/rabbit_common/src/rabbit_cert_info.erl @@ -145,7 +145,7 @@ format_rdn(#'AttributeTypeAndValue'{type = T, value = V}) -> {?'id-at-pseudonym' , "PSEUDONYM"}, {?'id-domainComponent' , "DC"}, {?'id-emailAddress' , "EMAILADDRESS"}, - {?'street-address' , "STREET"}, + {17 , "STREET"}, %% macro was removed in OTP28 {{0,9,2342,19200300,100,1,1} , "UID"}], %% Not in public_key.hrl case proplists:lookup(T, Fmts) of {_, Fmt} -> diff --git a/deps/rabbitmq_auth_backend_oauth2/Makefile b/deps/rabbitmq_auth_backend_oauth2/Makefile index f11f265f1161..c6b6fd3509e7 100644 --- a/deps/rabbitmq_auth_backend_oauth2/Makefile +++ b/deps/rabbitmq_auth_backend_oauth2/Makefile @@ -7,8 +7,8 @@ export BUILD_WITHOUT_QUIC LOCAL_DEPS = inets public_key BUILD_DEPS = rabbit_common rabbitmq_cli -DEPS = rabbit cowlib jose base64url oauth2_client -TEST_DEPS = cowboy rabbitmq_web_dispatch rabbitmq_ct_helpers rabbitmq_ct_client_helpers amqp_client rabbitmq_web_mqtt emqtt rabbitmq_amqp_client +DEPS = rabbit rabbitmq_mqtt cowlib jose base64url oauth2_client +TEST_DEPS = cowboy rabbitmq_web_dispatch rabbitmq_ct_helpers rabbitmq_ct_client_helpers amqp_client rabbitmq_mqtt rabbitmq_web_mqtt emqtt rabbitmq_amqp_client PLT_APPS += rabbitmq_cli diff --git a/deps/rabbitmq_mqtt/src/rabbit_mqtt_processor.erl b/deps/rabbitmq_mqtt/src/rabbit_mqtt_processor.erl index 7ae0893a13eb..ad8d34085364 100644 --- a/deps/rabbitmq_mqtt/src/rabbit_mqtt_processor.erl +++ b/deps/rabbitmq_mqtt/src/rabbit_mqtt_processor.erl @@ -1219,7 +1219,8 @@ vhost_in_username(UserBin) -> %% split at the last colon, disallowing colons in username case re:split(UserBin, ":(?!.*?:)") of [_, _] -> true; - [UserBin] -> false + [UserBin] -> false; + [] -> false end end. @@ -1231,7 +1232,8 @@ get_vhost_username(UserBin) -> %% split at the last colon, disallowing colons in username case re:split(UserBin, ":(?!.*?:)") of [Vhost, UserName] -> {Vhost, UserName}; - [UserBin] -> Default + [UserBin] -> Default; + [] -> Default end end. From 22f1374f21c0c0e85f2882c4478d8d1f9c948fe1 Mon Sep 17 00:00:00 2001 From: Michal Kuratczyk Date: Mon, 19 May 2025 09:40:05 +0200 Subject: [PATCH 2/2] Remove rabbitmq_mqtt from DEPS (it's a TEST_DEP) (cherry picked from commit 9fefcc482700aeeab57c4d7abcabe0b4ae6e4305) --- deps/rabbitmq_auth_backend_oauth2/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/rabbitmq_auth_backend_oauth2/Makefile b/deps/rabbitmq_auth_backend_oauth2/Makefile index c6b6fd3509e7..b924a3120645 100644 --- a/deps/rabbitmq_auth_backend_oauth2/Makefile +++ b/deps/rabbitmq_auth_backend_oauth2/Makefile @@ -7,7 +7,7 @@ export BUILD_WITHOUT_QUIC LOCAL_DEPS = inets public_key BUILD_DEPS = rabbit_common rabbitmq_cli -DEPS = rabbit rabbitmq_mqtt cowlib jose base64url oauth2_client +DEPS = rabbit cowlib jose base64url oauth2_client TEST_DEPS = cowboy rabbitmq_web_dispatch rabbitmq_ct_helpers rabbitmq_ct_client_helpers amqp_client rabbitmq_mqtt rabbitmq_web_mqtt emqtt rabbitmq_amqp_client PLT_APPS += rabbitmq_cli