Jump to content

Recommended Posts

4 minutes ago, Angus Robertson said:

This has been the case for 25 years.

I know! That's why do not understand, why this new openssl.exe is behaving differently?

Share this post


Link to post

No idea how that screen shot error is relevant to ICS, we don't use openssl.exe. 

 

Our openssl zips have a different versions of openssl.exe in the Win32 and Win64 zips, you have mixed therm up.

 

Angus

 

  • Thanks 1

Share this post


Link to post

Thank you very much for the quick replay!

I've double checked, and triple checked, and realized, you where right!

 

About the problem, why I was mislead:

On this site: https://wiki.overbyte.eu/wiki/index.php/ICS_Download

There is only one ZIP available of 9.1 download for Delphi7.

Inside that ZIP there is only one ICS-OpenSSL folder. (Containing both 32bit and 64bit DLLs.)

Inside that folder there is only one openssl.exe file. (No separate 32/64bit versions of it.)

 

I've also checked, who made the digital signature for DLLs and the EXE:

 - They are signed by the same company (Magenta Systems Ltd) nearly the same time. (21 sec. difference)

 

I've also checked the other ZIP made for new Delhpi versions: https://wiki.overbyte.eu/arch/icsv91-new.zip

But there is exactly the same structure.

 

So basically NOTHING IS INDICATING, that this exe is only for 64 bit !

 

image.thumb.png.52ec8144bceff2fc4f292e711fa4db8e.png

 

But if I scroll down to the bottom of the page and download the binary file separately :

https://wiki.overbyte.eu/arch/openssl-3.2.1-win32.zip

 

That openssl.exe has a smaller size! (814k)

Share this post


Link to post

A Solution would be in the next release: (9.2 ?)

 - Please rename that openssl.exe to: openssl-64.exe

 - and include the 32bit exe in the component-pack-ZIP too please ! 

 - Even better, if both EXE files would be also auto-embedded, just like the DLLs. They are small compared to the whole directory combined.

 

Thank You all for the help!

Share this post


Link to post

Still got no idea why are distributing openssl.exe and why this is a problem.  The directory your screen shows has the correct DLLs for the EXE. 

 

We don't need two separate openssl.exe files since we don't use them.

 

The only problem here is you decided to change the way OpenSSL is distributed for your own reasons.

 

Angus

 

Share this post


Link to post

Dear @Angus Robertson , 🙂

 

Where You able to fix the problem by:

 - Renaming the openssl.exe to openssl-x64.exe for the 64 bit version

 - Leaving openssl.exe for 32 bit. (because it's compatible with both)

 

This way even if you copy the content of the 32 + 64 bit ZIP files together, the one will not overwrite the other!

 (As it happened during preparing this 9.1 ZIP file on your PC.)

 

Re-creating the v9.1 ZIP would be nice too, but at least prepare the: v9.2+  please, (so such overwrite never happens again.)

Calling a 32bit exe on a 64bit OS is not a problem. (But the other way around it is bad.)

 

TODO:

 - Copy both EXE files (openssl.exe + openssl-x64.exe) to the (next) ZIP files, you release.

 

Thank You in forward!

Share this post


Link to post

No, ICS will never contain an openssl-x64.exe file, since ICS does not use openssl.exe. 

 

Our OpenSSL zip distributions are separate for Win32 and Win64, so it is up to end users to do something if they want to combine them. 

 

SVN and the overnight zip do now correctly have the Win32 version of openssl.exe, the Win64 version was an error.

 

Angus

 

Share this post


Link to post

I think this should be commented out by default, I want to use OpenSSL version that I control.

{$DEFINE OpenSSL_Resource_Files}

 

 

Share this post


Link to post

If you undefine {$DEFINE OpenSSL_Resource_Files}, ICS will look in the ICS-OpenSSL directory for the DLLs, so how does make you in control? 

 

If you want to load the DLLs from your own specified location, like the application directory, you need to add extra code, as has always been the case with ICS, but you'll need to change other defines as well since OpenSSL is now loaded by default before any code is run.  This is explained in depth in readme9, and other places. 

 

Angus

 

Share this post


Link to post
8 hours ago, Angus Robertson said:

If you undefine {$DEFINE OpenSSL_Resource_Files}, ICS will look in the ICS-OpenSSL directory for the DLLs, so how does make you in control? 

 

If you want to load the DLLs from your own specified location, like the application directory, you need to add extra code, as has always been the case with ICS, but you'll need to change other defines as well since OpenSSL is now loaded by default before any code is run.  This is explained in depth in readme9, and other places. 

 

I understand this, I changed it. I'm talking about default value, good that I noticed it, if someone won't notice it can be unpleasant surprise if people rely on using specific OpenSSL version.

Share this post


Link to post

The default defines are designed so that users get new applications working easily and safely, without them failing immediately because the OpenSSL DLLs can not be found.  Or needing to copy those DLLs into every single different directory to which modern versions of Delphi build by default.

 

Angus

 

Share this post


Link to post

OFF: 📴

 

I absolutely agree, that it is very hard to apply new features, while maintaining backward compatibility.

 

@EugeneK I was also freaked out from this change, took me 40+ work-hours to realize, debug, understand and adapt my code to it.

It would have been nice, if it would have appeared first only as an OPTION, (disabled by default,) with a big fat red warning on the main page, that the next release will be default to this behaviour, so all of us could have been prepared...

 

But now I like it. It's a great new feature. Resolves a huge problem:

 - "How to download DLLs from internet from a https site, without SSL DLLs present."

 

So I'm very grateful to the developer maintaining and improving this component, and sharing it with us! 🌞

Share this post


Link to post
Quote

How to download DLLs from internet from a https site, without SSL DLLs present

That was fixed in V9.1, or at least there are now settings that allow the HTTP clients to be used without SSL being available, for http:// only.

 

I go to extreme lengths to keep ICS backward compatible, I know how horrible it is updating to new compilers and components when you get blizzards or IDE error messages on opening old projects, it's why some of my projects are still Delphi 2007. 

 

Rarely backward compatible is not possible, but I did spend a week or two writing documentation and updating samples explaining how to update to V9.1. 

 

Angus

 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×