| Welcome, Guest |
You have to register before you can post on our site.
|
| Forum Statistics |
» Members: 82,256
» Latest member: dwg88com
» Forum threads: 2,408
» Forum posts: 11,315
Full Statistics
|
| Online Users |
There are currently 491 online users. » 0 Member(s) | 488 Guest(s) Applebot, Bing, Google
|
| Latest Threads |
IW 16.2.0 Missing librari...
Forum: IntraWeb General Discussion
Last Post: Gregory_Twedt
06-24-2026, 04:40 AM
» Replies: 5
» Views: 621
|
VCL conversion
Forum: Delphi General Discussion
Last Post: tobenschain
06-20-2026, 05:00 AM
» Replies: 0
» Views: 69
|
TIWjQDBGrid changing UI
Forum: IntraWeb General Discussion
Last Post: BoostedCruiser
06-08-2026, 02:02 AM
» Replies: 36
» Views: 70,348
|
TIWjQDBGrid erratic behav...
Forum: IntraWeb General Discussion
Last Post: Fabrizio Conti
06-04-2026, 09:14 AM
» Replies: 3
» Views: 472
|
Access Violation When Val...
Forum: IntraWeb General Discussion
Last Post: Alexandre Machado
06-03-2026, 08:47 AM
» Replies: 2
» Views: 516
|
Bootstrap5
Forum: IntraWeb General Discussion
Last Post: geraldtatum
06-02-2026, 06:24 AM
» Replies: 1
» Views: 412
|
weakpackageunit contains ...
Forum: IntraWeb General Discussion
Last Post: rlebeau
05-26-2026, 04:56 PM
» Replies: 4
» Views: 526
|
Custom 404 handler
Forum: IntraWeb General Discussion
Last Post: CfawesDwale
05-21-2026, 08:02 AM
» Replies: 0
» Views: 255
|
PopUp Menu
Forum: IntraWeb General Discussion
Last Post: alex.trejo@tttnet.com.mx
05-13-2026, 04:35 AM
» Replies: 4
» Views: 8,207
|
Image question on tiwjqdb...
Forum: IntraWeb General Discussion
Last Post: alex.trejo@tttnet.com.mx
05-13-2026, 03:32 AM
» Replies: 3
» Views: 4,121
|
|
|
| standalone in 15.0.6 |
|
Posted by: clockon - 06-27-2018, 02:08 AM - Forum: IntraWeb General Discussion
- Replies (2)
|
 |
Hi
i am trying to create/upgrade to the latest intraweb 15.0.6 from version 11.
We have a custom standalone server, now the references i have seen state to use the code:
IWStandAloneServer1.Start(TIWHTTPServerModule);
my problem is that there is no component TIWHTTPServerModule in the source or installation folders, im on ultimate with source.
has anyone setup a custom standalone server with v15?
Also none of the demos help as they are all for v14, otherwise i am going back a version.
|
|
|
| Is it possible to use new version of Indy 10 |
|
Posted by: OldBob1938 - 06-26-2018, 11:30 PM - Forum: Indy
- Replies (28)
|
 |
I have a couple of large applications developed in C++Buiilder 2007 that use Indy 10.1.15. They do work fine and I'm not interested in converting them to a newer version of Rad Studio. One of the owners wants to change from using his current mail host to G-Suite, which puts me in a bit of a pickle. The old embedded email part of the program was just plain. No TLS/SSL. I'm having the problem that many others faced with the program not being able to load SSL libraries. I did put the appropriate dlls for OpenSSL 1.02 in the programs folder. The program does seem to try to use these dlls, but something else is getting in the way.
I've used WhichFailedToLoad() and get a strange response whether the dlls are in my program directory or not. Here's what WhichFailedToLoad() returns
SSL_CTX_set_info_callback_indy
X509_STORE_CTX_get_app_data_indy
X509_get_notBefore_indy
X509_get_notAfter_indy
SSL_SESSION_get_id_indy
SSL_SESSION_get_id_ctx_indy
SSL_CTX_get_version_indy
SSL_CTX_set_options_indy
des_set_odd_parity
des_set_key
des_ecb_encryp
The IdOpenSSLSetLibPath isn't available in the Indy 10.1.15 to force the program to use the dlls from a specific directory. It is available in the the version in Seattle, which I have. But, I need to solve this problem with the code base that I have in BCB2007 ... it's a pretty big program. I have thought of updating to a later version of Indy, but don't know what the effect would be on the overall program, or even if it is possible given that it's unicode. The only part of Indy 10 that I'm using is the units related to sending mail.
Other than that, I do need to solve the inability to load the OpenSSL dlls. Can now load the dlls, but had to use dlls from 096. They worked, but I did have to tag the gmail account I was using as an insecure app. I don't know how well that will work for G-Suite. The G-Suite account is ready for use, but the customer is still trying to get a master password to their current webhost that will allow them to transfer their MX records.
|
|
|
| Intraweb ISAPI DLL |
|
Posted by: msgopala - 06-25-2018, 03:12 PM - Forum: IntraWeb General Discussion
- Replies (2)
|
 |
