From ab767cae84c6b100dbfe84c3b8169499934cd71f Mon Sep 17 00:00:00 2001 From: Christian Flothmann Date: Fri, 9 Sep 2022 18:49:12 +0300 Subject: [PATCH] decode URL-encoded characters in DSN's usernames/passwords --- .../Component/Messenger/Bridge/Amqp/Transport/Connection.php | 4 ++-- .../Component/Messenger/Bridge/Redis/Transport/Connection.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php b/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php index a6a628be30628..e5a9d59eaa3bb 100644 --- a/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php +++ b/src/Symfony/Component/Messenger/Bridge/Amqp/Transport/Connection.php @@ -195,11 +195,11 @@ public static function fromDsn(string $dsn, array $options = [], AmqpFactory $am self::validateOptions($amqpOptions); if (isset($parsedUrl['user'])) { - $amqpOptions['login'] = $parsedUrl['user']; + $amqpOptions['login'] = urldecode($parsedUrl['user']); } if (isset($parsedUrl['pass'])) { - $amqpOptions['password'] = $parsedUrl['pass']; + $amqpOptions['password'] = urldecode($parsedUrl['pass']); } if (!isset($amqpOptions['queues'])) { diff --git a/src/Symfony/Component/Messenger/Bridge/Redis/Transport/Connection.php b/src/Symfony/Component/Messenger/Bridge/Redis/Transport/Connection.php index 466d52fe24be1..ffcac3e2a96b2 100644 --- a/src/Symfony/Component/Messenger/Bridge/Redis/Transport/Connection.php +++ b/src/Symfony/Component/Messenger/Bridge/Redis/Transport/Connection.php @@ -238,8 +238,8 @@ public static function fromDsn(string $dsn, array $redisOptions = [], $redis = n ]; if (isset($parsedUrl['host'])) { - $pass = '' !== ($parsedUrl['pass'] ?? '') ? $parsedUrl['pass'] : null; - $user = '' !== ($parsedUrl['user'] ?? '') ? $parsedUrl['user'] : null; + $pass = '' !== ($parsedUrl['pass'] ?? '') ? urldecode($parsedUrl['pass']) : null; + $user = '' !== ($parsedUrl['user'] ?? '') ? urldecode($parsedUrl['user']) : null; $connectionCredentials = [ 'host' => $parsedUrl['host'] ?? '127.0.0.1', 'port' => $parsedUrl['port'] ?? 6379,