Witam!

robie aplikacje w oparciu o TIdTCPClient, Indy v.10 w Turbo Delphi (BDS2006 tez) i mam dosc dziwny problem,
chodzi o polaczenie z serwerem z uzyciem SSL i Proxy podczas laczenia aplikacja wywala Access violation

na stronie Indy jest male info

For Indy 10

1.
Create an IOHandler such as TIdIOHandlerStack or SSL IOHandler and assign the TCPClient.IOHandler property this.

2.
Create a TIdSocksInfo object and assign it to the IOHandler's TransparentProxy property.

3.
Set the TIdSocksInfo properties as required.

4.
If there is another proxy that the SOCKS Proxy itself needs to use, you have to use, set the Chained Proxy to a TIdCustomTransparentProxy such as TIdSocksInfo for another socks Proxy or a TIdConnectThroughHttpProxy for a HTTP Tunneling proxy.

spoko, tak wlasnie robie i udało mi się zrobić

  1. polaczenie IdTCPClient z SSL IOHandler , polaczenie SSL działa OK!
  2. polaczenie IdTCPClient z TIdIOHandlerStack + TIDSocksInfo , polaczenie przez Proxy działa OK!

ale gdy zrobie tak jak w pkt. 2. tylko IOHandler`em jest TIdSSLIOHandlerSocketOpenSSL zamiast TIdIOHandlerStack aplikacja wywala Access violation

dokladniej w unit IdSSLOpenSSL;

function TIdSSLSocket.Send(const ABuf : TIdBytes): integer;
var
  err: Integer;
begin
  Result := IdSslWrite(fSSL, @ABuf[0], Length(ABuf)); // <--- Linia w ktorej zatrzymuje sie program i wywala AV
  err := GetSSLError(Result);
  if (err = OPENSSL_SSL_ERROR_WANT_READ) or (err = OPENSSL_SSL_ERROR_WANT_WRITE) then begin
    Result := IdSslWrite(fSSL, @ABuf[0], Length(ABuf));
  end;
end;

nie mam juz normalnie sily do tego,
calkiem mozliwe ze serwer Proxy z ktorym chce sie polaczyc nie obsluguje SSL`a ale to chybe nie jest powod zeby wywalac Access violation odrazu, w momencie gdy w ustawieniach serwera porxy podam jakis nieprawidlowy adres lub port socket wywala normlane bledy ale gdy jest mozliwosc polaczenia to mam AV, program nie działa w najprostszej postaci nie ma tu zadnych wymyslnych działan programu wystarczy ze wezme nowa aplikacje wrzuce 3 komponenty na forme polacze je razem i AV przy laczeniu
btw probowalem zamiast IdSocksInfo dac TIdConnectThroughHttpProxy blad ten sam
czy udało sie komus uzyc takiego polaczenia Indy10+SSL+PROXY ?