Seattle10
Intraweb 14.2.5
FastReports 5.0
TMS Intraweb Components
Raize 6.2.1
After deployment, I can access the dll page once. After closing out the page isnt accesible anymore. There is no error log or exception log.
I have set allowmultipleusersessions to true in the servercontroller.
Thanks in advance.
|
|
|
| Re: 404 in Intraweb 14.2.3 |
|
Posted by: MJS@mjs.us - 06-23-2018, 05:12 PM - Forum: IntraWeb General Discussion
- Replies (5)
|
 |
>>>>Posted: Nov 3, 2017 7:52 AM in response to: Gerrit Schurer
>>>>Gerrit Schurer wrote:
>>>>Context : Intraweb 14.2.3, Delphi Tokyo 10.2
>>>>My Intraweb application has the RestartExpiredSession set to true.
>>>In my previous Intraweb version this resulted in a restart of a
>>>>session whenever I restarted the standalone server application
>>>>and clicked anything in the old browser session (or waited for
>>>>an asynchronous timer event to happen). In 14.2.3 I get a 404
>>error ? Maybe it is a simple setting I missed ? Maybe I can get
>>>>around it or create a custom 404 page that does the restarting.
>>>>How can I create such a page ?
>>I'm also experiencing this but just on async events when the session
>>expires or is invalid from recycling the service.
This still appears to happen (using 14.2.7) but only on mobile Safari.
To reproduce:
- Access the IW page.
- Swipe away the browser.
- Wait until the session ends.
- Access the IW page again (without using a bookmark, Safari appears to cache the last accessed page).
- In my case, I click past an initial CGDevTools dialog then get a 404. Clicking on the IW 404 page fixes it as does accessing through a bookmark.
Can provide a link to demonstrate if needed.
|
|
|
| idtcpserver network flood |
|
Posted by: Madammar - 06-20-2018, 11:43 PM - Forum: Indy
- Replies (1)
|
 |
