1# LIC: GPL
2Changes from Version 3.10 to 3.11:
3
4- Make the rp-pppoe.so plugin avoid calling exit() if the "persist" pppd
5  option was given.
6
7- Permit both PPPoE server and client to specify an MTU/MRU of 1500 assuming
8  the underlying Ethernet interface has an MTU of at least 1508.  The larger
9  MTU is negotiated per RFC 4638.  NOTE: Only available with kernel-mode
10  plugin, not user-mode pty redirector.
11
12- Get rid of hard-coded nobsdcomp, nodeflate, novj and novjccomp options
13  in pppoe-server.
14
15- Apply patch from Philip Prindeville to allow cross-compiling.
16
17- Handle UNIT=xxx directive in pppoe-connect. (Keith Waters)
18
19- Add "-i" flag to pppoe-server to ignore PADIs if there are no free sessions.
20  Change suggested by Miroslav Lednicky.
21
22- Ignore PADTs not destined for our ethernet address.
23
24- Add "-X <pidfile>" option to pppoe-server.
25
26- Cleanup Makefile.in. (Philip Prindeville)
27
28- In plugin, don't set devnam if it's already set. (Mike Ireton)
29
30- Eliminate race condition in signal handling.
31
32- pppoe-server: Add -q and -Q options to allow specification of path to
33  pppd and pppoe programs respectively.
34
35- Add a few more sanity checks to pppoe-server packet handling.
36
37- Use -fno-strict-aliasing when compiling with gcc to avoid possible problems
38  from -O2 optimization level.
39
40Changes from Version 3.9 to 3.10: (30 June 2008)
41
42- Fixed compilation problems on various platforms.
43
44- The Makefiles now use (standard) DESTDIR instead of (non-standard)
45  RPM_INSTALL_ROOT to relocate installed files.
46
47- Spec file has been updated (it had languished since 3.6.)
48
49Changes from Version 3.8 to 3.9: (21 June 2008)
50
51- pppoe-server has new "-x" option to limit the number of sessions per
52  MAC address.
53
54- Added proper timeout handling while waiting for PADO/PADS.
55
56- Fix race condition with some access concentrators that move very quickly
57  into session mode (problem noted by Luigi Sgro)
58
59- Fixed compilation problem on BSD.
60
61- Fixed compilation problems with old versions of gcc
62
63- Remove superfluous options in scripts/pppoe-connect.in
64
65Changes from Version 3.7 to 3.8: (2 April 2006)
66
67- Adjusted code and made it possible to disable debugging code to shrink
68  size of pppoe executable.
69
70- Fixed bug in MD5 code that caused pppoe-server to segfault on 64-bit
71  machines.
72
73- Made various functions and variables static that didn't need to be visible
74  outside their source files.
75
76Changes from Version 3.6 to 3.7:
77
78- Fixed typo in the firewall-standalone sample firewall script.
79  Fix courtesy of Robert Vogelgesang <vogel@users.sourceforge.net>
80
81- Added -O option to pppoe-server to let you specify a different default
82  options file for pppd instead of /etc/ppp/pppoe-server-options
83  Feature courtesy of Robert Vogelgesang <vogel@users.sourceforge.net>
84
85- Fixed some silliness and incorrectness in configure.in.
86  Feature courtesy of Robert Vogelgesang <vogel@users.sourceforge.net>
87
88- Fixed a typo in pppoe-connect.in that made it fail if used with the
89  kernel-mode plugin.
90
91- Make pppoe-server prepend "nic-" to interface name if used with
92  kernel-mode plugin.  This lets you use interfaces that don't start
93  with "eth" more easily.
94
95
96Changes from Version 3.5 to 3.6:
97
98- Changed the names of commands from adsl-* to pppoe-* to more logically
99  name the scripts.  NOTE INCOMPATIBILITY:
100
101  OLD NAME                   NEW NAME
102  adsl-start                 pppoe-start
103  adsl-stop                  pppoe-stop
104  adsl-status                pppoe-status
105  adsl-connect               pppoe-connect
106  adsl-setup                 pppoe-setup
107
108- Changed sample firewall scripts to use iptables instead of the old ipchains
109  command.
110
111- Updated KERNEL-MODE-PPPOE instructions to reflect more modern pppd that
112  is commonly distributed.
113
114- Make the userland pppoe daemon run as "nobody" if possible, once session
115  has started.
116
117- Make userland pppoe program somewhat safe if it is installed SUID or
118  SGID.  Note that I still do *NOT* recommend a SUID/SGID pppoe.
119
120- Fix long-standing bug in pppoe-server that passed arguments to pppd in the
121  wrong order.
122
123- Fix kernel-mode plugin.  It was broken by changes to pppd.  The pppd
124  maintainers fixed their version of the plugin, but neglected to inform me.
125  Thanks a lot, guys!
126
127- Make plugin accept argument of the form "nix-XXXX" to force it to use
128  device "XXXX" as the Ethernet interface.  This allows the use of devices
129  whose names do not start with "eth"
130
131
132Changes from Version 3.4 to 3.5:
133
134- Fixes for compilation on Solaris.
135
136
137Changes from Version 3.3 to 3.4:
138
139- INCOMPATIBILITY WITH EARLIER VERSIONS:
140  Kernel-mode plugin now is built against latest CVS ppp source rather than
141  Michal Ostrowski's patched version.  If you use kernel-mode PPPoE, you
142  MUST use the CVS version of the ppp source code with rp-pppoe 3.4.
143
144- Print PPPoE session number when connection terminates.  Thanks to
145  Alexander Dalloz for suggesting this.
146
147- Fixed a bug in MSS clamping -- it now works with protocol-field compression.
148  Thanks to Gerd v. Egidy for the patch.
149
150- Ignore SIGINT and SIGTERM so LCP termination packets make it out.
151
152
153Changes from Version 3.2 to 3.3:
154
155- Client works on Solaris again.  It was broken in 3.2.
156
157- Added DEFAULTROUTE=yes|no option to configuration file.
158
159- Server parses address pool file better.
160
161- Server address pool allows ranges of addresses on a line: a.b.c.d-e
162
163- Added "-d" (=debug) and "-P" (=check pool file syntax) options to
164  pppoe-server.
165
166
167Changes from Version 3.1 to 3.2:
168
169- Client now ignores PADT's if they are from the wrong source MAC address
170  or to the wrong destination MAC address.
171
172- Minor fixes to Makefile.in for Turbolinux.
173
174
175Changes from Version 3.0 to 3.1:
176
177- Improved KERNEL-MODE-PPPOE instructions
178
179- Works with patched pppd 2.4.1
180
181- Many improvements to server:  Added "-u" and "-r" options; server can
182  now respond to request on multiple Ethernet interfaces.
183
184- SECURITY BUG FIX: Server now ignores PADT's if they are from the wrong
185  source MAC address.  You are STRONGLY RECOMMENDED to upgrade to 3.1
186  if you use pppoe-server in production.
187
188
189Changes from Version 2.8 to 3.0:
190
191- Many small improvements to server.  Server now only makes one
192  discovery socket, systemwide, with addition of "-n" option to pppoe.
193
194- Fixes for compilation problems on BSD, Solaris and some Linux platforms.
195
196- Added "-p" option to pppoe-server to allow you to specify a pool of
197  IP addresses to assign to clients.
198
199- Added GUI system (tkpppoe).  This work was funded by Iospan
200  Wireless, Inc.  The GUI includes a Set-UID wrapper (pppoe-wrapper)
201  which allows ordinary users to control a link (if so authorized.)
202  I believe the wrapper script is secure, but please audit the
203  source code (gui/wrapper.c) if you have any concerns.
204
205- Changes to scripts and pppoe.conf.  DNS setup is now dynamic (happens
206  each time adsl-connect runs.)
207
208- Made relay.c check packet lengths rigorously; made it throw out Ethernet
209  frame padding on session packets as well as discovery packets.
210
211
212Changes from Version 2.7 to 2.8:
213
214- Added init scripts for TurboLinux, courtesy of Yasuhiro Sumi.
215
216- Made relay.c check packet lengths rigorously; made it throw out Ethernet
217  frame padding on discovery packets.
218
219*** NOTE: 2.7 was not released publicly
220
221
222Changes from Version 2.6 to 2.7:
223
224- Completely restructured source file tree.
225
226- Much internal restructuring to eliminate a bunch of global variables.
227
228- adsl-connect now executes /etc/ppp/adsl-lost whenever connection is dropped
229  or cannot be established.
230
231- Split pppoe.c into pppoe.c and discovery.c.
232
233- Added relay agent (pppoe-relay).
234
235- Made adsl-connect script use the "-U" (host-unique) option to better support
236  multiple PPPoE links.
237
238- Added support for kernel-mode PPPoE (EXPERIMENTAL, UNSUPPORTED!)
239
240- Added "-o" option to PPPoE server; encoded server PID in pppoe-server
241  cookie.
242
243
244Changes from Version 2.5 to 2.6:
245
246- Code should now compile cleanly on Caldera and Slackware Linux
247
248- Fixed rp-pppoe.spec file to work on Mandrake and Red Hat.
249
250- Deleted some obsolete files
251
252- Fixed bug in Solaris/x86 port (thanks to Philippe Levan)
253
254- Made shell scripts nicer under Solaris (again, Philippe Levan)
255
256- Made adsl-status look under /var/run and /etc/ppp for PID files.  Should
257  fix problems with NetBSD.
258
259- Added PPPD_EXTRA to pppoe.conf; made the PID file depend on the config
260  file name.  This makes it easier to run multiple PPPoE sessions.
261
262
263Changes from Version 2.4 to 2.5:
264
265- Tested for zero-length TCP option-length field, and for reverse-packing
266  of type/code bitfields.  Thanks to Robert Schlabbach for pointing out
267  these problems.
268
269- Set umask to 077 in adsl-setup.in to protect created files like
270  /etc/ppp/pap-secrets.
271
272
273Changes from Version 2.3 to 2.4:
274
275- Fixed spec file to automatically add .gz extension to man files as required
276
277- Tightened firewall rules.
278
279- Better check for /var/run in adsl-status; minor shell script fixes and
280  cleanups for NetBSD and Solaris.
281
282- Added FAQ to HOW-TO-CONNECT regarding running a script each time a
283  connection is made.
284
285
286Changes from Version 2.2 to 2.3:
287
288- Fixed the init script to create/remove /var/lock/subsys/adsl (patch
289  courtesy of Charley Carter.)
290
291- Added support (under Linux) for N_HDLC line discipline which should
292  greatly reduce CPU usage.  My tests show it cuts CPU usage in half.
293  My 486 DX2/66 gets 800 kb/s at 22% CPU usage.
294
295- adsl-connect uses "setsid" (if available) so that adsl-stop doesn't kill
296  its caller.  There is (IMO) a bug in pppd which kills all processes in
297  its process group if the "pty" option is used.  The setsid program gets
298  around this bug, on Linux at least.
299
300- Port to Solaris, courtesy of David Holland.
301
302- Renamed spec file from "spec" to "rp-pppoe.spec" and made some cleanups.
303  NOTE: Red Hat, in their infinite wisdom, decided to make the new RPM
304  compress man pages automatically.  You may have problems building RPM's
305  from source unless you get the latest rpm package and make sure it
306  compresses man pages.
307
308
309Changes from Version 2.1 to 2.2:
310
311- Added "-f" option to pppoe to allow use of any Ethernet frame type
312  for PPPoE.  USE WITH CAUTION -- this is a workaround for broken DSL
313  providers, not something you should monkey with freely!
314
315- Added pppoe-sniff program to help expose non-standard PPPoE implementations.
316
317
318Changes from Version 2.0 to 2.1:
319
320- Fixed minor bugs in bounds-checking
321
322- Modified adsl-status to use output of "netstat -r -n" to determine whether
323  or not link is up.  This should make it independent of locale, I hope!
324
325- Added "-k" and "-d" options to pppoe.
326
327
328Changes from Version 1.9 to 2.0:
329
330- Addition of pppoe-server
331
332- Massive internal code restructuring
333
334- Zealous bounds-checking everywhere.
335
336- adsl-setup now quotes user name and password in /etc/ppp/pap-secrets.
337
338- Ported to OpenBSD, FreeBSD and NetBSD, courtesy of Geoff Mottram
339  and Yannis Sismanis.
340
341- Rearranged adsl-* shell scripts, courtesy of Heiko Schlittermann.
342
343- Fixed bug in which Host-Uniq did not work if access concentrator sent
344  a cookie.
345
346- Addition of SuSE-specific "init" script, courtesy of Gary Cameron.
347
348
349Changes from Version 1.8 to 1.9:
350
351- Added some more documentation to HOW-TO-CONNECT
352
353- Demand-dialling option now works correctly
354
355- SIGHUP terminates pppoe after sending a PADT to the access concentrator
356
357- Minor cleanups to connection shell scripts
358
359
360Changes from Version 1.7 to 1.8:
361
362- Added demand-dialling option
363
364- Clarified HOW-TO-CONNECT
365
366- Added adsl-status script
367
368- Added "restart" and "status" options to Red Hat /etc/rc.d/init.d/adsl script
369
370- Made adsl-setup check for existence of pppd
371
372- Wildcarded external interface in firewall rules
373
374- Made pppoe send a PADT frame if connection is terminated
375
376$Id$
377