develooper Front page | perl.perl5.porters | Postings from April 2001

Re: [ID 20010303.009] SOCKS5 work around breaks other sockets

Thread Previous | Thread Next
From:
Jens Hamisch
Date:
April 26, 2001 06:46
Subject:
Re: [ID 20010303.009] SOCKS5 work around breaks other sockets
Message ID:
20010426154117.E689@Strawberry.COM
Jarkko,

> > If I'm in a bad mood it's not caused by the patch that works round
> > deficiencies in the SOCKS5 reference implementation, or the author
> > of that patch, who put a lot of effort into tracing where the
> > problems lie.  It's because the of the SOCKS5 reference
> > implementation itself.
> >
> > fclose() *needs* to be called on stdio sockets to ensure stdio's
> > data buffer is flushed.
> >
> > Current bleadperl breaks the first tcp client & server example in
> > perlipc.pod for PERLIO=stdio because that doesn't set autoflush with
> > $|=1
> >
> > The following patch to bleadperl passes all tests, and ensures that
> > sane stdio systems still work.
> 
> I now applied the below workaround but left it out from the
> soon-to-be-released @9022 snapshot, please discuss the matter
> and options some more with Jens Hamisch.

I've had a look at perl 5.6.1 and perl 5.7.0@9848 today. None of both
may be successfully compiled and tested for a Solaris 8 sparc v9
system.

Perl 5.6.1 seems to come with the same socket probs as perl 5.7.0
did, when I started to do my fixed last year. The 'close' call closes
wrong sockets even if perlio is selected. This is caused by the socket
i/o methods, which are different for the GNU cc and the Sun Forte cc.

Perl 5.7.0 even does not successfully pass the testsuite on a
Solaris 2.6/gcc system. The testsuite reports 14 failures:

op/arith..............FAILED at test 5
op/exp................FAILED at test 2
op/lex_assign.........FAILED at test 29
op/pack...............FAILED at test 10 Cannot compress negative numbers at op/pack.t line 62.
op/rand...............FAILED at test 1
op/sprintf............FAILED at test 21
op/taint..............FAILED at test 30
pragma/constant.......FAILED at test 2
pragma/overload.......FAILED at test 117
lib/complex...........FAILED at test 13
lib/io_sock...........FAILED at test 10
lib/selfstubber.......FAILED at test 5	Can't locate SelfLoader.pm in @INC ...
lib/trig..............FAILED at test 2
lib/xs-typemap........FAILED at test 39

Hmmm ....

I'm wondering, that our final solution for the SOCKS5 problem
has disappeared from the sources:

   - Remove all patches concerning my SOCKS5 workaround from the
     perl sources.
   - Force users, who select -Dusesocks to select -Duseperlio, too.

This was (at least) part of the version 5.7.0@7972. Why did you reverse it? 

Regards
-- Jens

--------------------------------------------------------------------------------
     /
 +##+|##+   STRAWBERRY                     Jens Hamisch
+v#+v v##+  EDV-Systeme GmbH               Managing director
/ v    v\v
| . .  . |  Brauneckweg 2                  Car (Voice):  (+49 172) 81 04 162
|     .  |  D-82549 Koenigsdorf            Voice:        (+49 8179) 9305-50
 | .     |                                 Fax:          (+49 8179) 9305-38
 \   .  /   Tel./Fax: (+49 8179) 9305-50   Email:        jens@Strawberry.COM
  \____/    Strawberry@Strawberry.COM      


Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About