5th June 2004

- command line as shown by ps is corrupted.  Reported by Andre Ruiz
  <andre@ruiz.net>

5th June 2004

- on Fedora Core 2, after the tunnel is stopped by the GUI, the pptp
process spins with a select() on FD's 0 and 1 (the control connection
and the UNIX domain socket respectively) and read()'s on FD 0 which
return 0.  Eventually the process stops because of control connection
ping failure.  Before that happens, any attempt to start another
connection appears to hang; probably because the process already has a
raw socket open to receive GRE packets from the server.

pptp should handle a read() returning zero on the control connection
as a termination.

# lsof
COMMAND  PID USER   FD   TYPE     DEVICE    SIZE   NODE NAME
pptp    4082 root    0u  IPv4      12307            TCP lenny.lan:ms-sql-s->quozl.lan:1723 (CLOSE_WAIT)
pptp    4082 root    1u  unix 0x04698380          12308 /var/run/pptp/255.255.255.255
pptp    4082 root    2w   CHR        1,3          67097 /dev/null
pptp    4082 root    3u  unix 0x04698500          12304 socket
pptp    4082 root    4u   CHR      136,5              7 /dev/pts/5
pptp    4082 root    5u   CHR      136,5              7 /dev/pts/5
pptp    4082 root    6u   CHR      136,5              7 /dev/pts/5
pptp    4082 root    7r  FIFO        0,7          12241 pipe
pptp    4082 root    8w  FIFO        0,7          12241 pipe
pptp    4082 root    9u   raw                     12305 0800000A:002F->0500000A:0000 st=01
pptp    4082 root   10u  unix 0x04698b00          12310 /var/run/pptp/255.255.255.255

# strace
read(0, "", 512)                        = 0
select(2, [0 1], [], NULL, NULL)        = 1 (in [0])
read(0, "", 512)                        = 0
select(2, [0 1], [], NULL, NULL)        = 1 (in [0])


13th February 2004

- timeout connect earlier, with option to extend timeout.

11th June 2003

- support --version

20th May 2003

- GRE stats to a pipe or shared memory, for GUI to use

15th February 2003

- pptp.8 update man page for new options
- pptp.c long_options array should use NULL for second last arg, not 0
- pptp.c use getopt_long more simply, e.g. set flags in option array

1st May 2002

- log failure of write() to raw socket, as Ryan Murray
  <rmurray@debian.org> has encountered an EPERM situation that was not
  being logged.

12th February 2002

- clean up -T errors in pptp-command,

23rd December 2000

Things to do:
  Autoconf/automake this beastie.
  Fix do_gre_copy semantics to properly handle multiple calls.
   Like the call manager, there should only be one gre-copy process
   per connection.  This process needs to funnel packets to different
   output tty's, though, depending on the call-id embedded in the
   GRE encapsulation.  pptp.c must then be modified to use an
   already-existing gre-copy process in the same way it uses an
   already-existing call manager.

$Id: TODO,v 1.18 2004/06/08 11:18:54 quozl Exp $	
