哪个Openssl版本与Indy 10 5519和5438版本兼容?

问题描述 投票:0回答:1

[我在带有OpenSSL 1.0.2m的Delphi 5下使用Indy 10 build 5438。

使用某些(不是全部)电子邮件帐户发送的TLS v1.2电子邮件存在一些问题,我想尝试为Indy 10升级OpenSSL DLL文件,但我不知道哪个兼容。

哪个是与Indy 10 build 5438兼容的最新(!)OpenSSL版本?

我已经尝试用fulld_5.bat在Delphi 5下安装最新的Indy 10 build 5519,但失败:

IdIMAP4.pas(2958) Error: Undeclared identifier: 'LLTextBuf'

IdIMAP4.pas(2958) Error: Incompatible types

IdIMAP4.pas(3185) 
IdIMAP4.pas(3697) 
IdIMAP4.pas(4209) 
IdIMAP4.pas(4721) 
IdIMAP4.pas(5233) 
IdIMAP4.pas(5745) 
IdIMAP4.pas(6257) 
IdIMAP4.pas(6769) 
IdIMAP4.pas(7251) 

IndyProtocols50.dpk(267) Fatal: Could not compile used unit 'IdIMAP4.pas'
Error!
indy10 delphi-5
1个回答
0
投票

Indy 10使用标准的OpenSSL DLL。 OpenSSL的任何1.0.2版本都与Indy(Indy does not support OpenSSL 1.1.x yet)兼容。但是,Indy的Fulgan镜像上提供了OpenSSL 1的预构建版本(不具有MS Visual C ++运行时依赖项构建):

https://indy.fulgan.com/SSL

1:在撰写本文时,那里可用的最新版本是1.0.2t。

关于IdIMAP4.pas错误,这是最近代码签入中的错字。在2958行上,需要将对LLTextBuf的引用更改为LTextBuf

LUseNonSyncLiteral := LCanUseNonSyncLiteral and ((not LNonSyncLiteralIsLimited) or (Length({LLTextBuf}LTextBuf) <= 4096)); // <-- change LLTextBuf to LTextBuf

我现在已经在Indy官方代码(SVN修订版5520)中修复了该问题。

© www.soinside.com 2019 - 2024. All rights reserved.