🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: borland.public.cppbuilder.internet.socket
11 messages
11 total messages Started by Pawel Salawa Wed, 17 Aug 2005 06:42
Installing Indy9 dev snapshot
#3668
Author: Pawel Salawa
Date: Wed, 17 Aug 2005 06:42
13 lines
1208 bytes
I've downloaded Indy 9 development snapshot and
tried to install it (under bcb6) just like indy9 before, but while
running
fullc6.bat I get:

IdPOP3.pas(82) Error: Property 'HasAPOP' does not exist in base class
IdPOP3.pas(319)
Indy60.dpk(197) Fatal: Could not compile used unit 'IdPOP3.pas'

How to fix it?

--
Googie 
Re: Installing Indy9 dev snapshot
#3669
Author: Remy Lebeau (TeamB)
Date: Wed, 17 Aug 2005 08:38
11 lines
1172 bytes
"Pawel Salawa" <no@spam.org> wrote in message
news:4302dc69@newsgroups.borland.com...

> IdPOP3.pas(82) Error: Property 'HasAPOP' does not exist in base class

You did not download the absolute latest snapshot.  That error was already
fixed several days ago.


Gambit
Re: Installing Indy9 dev snapshot
#3671
Author: Pawel Salawa
Date: Wed, 17 Aug 2005 12:48
10 lines
1332 bytes
> You did not download the absolute latest snapshot.  That error was already
> fixed several days ago.

I've installed current version (17 Aug '05) successfly, but my problem still
exists, same as in stable 9.0.18: For some e-mails TIdPOP3 crashes (access
violation). Shell I past raw data from exmaple mail on some site?

--
Greetings!
Googie
Re: Installing Indy9 dev snapshot
#3674
Author: Remy Lebeau (TeamB)
Date: Wed, 17 Aug 2005 18:01
16 lines
1418 bytes
"Pawel Salawa" <no@spam.org> wrote in message
news:43033215@newsgroups.borland.com...

> I've installed current version (17 Aug '05) successfly, but my
> problem still exists

Which problem is that exactly?

> same as in stable 9.0.18: For some e-mails TIdPOP3 crashes
> (access violation).

You need to provide more details.  Your description is much too vague.


Gambit
Re: Installing Indy9 dev snapshot
#3675
Author: Pawel Salawa
Date: Thu, 18 Aug 2005 07:12
12 lines
1488 bytes
> You need to provide more details.  Your description is much too vague.

Indy crashes exactly while calling (on some kind of e-mails) 
POP3->Retrieve(); or POP3->RetrieveHeader(); but is does not occure while 
calling POP3->RetreiveRaw();

Example of raw data (received by POP3->RetrieveRaw()) can be found here: 
http://rafb.net/paste/results/zkvjcb60.html

--
Greetings!
Googie 
Re: Installing Indy9 dev snapshot
#3526
Author: Remy Lebeau (TeamB)
Date: Thu, 18 Aug 2005 08:57
14 lines
1580 bytes
"Pawel Salawa" <no@spam.org> wrote in message
news:430434cb$1@newsgroups.borland.com...

> Example of raw data (received by POP3->RetrieveRaw()) can be found here:
> http://rafb.net/paste/results/zkvjcb60.html

The crash is occuring while the Subject of the message is being decoded.
Specifically, there appears to be a logic bug in the PosIdx() function of
the IdGlobal unit that the DecodeHeader() function of the IdCoderHeader unit
is tripping on for this particular example.  This will need to be fixed.


Gambit
Re: Installing Indy9 dev snapshot
#3527
Author: Remy Lebeau (TeamB)
Date: Thu, 18 Aug 2005 09:04
25 lines
1850 bytes
"Remy Lebeau (TeamB)" <no.spam@no.spam.com> wrote in message
news:43044e0f$1@newsgroups.borland.com...

> The crash is occuring while the Subject of the message is being decoded.
> Specifically, there appears to be a logic bug in the PosIdx() function of
> the IdGlobal unit that the DecodeHeader() function of the IdCoderHeader
unit
> is tripping on for this particular example.  This will need to be fixed.

