36 Commits

Author SHA1 Message Date
John Crispin
b80d9119df ppp: Detailed last error support
Enables last error support for the PPP protocol handlers.
In generic teardown the PPP daemon exit code is translated into
a self explaining error string which is set as interface error
by proto_notify_error in case of failure.

Signed-off-by: Johan Peeters <johan.peeters111@gmail.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45333 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-04-09 10:32:54 +00:00
John Crispin
bc72ca84d1 ppp: Fix missing arg argument when using option flag OPT_A2STRVAL
The arg argument is missing to the printer call in the print_option
utility when the option flag OPT_A2STRVAL is set.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45264 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-04-03 19:06:56 +00:00
John Crispin
6f9c3de55e ppp: Fix seg fault when using pppol2tp
PPPD crashes (SEGV) when the dump or dryrun options are specified and an option
is internally defined as "o_special" with an option flag of "OPT_A2STRVAL".
As the option value is not saved when the parameter is processed, a reference
to the option will result into a crash (e.g. when printing).

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45263 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-04-03 19:06:45 +00:00
John Crispin
dd8ae04602 ppp: Allow PPTP over a specified interface
In a dual-WAN setup, it's useful to specify an interface over which to
have PPTP.

Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44507 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-22 08:29:34 +00:00
Felix Fietkau
83da7b8202 ppp: on PPPoE, always send PADT when shutting down the connection
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44097 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-24 13:41:10 +00:00
Jo-Philipp Wich
730e24cfaa ppp: rework host-uniq support to take hex encoded strings
The previous implementation of the "host-uniq" option used plain strings for
passing the value to pppd which made it impossible to specify binary data.