hi , i am facing some kind of ddos attack on my idtcpserver port
my firewall works really fine on my ubuntu machine to block those bad ips and drop there packets
but why tidtcpserver application gets unresponsive while such attack is happened ?
i dont have any none thread safe access in my code
here is the full server code
Code: unit servrfrm;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.SyncObjs, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, IdBaseComponent, IdComponent,
IdCustomTCPServer, IdTCPServer, IdThreadSafe, IdYarn, idGlobal, IdTCPConnection,
IdContext, IdSocketHandle, Vcl.StdCtrls, Vcl.ExtCtrls, DateUtils, StrUtils;
type
TConnection = class(TIdServerContext)
private
IP: String;
Connected: TDateTime;
public
OutboundCache: TIdThreadSafeStringList;
//create connection
constructor Create(AConnection: TIdTCPConnection; AYarn: TIdYarn; AList: TIdContextThreadList = nil); override;
destructor Destroy; override;
//sending methods
procedure SendCommandWithParams(const Command: String);
end;
type
Trsrvfrm = class(TForm)
TcpServer: TIdTCPServer;
Panel1: TPanel;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
Memo1: TMemo;
procedure TcpServerConnect(AContext: TIdContext);
procedure TcpServerExecute(AContext: TIdContext);
procedure Button1Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure TcpServerDisconnect(AContext: TIdContext);
private
procedure UpdateBindings;
{ Private declarations }
public
{ Public declarations }
end;
var
rsrvfrm: Trsrvfrm;
implementation
uses constants;
{$R *.dfm}
{ TConnection }
constructor TConnection.Create(AConnection: TIdTCPConnection; AYarn: TIdYarn;
AList: TIdContextThreadList);
begin
inherited;
OutboundCache := TIdThreadSafeStringList.Create;
end;
destructor TConnection.Destroy;
var
Cache: TStringList;
I: integer;
begin
if OutboundCache <> nil then
begin
Cache := OutboundCache.Lock;
try
for I := 0 to Cache.Count - 1 do
Cache.Objects[I].Free;
finally
OutboundCache.Unlock;
end;
OutboundCache.Free;
end;
inherited;
end;
procedure TConnection.SendCommandWithParams(const Command : String);
var
scmd : string;
begin
scmd := '1'+Command;
OutboundCache.Add(scmd);
end;
procedure Trsrvfrm.Button1Click(Sender: TObject);
begin
TcpServer.ContextClass := TConnection;
UpdateBindings;
TcpServer.Active := true;
end;
procedure Trsrvfrm.Button2Click(Sender: TObject);
begin
TcpServer.Active := False;
end;
procedure Trsrvfrm.UpdateBindings;
var
Binding: TIdSocketHandle;
begin
TcpServer.DefaultPort := StrToInt(Edit1.Text);
TcpServer.Bindings.Clear;
Binding := TcpServer.Bindings.Add;
Binding.IP := '0.0.0.0';
Binding.Port := StrToInt(Edit1.Text);
end;
procedure Trsrvfrm.FormDestroy(Sender: TObject);
begin
TcpServer.Active := False;
TcpServer.Destroy;
end;
procedure Trsrvfrm.TcpServerConnect(AContext: TIdContext);
var
CLIENTCONN: TConnection;
begin
CLIENTCONN := AContext as TConnection;
CLIENTCONN.Connection.IOHandler.MaxLineLength := Maxint;
CLIENTCONN.Connection.IOHandler.DefStringEncoding := IndyTextEncoding_UTF8;
CLIENTCONN.Connection.Socket.UseNagle := False;
CLIENTCONN.IP := AContext.Binding.PeerIP;
CLIENTCONN.Connected := Now;
end;
procedure Trsrvfrm.TcpServerDisconnect(AContext: TIdContext);
var
CLIENTCONN: TConnection;
begin
CLIENTCONN := AContext as TConnection;
end;
procedure Trsrvfrm.TcpServerExecute(AContext: TIdContext);
var
Connection: TConnection;
Command: String;
cmdhandle : string;
Startercommand : String;
Params: array [1 .. 200] of String;
Cache, OutboundCmds: TStringList;
ParamsCount, P: integer;
ReceiveParams: BOOLEAN;
I: integer;
DECODES : String;
begin
sleep(10);
Connection := AContext as TConnection;
// check for pending outbound commands...
OutboundCmds := nil;
try
Cache := Connection.OutboundCache.Lock;
try
if Cache.Count > 0 then
begin
OutboundCmds := TStringList.Create;
OutboundCmds.Assign(Cache);
Cache.Clear;
end;
finally
Connection.OutboundCache.Unlock;
end;
if OutboundCmds <> nil then
begin
for I := 0 to OutboundCmds.Count - 1 do
begin
AContext.Connection.IOHandler.Writeln(OutboundCmds.Strings[I],IndyTextEncoding_UTF8);
end;
end;
finally
if OutboundCmds <> nil then
begin
for I := 0 to OutboundCmds.Count - 1 do
begin
OutboundCmds.Objects[I].Free;
end;
end;
OutboundCmds.Free;
end;
// check for a pending inbound command...
if AContext.Connection.IOHandler.InputBufferIsEmpty then
begin
AContext.Connection.IOHandler.CheckForDataOnSource(100);
AContext.Connection.IOHandler.CheckForDisconnect;
if AContext.Connection.IOHandler.InputBufferIsEmpty then
begin
Exit;
end;
end;
Startercommand := AContext.Connection.Socket.ReadLn(IndyTextEncoding_UTF8);
Command := Startercommand;
if Command = '' then
begin
AContext.Connection.Disconnect;
Exit;
end;
ReceiveParams := False;
//Command Type
if Command[1] = '1' then // command with params
begin
Command := Copy(Command, 2, MaxInt);
ReceiveParams := true;
end;
if ReceiveParams = true then // params is incomming
begin
DECODES := Command;
ParamsCount := 0;
while (DECODES <> '') and (ParamsCount < 200) do
begin
Inc(ParamsCount);
P := Pos(Sep, DECODES);
if P = 0 then
Params[ParamsCount] := DECODES
else
begin
Params[ParamsCount] := Copy(DECODES, 1, P - 1);
Delete(DECODES, 1, P);
end;
end;
end;
cmdhandle := Params[1];
if cmdhandle = '' then
begin
AContext.Connection.Disconnect;
Exit;
end;
if cmdhandle = 'Ping' then
begin
Connection.SendCommandWithParams('pong' + sep);
end;
end;
end.
what could be the problem with in the code ?
|
|
|
| Help with Let's Encrypt auto renewal |
|
Posted by: ioan - 06-18-2018, 05:48 PM - Forum: IntraWeb General Discussion
- Replies (9)
|
 |
