Size: a a a

2020 December 14

M

Mike in Delphi & Lazarus
пробовал
источник

M

Mike in Delphi & Lazarus
есть версия которую не держит
источник

RS

Renat Suleymanov in Delphi & Lazarus
В нативной либе я например так делаю:

procedure TFCLHTTPClient.HttpClientGetSocketHandler(Sender: TObject;
 const UseSSL: Boolean; out AHandler: TSocketHandler);
begin
 {$IFDEF LINUX}
   if UseSSL then begin
     AHandler:=TSSLSocketHandler.Create;
     TSSLSocketHandler(AHandler).SSLType:=stTLSv1_2;  // <--
   end;
 {$ENDIF}
end;
источник

RS

Renat Suleymanov in Delphi & Lazarus
Renat Suleymanov
В нативной либе я например так делаю:

procedure TFCLHTTPClient.HttpClientGetSocketHandler(Sender: TObject;
 const UseSSL: Boolean; out AHandler: TSocketHandler);
begin
 {$IFDEF LINUX}
   if UseSSL then begin
     AHandler:=TSSLSocketHandler.Create;
     TSSLSocketHandler(AHandler).SSLType:=stTLSv1_2;  // <--
   end;
 {$ENDIF}
end;
В fcl-net то есть это мне помогает точно, если SSL старый сервером не поддерживается. Обычно уже так везде, да
источник

M

Mike in Delphi & Lazarus
sslvSSLv23;
источник

DB

Dmitry Belkevich in Delphi & Lazarus
Anton Shevtsov
он на старый openssl заточен.. патчить надо, я делаю, ноотказываюсь на будущее
это не так. он работает с несколькими крипто-либами. в том числе и с OpenSSL, в отличие от инди, к слову. который только OpenSSL
источник

k

kirillmaster4 in Delphi & Lazarus
Добрый день. Кто-нибудь знает какай файл(лы) в исходниках компилятора Free Pascal отвечает(ют) за псевдонрафическую FP IDE (Которая в терминале Linux вызывается)?
источник

DB

Dmitry Belkevich in Delphi & Lazarus
Anton Shevtsov
он на старый openssl заточен.. патчить надо, я делаю, ноотказываюсь на будущее
из коробки поддерживаются CryptLib, LibSSH2, OpenSSL,SecureBlackBox, StreamSecII. если мало, можно дописать свою прослойку
источник

DB

Dmitry Belkevich in Delphi & Lazarus
по вопросу. мы парсим вывод ip
источник

RS

Renat Suleymanov in Delphi & Lazarus
Ну и я всегда рекомендую использовать нативные либы, если его функционала хватает. Таким образом сразу охватывается максимальное число платформ, интеграция с максимальным количеством сторонних либ. Хотя синапс тоже хорош, практически стандарт стал де факто
источник

AS

Anton Shevtsov in Delphi & Lazarus
Dmitry Belkevich
это не так. он работает с несколькими крипто-либами. в том числе и с OpenSSL, в отличие от инди, к слову. который только OpenSSL
с новым openssl (1.1) не работает..  ставить 1.0 и патчить
sed -i "s/'libssl.so'/'libssl.so.10'/g;s/'libcrypto.so'/'libcrypto.so.10'/g" synapse/ssl_openssl_lib.pas
источник

DB

Dmitry Belkevich in Delphi & Lazarus
список сетевых интерфейсов. встроенными средствами:

function EnumInterfaces(Lines: TStrings; IPOnly: boolean = False): boolean;
var
 AProcess: TProcess;
 s: string;
 sl: TStringList;
 i, n: integer;
begin
Result := False;
AProcess:=TProcess.Create(nil);
s := FindDefaultExecutablePath('ip');
AProcess.CommandLine := s + ' a';
AProcess.Options := AProcess.Options + [poUsePipes, poWaitOnExit];
try
 AProcess.Execute;
 Result := AProcess.ExitStatus = 0;
 if Result then
  Lines.LoadFromStream(AProcess.Output);
finally
 AProcess.Free();
end;
end;
источник

AS

Anton Shevtsov in Delphi & Lazarus
Dmitry Belkevich
список сетевых интерфейсов. встроенными средствами:

function EnumInterfaces(Lines: TStrings; IPOnly: boolean = False): boolean;
var
 AProcess: TProcess;
 s: string;
 sl: TStringList;
 i, n: integer;
begin
Result := False;
AProcess:=TProcess.Create(nil);
s := FindDefaultExecutablePath('ip');
AProcess.CommandLine := s + ' a';
AProcess.Options := AProcess.Options + [poUsePipes, poWaitOnExit];
try
 AProcess.Execute;
 Result := AProcess.ExitStatus = 0;
 if Result then
  Lines.LoadFromStream(AProcess.Output);
finally
 AProcess.Free();
end;
end;
я вот не уверен, что в разных дистрибутивах вывод не отличается..
источник

M

Mike in Delphi & Lazarus
есть синапс последний? который sslvSSLv23; держит?
источник

DB

Dmitry Belkevich in Delphi & Lazarus
Anton Shevtsov
я вот не уверен, что в разных дистрибутивах вывод не отличается..
может. спорить не буду
источник

AS

Anton Shevtsov in Delphi & Lazarus
Dmitry Belkevich
может. спорить не буду
вот и не хочу в такие ситуации попадать)) + от локали вывод может отличается.. от версии ip..
источник

DB

Dmitry Belkevich in Delphi & Lazarus
Mike
есть синапс последний? который sslvSSLv23; держит?
источник

AS

Anton Shevtsov in Delphi & Lazarus
хочу просто getHostname, getIP чтобы дергали systemd и мне давали)) но не парсингом внешних команд.. это рано или поздно приведет в тупик
источник

AS

Alexey Shumkin in Delphi & Lazarus
Anton Shevtsov
с новым openssl (1.1) не работает..  ставить 1.0 и патчить
sed -i "s/'libssl.so'/'libssl.so.10'/g;s/'libcrypto.so'/'libcrypto.so.10'/g" synapse/ssl_openssl_lib.pas
не лучше ли симлинки делать?
источник

DB

Dmitry Belkevich in Delphi & Lazarus
Anton Shevtsov
вот и не хочу в такие ситуации попадать)) + от локали вывод может отличается.. от версии ip..
желание разумное ) спорить опять же не буду
источник