This patch implements a simple packet reordering scheme in PPTPD. The patch must be applied to the pptpd-1.1.1 source code. This patch also adds the infinite loop fix from version 1.0.1 to the version 1.1.1 source.
This fix was made by David Wragg, and posted as a complete ppp_mppe.c file on the pptp-server mailing list by Philip Willoughby. It fixes the problem where an encrypted link fails to re-sync after a dropped packet, and therefore causes the VPN link to stop transmitting or receiving any data. The symptom of this bug is lines similar to the following in your /var/log/debug log file.