I'm trying to see if I can configure "Let's Encrypt" to work with Intraweb. I'm pretty sure the certificates work fine, but I have problems with the auto renewal that has to run by itself in a scheduled task. I'm using win-acme: https://github.com/PKISharp/win-acme
When trying to obtain a certificate, you run a the following command:
Code: letsencrypt.exe --plugin manual --emailaddress my@email.com --manualhost www.somewebsite.com --webroot D:\myapp\wwwroot --test
After running the command, letsencrypt.exe creates a directory in d:\myapp\wwwroot, something like /.well-known/acme-challenge/ with a temporary file inside (aaabbbccc) that "let's encrypt" needs access to, for verification.
The problem I'm having is that after I run the letsencrypt.exe command, if I try to open
Code: http://www.somewebsite.com/.well-known/acme-challenge/aaabbbccc
it won't work, intraweb doesn't let me have (or at least I don't know to make it work) a path like that to access a static file.
What's the best way to do this?
Thanks.
|
|
|
| Access to secure url returning ssl error |
|
Posted by: cprmlao@hotmail.com - 06-16-2018, 01:52 PM - Forum: Indy
- Replies (3)
|
 |
I am using XE8.
My openssl dlls are in 1.0.2.13 version.
I have the next site with the documentation to get some currency exchange values:
https://api.promasters.net.br/cotacao/#documentacao
I am trying the next code, but I get an error:
Code: 'Error connecting with SSL.'#$D#$A'error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure'
if I put the next line into browser "http://api.promasters.net.br/cotacao/v1/valores" it returns the correct values.
How could I fix it?
My code:
Code: const ss='http://api.promasters.net.br/cotacao/v1/valores';
var
s: string;
lHTTP: TIdHTTP;
HandlerSock:TIdSSLIOHandlerSocketOpenSSL;
begin
lHTTP := TIdHTTP.Create(nil);
lHTTP.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0';
try
HandlerSock:=TIdSSLIOHandlerSocketOpenSSL.Create(lHTTP);
HandlerSock.SSLOptions.Method := sslvSSLv23;
HandlerSock.SSLOptions.SSLVersions := [sslvTLSv1_2, sslvTLSv1_1, sslvTLSv1];
lHTTP.IOHandler := HandlerSock;
lHTTP.HandleRedirects := True;
s := lHTTP.Get(ss);
ShowMessage(s);
finally
lHTTP.Free;
end;
end;
|
|
|
| IdAntiFreezeBase.pas(180): F2051 IdIOHandlerSocket different version |
|
Posted by: erwinmars - 06-15-2018, 06:14 PM - Forum: Indy
- Replies (6)
|
 |
I try to compile the Indy Demo programs. I used the the demo version.
I've installed Indy Version 10.6.2.5366, which was installed with Embarcadero RAD Studio 10.2.3. I try also the current SVN version which gets the same result.
Most of the demos could be compiled after correcting some wrong units and wrong property usage.
I stay and where not able to compile the IndyFTP project. I get always message:
[dcc32 Fataler Fehler] IdAntiFreezeBase.pas(180): F2051 Unit IdIOHandlerSocket wurde mit einer unterschiedlichen Version von IdGlobal.IdDisposeAndNil compiliert
(in English: [dcc32 Fatal error] IdAntiFreezeBase.pas (180): F2051 Unit IdIOHandlerSocket was compiled with a different version of IdGlobal.IdDisposeAndNil)
I've checked the timestamps of the *.pas and *.dcu files, but there where no changes after I've installed RAD 10.2.3.
Erwin
|
|
|
|