1This is the pptpd project TODO list.
2
3(Note: tasks that are probably easy are marked with a [JJ], which
4means Junior Jobs, following the KDE tradition suggested by Adriaan de
5Groot in May 2004.)
6
720060714-1, 1.3.2, bcrelay is built even if --enable-bcrelay is not used.
8
920050105-1, 1.2.1, denial of service, for ten seconds (or --stimeout)
10the pptpd will not process further connections while it waits for a
11client to send data.  The second select() will prevent any further
12accept() calls.  To be tested.
13
1420041108-0, 1.2.1, vpnstats does not parse RHEL3 log output
15successfully.  It also creates a cron.weekly entry that is not removed
16when the package is removed.  Yet to test if vpnstats.pl works okay.
17[JJ]
18
1920040811-0, 1.2.1, RFC2637 timers IDLE_WAIT and MAX_ECHO_WAIT, in
20pptpdefs.h, make these configurable, requested by Tobias Brox.  [JJ]
21
2220040623-0, 1.2.1, "Plugin /usr/lib/pptpd/pptpd-logwtmp.so is for pppd
23version 2.4.2, this is 2.4.3" happens if pppd 2.4.3 is installed, or
24vice versa if 2.4.2 is installed.  [JJ] Workaround on common
25distributions is to use makepackage instead of "make install".
26pptpd.init is also affected, as it has a hardcoded path to pptpd.
27Configure script should detect or accept version of pppd to build
28against.
29
3020040521-4, 1.2.0-b3, running on Fedora Core 1, kernel ? , when a
31connection arrives a warning is issued by the kernel "application bug:
32pptpctrl($PID) has SIGCHLD set to SIG_IGN but calls wait().  (see the
33NOTES section of 'man 2 wait').  Workaround activated."
34
3520040521-0, 1.2.0-b3, write bcrelay man page.  (Debian lintian for
36pptpd 1.1.4-0b4-1)  [JJ]
37
38feature: nuke prior login by user, by writing a new pppd plugin.
39
40feature: prevent login by user if prior login still in progress, using
41pppd plugin that captures old hook and re-uses it, during chap auth.
42
4320040428-7, CVS HEAD, minor, pptpctrl.c refers to hard coded path
44/usr/lib/pptpd/pptpd-logwtmp.so instead of path derived from prefix
45given to configure script.  also, the rpm build fails if not run in a
46fakeroot.
47
48review debian bug reports for pptpd package
49http://bugs.debian.org/pptpd
50
5120040426-0 bug: terminating immediately on CALL_CLR_RQST from client
52(1.2.0-b3) may violate the RFC, but was done to fix zombie pppd, Bruno
53will try older version to gather system state information to see why
54it happened, but there is indeed a design defect that doesn't reap
55(wait() on the PID of) the pppd it had previously forked.  it probably
56isn't right to simply kill() the pppd until it has had a chance to
57finish up, e.g. ip-down scripts.  context is pptpctrl.c.  on the other
58hand, if a stop control connection request arrives, are the active
59connections supposed to be closed; there are reports of pppd living
60on.
61
62minor bug: pptpctrl.c:302 (1.11) there is a test for absolute file
63descriptor numbers, which is probably not portable.
64
65bug: 1.2.0-b3 configfile.c opens, reads and closes /etc/pptpd.conf as
66many times as there are possible option values, and only returns the
67first match for a keyword, not the last.
68
6920030214, ignore EPERM on GRE write for a short time in case netfilter
70is being adjusted by ip-up scripts, Bug #181005.
71
7220030801, 1.1.3, XP seems to need mtu negotiation 4 lower than
73serverside.  MS PPTP-server handles this correctly.
74
7520030620, 1.1.3, PPTP daemon waiting for infinite time if the
76pptpd.conf file does not have a new line character at the EOF. So we
77need a config-check routine. It is allready there, but it seems to
78output to stdout.
79
8020030611, 1.1.3, pptpd incorrectly hides all pppd error output.  This
81is a defect and should be fixed. It apparently doesn't even wait for
82and report the pppd exit status.
83
8420030526, 1.1.3, Make choice between slirp, pppd and BSD userspace
85PPPD a runtime one instead of compile time.
86
8720030218, 1.1.3, ask IP-info from a real DHCP-server. It is possible
88to get a Radius-server to do this.
89
9020030128, 1.1.3, Make the logentries more verbose, so that they
91actually mean something to the admins.
92
9320021220, 1.1.3, Add a way to define pools for different usergroups.
94
9519990802, 1.1.3, We don't actually implement any kind of window
96protocol, congestion control, etc, etc.  Very simple algorithm which
97works well on LANs and good performance links but could be improved
98for slow distant dialups/bad routing and links.
99
10019990705, 1.1.3, PNS mode and all things which go with it aren't
101supported properly.  We're only an IP tunnelling PAC, and our clients
102act as a PNS, as per the draft.  We may implement PNS mode and related
103things like multiple calls from one client IP in the future
104(post-1.0).
105
10619990413, 1.1.3, SET LINK INFO (CTRL Message 15) is not fully
107implemented. This doesn't cause any problem with Win95/98/NT or Linux
108clients.  NT clients send a default set of ACCMs which we validate and
109ignore, the others don't send anything.  Probably fine for all IP
110tunneling clients (post-1.0).
111