[pptp-server] connection dropping after 20-30 minutes - buggy windows client ? [patch]

Matthias Suencksen msuencks at marcant.de
Wed Feb 14 21:49:08 CST 2001


Hello.

After some extensive debugging I have found the reason for
problems with clients going away after some time.

It seems that at least windows98 and windows98se mess up
the GRE packet header with some packets they send. 

"Some" packets means for example after sending 10,000 to 
20,000 packets of valid data. Or maybe a router along the way 
corrupts  the data - which sounds less probable to me.

The corruption that occurs looks like there are 16 bits
of data inserted in various places. The wrong data consists
of bytes like "0000", "005e" or "00bd".

[ According to MSDN, 0x00bd is a Win32 API error: ERROR_INVALID_STACKSEG
    :-)    .. just speculating .. ]


After removing these two bytes the offending GRE frames look valid but 
through  this insertion other data in the header is moved to different 
(wrong) places.

Nameley the ACK and  GRE sequence number and the MPPE coherence-count  
can get corrupted.

I've made two patches - one against 1.0.1 ( to rule out
problems which may have been introduced in 1.1.2 ) and one
against the MPPE module. You find them here: http://www.marcant.net/users/ms/pptp.html

They add a layer of robustness especially to the MPPE module.
At least our problems where fixed with them .. 

--
Matthias Suencksen

--
Out-of-order Execution
	(Feature von modernen Microprozessoren)



More information about the pptp-server mailing list