Switch the format to a hex encoded string to support binary data.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44094 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-24 11:30:45 +00:00
Matteo Croce
789aa2bf5c pppd: add option to set custom host-uniq pppoe tag
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43241 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-11-14 16:39:59 +00:00
Nicolas Thill
1ee8ef9901 package/*: replace occurences of 'ln -sf' to '$(LN)'
Signed-off-by: Nicolas Thill <nico@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43205 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-11-06 19:35:34 +00:00
John Crispin
85c10a8a6a license info - revert r43155
turns out that r43155 adds duplicate info.

Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43167 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-11-03 09:56:44 +00:00
John Crispin
b8df8ca970 Add more license tags with SPDX identifiers
Note, that licensing stuff is a nightmare: many packages does not clearly
state their licenses, and often multiple source files are simply copied
together - each with different licensing information in the file headers.

I tried hard to ensure, that the license information extracted into the OpenWRT's
makefiles fit the "spirit" of the packages, e.g. such small packages which
come without a dedicated source archive "inherites" the OpenWRT's own license
in my opinion.

However, I can not garantee that I always picked the correct information
and/or did not miss license information.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43155 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-11-03 08:01:08 +00:00
Steven Barth
2bf2015c24 Add a few SPDX tags
Signed-off-by: Steven Barth <steven@midlink.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43151 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-11-02 12:20:54 +00:00
Jo-Philipp Wich
fe13e6ccbd ppp: support adaptive LCP echos
Port Debians adaptive LCP echo patch to pppd, make it configurable with UCI
and enable it by default.

When adaptive LCP echo is enabled, LCP echo requests are only sent if the
link is idle, this avoids the common situation where a congested PPP link
(e.g. during torrenting) is falsely detected as disconnected because the
LCP replies are not received in time.

Also bump the copyright year in the Makefile, remove a redundant maintainer
entry and fix the shell processing of the keepalive option when the two-
value syntax is used.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43143 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-11-01 12:37:03 +00:00
Steven Barth
46e31e96bd ppp: add unconditional autoipv6-trigger
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42860 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-09 07:38:25 +00:00
Steven Barth
ca4fa0c501 ppp: remove ugly ipv6-workaround
This is not needed after all:

Omitting option ipv6 or setting it to 'auto' will
fire up a dhcpv6 subprotocol (this was added).

Setting ipv6 to 1 will only cause the IPv6 link to
be brought up and an accompanying dhcpv6 or static
interface with ifname @wan can be used to configure addresses.

Signed-off-by: Steven Barth <steven@midlink.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42859 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-09 07:35:28 +00:00
Steven Barth
6c80ad9288 ppp: allow auto-detecting and creation of ipv6 subinterface
this makes ipv6 with ppp a bit more comfortable

Signed-off-by: Steven Barth <steven@midlink.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42854 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-08 20:37:15 +00:00
Hauke Mehrtens
db79e96601 ppp: update to version 2.4.7
This fixes: CVE-2014-3158 and some other bugs.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42525 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-13 20:56:13 +00:00
Steven Barth
1bfc9798bc ppp: enable IPv6CP by default
Signed-off-by: Steven Barth <steven@midlink.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42158 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-13 10:18:20 +00:00
John Crispin
d886f03017 ppp: fix a buffer overrun in the ms chap code
https://dev.openwrt.org/ticket/17296

Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41882 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-29 12:18:52 +00:00
John Crispin
ef9c64566e ppp: fix keep alive option
currently the keepalive option needs to be removed to fully disable it. this patch allows us to set it to 0.

Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41438 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-01 10:26:07 +00:00
Felix Fietkau
f9ab4e48c1 pppd: fix build with musl
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41404 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-06-29 22:26:08 +00:00
Steven Barth
02fcbc1643 ppp: bump to 2.4.6
Signed-off-by: Steven Barth <steven@midlink.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41193 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-06-15 20:55:17 +00:00
John Crispin
b9907f1565 ppp: allow to set PPP interface name via config
allows to set PPP interface name manually via new
network interface option pppname.
If not set, default naming will be used (e.g. pppoe-eth0)

Signed-off-by: Ulrich Weber <uw@ocedo.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40933 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-06-02 12:44:36 +00:00
Felix Fietkau
8fe5646e4f ppp: remove ppp requirement from chat
This patch removes dependancy of PPP from chat application as chat application can be used for other serial communication as well that is not dependant on PPP and therefore one should be able to install chat without PPP. There also are no dependencies within chat application for PPP.

Signed-off-by: Oskari Rauta <oskari.rauta at gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39992 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-03-21 15:54:52 +00:00
Felix Fietkau
137c4262e8 pppd: fix build errors with musl
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39963 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-03-20 13:51:36 +00:00
John Crispin
4aff5a4e3d ppp: add validation rules to proto handler
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39619 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-02-18 13:33:56 +00:00
John Crispin
00f0744743 pppd: Place plugin-specific options after plugin name.
Before this patch, if we specify a plugin specific option through
`pppd_options` in /etc/config/network, e.g. `rp_pppoe_verbose 1`, pppd
would quit with the following error in log.

    Wed Oct  9 09:42:58 2013 daemon.notice netifd: GORG (1689): /usr/sbin/pppd: unrecognized option 'rp_pppoe_verbose'
    Wed Oct  9 09:42:58 2013 daemon.err pppd[1689]: unrecognized option 'rp_pppoe_verbose'
    Wed Oct  9 09:42:58 2013 daemon.notice netifd: GORG (1689): pppd version 2.4.5
    Wed Oct  9 09:42:58 2013 daemon.notice netifd: GORG (1689): Usage: /usr/sbin/pppd [ options ], where options are:

This is due to the requirement that function add_option() should be
called by the plugin_init() function first before pppd can parse those
options.

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38911 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-25 14:09:16 +00:00
John Crispin
8772424505 pppd: don't call modprobe at all from pppoatm
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38737 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-11 13:40:28 +00:00
Jo-Philipp Wich
5a8864448a ppp: correct module loaded check in proto_pptp_setup
proto_pptp_setup is responsible for loading the required modules to establish
a pptp connection to a foreign peer. The function checks whether all required
modules are already loaded, before actually loading them.

It seems that the filter being used to accomplish this, is not restrictive
enough in some cases. For instance when pptp nat helper modules are present on
a system, and already loaded before a pptp connection is enabled. Then the
search filter (possibly) returns the following for module=pptp, where actually
no matches are expected, resulting in the pptp.ko module not being loaded,
thereby failing to establish the pptp connection.

# module="pptp" ; grep "$module" /proc/modules
nf_nat_pptp 1312 0 - Live 0x86ce7000
nf_conntrack_pptp 3072 1 nf_nat_pptp, Live 0x86cb9000
nf_nat_proto_gre 784 1 nf_nat_pptp, Live 0x86cba000
nf_conntrack_proto_gre 2368 1 nf_conntrack_pptp, Live 0x86cbf000
nf_nat 9792 13 nf_nat_rtsp,nf_nat_tftp,nf_nat_sip,nf_nat_pptp,nf_nat_h323,nf_nat_proto_gre,nf_nat_amanda,nf_nat_irc,nf_nat_ftp,ipt_REDIRECT,ipt_NETMAP,ipt_MASQUERADE,iptable_nat, Live 0x86ca8000
nf_conntrack 37264 31 nf_nat_rtsp,nf_conntrack_rtsp,nf_nat_tftp,nf_conntrack_tftp,nf_nat_snmp_basic,nf_conntrack_snmp,nf_nat_sip,nf_conntrack_sip,nf_nat_pptp,nf_conntrack_pptp,nf_nat_h323,nf_conntrack_h323,nf_conntrack_proto_gre,nf_nat_amanda,nf_conntrack_amanda,nf_conntrack_broadcast,nf_nat_irc,nf_conntrack_irc,nf_nat_ftp,nf_conntrack_ftp,ipt_MASQUERADE,iptable_nat,nf_nat,xt_helper,xt_connmark,xt_connbytes,xt_conntrack,xt_CT,xt_NOTRACK,xt_state,nf_conntrack_ipv4, Live 0x86c90000

The search filter can be made more accurate/restrictive, by requiring the
occurance of the exact name of the module at the beginning of a line in
/proc/modules.

# module="pptp" ; grep "^$module " /proc/modules
pptp 13296 2 - Live 0x86e80000

Signed-off-by: Tijs Van Buggenhout <tvb@able.be>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38358 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-10 14:58:12 +00:00
Steven Barth
5882e71509 ppp: correctly handle address when reloading
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36904 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-10 10:42:34 +00:00
Steven Barth
3e08305deb ppp: don't automatically set IPv6 default route
* Fixes "ndisc_router_discovery() failed to add default route"

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35188 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-01-17 08:28:57 +00:00
John Crispin
631fa2c18c [include] fixes uapi helper define
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34715 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-12-16 11:04:27 +00:00
John Crispin
599eec46ae [ppp] make use of uapi directory wrapper
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34684 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-12-15 01:59:19 +00:00
Jo-Philipp Wich
5308e09135 ppp: unconditionally start pppd with nodefaultroute and usepeerdns (#12580)
Since the switch to netifd, proto handlers may always set the defaultroute
and provide dns server addresses, netifd will decide in the generic code
path whether the announced values are masked or not.

Additionally protocol handlers should not modify the routing tables themselves
and prevent any launched services from doing so.

Remove the additional defaultroute and peerdns option handling from the ppp.sh
protocol handler and rely on netifd to mask or not mask the values.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34536 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-12-06 18:17:21 +00:00
Jo-Philipp Wich
99bdb18a78 ppp:
- fix multilink ppp with custom ifnames, patch by George Kashperko <george@znau.edu.ua>
  - refresh patches

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34171 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-12 19:13:45 +00:00
Felix Fietkau
a20833a4b8 ppp: add more pppol2tpv3 related structs from the kernel headers to fix compile issues with linux 3.6
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34070 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-04 17:01:27 +00:00
Felix Fietkau
abe70b1494 packages: sort network related packages into package/network/
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33688 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-10 12:32:29 +00:00