This program will forward a PPTP VPN connection through a Linux firewall.
The PPTP protocol works with two concurrent communication pathes, a so-called "control connection" over a regular TCP pipe, and another packet-based, portless path that handles the actual data transfer. For scalability reasons, pptpproxys architeture was designed around two threads. The main thread forwards the TCP control connections. It also peeps at the passing TCP chitchat in order to keep a database of "living" PPTP connection, and their so called "call id". The second thread handles the PPTP packet-based path. For each data packet received, it extracts its "call id" and queries the connection database in order to figure out the packets actual destination.