As a temporary fix, you can edit the PosIdx() function of IdGlobal.pas to
change this line:

    if (LenSubStr = 0) or (LenSubStr > LenS) or (AStartPos > LenS) then
begin

To this instead:

    if (LenSubStr = 0) or (LenSubStr > LenS) or ((AStartPos+LenSubStr-1) >
LenS) then begin

Then recompile Indy with the change.


Gambit
Re: Installing Indy9 dev snapshot
#3528
Author: Pawel Salawa
Date: Thu, 18 Aug 2005 14:54
10 lines
1393 bytes
> As a temporary fix, you can edit the PosIdx() function of IdGlobal.pas to
> change this line:
[...]
> Then recompile Indy with the change.

It doesn't help :/ It acts just like before. Any other hints?

--
Greetings!
Googie 
Re: Installing Indy9 dev snapshot
#3529
Author: Remy Lebeau (TeamB)
Date: Thu, 18 Aug 2005 16:44
12 lines
1391 bytes
"Pawel Salawa" <no@spam.org> wrote in message
news:4304a132@newsgroups.borland.com...

> It doesn't help :/

It worked fine for me when I made the change in my Indy 9 install for BCB6.
Your test message decoded fine now without any error.  You must not have
made the change correctly in your install.


Gambit
Re: Installing Indy9 dev snapshot
#3530
Author: Pawel Salawa
Date: Fri, 19 Aug 2005 06:44
67 lines
2825 bytes
> You must not have
> made the change correctly in your install.

I've changed the function to looks like:

Function  PosIdx (const ASubStr,AStr: AnsiString; AStartPos: Cardinal): 
Cardinal;
var
  lpSubStr,lpS: PChar;
  LenSubStr,LenS: Cardinal;
  LChar: Char;
Begin
  Result := 0; //not found

  LenSubStr := Length(ASubStr);
  LenS := Length(AStr);

//  if (LenSubStr = 0) or (LenSubStr > LenS) or (AStartPos > LenS) then 
begin
  if (LenSubStr = 0) or (LenSubStr > LenS) or ((AStartPos+LenSubStr-1) > 
LenS) then begin
    Exit;
  end;//if

  lpSubStr := Pointer(ASubStr);
  lpS := Pointer(AStr);

  if AStartPos > 1 then begin
    Inc(lpS, AStartPos - 1);
    Dec(LenS, AStartPos - 1);
  end;//if
  if LenS <= 0 then begin
    Exit;
  end;

  LChar := lpSubStr[0]; //first char
  Inc(lpSubStr); //next char
  Dec(LenSubStr); //len w/o first char

  Dec(LenS, LenSubStr); //Length(S)-Length(SubStr) +1(!) MUST BE >0
  if LenS <= 0 then begin
    Exit;
  end;//if

  // RLebeau - shouldn't this code use StrPos() instead?

  while LenS > 0 do begin
    if lpS^ = LChar then begin
      Inc(lpS);
      if CompareMem(lpS, lpSubStr, LenSubStr) then begin
        Result := lpS-Pointer(AStr); //+1 already here
        Exit;
      end;
    end else begin
      Inc(lpS);
    end;
    Dec(LenS);
  end;//while
End;//PosIdx

Then I've uninstalled Indy from borland (just to be sure), closed BCB, 
deleted whole indy\C6 directory and executed fullc6.bat to recreate and 
recompile indy for bcb6. Everything has compiled, so I started BCB and 
installed new Indy. Is there anything else I should do?

--
Googie 
Re: Installing Indy9 dev snapshot
#3531
Author: Remy Lebeau (TeamB)
Date: Fri, 19 Aug 2005 07:19
14 lines
1777 bytes
"Pawel Salawa" <no@spam.org> wrote in message
news:43057fae$1@newsgroups.borland.com...

> Then I've uninstalled Indy from borland (just to be sure), closed BCB,
> deleted whole indy\C6 directory and executed fullc6.bat to recreate and
> recompile indy for bcb6. Everything has compiled, so I started BCB and
> installed new Indy. Is there anything else I should do?

No.  That is what I did, and everything worked fine for me.  The message in
question does not crash TIdMessage anymore when I try it.


Gambit
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads