[cvsnt] CVSNT client hangs when using compression with 1.11.2 UNIX pserve r

Tony Hoyle tmh at nodomain.org
Tue Oct 8 22:13:47 BST 2002


Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.


 
> Something's definately wrong with cvs 1.11.2 when it talks -z3, though,
> on my test setup it went 100% CPU and began eating memory at a phenominal
> rate.

Yup.  Using cvsnt against a cvs 1.11.2 server with -z3 is a
denial-of-service attack!

Basically what seems to happen is that the client code is written to
assume the server drops the connection first, but in 1.11.2 it doesn't,
instead it causes the client to block waiting for the server (this doesn't
happen the same under Unix, presumably because of different file
semantics).

Killing the client at this point causes the server to go into a loop,
presumably allocating memory as it ate 1GB in under 10 seconds (fast
enough to make it extremely difficult to 'kill -9' it before the whole
machine went down).

I've taken the loop out that waits for trailing data from the server, and
that seems to fix it (at both ends).

Unfortunately the machine that I use to do the nightlies & releases is
down (busted motherboard) otherwise I'd release in the morning to get
the fix out.  I'll do it ASAP.

I find debugging under Unix a pain otherwise I'd have a look at Unix cvs
to see what the bug is... It's possible they're still using the zlib with
the bug in it that was reported a few months ago.

Tony






More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook