From 6387e8e4581312c11d00c07821fb5d0ce35a862e Mon Sep 17 00:00:00 2001
From: Jo-Philipp Wich <jow@openwrt.org>
Date: Tue, 19 Jun 2012 17:03:24 +0000
Subject: ppp: annotate most patches with description and S-o-b

SVN-Revision: 32463
---
 .../ppp/patches/010-use_target_for_configure.patch |  9 ++++--
 package/ppp/patches/100-debian_ip-ip_option.patch  | 12 ++++++++
 package/ppp/patches/101-debian_close_dev_ppp.patch | 12 ++++++++
 .../ppp/patches/103-debian_fix_link_pidfile.patch  | 11 ++++++++
 package/ppp/patches/106-debian_stripMSdomain.patch | 13 +++++++++
 .../ppp/patches/107-debian_pppatm_cleanup.patch    | 32 ----------------------
 .../ppp/patches/107-debian_pppoatm_wildcard.patch  | 25 +++++++++++++++++
 package/ppp/patches/110-debian_defaultroute.patch  | 12 ++++++++
 .../patches/120-debian_ipv6_updown_option.patch    | 12 ++++++++
 package/ppp/patches/200-makefile.patch             |  7 +++++
 package/ppp/patches/201-mppe_mppc_1.1.patch        |  7 +++++
 package/ppp/patches/202-no_strip.patch             |  8 ++++++
 package/ppp/patches/203-opt_flags.patch            |  8 ++++++
 .../ppp/patches/205-no_exponential_timeout.patch   |  7 +++++
 .../ppp/patches/206-compensate_time_change.patch   | 13 +++++++++
 package/ppp/patches/207-lcp_mtu_max.patch          |  8 ++++++
 package/ppp/patches/208-fix_status_code.patch      | 12 ++++++++
 .../ppp/patches/300-filter-pcap-includes-lib.patch |  7 +++++
 package/ppp/patches/310-precompile_filter.patch    | 13 +++++++++
 package/ppp/patches/320-custom_iface_names.patch   |  9 ++++++
 .../330-retain_foreign_default_routes.patch        | 12 ++++++++
 .../ppp/patches/340-populate_default_gateway.patch | 13 +++++++++
 .../ppp/patches/400-simplify_kernel_checks.patch   | 20 ++++++++++----
 package/ppp/patches/401-no_record_file.patch       |  7 +++++
 package/ppp/patches/403-no_wtmp.patch              |  7 +++++
 .../404-remove_obsolete_protocol_names.patch       |  7 +++++
 package/ppp/patches/405-no_multilink_option.patch  |  9 ++++++
 package/ppp/patches/430-pppol2tpv3-struct.patch    |  7 +++++
 28 files changed, 280 insertions(+), 39 deletions(-)
 delete mode 100644 package/ppp/patches/107-debian_pppatm_cleanup.patch
 create mode 100644 package/ppp/patches/107-debian_pppoatm_wildcard.patch

diff --git a/package/ppp/patches/010-use_target_for_configure.patch b/package/ppp/patches/010-use_target_for_configure.patch
index e185be0bea..aff0df67f8 100644
--- a/package/ppp/patches/010-use_target_for_configure.patch
+++ b/package/ppp/patches/010-use_target_for_configure.patch
@@ -1,6 +1,11 @@
+configure: Allow overriding uname results
 
-	Use values exported from $(TOPDIR)/rules.mk for determining
-	the target system instead of the host configuration
+In a cross compile setting it makes no sense to rely on the "uname" values
+reported by the build host system. This patch allows overriding the
+"uname -r", "uname -s" and "uname -m" results with the "UNAME_R", "UNAME_S"
+and "UNAME_M" environment variables.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
 
 --- a/configure
 +++ b/configure
