Delphi XE – Datasnap Filter problems?

You need to deploy the libeay32. Dll and ssleay32. Dll with your client application as well.

Up vote 0 down vote favorite 2 share g+ share fb share tw.

Delphi delphi-xe datasnap link|improve this question asked Feb 17 '11 at 21:46Charles Faiga3,73353884 87% accept rate.

You need to deploy the libeay32. Dll and ssleay32. Dll with your client application as well.

A quote from my Delphi XE DataSnap Development courseware manual: "If you deploy the DataSnap standalone server, using TCP/IP and the RSA and PC1 filters, then you must also deploy two Indy specific SSL DLLs: libeay32. Dll and ssleay32. Dll – or make sure they already exist at the server machine.

These DLLs are needed for the RSA filter (which encrypts the password used by the PC1 filter). Without these two DLLs, any client who wants to connect to the server will get an “Connection Closed Gracefully” message, because the server was unable to load the two DLLs to start the RSA filter to encrypt the PC1 keys, etc. By the way, the same two DLLs will be required for any DataSnap client, whether connected to the TCP/IP server using the RSA and PC1 filters, or whether connected to the ISAPI filter using HTTPS. " Groetjes, Bob Swart.

1 I have put libeay32. Dll and ssleay32. Dll in the same directory as the clients.

Exe but I still get the "Connection Closed Gracefully” error message. – Charles Faiga Feb 18 '11 at 9:28 And what about the server? Is the server also able to find these two DLLs?

– Bob Swart Feb 18 '11 at 19:31.

Until someone from Embarcadero confirms that this is the way it should be I would think twice before I used it. This is true. If you don't specify filters on the client, it is told in the initial handshake protocol during connection what the server's filters are, and it adds them automatically.

This is a perfectly reasonable and safe way to use filters. Note, however, that this isn't true in the reverse. Servers do not adopt filters from a connecting client.

If you have an RSA filter on the client but not a matching one on the server, then you will get an exception on connection, saying the server has no matching RSA filter. Any other filter on the client but not on the server will be ignored.

1 Thanks for the confirmation. – Mikael Eriksson Mar 18 '11 at 20:22 1 I should mention that in XE, if you don't add a PC1 filter to the client, one will be added (if there is a matching one on the server) but it will have the default password. To specify another password you need to add the filter yourself.

– Mat DeLong Mar 21 '11 at 12:57.

It is probably a bug in DataSnap. I have exactly the same problem and here is the QC report. qc.embarcadero.com/wc/qcmain.aspx?d=91180 Vote on QC report to be fixed and wait for an update of Delphi-XE.

Edit 1 A crazy idea, don't specify filters on the client. Here is a paper from Pawel Glowacki on Transport Filters. edn.embarcadero.com/article/41293 He specifically mentions that you should add ZLibCompression to the Filters property of the DataSnap driver on the client.

I have tested not to do so and it works just fine. You do have to add DBXCompressionFilter to the uses clause otherwise you get "ZLibCompression is not registered" error. With PC1 and ZLibCompression on the server and no filter on the client everything seams to work as expected.

I have checked the traffic and it is encrypted and compressed. Until someone from Embarcadero confirms that this is the way it should be I would think twice before I used it. Edit 2 Here is a post on Embarcadero Discussion Forums by Bob Swart saying that it is enough to add the filters on the server.

Not Embarcadero directly but pretty close :) https://forums.embarcadero.com/thread.jspa?threadID=48875&tstart=0.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions