Einzelnen Beitrag anzeigen

querter

Registriert seit: 19. Apr 2008
30 Beiträge
 
#1

INDY10 rev.5447 (12.02.2018) Bug in IdSSLOpenSSLHeaders - function EVP_OpenUpdate()

  Alt 16. Feb 2018, 11:37
Huhu ...

kann mir jemand helfen ...

im aktuellen INDY10 Rev.5447 vom 12.02.2018 hat sich ein kleiner Bug eingeschlichen ...

IdSSLOpenSSLHeaders.pas
Delphi-Quellcode:
  [Fehler] IdSSLOpenSSLHeaders.pas(26017): Bei der vorherigen Deklaration von EVP_OpenUpdate wurde die Direktive 'overload' nicht angegeben
  [Fehler] IdSSLOpenSSLHeaders.pas(26020): Inkompatible Typen: 'Integer' und 'PIdC_INT'
  [Fehler] IdSSLOpenSSLHeaders.pas(18644): Ungenügende Forward- oder External-Deklaration: 'EVP_OpenUpdate'
  [Fataler Fehler] Verwendete Unit 'IdSSLOpenSSLHeaders.pas' kann nicht compiliert werden
vorherige alte Version ...
Delphi-Quellcode:
interface
function EVP_OpenUpdate(a:PEVP_CIPHER_CTX; b : PIdAnsiChar; c : TIdC_INT; d: PIdAnsiChar; e : TIdC_INT) : TIdC_INT; {$EXTERNALSYM EVP_SealUpdate}

implementation
function EVP_OpenUpdate(a:PEVP_CIPHER_CTX; b : PIdAnsiChar; c : TIdC_INT; d: PIdAnsiChar; e : TIdC_INT) : TIdC_INT; {$IFDEF USE_INLINE} inline; {$ENDIF}
begin
   Result := EVP_DecryptUpdate(a,b,c,d,e)
end;
Neue Version Rev. 5447
Delphi-Quellcode:
interface
function EVP_OpenUpdate(a:PEVP_CIPHER_CTX; b : PIdAnsiChar; c : PIdC_INT; d: PIdAnsiChar; e : TIdC_INT) : TIdC_INT; {$EXTERNALSYM EVP_SealUpdate}

implementation
function EVP_OpenUpdate(a:PEVP_CIPHER_CTX; b : PIdAnsiChar; var c : TIdC_INT; d: PIdAnsiChar; e : TIdC_INT) : TIdC_INT; {$IFDEF USE_INLINE} inline; {$ENDIF}
begin
  Result := EVP_DecryptUpdate(a,b,c,d,e);
end;
Veränderungen bei Variable C sind zuerkennen ...

ist daher folgende Änderung "korrekt"?

Ich kann leider die daraus entstehenden "Auswirkungen" nicht ganz abschätzen

Im Interface habe ich vor der Variable c: PIdC_INT ein var eingefügt;

und entsprechend in der Implementation den Type TIdC_INT in PIdC_INT gändert, sowie ein @ im EVP_DecryptUpdate(a,b,@c,d,e) angepasst ...

Delphi-Quellcode:
interface
function EVP_OpenUpdate(a:PEVP_CIPHER_CTX; b : PIdAnsiChar; var c : PIdC_INT; d: PIdAnsiChar; e : TIdC_INT) : TIdC_INT; {$EXTERNALSYM EVP_SealUpdate}

implementation
function EVP_OpenUpdate(a:PEVP_CIPHER_CTX; b : PIdAnsiChar; var c : PIdC_INT; d: PIdAnsiChar; e : TIdC_INT) : TIdC_INT; {$IFDEF USE_INLINE} inline; {$ENDIF}
begin
  Result := EVP_DecryptUpdate(a,b,@c,d,e);
end;
"für mich" sieht das nun so OK aus

Ich habe leider keinen Zugriff zu irgendeinem Bug-Report-Forum ... entweder erhalte ich bei den ganzen angegeben "Foren" ein Error404 oder ich habe keinen Account ...

Hat hier jemand Zugang zum INDY-Team und könnte freundlicher Weise ein Bug-Report anlegen?

Danke ...

Herzliche Grüße
querter

Geändert von querter (16. Feb 2018 um 11:53 Uhr)
  Mit Zitat antworten Zitat