diff --git a/package/ppp/patches/100-debian_ip-ip_option.patch b/package/ppp/patches/100-debian_ip-ip_option.patch
index 4ba12fc274..ca43cb2780 100644
--- a/package/ppp/patches/100-debian_ip-ip_option.patch
+++ b/package/ppp/patches/100-debian_ip-ip_option.patch
@@ -1,3 +1,15 @@
+pppd: Allow specifying ip-up and ip-down scripts
+
+This patch implements the "ip-up-script" and "ip-down-script" options which
+allow to specify the path of the ip-up and ip-down scripts to call.
+
+These options default to _PATH_IPUP and _PATH_IPDOWN to retain the 
+existing behaviour.
+
+The patch originated from the Debian project.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/ipcp.c
 +++ b/pppd/ipcp.c
 @@ -1939,7 +1939,7 @@ ipcp_up(f)
diff --git a/package/ppp/patches/101-debian_close_dev_ppp.patch b/package/ppp/patches/101-debian_close_dev_ppp.patch
index 2a30f45bdd..232b10b521 100644
--- a/package/ppp/patches/101-debian_close_dev_ppp.patch
+++ b/package/ppp/patches/101-debian_close_dev_ppp.patch
@@ -1,3 +1,15 @@
+pppd: Close already open ppp descriptors
+
+When using the kernel PPPoE driver in conjunction with the "persist" option,
+the already open descriptor to /dev/ppp is not closed when the link is
+reestablished. This eventually leads to high CPU load because the stray 
+descriptors are always reported as ready by select().
+
+This patch closes the descriptor if it is already open when establishing a
+new connection. It originated from the Debian project.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/sys-linux.c
 +++ b/pppd/sys-linux.c
 @@ -453,6 +453,13 @@ int generic_establish_ppp (int fd)
diff --git a/package/ppp/patches/103-debian_fix_link_pidfile.patch b/package/ppp/patches/103-debian_fix_link_pidfile.patch
index b8c4aaaf6a..c8a23edd6a 100644
--- a/package/ppp/patches/103-debian_fix_link_pidfile.patch
+++ b/package/ppp/patches/103-debian_fix_link_pidfile.patch
@@ -1,3 +1,14 @@
+pppd: Fix creation of linkpidfile
+
+When pppd is run without "nodetach" or with "updetach", the linkpidfile is
+never created. The call to create_linkpidfile() is protected by a check for
+linkpidfile[0] but this is only filled in when create_linkpidfile() is called.
+
+This patch changes to code to allways uncondiationally call
+create_linkpidfile(), it originated from the Debian project.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/main.c
 +++ b/pppd/main.c
 @@ -773,8 +773,7 @@ detach()
