1 Wed May 14 15:59:17 2008 James Cameron <quozl@us.netrek.org>
5 Fri Jan 11 13:20:18 2008 Ilya Voronin <ivoronin@gmail.com>
7 * ppp_fcs.h, pptp.c, pptp_ctrl.h, pptp_gre.h, pptp_msg.h: port to
10 Wed Nov 21 14:29:46 2007 Leo Savernik <l.savernik@aon.at>
12 * pptp_ctrl.c (pptp_fd_set): fix compile with an ANSI
13 C89-compliant compiler.
15 Tue Aug 28 10:17:36 2007 James Cameron <quozl@us.netrek.org>
17 * README, pptp.c: assign copyright to Free Software Foundation,
18 and make license explicit.
20 Signed-off-by: "C. Scott Ananian" <cscott@cscott.net>
22 Wed Apr 4 16:30:24 2007 James Cameron <quozl@us.netrek.org>
24 * pptp.8, pptp.c: add --test-type and --test-rate options.
26 * pptp_gre.c: use alternate write(2) function for sending GRE
29 * test.c: implement reordering tests to assist with pptpd testing.
30 These tests reorder the stream to simulate real-world examples.
32 Fri Dec 15 02:02:08 2006 Michael Adda <michael@hackers.co.il>
34 * pptp_gre.c: when we fail to write due to a transient error
35 simply ignore it (treat it as a drop).
37 Thu Oct 12 13:52:46 2006 James Cameron <quozl@us.netrek.org>
39 * pptp_gre.c (pptp_gre_copy): select(2) may return error, and the
40 code was checking the read file descriptors without checking if
43 Thu Aug 17 14:36:18 2006 James Cameron <quozl@us.netrek.org>
45 * Makefile: add pptpsetup man page using pod2man.
47 Wed Aug 2 16:21:08 2006 James Cameron <quozl@us.netrek.org>
49 * routing.c, routing.h, pptp_callmgr.c (callmgr_main): add route
50 to PPTP server. Experimental feature. Note that this has a
51 side-effect of leaving a route to the server in place after the
52 tunnel has terminated.
54 Wed Aug 2 16:19:06 2006 James Cameron <quozl@us.netrek.org>
56 * pptp.c: fix a few compilation warnings.
58 Wed Aug 2 16:02:23 2006 James Cameron <quozl@us.netrek.org>
60 * pptpsetup: merge updates from Nelson Ferraz as of 24th April.
61 * Makefile (dist): include pptpsetup in kit.
63 Thu Apr 20 08:52:45 2006 James Cameron <quozl@us.netrek.org>
65 * Makefile (dist): remove Reference documentation as the license
66 is non-free. The documentation is available from other sources.
68 Thu Apr 20 08:49:01 2006 James Cameron <quozl@us.netrek.org>
70 * pptp.8: merge Debian contribution in 1.7.0-2 by Ola Lundqvist.
72 Mon Apr 3 15:28:37 2006 James Cameron <quozl@us.netrek.org>
74 * pptpsetup: add script contributed by Nelson Ferraz.
76 Mon Mar 27 10:09:20 2006 James Cameron <quozl@us.netrek.org>
78 * options.pptp: add refuse-pap to default options, along with a
79 comment that a server may need to use PAP or CHAP if it is not
82 Mon Feb 13 14:01:34 2006 James Cameron <quozl@us.netrek.org>
84 * pptp-1.7.1 released.
86 Fri Feb 10 10:59:31 2006 James Cameron <quozl@us.netrek.org>
88 * pptp.c: use prctl(2) to set process name for gateway process so
89 that killall(1) of pptp will affect control connection call
92 Mon Aug 29 15:42:03 2005 James Cameron <quozl@us.netrek.org>
94 * pptp.c: add --version feature.
96 Mon Aug 22 10:46:38 2005 James Cameron <quozl@us.netrek.org>
98 * util.c (sigpipe_assign): remove superfluous sigset variable
99 and calls; they served no purpose. Reported by: Pavol Gono.
101 Sat Aug 20 23:14:25 2005 James Cameron <quozl@us.netrek.org>
103 * options.pptp: default to not require MPPE, per Red Hat Bugzilla
106 Thu Aug 11 10:46:32 2005 James Cameron <quozl@us.netrek.org>
108 * PROTOCOL-SECURITY: add write-up regarding protocol security risks.
109 * Makefile (dist): add PROTOCOL-SECURITY write-up.
111 Wed Jul 27 20:49:30 2005 James Cameron <quozl@us.netrek.org>
113 * pptp-1.7.0 released.
115 Mon Jul 11 13:17:37 2005 James Cameron <quozl@us.netrek.org>
117 * pptp_gre.c (decaps_gre): silently discard packets that are not
118 for this call. Reported by: Alan Jenkins.
120 Thu Mar 31 17:41:17 2005 James Cameron <quozl@us.netrek.org>
122 * pptp_ctrl.c (pptp_dispatch): handle signals first, since there's
123 a possibility of premature return from the function.
125 * pptp_callmgr.c (callmgr_main): terminate faster when peer closes
128 Thu Mar 10 11:07:52 2005 James Cameron <quozl@us.netrek.org>
130 * pptp_ctrl.c (pptp_handle_timer): when we close connection due to
131 loss of echo replies, say so in the log.
132 Reported by: Jean Wolter.
134 * pptp_ctrl.c: fix signal deadlock on kernel 2.6.x
135 Reported by: Jean Wolter.
137 * util.c, util.h: adopt sigpipe implementation from pptpd.
139 * pptp_ctrl.c (pptp_conn_open): use sigpipe implementation instead
140 of trying I/O in signal handler (which causes deadlocks).
142 * pptp_ctrl.c (pptp_fd_set): include the sigpipe in the file
145 * pptp_ctrl.c (pptp_dispatch): detect queued signals via sigpipe.
147 * pptp_ctrl.c (pptp_conn_destroy): close the sigpipe.
149 Fri Feb 18 12:38:18 2005 James Cameron <quozl@us.netrek.org>
151 * pptp-1.6.0 released.
153 Fri Feb 18 12:38:02 2005 James Cameron <quozl@us.netrek.org>
155 * Makefile (install): move options.pptp to this package from the
158 Tue Dec 14 08:56:07 2004 James Cameron <quozl@us.netrek.org>
160 * pptp_ctrl.c (ctrlp_disp): fix typo. From: Avi Kivity
163 Tue Dec 7 09:43:00 2004 James Cameron <quozl@us.netrek.org>
165 * pptp_ctrl.c: add error propagation to the ctrlp_disp callchain,
166 so that we don't double-free the connection on a stop control
167 connection reply. From: Avi Kivity <avi@argo.co.il>
169 Wed Nov 10 09:49:48 2004 James Cameron <quozl@us.netrek.org>
171 * util.{c,h}: recent compilers spew a packetload of compilation
172 warnings. From: Avi Kivity <avi@argo.co.il>
174 Tue Nov 9 12:30:57 2004 James Cameron <quozl@us.netrek.org>
176 * pptp.{8,c}, pptp_ctrl.c, pptp_options.h: add --idle-wait (time
177 to wait before sending an echo request on the control connection)
178 and --max-echo-wait (time to wait before giving up on lack of
179 reply to an echo request). The latter is not yet implemented.
181 Tue Nov 9 12:23:48 2004 James Cameron <quozl@us.netrek.org>
183 * pptp_callmgr.c, pptp_ctrl.{c,h}: pptp_dispatch and its
184 subordinates insist on handling fatal errors by calling
185 pptp_conn_destroy. unfortunately, as the comments say,
186 callmgr_main uses the connection afterwards with the usual
187 results. Added error propagation to the routines mentioned,
188 allowing callmgr_main to have the honor of closing the connection.
189 From: Avi Kivity <avi@argo.co.il>
191 Wed Oct 27 21:03:28 2004 James Cameron <quozl@us.netrek.org>
193 * pptp_callmgr.c (callmgr_main): pptp sometimes crashes in
194 pptp_fd_set and leaves a core dump. Think this is due to a signal
195 being caught and longjmp'ed to callmgr_main's shutdown label after
196 we are out of that function, causing garbage local variables to be
197 used. From: Avi Kivity <avi@argo.co.il>
199 Wed Jul 21 16:52:01 CEST 2004 Rein Klazes <rklazes@xs4all.nl>
201 * pptp_ctrl.c (ctrlp_rep): Do not log sending of echo requests,
202 preventing dead-locks observed with Linux 2.6 systems.
203 The syslog call is not reentrant and must not be used within a
204 signal handler. A better solution would probably be to get rid of
205 the SIGALRM timer altogether.
207 Wed Jul 21 19:00:59 2004 Peter Surda <shurdeek@routehat.org>
209 * pptp_callmgr.c (callmgr_main): prevent kill of init.
211 Sat Jun 26 14:37:10 2004 James Cameron <quozl@us.netrek.org>
213 * pptp_gre.c (decaps_hdlc): portability fix, use IPPROTO_IP in
214 place of SOL_IP in getsockopt(). From: Thomas Quinot
215 <thomas@cuivre.fr.eu.org>
217 Tue Jun 22 19:08:58 2004 James Cameron <quozl@us.netrek.org>
219 * Makefile, AUTHORS, rename package from pptp-linux to pptp.
221 Tue Jun 22 18:08:27 2004 James Cameron <quozl@us.netrek.org>
223 * pptp-linux-1.5.0 released.
225 Fri Jun 11 09:28:05 2004 Chris Wilson <chris@netservers.co.uk>
227 * pptp.8, pptp_gre.c: make the statistics work properly when
228 buffering is disabled. Fix the issue with log messages claiming
229 buffering when no buffering is being done.
231 Thu Jun 10 16:58:53 2004 James Cameron <quozl@us.netrek.org>
233 * pptp.c (main): remove the sleep(3) on termination; it isn't
234 really required; and causes the GRE-to-PPP gateway process to hang
235 around after the connection has been terminated.
237 * pptp.c (open_callmgr): call manager was inheriting the GRE
238 socket, so close it before launching the callmgr, a regression
239 introduced 18th July 2002, in the patch to bind the GRE socket
242 Thu Jun 10 08:34:17 CEST 2004 Rein Klazes <rklazes@xs4all.nl>
244 * pptp_callmgr.c: fix a case when the call manager does not
245 shutdown properly, a regression introduced by the changes on
248 Wed Jun 9 10:08:02 2004 Chris Wilson <chris@netservers.co.uk>
250 * pptp.8, pptp.c, pptp_gre.c, pptp_gre.h: add --nobuffer option to
251 eliminate all buffering of packets, a "pptp quake patch".
253 Wed Jun 9 09:37:06 2004 Paul Howarth <paul@city-fan.org>
255 * inststr.c: fix non-setting of the command line.
257 Tue Jun 8 21:25:27 2004 James Cameron <quozl@us.netrek.org>
259 * pptp-linux-1.5.0-rc1 released.
261 Sat Jun 5 22:44:50 2004 James Cameron <quozl@us.netrek.org>
263 * pptp_ctrl.c (pptp_read_some): fix for CPU loop after pppd killed
264 with -9, if read() returns zero, it is because the control
265 connection has closed, so destroy the connection.
267 Wed Mar 24 08:45:12 2004 Mark-Andre Hopf <mhopf@innominate.com>
269 * pptp.c: fix compile for ARM architecture.
271 Mon Mar 8 11:04:00 2004 Chris Wilson <chris@netservers.co.uk>
273 * pptp.8: added documentation for command-line options where
274 missing. Updated to reflect the use of getopt.
276 Tue Mar 2 09:53:53 2004 Peter McCurdy <pmccurdy@nit.ca>
278 * pptp.c (main, do_nothing): do not hang when a connection is
279 refused. When the controlling process (pptp.c) paused while
280 waiting for the child to send SIGUSR1, if the child died then the
281 controlling process wouldn't ever wake up. Now if the child dies,
282 SIGCHLD gets handled and the controlling process quits.
284 Tue Feb 10 20:35:18 2004 James Cameron <quozl@us.netrek.org>
286 * pptp_gre.c (decaps_hdlc): temporarily add code that captures
287 additional detail if EMSGSIZE is returned by read().
289 Fri Jan 2 10:05:17 2004 James Cameron <quozl@us.netrek.org>
291 * pptp-linux-1.4.0 released.
293 Mon Dec 1 11:58:24 2003 James Cameron <quozl@us.netrek.org>
295 * pptp.c (main): remove arguments debugging printf.
297 Wed Nov 26 12:22:00 2003 Chris Wilson <chris@netservers.co.uk>
299 * pptp.c: fixed argument handling so that hostname can be supplied
300 anywhere on the command line, not just at the start. pppd options
301 starting with "-" but before "--" are no longer supported.
303 * pptp.c: added some spacing to improve readability, removed
304 pointless "Step X" comments.
306 * pptp.c: fixed usage message: there should not be a "pppd" in the
309 Mon Nov 10 15:39:41 2003 James Cameron <quozl@us.netrek.org>
311 * pptp-linux-1.4.0-rc1 released.
313 Thu Oct 23 12:48:54 2003 James Cameron <quozl@us.netrek.org>
315 * pptp_callmgr.c (callmgr_main): if connection fails, pptp enters
316 a CPU loop calling select() with no file descriptors set, and
317 being given EBADF. Introduced by yesterday's modifications.
318 Correct code to detect this situation and break the main loop.
320 Wed Oct 22 13:02:04 2003 James Cameron <quozl@us.netrek.org>
322 * pptp_ctrl.c (pptp_call_open): add an assertion to prevent a call
323 open attempt while the control connection is not established.
325 * pptp_callmgr.c (callmgr_main): avoid accepting a UNIX socket
326 connection and therefore calling pptp_call_open() if the control
327 connection has not yet been established.
329 * pptp_ctrl.c (pptp_conn_established): add function for
330 pptp_callmgr.c to use to determine if the control connection has
333 TODO: if a connection reply is not received, what happens?
335 Reported by: John BouAntoun
337 Mon Sep 8 10:33:41 2003 James Cameron <quozl@us.netrek.org>
339 * pptp.c: fix for compile on OpenBSD. From: Waldemar Brodkorb
341 Mon Aug 18 12:12:00 2003 Chris Wilson <chris@netservers.co.uk>
343 * pptp.c pptp_gre.c util.h: add log level control, to increase
344 or reduce verbosity of log messages, for debugging and for people
345 who have lossy connections.
347 Thu Aug 7 12:20:09 2003 James Cameron <quozl@us.netrek.org>
349 * pptp_gre.c (decaps_gre): fix reporting of packet loss.
352 Wed Jun 25 12:59:28 2003 Rein Klazes <rklazes@xs4all.nl>
354 * pptp_callmgr.c: Wait for the replies on our Call-Clear-Request's and
355 Stop-Control-Connection-Request's.
357 * pptp_ctrl.c: small tweak in a message about non existant call:
358 report the received call ID's.
360 Sun Jun 22 19:08:14 2003 Rein Klazes <rklazes@xs4all.nl>
362 * pptp_ctrl.c: Log the buffering and sending of ALL control
363 messages (except Echo messages and Replies of course).
364 Change the way the sending of these messages is done. The
365 original way was to first put them into a buffer ( in
366 pptp_send_ctrl_packet()) and at some later write the buffered
367 bytes to the socket ( in pptp_write_some()). Now
368 pptp_send_ctrl_packet first attempts to write the packet directly.
369 Only it the write() does not write all of the bytes, the remaining
370 ones are buffered. This should help to track bugs in this area (like
371 one sending two Start-Control-Request's).
373 Thu Jun 19 09:09:53 2003 Rein Klazes <rklazes@xs4all.nl>
375 * pptp_ctrl.c: Improve logging of received control packets:
376 Move duplicated code to report on Result codes and General errors
377 to a separate function; Verbosely report error codes embedded in
378 start-control-connection replies; Translated some French comment;
379 Log when an unexpected Outgoing Call Reply is received; Log the
380 receipt of ALL control messages (except in case of echo
381 request/reply packets of which only the first 10 are logged);
382 Shorten the name of the function "pptp_dispatch_ctrl_packet" to
383 "ctrlp_disp", 25 characters is just too much in the log files.
385 Thu Jun 19 10:11:26 2003 Jan Pieter <jp@jp.dhs.org>
387 * Makefile (uninstall): include uninstall target, and a minor fix
390 Wed Jun 18 12:19:09 2003 Rein Klazes <rklazes@xs4all.nl>
392 * pptp_gre.c: Instead of logging the (a)synchronous mode
393 of ppp, only issue a warning when it conflicts with the
395 Comparing two sequence numbers for(in)equality is safe even when
396 a wrap-around has occurred. This contrasts with comparing for
397 smaller/bigger. Remove a few unneeded tests for wrap-around.
399 Tue Jun 17 19:40:41 2003 Rein Klazes <rklazes@xs4all.nl>
401 * dirutil.c, ppp_fcs.c, pptp.c, pptp_gre.c, util.c, vector_test.c,
402 * pptp_ctrl.c, pptp_callmgr.c, vector.c : reformat code with
403 standard 4 spaced indents, uniform function headings and some
404 general tidying up. Patches have been separated in "diff -w"
405 invariant patches that should be safe and others that may be
408 Wed Jun 11 14:06:21 2003 Rein Klazes <rklazes@xs4all.nl>
410 * pptp_gre.c: When a timeout is specified in the select call
411 make it always non-zero. Making this call block makes it likely
412 that pppd will run before the select returns. This results in a
413 big reduction in transmitted ack-only packets (number down from
414 40% to 0.8% of received packets on my system).
416 Tue Jun 11 18:42:00 2003 James Cameron <quozl@us.netrek.org>
418 * pptp-linux-1.3.1 released.
420 Tue Jun 10 13:53:00 2003 Chris Wilson <chris@netservers.co.uk>
422 * pptp_callmgr.c: fixed a bug with call manager socket naming,
423 introduced since 1.2.0, which caused confusing problems when
424 trying to open more than one tunnel from the same machine.
426 Tue Jun 10 18:43:34 2003 James Cameron <quozl@us.netrek.org>
428 * pptp-linux-1.3.0 released.
430 Tue Jun 3 19:16:52 2003 James Cameron <quozl@us.netrek.org>
432 * pptp.8, pptp.c: change SIGHUP to SIGUSR1 for dumping stats.
434 Tue May 20 13:20:00 2003 Chris Wilson <chris@netservers.co.uk>
436 * pptp.c: rewrote command-line usage information, to increase
437 clarity and usefulness, and to describe various command-line
438 options which have been added recently.
440 Fri May 23 20:52:05 2003 Rein Klazes <rklazes@xs4all.nl>
442 * pptp_ctrl.c: increase the verbosity of the log message at the
443 receipt of a Call Disconnect Notification.
445 Mon May 12 16:56:14 2003 James Cameron <quozl@us.netrek.org>
447 * Makefile: don't install the manpage with execute permission,
448 swap LDFLAGS and LIBS so that one can say 'make LDFLAGS=-s' to
449 create a stripped versions of the executables, introduce the
450 optimization flag as a make variable, so that one can say 'make
451 DEBUG= OPTIMIZE=-O2 LDFLAGS=-s'. From: Peter Breitenlohner
453 Tue Apr 29 19:13:33 2003 James Cameron <quozl@us.netrek.org>
455 * Makefile (dist): remove CVS directory from distribution.
456 Reported by: Ola Lundqvist
458 Tue Apr 15 10:28:00 2003 Chris Wilson <chris@netservers.co.uk>
460 * pptp.c, pptp_gre.c, pptp_gre.h: Added GRE statistics counters
461 and RTT calculation, which can be dumped to the syslog by sending
462 a SIGHUP to the GRE-to-PPP gateway process.
464 Mon Apr 14 11:57:00 2003 Chris Wilson <chris@netservers.co.uk>
466 * pptp_gre.c: Fixed one case where an ACK could be immediately
467 followed by a data packet, they should be combined into a
470 Sat Mar 8 2003 15:19:12 2003 Rein Klazes <rklazes@xs4all.nl>
472 * pptp_gre.c, pqueue.c: Actually copy the packet into a new entry
473 in the packet queue, fixing "unknown protocol" error messages;
474 Change the program logic making it obvious that there is not a
476 Restore the "buffering out-of-order packet" log messages, so we
477 have a chance to notice any more side effects.
479 Mon Feb 17 09:18:30 2003 James Cameron <quozl@us.netrek.org>
481 * pptp_callmgr.c, pptp.c, Makefile: compile call manager from
482 Makefile rather than include from pptp.c. From: Jan Pieter
485 Sat Feb 15 21:32:42 2003 James Cameron <quozl@us.netrek.org>
487 * pptp_ctrl.c, pptp_msg.h: move code out of .h file and into .c
488 file. From: Jan Pieter <jp@jp.dhs.org>
490 Sat Feb 15 17:34:38 2003 James Cameron <quozl@us.netrek.org>
492 * pptp.c: add include fixes for Apple MacOS X as contributed by an
495 Sat Feb 15 14:59:20 2003 James Cameron <quozl@us.netrek.org>
497 * pptp.c, pptp_callmgr.c, pptp_gre.c: add localbind option to
498 support multiple clients from separate alias IP addresses.
499 From: Yury Tarasievich, with contributions by Ed Marcotte.
501 Fri Feb 14 10:11:27 2003 James Cameron <quozl@us.netrek.org>
503 * pptp-linux-1.2.0 released.
505 Fri Feb 14 16:08:26 CET 2003 Rein Klazes <rklazes@xs4all.nl>
507 * pptp_ctrl.c, pptp_msg.h: tweak the outgoing call reply messages
508 once more. Print the error text that comes with the result code.
510 * pptp.c: close all unused file descriptors belonging to the pty.
512 * pptp_gre.c: Convert received acknowledgement numbers from network
515 Mon Jan 20 11:46 2003 Chris Wilson <chris@netservers.co.uk>
517 * pqueue.c, pqueue.h: changed "expires" field of pqueue entry to a
518 struct timeval for microsecond accuracy (in theory =)
520 * pptp_gre.c: use queue head expiry time as the upper bound on how
521 long we block waiting for data from the network or pppd
523 * pptp.c: allow setting of packet timeout with sub-second
524 accuracy, print error message to stderr and exit if timeout out of
527 Mon Jan 13 10:28 2003 Chris Wilson <chris@netservers.co.uk>
529 * pqueue.c, pqueue.h: added freelist support for packet queue,
530 From: Kai Poitschke <kai@poitschke.de>. Should help to
531 prevent memory fragmentation and perhaps improve performance a
534 * pqueue.c: wrap some log() statements with DEBUG_CMD, should
535 improve performance (thanks to Kai Poitschke)
537 * pptpd.c: bugfix for --log-string option: make a copy of the
538 string with strdup, because optarg will be destroyed
540 Wed Jan 15 14:16:27 2003 James Cameron <quozl@us.netrek.org>
542 * AUTHORS, DEVELOPERS, NEWS, README, TODO, USING: add or move CVS
544 * DEVELOPERS: change IRC server name to new alias.
545 * AUTHORS: change a few addresses.
547 * README, USING: review and adjust, minor changes.
548 * Makefile (install): add MANDIR and man page.
550 Thu Jan 2 11:28:41 2003 James Cameron <quozl@us.netrek.org>
552 * pptp_gre.c: fix response to dropped packets. From: Rein Klazes.
554 Thu Jan 2 09:11:33 2003 James Cameron <quozl@us.netrek.org>
556 * pptp.8: the IP address should be before the option. From: Rein
559 Mon Dec 30 15:57:48 2002 James Cameron <quozl@us.netrek.org>
561 * Makefile (install): add install target.
563 Mon Dec 9 08:52:56 2002 James Cameron <quozl@us.netrek.org>
565 * pptp_callmgr.c, pptp.c: close stderr after becoming daemon,
566 otherwise ssh sessions, CGI scripts, or other programs that start
567 pptp don't exit properly; they are held up until the pptp
568 processes terminate and close stderr.
570 Thu Nov 21 08:41:39 2002 James Cameron <quozl@us.netrek.org>
572 * pptp_gre.c: log return value from the read of the GRE socket as
573 a signed number as well.
575 Wed Nov 20 11:21:48 CET 2002 Rein Klazes <rklazes@xs4all.nl>
577 * pptp_gre.c: log return value from the read of the pty as a signed
580 * pptp_ctrl.c: change the log message to clarify that error codes in a
581 outgoing call reply come from the server, not the client.
583 Wed Nov 20 16:07:30 2002 James Cameron <quozl@us.netrek.org>
585 * Makefile (dist): adjust distribution target to include new files
588 Wed Nov 20 15:17:12 2002 James Cameron <quozl@us.netrek.org>
590 * pptp_gre.c: hid many packet reordering log calls in an ifdef,
591 added a hint as to cause of EIO on read of the pty.
593 Fri Oct 11 15:44 BST 2002 Chris Wilson <chris@netservers.co.uk>
595 * pptp.c util.c util.h: added "--logstring" option to help identify
596 connections in syslog output where multiple connections are made
599 Wed Oct 02 10:31 BST 2002 Chris Wilson <chris@netservers.co.uk>
601 * pptp_gre.c pqueue.c: changed some "log" statements to "warn" to
602 reflect the severity of the condition, allowing much better filtering
603 * util.c: changed _warn to log at WARNING, and _fatal at CRIT level
604 * pptp_gre.c: disabled logging of individual accepted packets
605 * pptp_gre.c: removed a potential NULL pointer dereference crash
606 * pptp_gre.c: fixed the select-timeout check for packets in the queue
607 * pqueue.h: increased window size to 300 following testing
608 * pptp.c: added command-line parameter "--timeout" to set the
611 Fri Aug 30 09:55:05 CEST 2002 Rein Klazes <rklazes@xs4all.nl>
613 pptp_gre.c: Try to send more ACK's piggy backed on data packets.
614 Previously if there were any outstanding ACK's to be sent, the
615 program used a non-blocking select (timeout zero) to see if
616 any data packets are available. In most cases there will be none,
617 since the time passed since the last read is too short and an ACK
618 without data will be sent.
619 This change allows one outstanding ACK, for at most 0.5 second,
620 multiple outstanding ACK's are treated as before.
621 Tests show that this gives a big reduction in the number of
624 Fri Aug 30 09:15:35 CEST 2002 Rein Klazes <rklazes@xs4all.nl>
626 * pptp_gre.c: Sequence numbers of sent gre packets should start
629 Mon Aug 26 10:56:42 CEST 2002 Rein Klazes <rklazes@xs4all.nl>
631 * pptp.c pptp_gre.c pptp_gre.h: added "--sync" option to work
632 in combination with the pppd sync option. In synchronous mode
633 checksum calculations and (un-)escaping of control characters
634 become unnecessary. This results in big CPU usage reduction.
636 Mon Aug 26 08:53:45 CEST 2002 Rein Klazes <rklazes@xs4all.nl>
638 * pptp.c: fix bug in command line options parsing (misplaced break
639 in switch statement).
641 Wed Aug 21 10:57:01 2002 James Cameron <quozl@us.netrek.org>
643 * pptp.c: add handler for SIGCHLD.
644 From: Peter Surda <shurdeek@panorama.sth.ac.at>
646 Thu Aug 15 09:30:00 2002 Chris Wilson <chris@netservers.co.uk>
648 * pqueue.h: increased window size following James' tests
649 * pptp_gre.c: check for errors while dequeueing packets
651 Wed Aug 14 20:02:39 2002 James Cameron <quozl@us.netrek.org>
653 * pptp.c, pptp_gre.c, pqueue.c: packet re-ordering bugfixes
654 following distributed testing:
656 - Moved daemon() call to run on GRE gateway process only, and not
657 if running as pppd pty
658 - Make select() timeout after 1 second if there is data in the
659 queue, to prevent the queue from having to wait forever
660 - Added log messages for accepting individual packets (noisy!)
661 and for timeouts on missing packets
662 - Fixed a bug with the packet queue (append to tail was broken)
663 - Removed unused code from pqueue.c
665 From: chris@netservers.co.uk
667 Wed Aug 14 11:14:05 2002 James Cameron <quozl@us.netrek.org>
669 * pqueue.c, pqueue.h, pptp_gre.c: major changes to support packet
674 Packets are added to the queue by decaps_gre if their sequence
675 number is higher than expected, but within the window. The default
676 window is defined as 30 packets.
678 Packets which are below the window (older than the most recent
679 packet read) or above the window (too far ahead) are discarded, to
680 protect against denial-of-service attacks.
684 The new function dequeue_gre retrieves packets from the head of
687 1. Next in sequence (unwrapped or wrapped)
689 2. Older than five seconds (assuming that the intermediate packets
690 have been lost by the network).
692 The function will continue to read packets from the head of the
693 queue until it finds one which doesn't match these criteria, and
698 There are some limitations with this patch:
700 - The receive window is hardcoded at 30 packets. I couldn't see
701 where to get the negotiated and/or current window size from.
703 - The timeout is hardcoded at 5 seconds. A packet which was
704 received and queued within the window, but which should have been
705 preceded by other packets which never appeared, will be accepted
706 anyway after this time (increasing the sequence number to its
709 - There may be memory leaks or other bugs in the reordering code.
711 * pqueue.c, pqueue.h, Makefile (PPTP_OBJS, PPTP_DEPS): add two new
712 files to the pptp executable. pqueue.c implements the packet queue
713 used by the reordering code, and pqueue.h describes its public
714 interface. The queue is implemented as a linked list. This is
715 required for reordering.
717 * pptp.c: Add a new command-line option, --debug. Prevents pptp
718 from going into the background.
720 Change to call the daemon(3) function to change the current
721 directory and close the standard file descriptors. This prevents a
722 shell from hanging open if pptp is started remotely.
724 * Makefile (CFLAGS): reduce the optimisation level (gcc's -O flag)
725 to zero (none), to make debugging easier.
727 * pptp.c (get_ip_address): avoid reporting h_errno value.
729 From: chris@netservers.co.uk
731 Thu Jul 18 12:26:25 2002 James Cameron <quozl@us.netrek.org>
733 * pptp_gre.h, pptp_gre.c, pptp.c: bind the GRE socket early, by
734 calling the a function pptp_gre_bind. Also changed prototype of
735 pptp_gre_copy. Fixes ICMP Unreachable bug:
736 <1026868263.2855.67.camel@jander> 16th July 2002.
737 From: chris@netservers.co.uk
739 Thu May 30 18:28:02 2002 James Cameron <quozl@us.netrek.org>
741 * pptp_ctrl.c (pptp_call_open): do translation to network byte
742 order after limit checking of phone number.
743 From: staelin@hpl.hp.com
745 2002-05-13 08:14:40 Muli Ben-Yehuda <mulix@actcom.co.il>
747 * TODO: remove 'remove setjmp/longjmp' TODO item.
748 * pptp.c: change comment re volatile qualifiers.
749 * pptp_callmgr.c: remove unused function 'conn_callback' and
750 change comment re volatile qualifiers.
752 Thu Apr 4 09:34:10 2002 James Cameron <quozl@us.netrek.org>
754 * pptp_ctrl.c: correct spelling error.
755 From: Mary.Deck@COMPAQ.com
757 2002-03-30 13:13:52 mulix <mulix@actcom.co.il>
759 * USING: change URL for bezeq adsl howto.
760 * pptp.c: (get_ip_address): if the user runs 'pptp --quirks ...'
761 instead of 'pptp hostname', we'll get here and then give a verbose
764 Mon Mar 11 10:21:00 2002 mulix <mulix@actcom.co.il>
766 * Makefile (all): make config.h before making $(PPTP_BIN).
767 * Makefile (config.h): truncate the file if it exists before
768 inputing to it - '>' instead of '>>'
770 Mon Mar 11 12:48:16 2002 James Cameron <quozl@us.netrek.org>
772 * DEVELOPERS: add mailing lists.
773 * Makefile (CFLAGS): remove PPPD_BINARY and PPTP_LINUX_VERSION in
774 favour of a config.h file.
775 * Makefile (config.h): create config.h from Makefile variables
776 * Makefile (PPTP_DEPS): add config.h
777 * pptp.c: include config.h
778 * version.c: include config.h
779 * util.c (PROGRAM_NAME): no longer used by two programs, change
780 PROGRAM_NAME to default to pptp.
781 * Makefile (CFLAGS): remove -DPROGRAM_NAME
783 Fri Mar 8 11:56:00 2002 mulix <mulix@actcom.co.il>
785 * TODO: remove notes about compiler warnings, as all compiler
786 warnings are now gone.
787 * pptp.c (main): add volatile qualifier to some variables to
788 silence gcc warnings 'variable might be clobbered by longjmp or
789 vfork'. add note explaining why volatile and that it should be
790 removed when the longjmp is removed.
791 * pptp_callmgr.c (main): likewise.
792 * inststr.c (inststr): break up "ptr += strlen(++ptr)" which is
793 undefined behaviour into two expressions.
794 * pptp.c (main): initialize callmgr_sock to -1 since it might be
795 used uninitialized otherwise.
796 * pptp_ctrl.c (pptp_dispatch_ctrl_packet): #ifdef 0 two unused
797 variables referring to the current packet, which should not be
798 simply erased, as we might want to use them in the future.
799 * util.c: add missing #include.
801 Fri Mar 8 21:11:17 2002 James Cameron <quozl@us.netrek.org>
803 * DEVELOPERS: new file.
805 Fri Mar 8 10:12:28 2002 James Cameron <quozl@us.netrek.org>
807 * NEWS: convert to newest first format to comply with GNU Coding
808 Standards, The NEWS File.
810 Fri Mar 8 09:01:22 2002 James Cameron <quozl@us.netrek.org>
812 * pptp_ctrl.c (pptp_make_packet): Cisco PIX is generating a
813 non-complaint header with the reserved0 field not zero, causing
814 the connection to stop after 60 seconds.
815 From: Rein Klazes <rklazes@xs4all.nl>
817 Fri Mar 8 08:56:30 2002 James Cameron <quozl@us.netrek.org>
819 * TODO: add compiler warnings note.
820 * NEWS: propogate summary of ChangeLog.
821 * AUTHORS: add names from mailing list contributions.
822 From: Rein Klazes <rklazes@xs4all.nl>
823 * Makefile: remove pptp_callmgr binary
824 * debian/copyright: adjust pointer to current release.
825 * debian/rules, Makefile: remove pptp_callmgr binary now that pptp
826 forks and calls it without exec.
828 Sat Mar 2 04:04:37 2002 James Cameron <quozl@us.netrek.org>
830 * README: adopt new mailing lists and point to project web site.
831 * USING: include psuedo-tty activation instructions.
832 * Makefile: increment version, avoid clobbering editor backup
835 Fri Mar 1 12:13:03 2002 James Cameron <quozl@us.netrek.org>
837 * pptp_gre.c: move #include <sys/types.h> higher up
838 * pptp_gre.c, pptp_ctrl.c: change unsigned to unsigned int
839 * pptp.c: what we need from pty.h is in libutil.h for FreeBSD and
840 util.h for NetBSD (ideally this should be in autoconf)
841 * pptp.c: synchronisation changes
842 * orckit_quirks.c: #include <sys/types.h>
843 From: rhialto@azenomei.knuffel.net
845 Fri Nov 23 14:42:07 2001 James Cameron <quozl@us.netrek.org>
847 * USING: reformat, add version header.
849 Tue Nov 20 11:01:10 2001 mulix <mulix@actcom.co.il>
851 * AUTHORS: add mulix.
852 * USING: add paragraph on quirks support.
853 * orckit_quirks.c: remove debugging call, rename functions and
854 variables consistently.
855 * pptp.c: (usage) remove debugging print.
856 * pptp_ctrl.c: when calling quirks hooks, check their return
857 values and warn if an error occurs.
858 * pptp_quirks.c: orckit_atur3_start_ctrl_conn was renamed
859 orckit_atur3_start_ctrl_conn_hook.
860 From: mulix@actcom.co.il
862 Tue Nov 20 17:01:10 2001 James Cameron <quozl@us.netrek.org>
864 * orckit_quirks.c, orckit_quirks.h: add quirks handling for orckit
866 * pptp_quirks.c, pptp_quirks.h: add generic quirks handling.
867 * Makefile (PPTP_DEPS, PPTP_OBJS, CALLMGR_OBJS, CALLMGR_DEPS): add
868 quirks sources and objects.
869 * pptp_ctrl.c: add pptp_set_link, add code to adjust packets
871 * pptp.c (usage, long_options, main): add --quirks command line
873 From: mulix@actcom.co.il
875 Tue Nov 20 16:45:35 2001 James Cameron <quozl@us.netrek.org>
877 * pptp_gre.c: enhance error message for bad FCS.