mIRC Homepage

DCC GET bug

Posted By: UTAKER

DCC GET bug - 07/03/04 11:55 AM

Seems very strange, but lets say I am downloading files by dcc, one by one, one file gets completed and then the other file is sent to me quickly after that and so on and on.
Every second file will be "timed out" or given the error "unable to connect" in a very repeating manner (dcc 1 ok, dcc 2 bad, dcc 3 ok, dcc 4 bad and so on).
The previous version 6.12 did not have that problem.
Buggy mIRCŪ v6.14

OS Name Microsoft Windows XP Professional
Version 5.1.2600 Service Pack 1 Build 2600
OS Manufacturer Microsoft Corporation
System Type X86-based PC
Processor x86 Family 6 Model 8 Stepping 10 GenuineIntel ~902 Mhz
BIOS Version/Date Award Software, Inc. ASUS CUPLE-VM ACPI BIOS Revision 1004, 17/06/2002
SMBIOS Version 2.3
Windows Directory C:\WINNT
System Directory C:\WINNT\System32
Boot Device \Device\HarddiskVolume1
Locale United Kingdom
Hardware Abstraction Layer Version = "5.1.2600.1106 (xpsp1.020828-1920)"
Total Physical Memory 256.00 MB
Available Physical Memory 86.62 MB
Total Virtual Memory 854.89 MB
Available Virtual Memory 422.21 MB
Page File Space 607.36 MB
Page File C:\pagefile.sys
Posted By: root66

Re: DCC GET bug - 08/03/04 05:45 PM

I have noticed the problem and took the liberty of pinpointing the cause. It seems that when you are sent a dcc send or chat request from the same ip on the same port 2 times in a row, it fails. If you give it a minute, it will actually work 2 times in a row, but for some reason not one right after the other.

A lot of people won't notice it right away because most senders use different ports each time, but not all! many of us are behind routers and dedicated certain ports for dcc.

Here is a way to test the bug.

Code:
sendchat { .raw privmsg $$1 $+(:,$chr(1),DCC CHAT CHAT $longip($ip) $$2,$chr(1)) }


try //sendchat $me 12345 several times and see it fail.
then try changing ports each time and doing it over and over. It works. weird.

Posted By: root66

Re: DCC GET bug - 09/03/04 01:25 AM

my code didnt have enough for the test to work properly.. This should do the trick.

Code:
alias sendchat { socklisten testchat1 $$2 | .raw privmsg $1 $+(:,$chr(1),DCC CHAT CHAT $longip($ip) $2,$chr(1)) }
on *:socklisten:testchat1:sockaccept testchat2 | sockwrite -n testchat2 success! | sockclose testchat*
Posted By: bykte

Re: DCC GET bug - 09/03/04 08:02 AM

hi, i put the code
Code:
alias sendchat { socklisten testchat1 $$2 | .raw privmsg $1 $+(:,$chr(1),DCC CHAT CHAT $longip($ip) $2,$chr(1)) }on *:socklisten:testchat1:sockaccept testchat2 | sockwrite -n testchat2 success! | sockclose testchat*  
under the aliases. then i try //sendchat $me 1024 & //sendchat $me 1025 & //sendchat $me 1026. It didnt worked. At least i did receive the DCC chat dialog prompt. But refused to connect. Then i tried again, this error appear "* /sockwrite: 'testchat2' no such socket (line 14, aliases.ini)" & "/socklisten: 'testchat1' socket in use (line 13, aliases.ini)"
Posted By: myndzi

Re: DCC GET bug - 16/03/04 11:48 AM

This is probably a function of the new DCC Send behavior. mIRC apparently grabs the first available port in the DCC range instead of a random one, so it's much more likely to choose the same port twice in a row. Having the sender check the 'random ports' option would help fix this issue.
Posted By: UTAKER

Re: DCC GET bug - 17/03/04 07:24 PM

Yes it might fix the problem but theoratically that random port can be that same port in rare ocassions too. Therefore, it would be nice that the upcoming mIRC released has a total reworked DCC coding. (close to being error free)
Posted By: InDe

Re: DCC GET bug - 24/03/04 01:02 PM

mirc 6.14 I`m behind router and I have one open (NAT) port, which I set in first and last dcc port. But now DCC GET uses that port too, and I can`t use DCC SEND when GET is used. Only if there is more than 1 dcc GET, then GET uses other ports too. but as first port it uses my only open port. in previous version ther wasn`t problem like that.
I there any solution how restrict GET use this port or how force SEND use other port in comandline? By now I see only way to use mirc 6.12 not 6.14 untill bug will be fixed frown

Thanks
© 2020 mIRC Discussion Forums