diff --git a/adminer/drivers/mssql.inc.php b/adminer/drivers/mssql.inc.php index 06288231..34752629 100644 --- a/adminer/drivers/mssql.inc.php +++ b/adminer/drivers/mssql.inc.php @@ -24,8 +24,15 @@ if (isset($_GET["mssql"])) { function connect($server, $username, $password) { global $adminer; - $db = $adminer->database(); $connection_info = array("UID" => $username, "PWD" => $password, "CharacterSet" => "UTF-8"); + $ssl = $adminer->connectSsl(); + if (isset($ssl["Encrypt"])) { + $connection_info["Encrypt"] = $ssl["Encrypt"]; + } + if (isset($ssl["TrustServerCertificate"])) { + $connection_info["TrustServerCertificate"] = $ssl["TrustServerCertificate"]; + } + $db = $adminer->database(); if ($db != "") { $connection_info["Database"] = $db; } diff --git a/adminer/plugin.php b/adminer/plugin.php index 3470d772..345a6f29 100644 --- a/adminer/plugin.php +++ b/adminer/plugin.php @@ -2,15 +2,15 @@ function adminer_object() { // required to run any plugin include_once "../plugins/plugin.php"; - + // autoloader foreach (glob("../plugins/*.php") as $filename) { include_once $filename; } - + // enable extra drivers just by including them //~ include "../plugins/drivers/simpledb.php"; - + $plugins = array( // specify enabled plugins here new AdminerDatabaseHide(array('information_schema')), @@ -32,13 +32,13 @@ function adminer_object() { new AdminerTablesFilter, new AdminerEditForeign, ); - + /* It is possible to combine customization and plugins: class AdminerCustomization extends AdminerPlugin { } return new AdminerCustomization($plugins); */ - + return new AdminerPlugin($plugins); } diff --git a/plugins/login-ssl.php b/plugins/login-ssl.php index 2c30ed46..d7d994f4 100644 --- a/plugins/login-ssl.php +++ b/plugins/login-ssl.php @@ -11,7 +11,10 @@ class AdminerLoginSsl { var $ssl; /** - * @param array MySQL: ["key" => filename, "cert" => filename, "ca" => filename, "verify" => bool], PostgresSQL: ["mode" => sslmode] + * @param array + * MySQL: ["key" => filename, "cert" => filename, "ca" => filename, "verify" => bool] + * PostgresSQL: ["mode" => sslmode] (https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNECT-SSLMODE) + * MSSQL: ["Encrypt" => true, "TrustServerCertificate" => true] (https://learn.microsoft.com/en-us/sql/connect/php/connection-options) */ function __construct($ssl) { $this->ssl = $ssl;