Skip to content

LDAP plugin does not interpolate values with non-ASCII characters such as ß #9059

@MichaelUray

Description

@MichaelUray

Describe the bug

If there is a "ß" character (probably same issue on other non ASCII-128 characters) used in the topic, then the topic_access_query permission does not work on MQTT topics which get their permissions from an LDAP attribute.

Reproduction steps

RabbitMQ 3.11.13
Erlang 25.3

Create a topic as followed:
Plants/City1/Hauptstraße/150

Set the LDAP postal attribute of the user who connects to
Plants.City1.Hauptstraße.150

Set the permission in the advanced.config file as followed:

 {topic_access_query, {for, [ {permission, write, {'or', [ %% administrator can write to all topics {in_group, "cn=administrator, ou=rabbitmq, ou=groups, dc=test, dc=com", "uniqueMember"}, %% users can only write to [project number].[customer number] from postalAddress {match, {string, "${routing_key}"}, {attribute, "${user_dn}", "postalAddress"}} ]} }, {permission, read, {'or', [ {constant, true} ]} } ]} } 

It is not possible to write to this topic.
If I replace the "ß" with "ss" in the topic as well as in the postal attribute, then it applies the permissions.

Expected behavior

I would expect that the permission gets applied independent from the used characters in the MQTT topic.

Additional context

2023-08-13_22-36-50_MQTT_Explorer

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions