[Vortex] PATCH: Enhanced vortex_connection_new; better error checking

Francis Brosnan Blazquez francis at aspl.es
Mon Mar 31 09:48:36 CEST 2008

Hi Jens,

> This patch (against SVN r3338) does two things:
> (1) Adds a new API call vortex_connection_new2. This takes an  
> additional parameter "localPort", which allows the local TCP port  
> number to be specified. (Most of the time you don't care what local  
> port number is used when making a TCP connection; but there are  
> circumstances where you do, mostly having to do with techniques to  
> traverse NATs*. Which is why my app needed it. Others might need it  
> too, because it's a common requirement for P2P software, and BEEP is
> a  
> very good protocol to use for P2P.)

This is really interesting. In the past I have the opportunity to review
the document but no real time to check its applications. 

I have two questions about this issue, with the main intention to
include the patch in the vortex distribution:

1) How are you using this technique in conjunction with Vortex. If I
don't missing something, hole-punching would help a remote party to
connect to a TCP initiator assuming the initiator binds to a local known
TCP port which is published by some means (easy in BEEP)..

..but would this is already supported by BEEP/Vortex, don't you think? I
mean, assuming you receive a BEEP session either in the relay server or
directly, you can easily open a channel to begin data transfer.. let me
know what I missing?

2) The other question that arises with hole-punching is that a *real*
firewall, that is some serious firewall implemented with iptables or
other commercial product that implement connection tracking would easily
block this kind of traffic. 

Obviously you are using this so I would like to ask you which is the
kind of environment you are using (nat firewalls etc) where your tests
runs proplery, etc...

I would like to avoid including some vortex extension that is not
general enough or it only works for a few limited cases.

Let me know your thoughts,

Francis Brosnan Blazquez <francis at aspl.es>
Advanced Software Production Line, S.L.

More information about the Vortex mailing list