Hi, On 10/06/05(05:44) you Martin Papadopoulos <payeabdyi-fuwsmpldkstw.ml@delegate.org> wrote in <_A3063@delegate-en.ML_> |since delegate version 9.0.5 using delegate as master with sslway for |encryption , the client side cannot establish |a connection. the master delegate says ssl_acc() failed. Befor Version |9.0 sslway encryption to a master delegate just worked fine. |i have replicated this problem on linux as well as on windows. I see. The problem was introduced at 9.0.1 where SSLway became a built-in filter program with dynamic-loading/linking. You can escape the problem by specifying the external SSLway prgram as FCL="/path/of/sslway ...", or applying the enclosed patch to perform the same treatment for MASTER/SSL in built-in filters as well as in external filters. Cheers, Yutaka -- D G Yutaka Sato <pfqcabdyi-fuwsmpldkstw.ml@delegate.org> http://delegate.org/y.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-pre7/src/filter.c Sun Aug 28 16:27:52 2005 --- src/filter.c Tue Oct 11 19:00:42 2005 *************** *** 1334,1390 **** in1 = out1 = NULL; bi = streq(what,"FCL")||streq(what,"FSV")||streq(what,"FMD"); if( bi && *filter == '-' ){ in1 = fdopen(ofd,"r"); out1 = fdopen(ifd,"w"); } if( env = getenv("CFI_SYNC") ){ sscanf(env,"%d/%d",&CFI_SYNC[1],&CFI_SYNC[0]); } if( 0 < CFI_SYNC[0] || 0 < CFI_SYNC[1] ){ close(CFI_SYNC[0]); write(CFI_SYNC[1],"S",1); } - if( 0 <= builtin_filter(what,filter,in,out,in1,out1) ){ - fflush(out); - if( out1 ) fflush(out1); - Finish(0); - } /* DeleGate's "MASTER" protocol header must not be passed to the * FCL or FFROMCL filter of this delegated if the client delegated have * FTOMD or FMD filter which is not passed such header also. * That is, a pair of FCL/FFROMCL and FMD/FTOMD must communicate * transparently. */ if( DFLT_PROTO[0] == 0 && ready_cc(in) <= 0 ) if( streq(what,"FCL") || streq(what,"FFROMCL") ){ int li,rcc; CStr(line,1024); rcc = recvPeek1(ifd,line,32); if( isHelloRequest(line) ){ sv1log("#%s: don't pass DeleGate-HELLO to the filter\n", what); for( li = 0; ; li++ ){ rcc = RecvLine(ifd,line,sizeof(line)); if( rcc <= 0 ) break; Verbose("#%s: %s",what,line); write(ofd,line,rcc); if( line[0] == '\r' || line[0] == '\n' ) break; } } } if( isCFI(filter) ){ CStr(conninfo,2048); sv1log("#### execFilter[%s] CFI\n",what); make_conninfo(Conn,AVStr(conninfo)); addConnEnviron(Conn); close_all(ifd,ofd,curLogFd()); dup2(curLogFd(),2); cfi(isresp,in,out,conninfo,filter); Finish(0); --- 1334,1390 ---- in1 = out1 = NULL; bi = streq(what,"FCL")||streq(what,"FSV")||streq(what,"FMD"); if( bi && *filter == '-' ){ in1 = fdopen(ofd,"r"); out1 = fdopen(ifd,"w"); } if( env = getenv("CFI_SYNC") ){ sscanf(env,"%d/%d",&CFI_SYNC[1],&CFI_SYNC[0]); } if( 0 < CFI_SYNC[0] || 0 < CFI_SYNC[1] ){ close(CFI_SYNC[0]); write(CFI_SYNC[1],"S",1); } /* DeleGate's "MASTER" protocol header must not be passed to the * FCL or FFROMCL filter of this delegated if the client delegated have * FTOMD or FMD filter which is not passed such header also. * That is, a pair of FCL/FFROMCL and FMD/FTOMD must communicate * transparently. */ if( DFLT_PROTO[0] == 0 && ready_cc(in) <= 0 ) if( streq(what,"FCL") || streq(what,"FFROMCL") ){ int li,rcc; CStr(line,1024); rcc = recvPeek1(ifd,line,32); if( isHelloRequest(line) ){ sv1log("#%s: don't pass DeleGate-HELLO to the filter\n", what); for( li = 0; ; li++ ){ rcc = RecvLine(ifd,line,sizeof(line)); if( rcc <= 0 ) break; Verbose("#%s: %s",what,line); write(ofd,line,rcc); if( line[0] == '\r' || line[0] == '\n' ) break; } } + } + if( 0 <= builtin_filter(what,filter,in,out,in1,out1) ){ + fflush(out); + if( out1 ) fflush(out1); + Finish(0); } if( isCFI(filter) ){ CStr(conninfo,2048); sv1log("#### execFilter[%s] CFI\n",what); make_conninfo(Conn,AVStr(conninfo)); addConnEnviron(Conn); close_all(ifd,ofd,curLogFd()); dup2(curLogFd(),2); cfi(isresp,in,out,conninfo,filter); Finish(0);