-
-
Notifications
You must be signed in to change notification settings - Fork 38
Open
Description
Steps to reproduce the issue
If you want to Connect to an unencrpyted MsSQL Server with the following connection array, a connection could not be established, because the encryption could not be set.
$option['driver'] = 'sqlsrv';
$option['host'] = 'server\\instancename, 1433';
$option['port'] = 1433;
$option['user'] = 'user';
$option['password'] = 'pass';
$option['database'] = 'DBName';
$option['prefix'] = '';
return JDatabaseDriver::getInstance($option);
Expected result
In the config array there is an option "encrypt" to set the state.
$option['driver'] = 'sqlsrv';
$option['host'] = 'server\\instancename, 1433';
$option['port'] = 1433;
$option['user'] = 'user';
$option['password'] = 'pass';
$option['database'] = 'DBName';
$option['prefix'] = '';
$option['encrypt'] = false;
return JDatabaseDriver::getInstance($option);
Actual result
System information (as much as possible)
Joomla 4.1.4
PHP 7.4.28
Linux Ubuntu Webserver
sql_srv extension 5.10.0
Additional comments
In the file libraries\vendor\joomla\database\src\Sqlsrv\SqlsrvDriver.php at line 117 to 124 the config array needs the option encrypt, so the array must be change from this:
$config = [
'Database' => $this->options['database'],
'uid' => $this->options['user'],
'pwd' => $this->options['password'],
'CharacterSet' => 'UTF-8',
'ReturnDatesAsStrings' => true
];
to this:
$config = [
'Database' => $this->options['database'],
'uid' => $this->options['user'],
'pwd' => $this->options['password'],
'CharacterSet' => 'UTF-8',
'ReturnDatesAsStrings' => true,
'encrypt' => $this->options['encrypt']
];
Metadata
Metadata
Assignees
Labels
No labels