Article delegate-en/3089 of [1-5169] on the server localhost:119
  upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
Newsgroups: mail-lists.delegate-en

[DeleGate-En] Re: sockmux via ssltunnel - minor bug
09 Dec 2005 17:34:12 GMT (Yutaka Sato)
The DeleGate Project

Hi papa,

On 12/04/05(08:38) you Martin Papadopoulos <> wrote
in <_A3085@delegate-en.ML_>
 |i have been observing a minor bug when connecting to a sockmuxserver via
 |x: delegate -Phostx:88 SERVER=sockmux SERVER="telnet.....-P8023" PORT=8025
 |y: delegate SERVER=sockmux://hostx:88 SSLTUNNEL=ssltunnelhost:sslport 

I'm not sure what the SSLTUNNEL parameter for the DeleGate on hostx means,
but I imagine it might be like this:

                [hostx]       [ssltunnelhost]      [hosty]
                DeleGate <======= proxy <========= DeleGate
                    <<<<<<<<<<SockMux channel>>>>>>>>>>>
           ----> 8025 -------------------------------------> smtp://hostz
           ----> 8025 -------------------------------------> smtp://hostz

 |when connecting to port 8025 on hostx, the hosty attempts to do the
 |first connect to the smtp port via the ssltunnel ,
 |wich ofcourse is not correct since
 |the smtp-sockmuxed-port is not beyond the ssltunnel.
 |the error appears only while the session is initated at first.
 |it works out in the end , but there is no need to do this i guess :-)

We can't ignore the case where the destination server ("smtp://hostz" in
this case) needs to be relayed via a proxy (via the ssltunnelhost in this
case), for example where hosty has no direct IP route to any servers.
Thus you need to command your DeleGate to directly connect to destination
servers excluding hosty, like this:


or it can be like this:


But I noticed that the CONNECT parameter like above has not been applied
to each connection under SockMux.  So I'll fix it as the enclosed patch.  

Even without the patch, you can realize it with existing versions like
but this is not good because it invokes a process for each connection,
to interpret the application protocol, which is not necessary when you
only relays TCP without such interpretation.

  D G   Yutaka Sato <>
 ( - )  National Institute of Advanced Industrial Science and Technology
_<   >_ 1-1-4 Umezono, Tsukuba, Ibaraki, 305-8568 Japan
Do the more with the less -- B. Fuller

*** ../delegate9.0.5/src/sox.c	Mon Dec  5 02:21:37 2005
--- src/sox.c	Sat Dec 10 02:15:47 2005
*** 1358,1363 ****
--- 1358,1366 ----
  		*pidp = pid;
+ 		void initConnect(DGC*ctx);
+ 		initConnect(ctx);
  		/* this connect should be in non-blocking */
  		clsock = VSocket(ctx,"CNCT/SOX",-1,AVStr(local),AVStr(serv),"self");

  admin search upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]