Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 96,809
» Latest member: u888kim1
» Forum threads: 2,426
» Forum posts: 11,370

Full Statistics

Online Users
There are currently 879 online users.
» 7 Member(s) | 869 Guest(s)
Applebot, Bing, Google, 8xbetvibcom, du88app1comvn, rikvipaacom1, therighthiring, u888kim1, xoilactructien1, Xoso666tech

Latest Threads
WebApplication.IP change ...
Forum: IntraWeb General Discussion
Last Post: alex.trejo@tttnet.com.mx
8 hours ago
» Replies: 0
» Views: 32
Hook/callback to handle t...
Forum: IntraWeb General Discussion
Last Post: Lenfors
Yesterday, 09:03 AM
» Replies: 0
» Views: 33
Reproducible IIS crash in...
Forum: IntraWeb General Discussion
Last Post: alex.trejo@tttnet.com.mx
Yesterday, 01:48 AM
» Replies: 0
» Views: 49
The packages IW16.xx inc...
Forum: IntraWeb General Discussion
Last Post: hsbelli
09-03-2026, 11:46 AM
» Replies: 2
» Views: 313
Redirection issues with F...
Forum: IntraWeb General Discussion
Last Post: magosk
08-31-2026, 10:03 AM
» Replies: 0
» Views: 157
Source Code
Forum: IntraWeb General Discussion
Last Post: magosk
08-31-2026, 08:11 AM
» Replies: 3
» Views: 498
TContenthandler requires ...
Forum: IntraWeb General Discussion
Last Post: valmeras
08-30-2026, 02:35 AM
» Replies: 0
» Views: 150
TIWjQDBGrid erratic behav...
Forum: IntraWeb General Discussion
Last Post: alex.trejo@tttnet.com.mx
08-20-2026, 05:12 PM
» Replies: 8
» Views: 2,013
Change Language DataTable
Forum: IntraWeb General Discussion
Last Post: Rigoberto Mercedes
08-19-2026, 03:21 PM
» Replies: 1
» Views: 278
How to terminate HTTP Thr...
Forum: Indy
Last Post: rlebeau
08-14-2026, 08:01 AM
» Replies: 5
» Views: 831

 
  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.

Print this item

  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.

Print this item

  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 ?

Print this item

Information IntraWeb 15.0.6 update is available
Posted by: Alexandre Machado - 06-19-2018, 09:52 AM - Forum: IntraWeb General Discussion - No Replies

Hi guys,

new maintenance update is available for IntraWeb 15:

https://www.atozed.com/2018/06/15-0-6/

Version history here: https://www.atozed.com/2018/06/15-0-6-h/

enjoy!  Smile

Print this item

  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.

Print this item

  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;

Print this item

  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

Print this item

  Question: New IW-15 feature Http.sys Deployment
Posted by: jorgo2018 - 06-15-2018, 02:05 PM - Forum: IntraWeb General Discussion - Replies (5)

Hallo,

we have some IntraWeb SA applications.
Is it possible with IW-15 to run multiple apps on one port?

Can I address them like:

1.) localhost:8888/app1
2.) localhost:8888/app2

Or how do I understand that?

Best regards

Print this item

  TIWHRule
Posted by: JuergenS - 06-15-2018, 08:43 AM - Forum: IntraWeb General Discussion - No Replies

Hello.

i'm using IW 15.0.5 with C++Builder 10.2.

I want to create a thin horizontal ruler with TIWHRule, but the property Height=1 doesn't decrease the height, even if i set RenderBorder=false;
The default value Height=3 an greater values will be displayed acurate.

Best Regards
Juergen

Print this item

  TabOrder
Posted by: cyracks - 06-14-2018, 11:19 AM - Forum: IntraWeb General Discussion - Replies (4)

Hello,

I have some problems with the order of components shown in the browser. As I understand property IWComponent.TabOrder is responsible for order of component regarding parent component. So if form consists of Region which is a parent to GridPanel and Label (both align = alTop) and if Label.TabOrder is 0, GridPanel.taborder is 1 that means Label should be set above the Button.

[Image: HpPQCVb.png]
LabelBoxWorkDept.TabOrder = 0
MGridPanelWorkDep.TabOrder = 1 (grid panel holds 2 buttons)

But when form is rendered components are in reverse order (GridPanel above Label)
[Image: HpQoW1L.png]


I should also mention that components are added to main form from another form by code (in main form on create event), but component names are not duplicated.

Code:
    FormSub := TFormSub.Create(WebApplication);
    FormSub.Region02WorkDeparture.Parent := MRegionMenuHolder;

What needs to be done so that components will be rendered in the same order as is defined by property TabOrder ?

Regards,
Tomaž

Print this item