Fixed #30307 -- Fixed incorrect quoting of database user password when using dbshell on Oracle.
Regression in acfc650f2a
.
This commit is contained in:
parent
1ffddfc233
commit
755673e1bc
|
@ -213,7 +213,7 @@ class DatabaseWrapper(BaseDatabaseWrapper):
|
|||
return settings_dict['NAME']
|
||||
|
||||
def _connect_string(self):
|
||||
return '%s/\\"%s\\"@%s' % (self.settings_dict['USER'], self.settings_dict['PASSWORD'], self._dsn())
|
||||
return '%s/"%s"@%s' % (self.settings_dict['USER'], self.settings_dict['PASSWORD'], self._dsn())
|
||||
|
||||
def get_connection_params(self):
|
||||
conn_params = self.settings_dict['OPTIONS'].copy()
|
||||
|
|
|
@ -9,4 +9,6 @@ Django 2.2.1 fixes several bugs in 2.2.
|
|||
Bugfixes
|
||||
========
|
||||
|
||||
* ...
|
||||
* Fixed a regression in Django 2.1 that caused the incorrect quoting of
|
||||
database user password when using :djadmin:`dbshell` on Oracle
|
||||
(:ticket:`30307`).
|
||||
|
|
|
@ -87,7 +87,7 @@ class TransactionalTests(TransactionTestCase):
|
|||
old_password = connection.settings_dict['PASSWORD']
|
||||
connection.settings_dict['PASSWORD'] = 'p@ssword'
|
||||
try:
|
||||
self.assertIn('/\\"p@ssword\\"@', connection._connect_string())
|
||||
self.assertIn('/"p@ssword"@', connection._connect_string())
|
||||
with self.assertRaises(DatabaseError) as context:
|
||||
connection.cursor()
|
||||
# Database exception: "ORA-01017: invalid username/password" is
|
||||
|
|
Loading…
Reference in New Issue