This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

No!Spam 1.7.2 leaf help

Old posts that have not been replied to for several years.
Locked
I
Illidan
Voice
Posts: 27
Joined: Sat Oct 26, 2002 1:49 am

No!Spam 1.7.2 leaf help

Post by Illidan »

Hi,

Recently I notice that my bot keep displaying this

TCL error [hs_handler]: unmatched open brace in list

There's absolutely nothing wrong with the leaf.tcl file but I just don't understand why it keep displaying it in my dcc with the bot.

Thanks
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

THis occurs when an incorect verion of no.spam.tcl and no.spam.leaf.tcl are being used.

IE, the script versions are mixed, or old. In you case, it could be mixed.

The first thing you should do, is issue a ".restart". This will clear all the loaded scripts in memory, this, make sure any issues are removed from past installs (in theory).

The only time anything is called int he leaf script, is when a spam message is seen. This makes locating what causes thsi a little simpler.

First, when you see this message in the partyline of the leaf, some form of spam was sent to a channel, this we know. You should make an exact note of the channel, type of spam attack, the full text that caused it and the mask used to detect the spam (EG *join*#*).

Let this happen at least twice, and reply with the information above, I will then look into helping some more.

Please do help by doing the above, as I hope to release a new version soon, and I would rather be rid of this bug
I
Illidan
Voice
Posts: 27
Joined: Sat Oct 26, 2002 1:49 am

Post by Illidan »

ppslim,

This error occurs when my bot detected this

[18:24] Refused DCC SEND: D3v1L^BO|!DeViLs@uu.net
[19:30] CTCP SEND: c:\netol.scr 3399242123 2716 49816 from D3v1L^BO| (DeViLs@uu.net)

and send a msg to my leaf bot to have him ban it will display
Tcl error [hs_handler]: unmatched open brace in list

but when my bot detected the

-^_^DaNieL (~mi_too@uu.net)- DCC Send LOVE-LETTER-FOR-YOU.HTM
Refused DCC SEND: ^_^DaNieL!~mi_too@uu.net
CTCP SEND: LOVE-LETTER-FOR-YOU.HTM 3413975787 1560 16122 from ^_^DaNieL (~mi_too@uu.net)

[no!spam(Uruk-Hai)] 10/30/02 07:50:20 PM: ^_^DaNieL!~mi_too@uu.net was sending: love-letter-for-you.htm to people in: #test

-------------

Is it because of the "|" in the nickname which causing the problem?
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

Possibly.

Just to clarify.

Everything worked fine when the nick didn't have a| in (in your examples)?

This does allways mean this is the problem. If the filenames where the same, but the nick different, I would say yes. But due to the large differance in the filenames, I can't tell.

I will be using these as tests though.

I was due to start testing some issues last week, but this has been set back, due to a glibc bug, causing mayhem on my linux machine. I would roll back, but I didn't enable this option until after the nasty updates. I would re-install, but then I lose a lot of work (2.5GB, which can't be uploaded easily) which I can't backup for at least 2 months.
I
Illidan
Voice
Posts: 27
Joined: Sat Oct 26, 2002 1:49 am

Post by Illidan »

ppslim,

I have confirmed that the problem is not the nickname problem. I'll be trying the filename instead

Cause this error was c:\netsol.scr and previously the bot was able to ban without an error when filename was like c:netsol.scr or netsol.scr and when it is like c:\netsol.scr there's an error.

An example is like
_Squa||_!~dennis17@uu.net was sending: c:windowsfable.pif to people in: #test

or

lancer-82!ber@uu.net was sending: a-picture-of-me.jpg.vbs to people in: #test
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

I have located the problem, though, I would have to do a lot of test work, the following should fix it.

It is all to do, with the ability to send multiple word arguments from one script to another. This is done using lists. However, when obtaining the last arguement of the passed text, it will not obtain it correctly, if it contains a : character, the way filenames can do.

This is not normaly an issue, as the script will simply break in what is logged, by displaying only the drive letter (IE c). But in windows, directories are navigated using the \ character, which is special in *nix (an escape character). This seems to break the script.

In no.spam.leaf.tcl, you should locate line number 79 (starting hs_handler)

Using a editor, that will save unix files correctly, and does not do line wraps (vi in linux), change the end of the line as follows.

Code: Select all

[lindex $rest 1]
Should become

Code: Select all

[join [lrange $rest 1 end] :]
After looking at the code, I can see it needs a major re-write, as it doesn't pass things as it should (though I could be wrong, I aint touched it for 9 months).
I
Illidan
Voice
Posts: 27
Joined: Sat Oct 26, 2002 1:49 am

Post by Illidan »

ppslim,

In no.spam.leaf.tcl there's no line that state [lindex $rest 1] . Are you referring to this instead?

hs_handle $from [lindex $arg 0] [lindex $arg 1] [lindex $arg 2] [lindex $arg 3] [lindex $arg 4] [lindex $arg 5] [lindex $arg 6] [lindex $arg 7] [lindex $arg 8] [lindex $arg 9] [lindex $arg 10] [lindex $arg 11]

change it to

hs_handle $from [lindex $arg 0] [join [lrange $arg 1 end] :] [lindex $arg 2] [lindex $arg 3] [lindex $arg 4] [lindex $arg 5] [lindex $arg 6] [lindex $arg 7] [lindex $arg 8] [lindex $arg 9] [lindex $arg 10] [lindex $arg 11]
p
ppslim
Revered One
Posts: 3914
Joined: Sun Sep 23, 2001 8:00 pm
Location: Liverpool, England

Post by ppslim »

It seems, a lot of my looking, had been on an outdated copy, but how it get where it did, I don't know.

Try the following change

edit no.spam.tcl and locate line number 609

change the end of this line from

Code: Select all

"$rsn" "$data"]"}
to

Code: Select all

"$rsn" [list $data]]"}
I hadn't got a clue if this will help, because I plain don't have the time to try and fully debug the situation.
I
Illidan
Voice
Posts: 27
Joined: Sat Oct 26, 2002 1:49 am

Post by Illidan »

ppslim,

I will try it and do some testing tomorrow when I wake up. Will keep you updated soon.

Thanks
Locked