Skip to content

Commit

Permalink
[cherry-pick]allow redis password safe special characters on release-…
Browse files Browse the repository at this point in the history
…2.7.0 (#18586)

allow redis password safe special characters

Signed-off-by: yminer <yminer@vmware.com>

string and None type conversion
  • Loading branch information
MinerYang authored Apr 24, 2023
1 parent 369129e commit a051373
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
4 changes: 2 additions & 2 deletions make/photon/prepare/utils/configs.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import logging
import os
import yaml
from urllib.parse import urlencode
from urllib.parse import urlencode, quote
from g import versions_file_path, host_root_dir, DEFAULT_UID, INTERNAL_NO_PROXY_DN
from models import InternalTLS, Metric, Trace, PurgeUpload, Cache
from utils.misc import generate_random_string, owner_can_read, other_can_read
Expand Down Expand Up @@ -393,7 +393,7 @@ def get_redis_url(db, redis=None):
kwargs['scheme'] = kwargs.get('sentinel_master_set', None) and 'redis+sentinel' or 'redis'
kwargs['db_part'] = db and ("/%s" % db) or ""
kwargs['sentinel_part'] = kwargs.get('sentinel_master_set', None) and ("/" + kwargs['sentinel_master_set']) or ''
kwargs['password_part'] = kwargs.get('password', None) and (':%s@' % kwargs['password']) or ''
kwargs['password_part'] = quote(str(kwargs.get('password', None)), safe='') and (':%s@' % quote(str(kwargs['password']), safe='')) or ''

return "{scheme}://{password_part}{host}{sentinel_part}{db_part}".format(**kwargs) + get_redis_url_param(kwargs)

Expand Down
6 changes: 3 additions & 3 deletions make/photon/prepare/utils/registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import os
import subprocess
from g import config_dir, templates_dir, DEFAULT_GID, DEFAULT_UID, data_dir
from urllib.parse import urlsplit
from urllib.parse import urlsplit, unquote
from utils.jinja import render_jinja
from utils.misc import prepare_dir

Expand Down Expand Up @@ -46,14 +46,14 @@ def parse_redis(redis_url):
if not u.scheme or u.scheme == 'redis':
return {
'redis_host': u.netloc.split('@')[-1],
'redis_password': u.password or '',
'redis_password': '' if u.password is None else unquote(u.password),
'redis_db_index_reg': u.path and int(u.path[1:]) or 0,
}
elif u.scheme == 'redis+sentinel':
return {
'sentinel_master_set': u.path.split('/')[1],
'redis_host': u.netloc.split('@')[-1],
'redis_password': u.password or '',
'redis_password': '' if u.password is None else unquote(u.password),
'redis_db_index_reg': len(u.path.split('/')) == 3 and int(u.path.split('/')[2]) or 0,
}
else:
Expand Down

0 comments on commit a051373

Please # to comment.