mIRC Home    About    Download    Register    News    Help

Print Thread
#23998 13/05/03 07:29 PM
Joined: Jan 2003
Posts: 154
B
BoredNL Offline OP
Vogon poet
OP Offline
Vogon poet
B
Joined: Jan 2003
Posts: 154
Why is it that when someone is behind a firewall, I can send them a file, but they can't send me a file? (I am behind a router but I am the DMZ host, so everything passes directly to me, it is as though I'm not even behind a router, so don't tell me that the router is the problem, and yes, I do have my mIRC configured to use my real ip, not my LAN ip)

It shows that the person and I can connect to each other since I can send them the file, but why can't they send me a file? Couldn't it just initiate the connection in the same way it would if I were to be attempting to send the file, then go ahead and transfer from the other person's end to my machine?

And, correct me if I'm wrong, but, shouldn't it be the other way around as well? Why is it that I can send to someone who is behind a firewall, but they can't send to me? That seems very backwards to me.. :\


- Wherever you go there you are.[color:lightgreen]
#23999 13/05/03 07:35 PM
Joined: Dec 2002
Posts: 2,809
C
Hoopy frood
Offline
Hoopy frood
C
Joined: Dec 2002
Posts: 2,809
Umm, this is the feature suggestion forum, not the bug report forum/help forum. Also, why is it necessary that you post 4-5 different posts one right after the other, you know, you could combine them. In any case, I'm behind a firewall on a LAN and DCC works perfectly for me, so it means you're doing something wrong, not mIRC.

#24000 13/05/03 09:02 PM
Joined: Jan 2003
Posts: 154
B
BoredNL Offline OP
Vogon poet
OP Offline
Vogon poet
B
Joined: Jan 2003
Posts: 154
Another suggestion: Simplistic direct connect alongside the more complex way of connecting using the "socks" commands.

It'd work similarly to a DCC connection, except there'd be no window to view the text, a port could be set to connect on, it listens on a certain port or ports and there could be modifiers set to do things on connect, failed connect, and disconnect.

example set of all parts of this:
Code:
 
/clisten 0.0.0.0 port -f <command> -c <command> -d <command>
/connect 1.1.1.1 port -f <command> -c <command> -d <command>
/cmsg 1.1.1.1 port
on cmsg:0.0.0.0 port:*text*:{ commands }
$caddress <--  for use in "on cmsg"

