datasnap

DataSnap standalone HTTPS server (EXE) - OpenSSL support for TLS v1.2

时间秒杀一切 提交于 2019-12-04 19:09:10
I have a standalone (EXE) DataSnap server written in Delphi XE6 which I've secured with an SSL certificate using the OpenSSL DLLs. When I test the connection to the server I can see that it supports TLS v1.0. I now need to ensure the server can support TLS v1.2 (e.g. to support connections from iOS9 apps). However I can't see how to enable this. I've made the Windows registry changes to the (Windows 2008R2) server to enable TLS v1.2 but I guess this only affects IIS apps. Can anybody show me how to enable TLS v1.2 within the Windows OpenSSL DLLs? I'm using version 1.0.2d of the DLLs. Or is

How can I create/install a SSL Cert for a standalone Datasnap Rest Server on local network

心不动则不痛 提交于 2019-12-04 17:04:16
I am new to SSL and Certificate procurement and this is the first datasnap server I have tried to make using https/ssl. I have a stand alone Datasnap server (XE4) and I want to create or obtain a SSL that I can use with it so that my rest communications are encrypted. There is nothing but an IP address associated with the computer running this server. How can I obtain a suitable SSL? Can I purchase a cert that would work with an ip address? eventually I want to use port forwarding to deliver rest queries from the internet to my locally hosted server. How does this affect the cert process?

TClientDataSet Doesn't Release Memory

佐手、 提交于 2019-12-04 17:00:13
I have a DataSnap server that creates a TSQLQuery, TDataSetProvider and a TClientDataSet that are unique to a given user's session, which are used and reused to retrieve data from a database and send TClientDataSet.Data (an OleVariant) to the client. It works very well, except for one problem. When I populate the TClientDataSet by calling its Open method, the memory that is allocated is not freed until the user disconnects their client from the DataSnap server. As the user uses the application and continues to retrieve data from the DataSnap server, memory continues to be allocated (hundreds

Most efficient way to pass SQL Login credentials to Delphi Datasnap servers?

被刻印的时光 ゝ 提交于 2019-12-04 08:18:36
Using Delphi XE to build a relatively straightforward database app using Datasnap. Since some security in my application is handled at the database level, I need to pass a user's SQL credentials from my client app to my Datasnap server. (I'm trying to make the Datasnap server stateless if possible, so recognise that I will have to do this for every call.) I'm using ClientDatasets (CDS) on the client side so I could use OnBeforeGetRecords to pass the data in the OwnerData OleVariant from the CDS on the client to the corresponding TDataSetProvider on the server. But that means every single CDS

Datasnap : Is there a way to detect connection loss globally?

烈酒焚心 提交于 2019-12-04 04:43:14
I'm looking to detect local connection loss. Is there a mean to do that, as with the events on the Corelabs components ? Thanks EDIT: Sorry, I'm going to try to be more specific: I'm currently designing a prototype using datasnap 2009. So I've got a thin client, a stateless server app and a database server. What I would be able to do is to detect and handle connection loss (internet connectivity) between the client and the server app to handle it appropriately, ie: Display an informative error message to the user or to detect a server shutdown to silently redirect on another app server. In 2

DataSnap XE2 and TStream method parameters

纵饮孤独 提交于 2019-12-04 01:48:57
问题 I am working on DataSnap project in Delphi XE2 using TCP/IP protocol that needs to pass a stream of binary data to the server as a method parameter. The problem I am running into is that there seems to be a size limit of about 32 KB on the stream contents. Beyond this limit the stream received at the server is empty. If I pass additional method parameters they arrive intact so it seems to be an issue at the parameter level. Here is how the DataSnap service class is declared:

Delphi XE – Datasnap Filter problems

て烟熏妆下的殇ゞ 提交于 2019-12-03 21:40:56
I have a tcp/ip Datasnap -XE Server that uses a PC1 and Zlib filter On the Client both of these filters are defined in DataSnap TSqlConnection When the client connects to the server I get a "Connection Closed Gracefully” error message If I only use the PC1 filter on its own - there is no problem If I only use the Zlib filter on its own - there is no problem Any Ideas on how I can get both filters working at the same time? 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

Delphi DataSnap authorization not repecting TRoleAuth attribute

那年仲夏 提交于 2019-12-03 16:05:06
I am trying to implement authorization in a Delphi XE DataSnap application. I broke this down into a very simple example, but still do not see the effects of the TRoleAuth attribute for a method or class. Here is a simple DSServerMethods class that includes the generated sample methods. The class has been decorated with the guest and anyone authorized roles, and the unwelcome denied role. The ReverseString method has been decorated with the readonly denied role: type [TRoleAuth('guest,anyone','unwelcome')] TMyDSServerMethods = class(TDSServerModule) DataSetProvider1: TDataSetProvider; ...

Is it possible to change the Response Code when user authorization fails in a datasnap server?

我的未来我决定 提交于 2019-12-03 16:04:22
Is it possible to change the HTTP Response Code in my DataSnap (Delphi XE3) server when user authorization fails? Currently it's returning HTTP/1.1 500 Internal Server Error , which can happen in many other scenarios, and doesn't help describe the problem. Along the same idea, is it possible to change the default Response Body? Currently, it's returning {"error":"USER is not authorized to perform the requested action."} , which is fine, but I'd like to return a custom JSON object if possible. Thanks for your time! I ended up executing code that looked like this in TDSAuthenticationManager

Access remote database using DataSnap technology in C++ Builder 10.1 Berlin

。_饼干妹妹 提交于 2019-12-02 03:58:40
How to query and get results from remote database using DataSnap technology in C++ Builder 10.1 Berlin ? I want to build a simple solution having two VCL Forms Applications, like client(1) and server(2), running on two different windows os computers, connected on same local network. But I cannot accomplish this simple task and this is what I tried to do: On the server application (2), I use: TSQLConnection *SQLConnection1; TSQLQuery *SQLQuery1; and I will load a SQLite database version 3: if (SQLConnection1->Params->IndexOf("Database") == -1) { SQLConnection1->Params->Add("Database="+Form-