rabbitmq / rabbitmq-mqtt

RabbitMQ MQTT plugin

Home Page:https://www.rabbitmq.com/mqtt.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MQTT retainer terminates with vhost names that can't be converted to UTF-8

michaelklishin opened this issue · comments

Retainer processes convert vhost names to atoms to calculate supervisor child names. This currently relies on vhost name binaries being safe to convert to UTF-8 which is not always the case (think of a vhost name in Mandarin, Hindi or Russian).

We can safely convert the binaries to latin1, which means no conversion, and it would still be good enough: those names aren't supposed to be human-readable.

I will branch off of master because it's easier to reproduce this in master (or at least our new logging subsystem makes it easier to spot), then cherry-pick to stable.