Issue #1768: add footer hint in the error dialog shown when SEC_E_ALGORITHM_MISMATCH happens

This commit is contained in:
Ansgar Becker
2024-05-29 07:22:01 +02:00
parent d549080cbd
commit b099162e0e
2 changed files with 16 additions and 8 deletions

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: HeidiSQL\n" "Project-Id-Version: HeidiSQL\n"
"POT-Creation-Date: 2012-11-05 21:40\n" "POT-Creation-Date: 2012-11-05 21:40\n"
"PO-Revision-Date: 2024-05-18 17:39+0200\n" "PO-Revision-Date: 2024-05-29 07:19+0200\n"
"Last-Translator: Ansgar Becker <anse@heidisql.com>\n" "Last-Translator: Ansgar Becker <anse@heidisql.com>\n"
"Language-Team: English (http://www.transifex.com/projects/p/heidisql/language/en/)\n" "Language-Team: English (http://www.transifex.com/projects/p/heidisql/language/en/)\n"
"Language: en\n" "Language: en\n"
@ -4810,6 +4810,9 @@ msgstr "unknown"
msgid "You could try the default library %s in your session settings. (Current: %s)" msgid "You could try the default library %s in your session settings. (Current: %s)"
msgstr "You could try the default library %s in your session settings. (Current: %s)" msgstr "You could try the default library %s in your session settings. (Current: %s)"
msgid "This is a known issue with older libraries. Try a newer %s in the session settings."
msgstr "This is a known issue with older libraries. Try a newer %s in the session settings."
#: main.pas:5261 #: main.pas:5261
msgid "Specify filter-value..." msgid "Specify filter-value..."
msgstr "Specify filter-value..." msgstr "Specify filter-value..."

View File

@ -2359,7 +2359,7 @@ var
Error, StatusName: String; Error, StatusName: String;
FinalHost, FinalSocket, FinalUsername, FinalPassword: String; FinalHost, FinalSocket, FinalUsername, FinalPassword: String;
ErrorHint: String; ErrorHint: String;
PluginDir: AnsiString; PluginDir, TlsVersions: AnsiString;
Status: TDBQuery; Status: TDBQuery;
PasswordChangeDialog: TfrmPasswordChange; PasswordChangeDialog: TfrmPasswordChange;
SetOptionResult: Integer; SetOptionResult: Integer;
@ -2382,11 +2382,11 @@ begin
// See https://www.heidisql.com/forum.php?t=27158 // See https://www.heidisql.com/forum.php?t=27158
// See https://mariadb.com/kb/en/library/mysql_optionsv/ // See https://mariadb.com/kb/en/library/mysql_optionsv/
// See issue #1768 // See issue #1768
var TlsVersions := 'TLSv1,TLSv1.1,TLSv1.2,TLSv1.3'; TlsVersions := 'TLSv1,TLSv1.1,TLSv1.2,TLSv1.3';
//TlsVersions := 'TLSv1.1'; //TlsVersions := 'TLSv1.1';
SetOptionResult := FLib.mysql_options(FHandle, FLib.MARIADB_OPT_TLS_VERSION, PAnsiChar(AnsiString(TlsVersions))); SetOptionResult := FLib.mysql_options(FHandle, FLib.MARIADB_OPT_TLS_VERSION, PAnsiChar(TlsVersions));
SetOptionResult := SetOptionResult + SetOptionResult := SetOptionResult +
FLib.mysql_options(FHandle, FLib.MYSQL_OPT_TLS_VERSION, PAnsiChar(AnsiString(TlsVersions))); FLib.mysql_options(FHandle, FLib.MYSQL_OPT_TLS_VERSION, PAnsiChar(TlsVersions));
if FParameters.SSLPrivateKey <> '' then if FParameters.SSLPrivateKey <> '' then
SetOptionResult := SetOptionResult + SetOptionResult := SetOptionResult +
FLib.mysql_options(FHandle, FLib.MYSQL_OPT_SSL_KEY, PAnsiChar(AnsiString(FParameters.SSLPrivateKey))); FLib.mysql_options(FHandle, FLib.MYSQL_OPT_SSL_KEY, PAnsiChar(AnsiString(FParameters.SSLPrivateKey)));
@ -2403,7 +2403,6 @@ begin
Log(lcInfo, _('SSL parameters successfully set.')) Log(lcInfo, _('SSL parameters successfully set.'))
else else
Log(lcError, f_('SSL parameters not fully set. Result: %d', [SetOptionResult])); Log(lcError, f_('SSL parameters not fully set. Result: %d', [SetOptionResult]));
SetOptionResult := 0;
end; end;
case FParameters.NetType of case FParameters.NetType of
@ -2485,11 +2484,17 @@ begin
FConnectionStarted := 0; FConnectionStarted := 0;
FHandle := nil; FHandle := nil;
EndSSHTunnel; EndSSHTunnel;
if (FParameters.DefaultLibrary <> '') and (FParameters.LibraryOrProvider <> FParameters.DefaultLibrary) then begin if Error.Contains('SEC_E_ALGORITHM_MISMATCH') then begin
ErrorHint := f_('This is a known issue with older libraries. Try a newer %s in the session settings.',
['libmysql']
);
end
else if (FParameters.DefaultLibrary <> '') and (FParameters.LibraryOrProvider <> FParameters.DefaultLibrary) then begin
ErrorHint := f_('You could try the default library %s in your session settings. (Current: %s)', ErrorHint := f_('You could try the default library %s in your session settings. (Current: %s)',
[FParameters.DefaultLibrary, FParameters.LibraryOrProvider] [FParameters.DefaultLibrary, FParameters.LibraryOrProvider]
); );
end else begin end
else begin
ErrorHint := ''; ErrorHint := '';
end; end;
raise EDbError.Create(Error, LastErrorCode, ErrorHint); raise EDbError.Create(Error, LastErrorCode, ErrorHint);