ppp: annotate most patches with description and S-o-b
SVN-Revision: 32463
This commit is contained in:
parent
f4afa00862
commit
6387e8e458
28 changed files with 280 additions and 39 deletions
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 - "
|
25
package/ppp/patches/107-debian_pppoatm_wildcard.patch
Normal file
25
package/ppp/patches/107-debian_pppoatm_wildcard.patch
Normal file
|
@ -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;
|
|
@ -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[] = {
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 @@
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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/
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 @@
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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[] = {
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue