From 7971c02dc51bc6643f38bcf6738a197aaebf9c52 Mon Sep 17 00:00:00 2001 From: Kowlin Date: Sun, 9 Sep 2018 15:07:40 +0200 Subject: [PATCH] Escape user and passwords for mongo (#2111) * Escape user and passwords for mongo. * Quote -> Quote_Plus * formatting --- redbot/core/drivers/red_mongo.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/redbot/core/drivers/red_mongo.py b/redbot/core/drivers/red_mongo.py index 3bb6240a6..18a6382e4 100644 --- a/redbot/core/drivers/red_mongo.py +++ b/redbot/core/drivers/red_mongo.py @@ -1,5 +1,6 @@ import motor.motor_asyncio from .red_base import BaseDriver +from urllib.parse import quote_plus __all__ = ["Mongo"] @@ -15,7 +16,9 @@ def _initialize(**kwargs): db_name = kwargs.get("DB_NAME", "default_db") if admin_user is not None and admin_pass is not None: - url = "mongodb://{}:{}@{}:{}/{}".format(admin_user, admin_pass, host, port, db_name) + url = "mongodb://{}:{}@{}:{}/{}".format( + quote_plus(admin_user), quote_plus(admin_pass), host, port, db_name + ) else: url = "mongodb://{}:{}/{}".format(host, port, db_name)