Here 0.0.0.0 corresponds with the true ip of the computer, so that it binds to that ip (instead of the computer's LAN ip, if it has one). 1.1.1.1 corresponds to the ip of the computer the script is connecting or connected to.

The command after the modifier gets set off when the connection fails (-f), connects (-c), or disconnects (-d).

example of a script created with this:

Code:
on 1:start:{ /clisten $ip 7070 }
alias linkup { /connect $$1 7070 -c /cmsg $1 pass $2 -f echo -a Linkup to $1 failed! -d echo Disconnected from linkup! }
on cmsg:$ip:7070:pass 1234:{ /dosomething }
alias dosomething { blah blah blah }


get the drift? It'd be something very easy to script, not complex at all (unlike the gaggle of 'socks' commands *shudders*).

Now, I know I'm going to get the reply "just use the socks commands..", so I'll say this now: I'm suggesting this as an addition for people who don't want to bother with the socks commands, and don't want to use DCC connections for their script (as that gets messy. It's very ugly and the port that it connects on can't be set specifically).


- Wherever you go there you are.[color:lightgreen]
#24001 13/05/03 09:11 PM
Joined: Jan 2003
Posts: 154
B
BoredNL Offline OP
Vogon poet
OP Offline
Vogon poet
B
Joined: Jan 2003
Posts: 154
You obviously didn't get what I was saying.. It's not a bug, it's the way mIRC DCC connects. My suggestion is to make it try to connect "both ways" (whichever ways those ways are), because one of the ways connects, the other doesn't. If It tried connecting both ways, then it is logically safe to assume that It would always connect, at which point it could then start the transfer.

It's the way the network works dude, it's not a bug in mIRC.. A lot of people connect to mIRC while at work, and most of those people are behind a firewall and they cannot forward the information coming in on the DCC ports to their machine. The connection can be initiated, however, it just has to work in reverse to connect. Get what I'm sayin?


- Wherever you go there you are.[color:lightgreen]
#24002 13/05/03 09:48 PM
Joined: Dec 2002
Posts: 2,809
C
Hoopy frood
Offline
Hoopy frood
C
Joined: Dec 2002
Posts: 2,809
So you're asking mIRC to rewrite a standard? That would then mean that mIRC would not be able to DCC with any non-mIRC clients.

#24003 14/05/03 07:36 AM
Joined: Mar 2003
Posts: 20
E
Ameglian cow
Offline
Ameglian cow
E
Joined: Mar 2003
Posts: 20
codemastr: type /help DCC Socks5 Protocol
you'll notice that when mirc using socks5 protocol
it use mIRC's, modified, DCC handshake protocol
so why not just use direct connection but mark as "behind firewall", just let client connect the other which not behind firewall
a script already done it, u many seach for it
it would be nice it mIRC internal support this mark as an option
because scirpting dcc is a CPU eater

and remote bind on socks5 should be also supported for DCC

#24004 15/05/03 08:16 AM
Joined: May 2003
Posts: 22
A
Ameglian cow
Offline
Ameglian cow
A
Joined: May 2003
Posts: 22
Quote:
And, correct me if I'm wrong, but, shouldn't it be the other way around as well? Why is it that I can send to someone who is behind a firewall, but they can't send to me? That seems very backwards to me.. :\


As the others are rambeling about the other stuff I take this one smile
-----

DCC might seem backwards... but it's logic...

If UserA wants to send something to UserB, he/she then types the /dcc send UserB FILENAME command.

This in turns starts to listen to a random port (you can specify the range of this) ... and sends a CTCP to UserB, the CTCP goes through the IRC server just like normal messages/notice ..

The CTCP looks something like this:
dcc send 40.72_win9x.exe 3654426342 4944 12528219

The first set of numbers being the IP (in long/sort format, don't really know which if which ... check $longup)
The second set of numbers is the port
The Third set of numbers is the filesize in byte

UserB (the one that gets the file from UserA) now has a choice to either connect to the IP PORT and begin saving the file ... or dismiss the whole thing

---
Code:
 
UserA                                     UserB
------------------------------------------------------------
Listen to port
Send CTCP        -----> IRC ----->        Read CTCP
Accept Con.      <---- DIRECT <---        Connect to IP/PORT
Send File        ----> DIRECT --->        Save File
 


-----


--------------------------------------------------
I really don't know anything.... I just fake it
#24005 16/05/03 04:06 AM
Joined: Feb 2003
Posts: 2,812
Hoopy frood
Offline
Hoopy frood
Joined: Feb 2003
Posts: 2,812
aarrgghh: I like your diagram. Would you mind also drawing one up that explains Resume and Pasv Sends?


Well. At least I won lunch.
Good philosophy, see good in bad, I like!
#24006 18/05/03 02:40 PM
Joined: Jan 2003
Posts: 154
B
BoredNL Offline OP
Vogon poet
OP Offline
Vogon poet
B
Joined: Jan 2003
Posts: 154
Thanks smile

Finally, someone who is actually trying to be helpful, not arguementative..


- Wherever you go there you are.[color:lightgreen]
#24007 18/05/03 03:57 PM
Joined: Jan 2003
Posts: 154
B
BoredNL Offline OP
Vogon poet
OP Offline
Vogon poet
B
Joined: Jan 2003
Posts: 154
codemastr:

Ok, first off, it'd be pretty easy to make this way of DCC connecting backwards compatible for compatibility with other IRC clients..

Secondy, don't roughly 63% of all users on IRC use mIRC?

Thirdly, how hard would this really be to impliment anyways? I don't see why it'd be very hard at all, but the benefits would be great.

A suggestion to you: You really shouldn't be so cynical.. Jeez man, chill?


- Wherever you go there you are.[color:lightgreen]

Link Copied to Clipboard