Skip to content

Remove dependancies on IdSSLOpenSSLHeaders and IdSSLOpenSSL units #376

@rlebeau

Description

@rlebeau

Several units depend directly on the IdSSLOpenSSLHeaders and IdSSLOpenSSL units, namely:

IdAuthenticationNTLM.pas
IdDsnRegister.pas
IdNTLM.pas
IdNTLMv2.pas
IdRegister.pas

This means that when new SSLIOHandlers are used, such as the one being worked on for #299, the old TIdSSLIOHandlerSocketOpenSSL is also being used/registered, which causes issues for TIdHTTP for instance (default SSLIOHandler creation, use of TIdAuthenticationNTLM, etc).

In IdCompilerDefines.inc there is a USE_OPENSSL conditional, but it is currently being ignored by some of the above units (the relevant IFDEFs are commented out).

So, this makes it very difficult to upgrade Indy to support OpenSSL 1.1.x/3.0.0 when 1.0.2 is still being depended on in places.

Need to expose new function pointers to abstract away all access to the older IdSSLOpenSSL... units. Maybe add them to the IdFIPS.pas unit, with the existing hash function pointers? Or maybe in another unit would make more sense, perhaps IdSSL.pas?

Metadata

Metadata

Assignees

Labels

Element: SSL/TLSIssues related to SSL/TLS handling, TIdSSLIOHandlerSocketBase and descendantsStatus: PendingIssue is pending external update or releaseType: MaintenanceIssue is proposing maintenance of existing code

Type

Projects

Status

In progress

Relationships

None yet

Development

No branches or pull requests

Issue actions