K2.6 patches and update.
[tomato.git] / release / src / router / pptp-client / ChangeLog
blob3212fcf17211c4e5376a4f5cf11981c90b13ebbf
1 Mon Feb 13 14:01:34 2006  James Cameron  <quozl@us.netrek.org>
3         * pptp-1.7.1 released.
5 Fri Feb 10 10:59:31 2006  James Cameron  <quozl@us.netrek.org>
7         * pptp.c: use prctl(2) to set process name for gateway process so
8         that killall(1) of pptp will affect control connection call
9         manager only.
11 Mon Aug 29 15:42:03 2005  James Cameron  <quozl@us.netrek.org>
13         * pptp.c: add --version feature.
15 Mon Aug 22 10:46:38 2005  James Cameron  <quozl@us.netrek.org>
17         * util.c (sigpipe_assign): remove superfluous sigset variable
18         and calls; they served no purpose.  Reported by: Pavol Gono.
20 Sat Aug 20 23:14:25 2005  James Cameron  <quozl@us.netrek.org>
22         * options.pptp: default to not require MPPE, per Red Hat Bugzilla
23         #166394.
25 Thu Aug 11 10:46:32 2005  James Cameron  <quozl@us.netrek.org>
27         * PROTOCOL-SECURITY: add write-up regarding protocol security risks.
28         * Makefile (dist): add PROTOCOL-SECURITY write-up.
30 Wed Jul 27 20:49:30 2005  James Cameron  <quozl@us.netrek.org>
32         * pptp-1.7.0 released.
34 Mon Jul 11 13:17:37 2005  James Cameron  <quozl@us.netrek.org>
36         * pptp_gre.c (decaps_gre): silently discard packets that are not
37         for this call.  Reported by: Alan Jenkins.
39 Thu Mar 31 17:41:17 2005  James Cameron  <quozl@us.netrek.org>
41         * pptp_ctrl.c (pptp_dispatch): handle signals first, since there's
42         a possibility of premature return from the function.
43         
44         * pptp_callmgr.c (callmgr_main): terminate faster when peer closes
45         control connection.
47 Thu Mar 10 11:07:52 2005  James Cameron  <quozl@us.netrek.org>
49         * pptp_ctrl.c (pptp_handle_timer): when we close connection due to
50         loss of echo replies, say so in the log.
51         Reported by: Jean Wolter.
53         * pptp_ctrl.c: fix signal deadlock on kernel 2.6.x
54         Reported by: Jean Wolter.
55         
56         * util.c, util.h: adopt sigpipe implementation from pptpd.
58         * pptp_ctrl.c (pptp_conn_open): use sigpipe implementation instead
59         of trying I/O in signal handler (which causes deadlocks).
61         * pptp_ctrl.c (pptp_fd_set): include the sigpipe in the file
62         descriptor set.
63         
64         * pptp_ctrl.c (pptp_dispatch): detect queued signals via sigpipe.
65         
66         * pptp_ctrl.c (pptp_conn_destroy): close the sigpipe.
68 Fri Feb 18 12:38:18 2005  James Cameron  <quozl@us.netrek.org>
70         * pptp-1.6.0 released.
72 Fri Feb 18 12:38:02 2005  James Cameron  <quozl@us.netrek.org>
74         * Makefile (install): move options.pptp to this package from the
75         RPM spec file.
77 Tue Dec 14 08:56:07 2004  James Cameron  <quozl@us.netrek.org>
79         * pptp_ctrl.c (ctrlp_disp): fix typo.  From: Avi Kivity
80         <avi@argo.co.il>
82 Tue Dec  7 09:43:00 2004  James Cameron  <quozl@us.netrek.org>
84         * pptp_ctrl.c: add error propagation to the ctrlp_disp callchain,
85         so that we don't double-free the connection on a stop control
86         connection reply.  From: Avi Kivity <avi@argo.co.il>
88 Wed Nov 10 09:49:48 2004  James Cameron  <quozl@us.netrek.org>
90         * util.{c,h}: recent compilers spew a packetload of compilation
91         warnings.  From: Avi Kivity <avi@argo.co.il>
93 Tue Nov  9 12:30:57 2004  James Cameron  <quozl@us.netrek.org>
95         * pptp.{8,c}, pptp_ctrl.c, pptp_options.h: add --idle-wait (time
96         to wait before sending an echo request on the control connection)
97         and --max-echo-wait (time to wait before giving up on lack of
98         reply to an echo request).  The latter is not yet implemented.
100 Tue Nov  9 12:23:48 2004  James Cameron  <quozl@us.netrek.org>
102         * pptp_callmgr.c, pptp_ctrl.{c,h}: pptp_dispatch and its
103         subordinates insist on handling fatal errors by calling
104         pptp_conn_destroy. unfortunately, as the comments say,
105         callmgr_main uses the connection afterwards with the usual
106         results.  Added error propagation to the routines mentioned,
107         allowing callmgr_main to have the honor of closing the connection.
108         From: Avi Kivity <avi@argo.co.il>
110 Wed Oct 27 21:03:28 2004  James Cameron  <quozl@us.netrek.org>
112         * pptp_callmgr.c (callmgr_main): pptp sometimes crashes in
113         pptp_fd_set and leaves a core dump.  Think this is due to a signal
114         being caught and longjmp'ed to callmgr_main's shutdown label after
115         we are out of that function, causing garbage local variables to be
116         used.  From: Avi Kivity <avi@argo.co.il>
118 Wed Jul 21 16:52:01 CEST 2004 Rein Klazes <rklazes@xs4all.nl>
119         
120         * pptp_ctrl.c (ctrlp_rep): Do not log sending of echo requests,
121         preventing dead-locks observed with Linux 2.6 systems.
122         The syslog call is not reentrant and must not be used within a
123         signal handler. A better solution would probably be to get rid of
124         the SIGALRM timer altogether.
126 Wed Jul 21 19:00:59 2004  Peter Surda  <shurdeek@routehat.org>
127         
128         * pptp_callmgr.c (callmgr_main): prevent kill of init.
130 Sat Jun 26 14:37:10 2004  James Cameron  <quozl@us.netrek.org>
132         * pptp_gre.c (decaps_hdlc): portability fix, use IPPROTO_IP in
133         place of SOL_IP in getsockopt().  From: Thomas Quinot
134         <thomas@cuivre.fr.eu.org>
136 Tue Jun 22 19:08:58 2004  James Cameron  <quozl@us.netrek.org>
138         * Makefile, AUTHORS, rename package from pptp-linux to pptp.
140 Tue Jun 22 18:08:27 2004  James Cameron  <quozl@us.netrek.org>
142         * pptp-linux-1.5.0 released.
144 Fri Jun 11 09:28:05 2004  Chris Wilson  <chris@netservers.co.uk>
146         * pptp.8, pptp_gre.c: make the statistics work properly when
147         buffering is disabled.  Fix the issue with log messages claiming
148         buffering when no buffering is being done.
150 Thu Jun 10 16:58:53 2004  James Cameron  <quozl@us.netrek.org>
152         * pptp.c (main): remove the sleep(3) on termination; it isn't
153         really required; and causes the GRE-to-PPP gateway process to hang
154         around after the connection has been terminated.
156         * pptp.c (open_callmgr): call manager was inheriting the GRE
157         socket, so close it before launching the callmgr, a regression
158         introduced 18th July 2002, in the patch to bind the GRE socket
159         earlier.
161 Thu Jun 10 08:34:17 CEST 2004 Rein Klazes <rklazes@xs4all.nl>
163         * pptp_callmgr.c: fix a case when the call manager does not
164         shutdown properly, a regression introduced by the changes on
165         2003 Oct 22 and 23.
167 Wed Jun  9 10:08:02 2004  Chris Wilson  <chris@netservers.co.uk>
169         * pptp.8, pptp.c, pptp_gre.c, pptp_gre.h: add --nobuffer option to
170         eliminate all buffering of packets, a "pptp quake patch".
172 Wed Jun  9 09:37:06 2004  Paul Howarth  <paul@city-fan.org>
174         * inststr.c: fix non-setting of the command line.
176 Tue Jun  8 21:25:27 2004  James Cameron  <quozl@us.netrek.org>
178         * pptp-linux-1.5.0-rc1 released.
180 Sat Jun  5 22:44:50 2004  James Cameron  <quozl@us.netrek.org>
182         * pptp_ctrl.c (pptp_read_some): fix for CPU loop after pppd killed
183         with -9, if read() returns zero, it is because the control
184         connection has closed, so destroy the connection.
186 Wed Mar 24 08:45:12 2004  Mark-Andre Hopf  <mhopf@innominate.com>
188         * pptp.c: fix compile for ARM architecture.
190 Mon Mar  8 11:04:00 2004  Chris Wilson <chris@netservers.co.uk>
192         * pptp.8: added documentation for command-line options where
193         missing.  Updated to reflect the use of getopt.
195 Tue Mar  2 09:53:53 2004  Peter McCurdy <pmccurdy@nit.ca>
197         * pptp.c (main, do_nothing): do not hang when a connection is
198         refused.  When the controlling process (pptp.c) paused while
199         waiting for the child to send SIGUSR1, if the child died then the
200         controlling process wouldn't ever wake up.  Now if the child dies,
201         SIGCHLD gets handled and the controlling process quits.
203 Tue Feb 10 20:35:18 2004  James Cameron  <quozl@us.netrek.org>
205         * pptp_gre.c (decaps_hdlc): temporarily add code that captures
206         additional detail if EMSGSIZE is returned by read().
208 Fri Jan  2 10:05:17 2004  James Cameron  <quozl@us.netrek.org>
210         * pptp-linux-1.4.0 released.
212 Mon Dec  1 11:58:24 2003  James Cameron  <quozl@us.netrek.org>
214         * pptp.c (main): remove arguments debugging printf.
216 Wed Nov 26 12:22:00 2003  Chris Wilson   <chris@netservers.co.uk>
218         * pptp.c: fixed argument handling so that hostname can be supplied
219         anywhere on the command line, not just at the start.  pppd options
220         starting with "-" but before "--" are no longer supported.
221         
222         * pptp.c: added some spacing to improve readability, removed
223         pointless "Step X" comments.
224         
225         * pptp.c: fixed usage message: there should not be a "pppd" in the
226         command line.
228 Mon Nov 10 15:39:41 2003  James Cameron  <quozl@us.netrek.org>
230         * pptp-linux-1.4.0-rc1 released.
232 Thu Oct 23 12:48:54 2003  James Cameron  <quozl@us.netrek.org>
234         * pptp_callmgr.c (callmgr_main): if connection fails, pptp enters
235         a CPU loop calling select() with no file descriptors set, and
236         being given EBADF.  Introduced by yesterday's modifications.
237         Correct code to detect this situation and break the main loop.
239 Wed Oct 22 13:02:04 2003  James Cameron  <quozl@us.netrek.org>
241         * pptp_ctrl.c (pptp_call_open): add an assertion to prevent a call
242         open attempt while the control connection is not established.
244         * pptp_callmgr.c (callmgr_main): avoid accepting a UNIX socket
245         connection and therefore calling pptp_call_open() if the control
246         connection has not yet been established.
248         * pptp_ctrl.c (pptp_conn_established): add function for
249         pptp_callmgr.c to use to determine if the control connection has
250         been established.
252         TODO: if a connection reply is not received, what happens?
254         Reported by: John BouAntoun
256 Mon Sep  8 10:33:41 2003  James Cameron  <quozl@us.netrek.org>
258         * pptp.c: fix for compile on OpenBSD.  From: Waldemar Brodkorb
260 Mon Aug 18 12:12:00 2003  Chris Wilson   <chris@netservers.co.uk>
262         * pptp.c pptp_gre.c util.h: add log level control, to increase
263         or reduce verbosity of log messages, for debugging and for people
264         who have lossy connections.
266 Thu Aug  7 12:20:09 2003  James Cameron  <quozl@us.netrek.org>
268         * pptp_gre.c (decaps_gre): fix reporting of packet loss.
269         From: Chris Wilson
271 Wed Jun 25 12:59:28 2003 Rein Klazes <rklazes@xs4all.nl>
273         * pptp_callmgr.c: Wait for the replies on our Call-Clear-Request's and
274         Stop-Control-Connection-Request's.
275         
276         * pptp_ctrl.c: small tweak in a message about non existant call:
277         report the received call ID's.
278         
279 Sun Jun 22 19:08:14 2003 Rein Klazes <rklazes@xs4all.nl>
281         * pptp_ctrl.c: Log the buffering and sending of ALL control
282         messages (except Echo messages and Replies of course).
283         Change the way the sending of these messages is done. The 
284         original way was to first put them into a buffer ( in
285         pptp_send_ctrl_packet()) and at some later write the buffered
286         bytes to the socket ( in pptp_write_some()). Now
287         pptp_send_ctrl_packet first attempts to write the packet directly.
288         Only it the write() does not write all of the bytes, the remaining
289         ones are buffered. This should help to track bugs in this area (like
290         one sending two Start-Control-Request's).
292 Thu Jun 19 09:09:53 2003 Rein Klazes <rklazes@xs4all.nl>
294         * pptp_ctrl.c: Improve logging of received control packets:
295         Move duplicated code to report on Result codes and General errors
296         to a separate function; Verbosely report error codes embedded in
297         start-control-connection replies; Translated some French comment;
298         Log when an unexpected Outgoing Call Reply is received; Log the
299         receipt of ALL control messages (except in case of echo
300         request/reply packets of which only the first 10 are logged);
301         Shorten the name of the function "pptp_dispatch_ctrl_packet" to
302         "ctrlp_disp", 25 characters is just too much in the log files.
304 Thu Jun 19 10:11:26 2003  Jan Pieter  <jp@jp.dhs.org>
306         * Makefile (uninstall): include uninstall target, and a minor fix
307         to dist.
308         
309 Wed Jun 18 12:19:09 2003 Rein Klazes <rklazes@xs4all.nl>
311         * pptp_gre.c: Instead of logging the (a)synchronous mode
312         of ppp, only issue a warning when it conflicts with the
313         mode of pptp.
314         Comparing two sequence numbers for(in)equality is safe even when
315         a wrap-around has occurred. This contrasts with comparing for 
316         smaller/bigger. Remove a few unneeded tests for wrap-around.
318 Tue Jun 17 19:40:41 2003 Rein Klazes <rklazes@xs4all.nl>
320         * dirutil.c, ppp_fcs.c, pptp.c, pptp_gre.c, util.c, vector_test.c,
321         * pptp_ctrl.c, pptp_callmgr.c, vector.c : reformat code with 
322         standard 4 spaced indents, uniform function headings and some 
323         general tidying up. Patches have been separated in "diff -w"
324         invariant patches that should be safe and others that may be 
325         not so safe.
327 Wed Jun 11 14:06:21 2003  Rein Klazes <rklazes@xs4all.nl>
329         * pptp_gre.c: When a timeout is specified in the select call
330         make it always non-zero. Making this call block makes it likely
331         that pppd will run before the select returns. This results in a
332         big reduction in transmitted ack-only packets (number down from 
333         40% to 0.8% of received packets on my system).
335 Tue Jun 11 18:42:00 2003  James Cameron  <quozl@us.netrek.org>
337         * pptp-linux-1.3.1 released.
339 Tue Jun 10 13:53:00 2003  Chris Wilson  <chris@netservers.co.uk>
341         * pptp_callmgr.c: fixed a bug with call manager socket naming,
342         introduced since 1.2.0, which caused confusing problems when
343         trying to open more than one tunnel from the same machine.
345 Tue Jun 10 18:43:34 2003  James Cameron  <quozl@us.netrek.org>
347         * pptp-linux-1.3.0 released.
349 Tue Jun  3 19:16:52 2003  James Cameron  <quozl@us.netrek.org>
351         * pptp.8, pptp.c: change SIGHUP to SIGUSR1 for dumping stats.
353 Tue May 20 13:20:00 2003  Chris Wilson  <chris@netservers.co.uk>
355         * pptp.c: rewrote command-line usage information, to increase
356         clarity and usefulness, and to describe various command-line
357         options which have been added recently.
359 Fri May 23 20:52:05 2003  Rein Klazes  <rklazes@xs4all.nl>
361         * pptp_ctrl.c: increase the verbosity of the log message at the
362         receipt of a Call Disconnect Notification.
364 Mon May 12 16:56:14 2003  James Cameron  <quozl@us.netrek.org>
366         * Makefile: don't install the manpage with execute permission,
367         swap LDFLAGS and LIBS so that one can say 'make LDFLAGS=-s' to
368         create a stripped versions of the executables, introduce the
369         optimization flag as a make variable, so that one can say 'make
370         DEBUG= OPTIMIZE=-O2 LDFLAGS=-s'.  From: Peter Breitenlohner
372 Tue Apr 29 19:13:33 2003  James Cameron  <quozl@us.netrek.org>
374         * Makefile (dist): remove CVS directory from distribution.
375         Reported by: Ola Lundqvist
377 Tue Apr 15 10:28:00 2003  Chris Wilson   <chris@netservers.co.uk>
379         * pptp.c, pptp_gre.c, pptp_gre.h: Added GRE statistics counters
380         and RTT calculation, which can be dumped to the syslog by sending
381         a SIGHUP to the GRE-to-PPP gateway process.
383 Mon Apr 14 11:57:00 2003  Chris Wilson   <chris@netservers.co.uk>
385         * pptp_gre.c: Fixed one case where an ACK could be immediately
386         followed by a data packet, they should be combined into a
387         single packet.
389 Sat Mar 8 2003 15:19:12 2003 Rein Klazes <rklazes@xs4all.nl>
391         * pptp_gre.c, pqueue.c: Actually copy the packet into a new entry
392         in the packet queue, fixing "unknown protocol" error messages;
393         Change the program logic making it obvious that there is not a 
394         memory leak;
395         Restore the "buffering out-of-order packet" log messages, so we
396         have a chance to notice any more side effects.
398 Mon Feb 17 09:18:30 2003  James Cameron  <quozl@us.netrek.org>
400         * pptp_callmgr.c, pptp.c, Makefile: compile call manager from
401         Makefile rather than include from pptp.c.  From: Jan Pieter
402         <jp@jp.dhs.org>
404 Sat Feb 15 21:32:42 2003  James Cameron  <quozl@us.netrek.org>
406         * pptp_ctrl.c, pptp_msg.h: move code out of .h file and into .c
407         file.  From: Jan Pieter <jp@jp.dhs.org>
409 Sat Feb 15 17:34:38 2003  James Cameron  <quozl@us.netrek.org>
411         * pptp.c: add include fixes for Apple MacOS X as contributed by an
412         anonymous donor.
414 Sat Feb 15 14:59:20 2003  James Cameron  <quozl@us.netrek.org>
416         * pptp.c, pptp_callmgr.c, pptp_gre.c: add localbind option to
417         support multiple clients from separate alias IP addresses.  
418         From: Yury Tarasievich, with contributions by Ed Marcotte.
420 Fri Feb 14 10:11:27 2003  James Cameron  <quozl@us.netrek.org>
421         
422         * pptp-linux-1.2.0 released.
423         
424 Fri Feb 14 16:08:26 CET 2003 Rein Klazes <rklazes@xs4all.nl>
425         
426         * pptp_ctrl.c, pptp_msg.h: tweak the outgoing call reply messages
427         once more. Print the error text that comes with the result code. 
429         * pptp.c: close all unused file descriptors belonging to the pty.
431         * pptp_gre.c: Convert received acknowledgement numbers from network
432         to host order.
434 Mon Jan 20 11:46    2003  Chris Wilson <chris@netservers.co.uk>
436         * pqueue.c, pqueue.h: changed "expires" field of pqueue entry to a
437         struct timeval for microsecond accuracy (in theory =)
439         * pptp_gre.c: use queue head expiry time as the upper bound on how
440         long we block waiting for data from the network or pppd
442         * pptp.c: allow setting of packet timeout with sub-second
443         accuracy, print error message to stderr and exit if timeout out of
444         range
446 Mon Jan 13 10:28    2003  Chris Wilson <chris@netservers.co.uk>
448         * pqueue.c, pqueue.h: added freelist support for packet queue,
449         From: Kai Poitschke <kai@poitschke.de>.  Should help to
450         prevent memory fragmentation and perhaps improve performance a
451         little.
452         
453         * pqueue.c: wrap some log() statements with DEBUG_CMD, should
454         improve performance (thanks to Kai Poitschke)
455         
456         * pptpd.c: bugfix for --log-string option: make a copy of the
457         string with strdup, because optarg will be destroyed
459 Wed Jan 15 14:16:27 2003  James Cameron  <quozl@us.netrek.org>
461         * AUTHORS, DEVELOPERS, NEWS, README, TODO, USING: add or move CVS
462         header to tail.
463         * DEVELOPERS: change IRC server name to new alias.
464         * AUTHORS: change a few addresses.
465         * INSTALL: rewrite.
466         * README, USING: review and adjust, minor changes.
467         * Makefile (install): add MANDIR and man page.
469 Thu Jan  2 11:28:41 2003  James Cameron  <quozl@us.netrek.org>
471         * pptp_gre.c: fix response to dropped packets.  From: Rein Klazes.
473 Thu Jan  2 09:11:33 2003  James Cameron  <quozl@us.netrek.org>
475         * pptp.8: the IP address should be before the option.  From: Rein
476         Klazes
478 Mon Dec 30 15:57:48 2002  James Cameron  <quozl@us.netrek.org>
480         * Makefile (install): add install target.
482 Mon Dec  9 08:52:56 2002  James Cameron  <quozl@us.netrek.org>
484         * pptp_callmgr.c, pptp.c: close stderr after becoming daemon,
485         otherwise ssh sessions, CGI scripts, or other programs that start
486         pptp don't exit properly; they are held up until the pptp
487         processes terminate and close stderr.
489 Thu Nov 21 08:41:39 2002  James Cameron  <quozl@us.netrek.org>
491         * pptp_gre.c: log return value from the read of the GRE socket as
492         a signed number as well.
494 Wed Nov 20 11:21:48 CET 2002 Rein Klazes <rklazes@xs4all.nl>
496         * pptp_gre.c: log return value from the read of the pty as a signed
497         number.
499         * pptp_ctrl.c: change the log message to clarify that error codes in a 
500         outgoing call reply come from the server, not the client.
501         
502 Wed Nov 20 16:07:30 2002  James Cameron  <quozl@us.netrek.org>
504         * Makefile (dist): adjust distribution target to include new files
505         since prior use.
507 Wed Nov 20 15:17:12 2002  James Cameron  <quozl@us.netrek.org>
509         * pptp_gre.c: hid many packet reordering log calls in an ifdef,
510         added a hint as to cause of EIO on read of the pty.
512 Fri Oct 11 15:44 BST  2002 Chris Wilson <chris@netservers.co.uk>
514         * pptp.c util.c util.h: added "--logstring" option to help identify
515           connections in syslog output where multiple connections are made
516           from the same host.
518 Wed Oct 02 10:31 BST  2002 Chris Wilson <chris@netservers.co.uk>
520         * pptp_gre.c pqueue.c: changed some "log" statements to "warn" to
521           reflect the severity of the condition, allowing much better filtering
522         * util.c: changed _warn to log at WARNING, and _fatal at CRIT level
523         * pptp_gre.c: disabled logging of individual accepted packets
524         * pptp_gre.c: removed a potential NULL pointer dereference crash
525         * pptp_gre.c: fixed the select-timeout check for packets in the queue
526         * pqueue.h: increased window size to 300 following testing
527         * pptp.c: added command-line parameter "--timeout" to set the
528           lost packet timeout
530 Fri Aug 30 09:55:05 CEST 2002 Rein Klazes <rklazes@xs4all.nl>
532         pptp_gre.c: Try to send more ACK's piggy backed on data packets.
533         Previously if there were any outstanding ACK's to be sent, the 
534         program used a non-blocking select (timeout zero) to see if
535         any data packets are available. In most cases there will be none,
536         since the time passed since the last read is too short and an ACK
537         without data will be sent.
538         This change allows one outstanding ACK, for at most 0.5 second,
539         multiple outstanding ACK's are treated as before.
540         Tests show that this gives a big reduction in the number of
541         sent packets.
543 Fri Aug 30 09:15:35 CEST 2002 Rein Klazes <rklazes@xs4all.nl>
545         * pptp_gre.c: Sequence numbers of sent gre packets should start
546         with 1.
548 Mon Aug 26 10:56:42 CEST 2002 Rein Klazes <rklazes@xs4all.nl>
550         * pptp.c pptp_gre.c pptp_gre.h: added "--sync" option to work 
551         in combination with the pppd sync option. In synchronous mode
552         checksum calculations and (un-)escaping of control characters
553         become unnecessary. This results in big CPU usage reduction.
554         
555 Mon Aug 26 08:53:45 CEST 2002 Rein Klazes <rklazes@xs4all.nl>
557         * pptp.c: fix bug in command line options parsing (misplaced break
558         in switch statement).
559         
560 Wed Aug 21 10:57:01 2002  James Cameron  <quozl@us.netrek.org>
562         * pptp.c: add handler for SIGCHLD.
563         From: Peter Surda <shurdeek@panorama.sth.ac.at>
565 Thu Aug 15 09:30:00 2002  Chris Wilson  <chris@netservers.co.uk>
567         * pqueue.h: increased window size following James' tests
568         * pptp_gre.c: check for errors while dequeueing packets
570 Wed Aug 14 20:02:39 2002  James Cameron  <quozl@us.netrek.org>
572         * pptp.c, pptp_gre.c, pqueue.c: packet re-ordering bugfixes
573         following distributed testing:
575         - Moved daemon() call to run on GRE gateway process only, and not
576         if running as pppd pty
577         - Make select() timeout after 1 second if there is data in the
578         queue, to prevent the queue from having to wait forever
579         - Added log messages for accepting individual packets (noisy!)
580         and for timeouts on missing packets
581         - Fixed a bug with the packet queue (append to tail was broken)
582         - Removed unused code from pqueue.c
583         
584         From: chris@netservers.co.uk
586 Wed Aug 14 11:14:05 2002  James Cameron  <quozl@us.netrek.org>
588         * pqueue.c, pqueue.h, pptp_gre.c: major changes to support packet
589         re-ordering.
591         Queueing
593         Packets are added to the queue by decaps_gre if their sequence
594         number is higher than expected, but within the window. The default
595         window is defined as 30 packets.
597         Packets which are below the window (older than the most recent
598         packet read) or above the window (too far ahead) are discarded, to
599         protect against denial-of-service attacks.
601         Dequeueing
603         The new function dequeue_gre retrieves packets from the head of
604         the queue which are:
606         1. Next in sequence (unwrapped or wrapped)
608         2. Older than five seconds (assuming that the intermediate packets
609         have been lost by the network).
611         The function will continue to read packets from the head of the
612         queue until it finds one which doesn't match these criteria, and
613         then stop.
615         Limitations
616         
617         There are some limitations with this patch:
619         - The receive window is hardcoded at 30 packets. I couldn't see
620         where to get the negotiated and/or current window size from.
622         - The timeout is hardcoded at 5 seconds. A packet which was
623         received and queued within the window, but which should have been
624         preceded by other packets which never appeared, will be accepted
625         anyway after this time (increasing the sequence number to its
626         own).
628         - There may be memory leaks or other bugs in the reordering code.
629         
630         * pqueue.c, pqueue.h, Makefile (PPTP_OBJS, PPTP_DEPS): add two new
631         files to the pptp executable. pqueue.c implements the packet queue
632         used by the reordering code, and pqueue.h describes its public
633         interface. The queue is implemented as a linked list. This is
634         required for reordering.
635         
636         * pptp.c: Add a new command-line option, --debug.  Prevents pptp
637         from going into the background.
639         Change to call the daemon(3) function to change the current
640         directory and close the standard file descriptors. This prevents a
641         shell from hanging open if pptp is started remotely.
643         * Makefile (CFLAGS): reduce the optimisation level (gcc's -O flag)
644         to zero (none), to make debugging easier.
646         * pptp.c (get_ip_address): avoid reporting h_errno value.
648         From: chris@netservers.co.uk
650 Thu Jul 18 12:26:25 2002  James Cameron  <quozl@us.netrek.org>
652         * pptp_gre.h, pptp_gre.c, pptp.c: bind the GRE socket early, by
653         calling the a function pptp_gre_bind.  Also changed prototype of
654         pptp_gre_copy.  Fixes ICMP Unreachable bug:
655         <1026868263.2855.67.camel@jander> 16th July 2002.
656         From: chris@netservers.co.uk
658 Thu May 30 18:28:02 2002  James Cameron  <quozl@us.netrek.org>
660         * pptp_ctrl.c (pptp_call_open): do translation to network byte
661         order after limit checking of phone number.
662         From: staelin@hpl.hp.com
663         
664 2002-05-13 08:14:40  Muli Ben-Yehuda  <mulix@actcom.co.il>
666         * TODO: remove 'remove setjmp/longjmp' TODO item. 
667         * pptp.c: change comment re volatile qualifiers. 
668         * pptp_callmgr.c: remove unused function 'conn_callback' and
669         change comment re volatile qualifiers. 
671 Thu Apr  4 09:34:10 2002  James Cameron  <quozl@us.netrek.org>
673         * pptp_ctrl.c: correct spelling error.
674         From: Mary.Deck@COMPAQ.com
676 2002-03-30 13:13:52  mulix  <mulix@actcom.co.il>
678         * USING: change URL for bezeq adsl howto.  
679         * pptp.c: (get_ip_address): if the user runs 'pptp --quirks ...'
680         instead of 'pptp hostname', we'll get here and then give a verbose
681         error message. 
683 Mon Mar 11 10:21:00 2002  mulix  <mulix@actcom.co.il>
685         * Makefile (all): make config.h before making $(PPTP_BIN). 
686         * Makefile (config.h): truncate the file if it exists before
687         inputing to it - '>' instead of '>>'
689 Mon Mar 11 12:48:16 2002  James Cameron  <quozl@us.netrek.org>
691         * DEVELOPERS: add mailing lists.
692         * Makefile (CFLAGS): remove PPPD_BINARY and PPTP_LINUX_VERSION in
693         favour of a config.h file.
694         * Makefile (config.h): create config.h from Makefile variables
695         * Makefile (PPTP_DEPS): add config.h
696         * pptp.c: include config.h
697         * version.c: include config.h
698         * util.c (PROGRAM_NAME): no longer used by two programs, change
699         PROGRAM_NAME to default to pptp.
700         * Makefile (CFLAGS): remove -DPROGRAM_NAME
702 Fri Mar  8 11:56:00 2002  mulix  <mulix@actcom.co.il>
704         * TODO: remove notes about compiler warnings, as all compiler
705         warnings are now gone.
706         * pptp.c (main): add volatile qualifier to some variables to
707         silence gcc warnings 'variable might be clobbered by longjmp or
708         vfork'. add note explaining why volatile and that it should be
709         removed when the longjmp is removed.
710         * pptp_callmgr.c (main): likewise. 
711         * inststr.c (inststr): break up "ptr += strlen(++ptr)" which is
712         undefined behaviour into two expressions. 
713         * pptp.c (main): initialize callmgr_sock to -1 since it might be
714         used uninitialized otherwise. 
715         * pptp_ctrl.c (pptp_dispatch_ctrl_packet): #ifdef 0 two unused
716         variables referring to the current packet, which should not be
717         simply erased, as we might want to use them in the future.
718         * util.c: add missing #include. 
719         
720 Fri Mar  8 21:11:17 2002  James Cameron  <quozl@us.netrek.org>
722         * DEVELOPERS: new file.
724 Fri Mar  8 10:12:28 2002  James Cameron  <quozl@us.netrek.org>
726         * NEWS: convert to newest first format to comply with GNU Coding
727         Standards, The NEWS File.
729 Fri Mar  8 09:01:22 2002  James Cameron  <quozl@us.netrek.org>
731         * pptp_ctrl.c (pptp_make_packet): Cisco PIX is generating a
732         non-complaint header with the reserved0 field not zero, causing
733         the connection to stop after 60 seconds.
734         From: Rein Klazes <rklazes@xs4all.nl>
736 Fri Mar  8 08:56:30 2002  James Cameron  <quozl@us.netrek.org>
738         * TODO: add compiler warnings note.
739         * NEWS: propogate summary of ChangeLog.
740         * AUTHORS: add names from mailing list contributions.
741         From: Rein Klazes <rklazes@xs4all.nl>
742         * Makefile: remove pptp_callmgr binary
743         * debian/copyright: adjust pointer to current release.
744         * debian/rules, Makefile: remove pptp_callmgr binary now that pptp
745         forks and calls it without exec.
747 Sat Mar  2 04:04:37 2002  James Cameron  <quozl@us.netrek.org>
749         * README: adopt new mailing lists and point to project web site.
750         * USING: include psuedo-tty activation instructions.
751         * Makefile: increment version, avoid clobbering editor backup
752         files on clean.
754 Fri Mar  1 12:13:03 2002  James Cameron  <quozl@us.netrek.org>
756         * pptp_gre.c: move #include <sys/types.h> higher up
757         * pptp_gre.c, pptp_ctrl.c: change unsigned to unsigned int
758         * pptp.c: what we need from pty.h is in libutil.h for FreeBSD and
759         util.h for NetBSD (ideally this should be in autoconf)
760         * pptp.c: synchronisation changes
761         * orckit_quirks.c: #include <sys/types.h>
762         From: rhialto@azenomei.knuffel.net
764 Fri Nov 23 14:42:07 2001  James Cameron  <quozl@us.netrek.org>
766         * USING: reformat, add version header.
768 Tue Nov 20 11:01:10 2001  mulix  <mulix@actcom.co.il>
770         * AUTHORS: add mulix.
771         * USING: add paragraph on quirks support.
772         * orckit_quirks.c: remove debugging call, rename functions and
773         variables consistently.
774         * pptp.c: (usage) remove debugging print.
775         * pptp_ctrl.c: when calling quirks hooks, check their return
776         values and warn if an error occurs.
777         * pptp_quirks.c: orckit_atur3_start_ctrl_conn was renamed
778         orckit_atur3_start_ctrl_conn_hook.
779         From: mulix@actcom.co.il
781 Tue Nov 20 17:01:10 2001  James Cameron  <quozl@us.netrek.org>
783         * orckit_quirks.c, orckit_quirks.h: add quirks handling for orckit
784         adsl modems.
785         * pptp_quirks.c, pptp_quirks.h: add generic quirks handling.
786         * Makefile (PPTP_DEPS, PPTP_OBJS, CALLMGR_OBJS, CALLMGR_DEPS): add
787         quirks sources and objects.
788         * pptp_ctrl.c: add pptp_set_link, add code to adjust packets
789         depending on quirks.
790         * pptp.c (usage, long_options, main): add --quirks command line
791         option.
792         From: mulix@actcom.co.il
794 Tue Nov 20 16:45:35 2001  James Cameron  <quozl@us.netrek.org>
796         * pptp_gre.c: enhance error message for bad FCS.