diff --git a/package/ppp/patches/106-debian_stripMSdomain.patch b/package/ppp/patches/106-debian_stripMSdomain.patch
index b65f52ec9d..86af1ef412 100644
--- a/package/ppp/patches/106-debian_stripMSdomain.patch
+++ b/package/ppp/patches/106-debian_stripMSdomain.patch
@@ -1,3 +1,16 @@
+pppd: Implement option to strip domain part from MS CHAP response
+
+This patch implements a new boolean option "chapms-strip-domain" which
+strips the leading domain part of the username in a received MS Chap
+response.
+
+When the option is set, all leading chars up to and including the last
+backslash in the username are stripped. The option defaults to false.
+
+The patch originated from the Debian project.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/chap-new.c
 +++ b/pppd/chap-new.c
 @@ -58,6 +58,7 @@ int (*chap_verify_hook)(char *name, char
diff --git a/package/ppp/patches/107-debian_pppatm_cleanup.patch b/package/ppp/patches/107-debian_pppatm_cleanup.patch
deleted file mode 100644
index a3d80a8880..0000000000
--- a/package/ppp/patches/107-debian_pppatm_cleanup.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- a/pppd/plugins/pppoatm/pppoatm.c
-+++ b/pppd/plugins/pppoatm/pppoatm.c
-@@ -75,13 +75,14 @@ static int setdevname_pppoatm(const char
- 	//info("PPPoATM setdevname_pppoatm: '%s'", cp);
- 	memset(&addr, 0, sizeof addr);
- 	if (text2atm(cp, (struct sockaddr *) &addr, sizeof(addr),
--	    T2A_PVC | T2A_NAME) < 0) {
--               if(doit)
--                   info("atm does not recognize: %s", cp);
-+	    T2A_PVC | T2A_NAME | T2A_WILDCARD) < 0) {
-+		if (doit)
-+			info("cannot parse the ATM address: %s", cp);
- 		return 0;
--           }
--	if (!doit) return 1;
--	//if (!dev_set_ok()) return -1;
-+	}
-+	if (!doit)
-+		return 1;
-+
- 	memcpy(&pvcaddr, &addr, sizeof pvcaddr);
- 	strlcpy(devnam, cp, sizeof devnam);
- 	devstat.st_mode = S_IFSOCK;
-@@ -170,7 +171,7 @@ static void disconnect_pppoatm(void)
- 
- void plugin_init(void)
- {
--#if defined(__linux__)
-+#ifdef linux
- 	extern int new_style_driver;	/* From sys-linux.c */
- 	if (!ppp_available() && !new_style_driver)
- 		fatal("Kernel doesn't support ppp_generic - "
diff --git a/package/ppp/patches/107-debian_pppoatm_wildcard.patch b/package/ppp/patches/107-debian_pppoatm_wildcard.patch
new file mode 100644
index 0000000000..eaad2cdaae
--- /dev/null
+++ b/package/ppp/patches/107-debian_pppoatm_wildcard.patch
@@ -0,0 +1,25 @@
+pppoatm: Allow wildcard ATM devices
+
+When operating pppd's pppoatm plugin with an USB ADSL modem, e.g. an
+Alcatel Speedtouch, the ATM device number might change when the modem is
+reconnected to the USB port or when the host controller resets the USB
+device.
+
+This patch allows to specify the ATM device as wildcard which gives
+enough flexibility to cope with changing device names.
+
+The patch originated from the Debain project.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
+--- a/pppd/plugins/pppoatm/pppoatm.c
++++ b/pppd/plugins/pppoatm/pppoatm.c
+@@ -75,7 +75,7 @@ static int setdevname_pppoatm(const char
+ 	//info("PPPoATM setdevname_pppoatm: '%s'", cp);
+ 	memset(&addr, 0, sizeof addr);
+ 	if (text2atm(cp, (struct sockaddr *) &addr, sizeof(addr),
+-	    T2A_PVC | T2A_NAME) < 0) {
++	    T2A_PVC | T2A_NAME | T2A_WILDCARD) < 0) {
+                if(doit)
+                    info("atm does not recognize: %s", cp);
+ 		return 0;
diff --git a/package/ppp/patches/110-debian_defaultroute.patch b/package/ppp/patches/110-debian_defaultroute.patch
index 0a0691e983..41d28909be 100644
--- a/package/ppp/patches/110-debian_defaultroute.patch
+++ b/package/ppp/patches/110-debian_defaultroute.patch
@@ -1,3 +1,15 @@
+pppd: Add "replacedefaultroute" and "noreplacedefaultroute" options
+
+This patch implements two new options, "replacedefaultroute" to replace any
+existing system default route when specified and "noreplacedefaultroute" to
+disable the "replacedefaultroute" option, which is useful in multi user
+environments where the administrator wants to allow users to dial pppd
+connections but not allow them to change the system default route.
+
+The patch originated from the Debian project.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/ipcp.c
 +++ b/pppd/ipcp.c
 @@ -198,6 +198,14 @@ static option_t ipcp_option_list[] = {
diff --git a/package/ppp/patches/120-debian_ipv6_updown_option.patch b/package/ppp/patches/120-debian_ipv6_updown_option.patch
index acee85ba40..c5457fa515 100644
--- a/package/ppp/patches/120-debian_ipv6_updown_option.patch
+++ b/package/ppp/patches/120-debian_ipv6_updown_option.patch
@@ -1,3 +1,15 @@
+pppd: Allow specifying ipv6-up and ipv6-down scripts
+
+This patch implements the "ipv6-up-script" and "ipv6-down-script" options
+which allow to specify the path of the ipv6-up and ipv6-down scripts to call.
+
+These options default to _PATH_IPV6UP and _PATH_IPV6DOWN to retain the
+existing behaviour.
+
+The patch originated from the Debian project.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/main.c
 +++ b/pppd/main.c
 @@ -318,6 +318,8 @@ main(argc, argv)
diff --git a/package/ppp/patches/200-makefile.patch b/package/ppp/patches/200-makefile.patch
index af826749c3..9db908de8d 100644
--- a/package/ppp/patches/200-makefile.patch
+++ b/package/ppp/patches/200-makefile.patch
@@ -1,3 +1,10 @@
+pppd: tune Linux config defaults for OpenWrt
+
+This patch adjusts a number defaults to properly match the OpenWrt environment.
+It is not intended for upstream.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/Makefile.linux
 +++ b/pppd/Makefile.linux
 @@ -48,7 +48,7 @@ MPPE=y
diff --git a/package/ppp/patches/201-mppe_mppc_1.1.patch b/package/ppp/patches/201-mppe_mppc_1.1.patch
index 62b09d4a13..3edd11e7f6 100644
--- a/package/ppp/patches/201-mppe_mppc_1.1.patch
+++ b/package/ppp/patches/201-mppe_mppc_1.1.patch
@@ -1,3 +1,10 @@
+pppd: add support for MPPE and MPPC encryption and compression protocols
+
+This is a forward ported version of ppp-2.4.3-mppe-mppc-1.1.patch.gz found on
+http://mppe-mppc.alphacron.de/ .
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/include/linux/ppp-comp.h
 +++ b/include/linux/ppp-comp.h
 @@ -36,7 +36,7 @@
diff --git a/package/ppp/patches/202-no_strip.patch b/package/ppp/patches/202-no_strip.patch
index 359db14a3a..87c76ad0e7 100644
--- a/package/ppp/patches/202-no_strip.patch
+++ b/package/ppp/patches/202-no_strip.patch
@@ -1,3 +1,11 @@
+build: Do not strip binaries on install
+
+Strippign executables should be handled by the distro packaging, not by ppp
+itself. This patch removes the "-s" (strip) switch from all "install" commands
+in order to install unstripped binaries into the destination prefix.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/chat/Makefile.linux
 +++ b/chat/Makefile.linux
 @@ -25,7 +25,7 @@ chat.o:	chat.c
diff --git a/package/ppp/patches/203-opt_flags.patch b/package/ppp/patches/203-opt_flags.patch
index f0d416f682..a369163527 100644
--- a/package/ppp/patches/203-opt_flags.patch
+++ b/package/ppp/patches/203-opt_flags.patch
@@ -1,3 +1,11 @@
+build: Move optimization flags into a separate variable
+
+Isolate optimization related compiler flags from CFLAGS and move them into a
+separate COPTS variable so that it is easier to override optimizations from
+the environment.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/plugins/radius/Makefile.linux
 +++ b/pppd/plugins/radius/Makefile.linux
 @@ -12,7 +12,8 @@ VERSION = $(shell awk -F '"' '/VERSION/ 
diff --git a/package/ppp/patches/205-no_exponential_timeout.patch b/package/ppp/patches/205-no_exponential_timeout.patch
index 14d00cf921..7119fb83f2 100644
--- a/package/ppp/patches/205-no_exponential_timeout.patch
+++ b/package/ppp/patches/205-no_exponential_timeout.patch
@@ -1,3 +1,10 @@
+pppd: Don't use exponential timeout in discovery phase
+
+This patch removes the exponential timeout increase between PADO or PADS
+discovery attempts.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/plugins/rp-pppoe/discovery.c
 +++ b/pppd/plugins/rp-pppoe/discovery.c
 @@ -548,7 +548,9 @@ discovery(PPPoEConnection *conn)
diff --git a/package/ppp/patches/206-compensate_time_change.patch b/package/ppp/patches/206-compensate_time_change.patch
index 041ae1f86f..fb6c65679e 100644
--- a/package/ppp/patches/206-compensate_time_change.patch
+++ b/package/ppp/patches/206-compensate_time_change.patch
@@ -1,3 +1,16 @@
+pppd: Watch out for time warps
+
+On many embedded systems there is no battery backed RTC and a proper system
+time only becomes available through NTP after establishing a connection.
+
+When the clock suddenly jumps forward, the internal accounting (connect time)
+is confused resulting in unreliable data.
+
+This patch implements periodic clock checking to look for time warps, if one
+is detected, the internal counters are adjusted accordingly.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/main.c
 +++ b/pppd/main.c
 @@ -90,6 +90,7 @@
diff --git a/package/ppp/patches/207-lcp_mtu_max.patch b/package/ppp/patches/207-lcp_mtu_max.patch
index 32bcad3c31..1ebcf412fc 100644
--- a/package/ppp/patches/207-lcp_mtu_max.patch
+++ b/package/ppp/patches/207-lcp_mtu_max.patch
@@ -1,3 +1,11 @@
+pppd: Cap MTU to the user configured value
+
+This patchs caps the calculated MTU value in lcp.c to the user specified "mru"
+option value. Without this patch pppd would advertise a different MTU value
+compared to what is set on the local interface in some cases.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/lcp.c
 +++ b/pppd/lcp.c
 @@ -1904,12 +1904,12 @@ lcp_up(f)
diff --git a/package/ppp/patches/208-fix_status_code.patch b/package/ppp/patches/208-fix_status_code.patch
index c512354a26..25e2a10b85 100644
--- a/package/ppp/patches/208-fix_status_code.patch
+++ b/package/ppp/patches/208-fix_status_code.patch
@@ -1,3 +1,15 @@
+pppd: Do not clobber exit codes on hangup
+
+When a modem hangup occurs, pppd unconditionally sets the exit status code
+to EXIT_HANGUP. This patch only sets EXIT_HANGUP if the exit status code is
+not already set to an error value.
+
+The motiviation of this patch is to allow applications which remote control
+pppd to react properly on errors, e.g. only redial (relaunch pppd) if there
+was a hangup, but not if the CHAP authentication failed.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/main.c
 +++ b/pppd/main.c
 @@ -1048,7 +1048,8 @@ get_input()
diff --git a/package/ppp/patches/300-filter-pcap-includes-lib.patch b/package/ppp/patches/300-filter-pcap-includes-lib.patch
index fa8b616de0..d8dcc64c8b 100644
--- a/package/ppp/patches/300-filter-pcap-includes-lib.patch
+++ b/package/ppp/patches/300-filter-pcap-includes-lib.patch
@@ -1,3 +1,10 @@
+build: Add required CFLAGS for libpcap
+
+This patch adds some flags to required to properly link libpcap within the
+OpenWrt environment.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/Makefile.linux
 +++ b/pppd/Makefile.linux
 @@ -170,8 +170,8 @@ endif
diff --git a/package/ppp/patches/310-precompile_filter.patch b/package/ppp/patches/310-precompile_filter.patch
index 5d2c8f1710..87b9687ef7 100644
--- a/package/ppp/patches/310-precompile_filter.patch
+++ b/package/ppp/patches/310-precompile_filter.patch
@@ -1,3 +1,16 @@
+pppd: Implement support for precompiled pcap filters
+
+This patch implements support for precompiled pcap filters which is useful to
+support dial-on-demand on memory constrained embedded devices without having
+to link the full libpcap into pppd to generate the filters during runtime.
+
+Two new options are introduced; "precompiled-pass-filter" specifies a pre-
+compiled filter file containing rules to match packets which should be passed,
+"precompiled-active-filter" specifies a filter file containing rules to match
+packets which are treated as active.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/Makefile.linux
 +++ b/pppd/Makefile.linux
 @@ -50,6 +50,9 @@ MPPE=y
diff --git a/package/ppp/patches/320-custom_iface_names.patch b/package/ppp/patches/320-custom_iface_names.patch
index 26e6837532..a95f4f8c81 100644
--- a/package/ppp/patches/320-custom_iface_names.patch
+++ b/package/ppp/patches/320-custom_iface_names.patch
@@ -1,3 +1,12 @@
+pppd: Support arbitrary interface names
+
+This patch implements a new string option "ifname" which allows to specify
+fully custom PPP interface names on Linux. It does so by renaming the
+allocated pppX device immediately after it has been created to the requested
+interface name.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/main.c
 +++ b/pppd/main.c
 @@ -745,8 +745,11 @@ void
diff --git a/package/ppp/patches/330-retain_foreign_default_routes.patch b/package/ppp/patches/330-retain_foreign_default_routes.patch
index dc6ed8d1f0..0d7fff9b4b 100644
--- a/package/ppp/patches/330-retain_foreign_default_routes.patch
+++ b/package/ppp/patches/330-retain_foreign_default_routes.patch
@@ -1,3 +1,15 @@
+pppd: Retain foreign default routes on Linux
+
+On Linux, when pppd attempts to delete its default route it does not fill
+the rt_dev field of the struct rtentry used to match the system default route.
+As a consequence, pppd happily deletes any default route even if it belongs
+to another interface.
+
+This patch makes pppd fill out the rt_dev field so that only own default
+routes are ever matched.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/sys-linux.c
 +++ b/pppd/sys-linux.c
 @@ -1743,6 +1743,7 @@ int cifdefaultroute (int unit, u_int32_t
diff --git a/package/ppp/patches/340-populate_default_gateway.patch b/package/ppp/patches/340-populate_default_gateway.patch
index ae495ee641..9a0284eb23 100644
--- a/package/ppp/patches/340-populate_default_gateway.patch
+++ b/package/ppp/patches/340-populate_default_gateway.patch
@@ -1,3 +1,16 @@
+pppd: Fill in default gateway on Linux
+
+On Linux, when pppd creates the default route, it does not set the peer
+address as gateway, leading to a default route without gateway address.
+
+This behaviour breaks various downstream programs which attempt to infer
+the default gateway IP address from the system default route entry.
+
+This patch addresses the issue by filling in the peer address as gateway
+when generating the default route entry.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/sys-linux.c
 +++ b/pppd/sys-linux.c
 @@ -1697,6 +1697,9 @@ int sifdefaultroute (int unit, u_int32_t
diff --git a/package/ppp/patches/400-simplify_kernel_checks.patch b/package/ppp/patches/400-simplify_kernel_checks.patch
index 6ddf86a1ba..ec82576cbc 100644
--- a/package/ppp/patches/400-simplify_kernel_checks.patch
+++ b/package/ppp/patches/400-simplify_kernel_checks.patch
@@ -1,3 +1,13 @@
+pppd: Remove runtime kernel checks
+
+On embedded system distributions the required kernel features for pppd are
+more or less guaranteed to be present, so there is not much point in
+performing runtime checks, it just increases the binary size.
+
+This patch removes the runtime kernel feature checks.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/sys-linux.c
 +++ b/pppd/sys-linux.c
 @@ -203,7 +203,7 @@ static int driver_is_old       = 0;
@@ -88,11 +98,11 @@
  	return 0;
 --- a/pppd/plugins/pppoatm/pppoatm.c
 +++ b/pppd/plugins/pppoatm/pppoatm.c
-@@ -171,14 +171,6 @@ static void disconnect_pppoatm(void)
+@@ -170,14 +170,6 @@ static void disconnect_pppoatm(void)
  
  void plugin_init(void)
  {
--#ifdef linux
+-#if defined(__linux__)
 -	extern int new_style_driver;	/* From sys-linux.c */
 -	if (!ppp_available() && !new_style_driver)
 -		fatal("Kernel doesn't support ppp_generic - "
@@ -126,9 +136,9 @@
      add_options(Options);
  
      info("RP-PPPoE plugin version %s compiled against pppd %s",
---- a/pppd/plugins/pppol2tp/pppol2tp.c	2010-11-15 12:12:43.000000000 +0000
-+++ b/pppd/plugins/pppol2tp/pppol2tp.c	2012-04-24 15:53:58.806260309 +0100
-@@ -488,12 +488,7 @@ static void pppol2tp_check_options(void)
+--- a/pppd/plugins/pppol2tp/pppol2tp.c
++++ b/pppd/plugins/pppol2tp/pppol2tp.c
+@@ -500,12 +500,7 @@ static void pppol2tp_cleanup(void)
  
  void plugin_init(void)
  {
diff --git a/package/ppp/patches/401-no_record_file.patch b/package/ppp/patches/401-no_record_file.patch
index 68837206f8..94c0263eaa 100644
--- a/package/ppp/patches/401-no_record_file.patch
+++ b/package/ppp/patches/401-no_record_file.patch
@@ -1,3 +1,10 @@
+pppd: Remove the "record" option
+
+On many embedded systems there is not enough space to record PPP session
+information to the permanent storage, therfore remove this option.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/pppd.h
 +++ b/pppd/pppd.h
 @@ -309,7 +309,6 @@ extern int	holdoff;	/* Dead time before 
diff --git a/package/ppp/patches/403-no_wtmp.patch b/package/ppp/patches/403-no_wtmp.patch
index 018bd5b2a5..71233200e7 100644
--- a/package/ppp/patches/403-no_wtmp.patch
+++ b/package/ppp/patches/403-no_wtmp.patch
@@ -1,3 +1,10 @@
+pppd: Disable wtmp support
+
+Many uClibc based environments lack wtmp and utmp support, therfore remove
+the code updating the wtmp information.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/sys-linux.c
 +++ b/pppd/sys-linux.c
 @@ -2254,6 +2254,7 @@ int ppp_available(void)
diff --git a/package/ppp/patches/404-remove_obsolete_protocol_names.patch b/package/ppp/patches/404-remove_obsolete_protocol_names.patch
index 71b4d97743..edbca7603c 100644
--- a/package/ppp/patches/404-remove_obsolete_protocol_names.patch
+++ b/package/ppp/patches/404-remove_obsolete_protocol_names.patch
@@ -1,3 +1,10 @@
+pppd: Remove historical protocol names
+
+Remove a number of historical protocol entries from pppd's builtin list, this
+reduced the binary size without loss of features.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/main.c
 +++ b/pppd/main.c
 @@ -882,14 +882,17 @@ struct protocol_list {
diff --git a/package/ppp/patches/405-no_multilink_option.patch b/package/ppp/patches/405-no_multilink_option.patch
index fc342b72d5..97a79c474a 100644
--- a/package/ppp/patches/405-no_multilink_option.patch
+++ b/package/ppp/patches/405-no_multilink_option.patch
@@ -1,3 +1,12 @@
+pppd: Support "nomp" option even if multilink support is off
+
+This patch moves the "nomp" option entry outside of the defines protecting
+the multilink specific code. The motivation is to allow "nomp" even if pppd
+does not support multilink, so that controlling programs can unconditionally
+pass it to pppd regardless of the compile time features.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/pppd/options.c
 +++ b/pppd/options.c
 @@ -318,13 +318,14 @@ option_t general_options[] = {
diff --git a/package/ppp/patches/430-pppol2tpv3-struct.patch b/package/ppp/patches/430-pppol2tpv3-struct.patch
index c2f163b818..4f517df764 100644
--- a/package/ppp/patches/430-pppol2tpv3-struct.patch
+++ b/package/ppp/patches/430-pppol2tpv3-struct.patch
@@ -1,3 +1,10 @@
+pppol2tp: Provide struct pppol2tpv3_addr to align with Linux
+
+The struct pppol2tpv3_addr is referenced in the current Linux kernel sources
+but not provided by the shipped kernel headers, add it.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+
 --- a/include/linux/if_pppol2tp.h
 +++ b/include/linux/if_pppol2tp.h
 @@ -32,6 +32,20 @@ struct pppol2tp_addr
-- 
cgit v1.2.3