openwrt/openwrt.git
6 years agosunxi: fix build of rtc package when module not available
Hauke Mehrtens [Sat, 15 Jul 2017 20:51:25 +0000 (22:51 +0200)]
sunxi: fix build of rtc package when module not available

If the Kconfig option CONFIG_RTC_DRV_SUNXI is not selected this package
should be be build.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agouboot-sunxi: revert the usage of binman
Hauke Mehrtens [Thu, 20 Jul 2017 21:27:31 +0000 (23:27 +0200)]
uboot-sunxi: revert the usage of binman

This will avoid the usage of swig.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agouboot-sunxi: do not depend on dtc being install on host
Hauke Mehrtens [Wed, 19 Jul 2017 20:46:34 +0000 (22:46 +0200)]
uboot-sunxi: do not depend on dtc being install on host

make mkimage check the DTC environment variable first.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agouboot-sunxi: update to version 2017.07
Hauke Mehrtens [Sat, 15 Jul 2017 16:41:57 +0000 (18:41 +0200)]
uboot-sunxi: update to version 2017.07

The deleted patches are already integrated in the upstream U-Boot
version.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agosunxi: add support for kernel 4.9
Hauke Mehrtens [Sat, 15 Jul 2017 12:57:08 +0000 (14:57 +0200)]
sunxi: add support for kernel 4.9

Most of the patches were backpoprts from the mainline kernel and are
integrated upstream now.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agokernel: add some config options
Hauke Mehrtens [Sat, 15 Jul 2017 13:57:29 +0000 (15:57 +0200)]
kernel: add some config options

These are needed for the sunxi target.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agorb532: drop 4.4 support
Stijn Tintel [Mon, 18 Sep 2017 09:13:18 +0000 (12:13 +0300)]
rb532: drop 4.4 support

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
6 years agorb532: add myself as maintainer
Roman Yeryomin [Sun, 17 Sep 2017 18:35:19 +0000 (21:35 +0300)]
rb532: add myself as maintainer

Signed-off-by: Roman Yeryomin <roman@advem.lv>
6 years agorb532: switch to 4.9
Roman Yeryomin [Sun, 17 Sep 2017 18:34:36 +0000 (21:34 +0300)]
rb532: switch to 4.9

Signed-off-by: Roman Yeryomin <roman@advem.lv>
6 years agorb532: add support for 4.9
Roman Yeryomin [Sun, 17 Sep 2017 18:34:00 +0000 (21:34 +0300)]
rb532: add support for 4.9

Includes latest korina fixes.

Signed-off-by: Roman Yeryomin <roman@advem.lv>
[rewrite commit message (subject <= 50 characters)]
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
6 years agorb532: set lan interface type to brigde
Roman Yeryomin [Sun, 17 Sep 2017 18:33:20 +0000 (21:33 +0300)]
rb532: set lan interface type to brigde

Signed-off-by: Roman Yeryomin <roman@advem.lv>
6 years agorb532: increase kernel size limit
Roman Yeryomin [Sun, 17 Sep 2017 18:32:42 +0000 (21:32 +0300)]
rb532: increase kernel size limit

This is required to support kernel 4.9.

Signed-off-by: Roman Yeryomin <roman@advem.lv>
[rewrite commit message (subject <= 50 characters)]
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
6 years agodnsmasq: fix dhcp "ignore" option on wwan interfaces
Marcin Jurkowski [Thu, 14 Sep 2017 12:49:10 +0000 (14:49 +0200)]
dnsmasq: fix dhcp "ignore" option on wwan interfaces

Init script won't append --no-dhcp-interface option if interface
protocol is one of: ncm, directip, qmi, mbim.
This is caused by IP address assigned to dynamically created netifd
interfaces. As a result there's no netmask assigned to the main
interface and dhcp_add() function returns prematurely.

By moving network subnet check we can ensure that --no-dhcp-interface is
properly generated for wwan interfaces.

Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase; move network checks]
6 years agobase-files: fix wan6 interface config generation for pppoe
Hans Dedecker [Mon, 18 Sep 2017 07:18:36 +0000 (09:18 +0200)]
base-files: fix wan6 interface config generation for pppoe

Setting ipv6 to auto in case of a pppoe interface will trigger the
creation of a dynamic wan_6 interface meaning two IPv6 interfaces
(wan6 and wan_6) will be active on top of the pppoe interface.
This leads to unpredictable behavior in the network; therefore set
ipv6 to 1 which will prevent the dynamic creation of the wan_6
interface.
Further alias the wan6 interface on top of the wan interface for pppoe
as the wan6 interface can only be started when the link local address is
ready. In case of pppoe the link local address is negotiated during the
Internet Protocol Control Protocol when the PPP link is setup meaning
all the IP address info is only available when the wan interface is up.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agokernel: update 4.9 to 4.9.50
Stijn Tintel [Mon, 18 Sep 2017 00:58:25 +0000 (03:58 +0300)]
kernel: update 4.9 to 4.9.50

Refresh patches.
Compile-tested on ipq8065/nbg6817 and x86/64.
Runtime-tested on ipq8065/nbg6817 and x86/64.

Fixes CVE-2017-1000251.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
[adapt qcom_nandc.c patches to match upstream changes, test ipq8065/nbg6817]
Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
6 years agokernel: update to 3.18.71
Florian Fainelli [Sat, 16 Sep 2017 23:41:48 +0000 (16:41 -0700)]
kernel: update to 3.18.71

Delete a bunch of fixes that are already included.
Refresh patches.
Compile-tested on malta/mipsel
Runtime-tested on malta/mipsel

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agotcpdump: noop commit to refer CVEs fixed in 4.9.2
Stijn Tintel [Sun, 17 Sep 2017 22:26:44 +0000 (01:26 +0300)]
tcpdump: noop commit to refer CVEs fixed in 4.9.2

When bumping tcpdump from 4.9.1 to 4.9.2, I did not include the fixed
CVEs in the commit message. As the list of fixed CVEs is quite long,
we should probably mention them in the changelogs of the releases to
come. This commit will make sure this happens.

The following CVEs were fixed in 21014d9708d586becbd62da571effadb488da9fc:

CVE-2017-11541
CVE-2017-11541
CVE-2017-11542
CVE-2017-11542
CVE-2017-11543
CVE-2017-11543
CVE-2017-12893
CVE-2017-12894
CVE-2017-12895
CVE-2017-12896
CVE-2017-12897
CVE-2017-12898
CVE-2017-12899
CVE-2017-12900
CVE-2017-12901
CVE-2017-12902
CVE-2017-12985
CVE-2017-12986
CVE-2017-12987
CVE-2017-12988
CVE-2017-12989
CVE-2017-12990
CVE-2017-12991
CVE-2017-12992
CVE-2017-12993
CVE-2017-12994
CVE-2017-12995
CVE-2017-12996
CVE-2017-12997
CVE-2017-12998
CVE-2017-12999
CVE-2017-13000
CVE-2017-13001
CVE-2017-13002
CVE-2017-13003
CVE-2017-13004
CVE-2017-13005
CVE-2017-13006
CVE-2017-13007
CVE-2017-13008
CVE-2017-13009
CVE-2017-13010
CVE-2017-13011
CVE-2017-13012
CVE-2017-13013
CVE-2017-13014
CVE-2017-13015
CVE-2017-13016
CVE-2017-13017
CVE-2017-13018
CVE-2017-13019
CVE-2017-13020
CVE-2017-13021
CVE-2017-13022
CVE-2017-13023
CVE-2017-13024
CVE-2017-13025
CVE-2017-13026
CVE-2017-13027
CVE-2017-13028
CVE-2017-13029
CVE-2017-13030
CVE-2017-13031
CVE-2017-13032
CVE-2017-13033
CVE-2017-13034
CVE-2017-13035
CVE-2017-13036
CVE-2017-13037
CVE-2017-13038
CVE-2017-13039
CVE-2017-13040
CVE-2017-13041
CVE-2017-13042
CVE-2017-13043
CVE-2017-13044
CVE-2017-13045
CVE-2017-13046
CVE-2017-13047
CVE-2017-13048
CVE-2017-13049
CVE-2017-13050
CVE-2017-13051
CVE-2017-13052
CVE-2017-13053
CVE-2017-13054
CVE-2017-13055
CVE-2017-13687
CVE-2017-13688
CVE-2017-13689
CVE-2017-13690
CVE-2017-13725

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
6 years agomac80211: make iwlwifi select AC support
Hauke Mehrtens [Sat, 16 Sep 2017 23:35:00 +0000 (01:35 +0200)]
mac80211: make iwlwifi select AC support

Some NICs supported by this driver support ieee80211 AC.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agolinux-firmware: pack Intel iwl FW separately
Hauke Mehrtens [Sat, 16 Sep 2017 23:33:35 +0000 (01:33 +0200)]
linux-firmware: pack Intel iwl FW separately

Do not create one big package with all the Intel firmware files
supported by the iwlwifi driver, but use a separate package for each
chip.

This also updates some 7000 and 8000 series firmware files to more
recent version. The older versions shipped are not supported by the
current driver any more.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agomac80211: add dev_coredumpm() function
Hauke Mehrtens [Sun, 17 Sep 2017 12:50:01 +0000 (14:50 +0200)]
mac80211: add dev_coredumpm() function

dev_coredumpm() was added with kernel 4.7, but it is used by iwlwifi.
When the dev coredump framework form compat-wireless is used this is not
a problem because it already contains this, but this is deactivated if
the build system finds out that it is already included in the kernel we
compile against. This option was now activated by the bluetooth driver
btmrvl. Having dev coredump in the kernel adds about 400 bytes to the
lzma compressed kernel for brcm47xx.

This is copied from a more recent backports version to add the
dev_coredumpm() function when the internal core devdump is not used.

Fixes: a5922f6 ("kernel: bluetooth: add marvell sdio bluetooth module")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agokernel: kmod-btmrvl: Add kmod-mmc as dependency
Daniel Engberg [Sun, 17 Sep 2017 06:17:54 +0000 (08:17 +0200)]
kernel: kmod-btmrvl: Add kmod-mmc as dependency

This fixes the build of this module and should fix the build bots.

Fixes: a5922f6 ("kernel: bluetooth: add marvell sdio bluetooth module")
Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
[removed mveub dependency and update commit comment]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agogeneric: drop 704-phy-no-genphy-soft-reset.patch
Florian Fainelli [Sat, 16 Sep 2017 22:16:09 +0000 (15:16 -0700)]
generic: drop 704-phy-no-genphy-soft-reset.patch

4.4.80+ contains 71a165f6397df07a06ce643de5c2dbae29bd3cfb, 4.9.41+ contains
6c78197e4a69c19e61dfe904fdc661b2aee8ec20 which are all backports of upstream
commit 0878fff1f42c18e448ab5b8b4f6a3eb32365b5b6 ("net: phy: Do not perform
software reset for Generic PHY").

Our local patch is no longer needed, all this patch was doing was utilizing
gen10g_soft_reset which does nothing either, so just keep the code unchanged.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
6 years agodnsmasq: Pass TARGET_CPPFLAGS to Makefile
Florian Fainelli [Sat, 16 Sep 2017 23:27:37 +0000 (16:27 -0700)]
dnsmasq: Pass TARGET_CPPFLAGS to Makefile

With the introduction of the ubus notifications, we would now fail building
dnsmasq with external toolchains that don't automatically search for headers.
Pass TARGET_CPPFLAGS to the Makefile to resolve that.

Fixes: 34a206bc1194 ("dnsmasq: add ubus notifications for new leases")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
6 years agoarmvirt: Enable CONFIG_ARM_PMU
Florian Fainelli [Sat, 16 Sep 2017 21:49:37 +0000 (14:49 -0700)]
armvirt: Enable CONFIG_ARM_PMU

We will be prompted with this config symbol when performance monitoring is
enabled in the kernel.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
6 years agomvebu: WRT3200ACM: add bluetooth module
Henryk Heisig [Fri, 7 Jul 2017 07:53:12 +0000 (09:53 +0200)]
mvebu: WRT3200ACM: add bluetooth module

Signed-off-by: Henryk Heisig <hyniu@o2.pl>
6 years agokernel: bluetooth: add marvell sdio bluetooth module
Henryk Heisig [Fri, 7 Jul 2017 07:43:10 +0000 (09:43 +0200)]
kernel: bluetooth: add marvell sdio bluetooth module

This commit add support for Marvell bluetooth with SDIO interface.

Signed-off-by: Henryk Heisig <hyniu@o2.pl>
[Fix KCONFIG and FILES option]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agolinux-firmware: update to the commit from 2017-09-06
Henryk Heisig [Fri, 7 Jul 2017 07:35:20 +0000 (09:35 +0200)]
linux-firmware: update to the commit from 2017-09-06

update firmware mrvl/sd8887_uapsta.bin

Signed-off-by: Henryk Heisig <hyniu@o2.pl>
[update to version 2017-09-06]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 years agoutils/e2fsprogs: Update to 1.43.6
Daniel Engberg [Thu, 7 Sep 2017 22:44:26 +0000 (00:44 +0200)]
utils/e2fsprogs: Update to 1.43.6

Update e2fsprogs to 1.43.6
Disable compilation of fuse2fs (we don't package it)
Disable thread support (only affects fuse2fs)
Enable linking with libblkid instead of using private (included) version.
The libblkid is ~210KBytes in size, but with using the shared library
the binaries are ~25KBytes smaller. This also brings it in sync with
most other Linux distributions.

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
6 years agokernel: add packaging for Xeon iTCO watchdog timer
Philip Prindeville [Fri, 15 Sep 2017 17:03:52 +0000 (11:03 -0600)]
kernel: add packaging for Xeon iTCO watchdog timer

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
6 years agomwlwifi: update to version 10.3.4.0 / 2017-08-10
Kabuli Chana [Thu, 10 Aug 2017 16:48:28 +0000 (10:48 -0600)]
mwlwifi: update to version 10.3.4.0 / 2017-08-10

Update mwlwifi

Signed-off-by: Kabuli Chana <newtownBuild@gmail.com>
6 years agolibs/wolfssl: bump to version 3.12.0 ; add myself as maintainer
Alexandru Ardelean [Fri, 25 Aug 2017 13:22:36 +0000 (16:22 +0300)]
libs/wolfssl: bump to version 3.12.0 ; add myself as maintainer

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
6 years agolibs/wolfssl: adjust symbol defaults against libwolfssl defaults
Alexandru Ardelean [Fri, 25 Aug 2017 11:23:42 +0000 (14:23 +0300)]
libs/wolfssl: adjust symbol defaults against libwolfssl defaults

Some symbols have been renamed.
Some are default enabled/disabled, so we need
to adjust semantics against that.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
6 years agolibs/wolfssl: disable hardening check in `settings.h`
Alexandru Ardelean [Fri, 25 Aug 2017 11:15:15 +0000 (14:15 +0300)]
libs/wolfssl: disable hardening check in `settings.h`

This seems to cause a false-positive warning/error
while building `libwebsockets-cyassl`.

```
make[6]: Leaving directory '/home/sandu/work/lede/build_dir/target-x86_64_musl/libwebsockets-cyassl/libwebsockets-2.2.1'
make[6]: Entering directory '/home/sandu/work/lede/build_dir/target-x86_64_musl/libwebsockets-cyassl/libwebsockets-2.2.1'
[  2%] Building C object CMakeFiles/websockets.dir/lib/base64-decode.c.o
In file included from /home/sandu/work/lede/staging_dir/target-x86_64_musl/usr/include/wolfssl/ssl.h:31:0,
                 from /home/sandu/work/lede/staging_dir/target-x86_64_musl/usr/include/cyassl/ssl.h:33,
                 from /home/sandu/work/lede/staging_dir/target-x86_64_musl/usr/include/cyassl/openssl/ssl.h:30,
                 from /home/sandu/work/lede/build_dir/target-x86_64_musl/libwebsockets-cyassl/libwebsockets-2.2.1/lib/private-libwebsockets.h:256,
                 from /home/sandu/work/lede/build_dir/target-x86_64_musl/libwebsockets-cyassl/libwebsockets-2.2.1/lib/base64-decode.c:43:
/home/sandu/work/lede/staging_dir/target-x86_64_musl/usr/include/wolfssl/wolfcrypt/settings.h:1642:14: error: #warning "For timing resistance / side-channel attack prevention consider using harden options" [-Werror=cpp]
             #warning "For timing resistance / side-channel attack prevention consider using harden options"

```

Hardening is enabled by default in libwolfssl at build-time.

However, the `settings.h` header is exported (along with other headers)
for build (via Build/InstallDev).

This looks like a small bug/issue with wolfssl.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
6 years agocyassl,curl,libustream-ssl: rename every `cyassl` to `wolfssl`
Alexandru Ardelean [Thu, 24 Aug 2017 05:56:40 +0000 (08:56 +0300)]
cyassl,curl,libustream-ssl: rename every `cyassl` to `wolfssl`

This is to eliminate any ambiguity about the cyassl/wolfssl lib.

The rename happened some time ago (~3+ years).
As time goes by, people will start to forget cyassl and
start to get confused about the wolfSSL vs cyassl thing.

It's a good idea to keep up with the times (moving forward).

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
6 years agolibs/wolfssl: add libcysassl to PROVIDES field (for backwards compat)
Alexandru Ardelean [Fri, 25 Aug 2017 11:25:28 +0000 (14:25 +0300)]
libs/wolfssl: add libcysassl to PROVIDES field (for backwards compat)

Until other packages from feeds decide to rename the
dependency of `+libcyassl` to `+libwolfssl`, this allows
for a bit of backwards compatibility with those packages.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
6 years agowwan: json format in some modem definitions
Alexandru Ardelean [Mon, 4 Sep 2017 13:16:00 +0000 (16:16 +0300)]
wwan: json format in some modem definitions

Method used:
```
cd package/network/utils/wwan/files/data
sed -e 's/}}/}/g' -i *
sed -e 's/}\t"acm": 1/\t"acm": 1/g' -i *
sed -e 's/}\t"generic": 1/\t"generic": 1/g' -i *
```

Manually adjusted commas.
Validated with
```
for f in `ls` ; do echo $f ; python -m json.tool < $f || break ; done
```

Thanks to @lynxis for pointing out the commas.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
6 years agotools/e2fsprogs: Update to 1.43.6
Daniel Engberg [Fri, 8 Sep 2017 07:42:23 +0000 (09:42 +0200)]
tools/e2fsprogs: Update to 1.43.6

Update e2fsprogs to 1.43.6
* Remove FreeBSD patch as it's not needed, FreeBSD 9.1 is EoL and this
  is compiling on FreeBSD 11.1.
* Remove libmagic patch, RHEL 5 is EoL (End of Production Phase) since
  March 31, 2017.

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
6 years agotools/expat: Update to 2.2.4
Daniel Engberg [Wed, 6 Sep 2017 09:56:15 +0000 (11:56 +0200)]
tools/expat: Update to 2.2.4

Update (lib)expat to 2.2.4

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
6 years agotoolchain: gcc: update 7.x to 7.2.0
Kevin Darbyshire-Bryant [Tue, 22 Aug 2017 10:01:07 +0000 (11:01 +0100)]
toolchain: gcc: update 7.x to 7.2.0

Bump gcc from 7.1 to 7.2

Compile & run tested: ar71xx

Trace history of current patches and update with commit ref & comment
to give more clue as to why they're still around/needed.  Some have
changed form since the original commit but some clue is better than no
clue at all.

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
6 years agokernel: update 4.4 to 4.4.88
Kevin Darbyshire-Bryant [Fri, 15 Sep 2017 10:41:09 +0000 (11:41 +0100)]
kernel: update 4.4 to 4.4.88

Refresh patches.
Compile & run tested: ar71xx  Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
6 years agoodhcpd: don't enable server mode on non-static lan port
Karl Palsson [Fri, 1 Sep 2017 11:22:11 +0000 (11:22 +0000)]
odhcpd: don't enable server mode on non-static lan port

Instead of blindly enabling the odhcpd v6 server and RA server on the
lan port, only do that if the lan port protocol is "static"

This prevents the unhelpful case of a device being a dhcpv4 client and
v6 server on the same ethernet port.

Signed-off-by: Karl Palsson <karlp@etactica.com>
[PKG_SOURCE_DATE increase; odhcpd.defaults script cleanup]
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agoramips: fix used MAC addresses for Phicomm K2P
Jiawei Wang [Wed, 13 Sep 2017 06:04:22 +0000 (14:04 +0800)]
ramips: fix used MAC addresses for Phicomm K2P

The factory partition of the Phicomm K2P contains two MAC addresses.
The lower MAC address is at offset 0xe006 and the higher one is at
offset 0xe000.

Use the lower MAC address as base mac-address which the switch driver
increments by one for the second (wan) vlan.

The MAC addresses are still inverted in contrast to the stock firmware
where the lower MAC address is used for wan. But at least the use of a
MAC address not intended/reserved for this particular board is fixed.

Signed-off-by: Jiawei Wang <me@jwang.link>
6 years agoodhcpd: update to git HEAD version
Hans Dedecker [Wed, 13 Sep 2017 20:18:08 +0000 (22:18 +0200)]
odhcpd: update to git HEAD version

f0bce9c dhcpv4: fix memset compile issue
0ba3278 dhcpv4: rework assignment lookup
e3b49f3 dhcpv4: cleanup dhcpv4_test usage
47fe122 dhcpv4: rework lease expire handling logic
028ab85 dhcpv4: force renew nonce authentication support
a827fca dhcpv4: avoid segfault when there's no IPv4 prefix
bea088b ndp: detect ifindex changes via interface netlink events
f66103e ubus: display accept reconf status for DHCPv6 assignments
f0e354b treewide: replace RELAYD prefix naming in macros
1a313f9 dhcpv4: fix possible segfault when lease is not created
e2d6eb4 dhcpv4: dhcpv4: move interface lease list insertion out of dhcpv4_assign

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agoramips: fix D240 mini-PCIe power control GPIOs
Kristian Evensen [Tue, 12 Sep 2017 16:27:10 +0000 (18:27 +0200)]
ramips: fix D240 mini-PCIe power control GPIOs

In commit b11c51916cb9 ("ramips: Improve Sanlinking D240 config") I made
a mistake with regards GPIO numbering. And in addition to specifying the
wrong GPIO for controling the power of one of the mini-PCIe, I recently
discovered that the power of both slots can be controlled.

This patch specifies the correct GPIO for the left-most mini-PCIe slot
of the D240 (labeled power_mpcie2 since the slot is attached to SIM2),
and adds a GPIO that can be used to control the power of the other
mini-PCIe slot (labeled power_mpcie1).

Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
[do not use the gpio active macros for the gpio-export value]
Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agoramips: add support for TP-Link Archer C20 v1
Maxim Anisimov [Fri, 8 Sep 2017 09:39:17 +0000 (12:39 +0300)]
ramips: add support for TP-Link Archer C20 v1

TP-Link Archer C20 v1 is a router with 5-port FE switch and
non-detachable antennas. It's very similiar to TP-Link Archer C50.
Also it's based on MediaTek MT7620A+MT7610EN.

Specification:
- MediaTek MT7620A (580 Mhz)
- 64 MB of RAM
- 8 MB of FLASH
- 2T2R 2.4 GHz and 1T1R 5 GHz
- 5x 10/100 Mbps Ethernet
- 2x external, non-detachable antennas
- UART (J1) header on PCB (115200 8n1)
- 8x LED (GPIO-controlled*), 2x button, power input switch
- 1 x USB 2.0 port

* WAN LED in this devices is a dual-color, dual-leads type which isn't
  (fully) supported by gpio-leds driver. This type of LED requires both
  GPIOs state change at the same time to select color or turn it off.
  For now, we support/use only the blue part of the LED.
* MT7610EN ac chip isn't not supported by LEDE. Therefore 5Ghz won't
  work.

Factory image notes:

These devices use version 3 of TP-Link header, fortunately without RSA
signature (at least in case of devices sold in Europe). The difference
lays in the requirement for a non-zero value in "Additional Hardware
Version" field. Ideally, it should match the value stored in vendor
firmware header on device.

We are able to prepare factory firwmare file which is accepted and
(almost) correctly flashed from the vendor GUI. As it turned out, it
accepts files without U-Boot image with second header at the beginning
but due to some kind of bug in upgrade routine, flashed image gets
corrupted before it's written to flash. So, to flash this device we must
to prepare image using original firmware from tp-link site with uboot.

Flash instruction:

Until (if at all) TP-Link fixes described problem, the only way to flash
LEDE image in these devices is to use tftp recovery mode in U-Boot.
There are two ways to flash the device to LEDE:

1) Using tftp mode with UART connection and original LEDE image

 - Place lede-ramips-mt7620-ArcherC20-squashfs-factory.bin in tftp
   server directory
 - Configure PC with static IP 192.168.0.66/24 and tftp server.
 - Connect PC with one of LAN ports, power up the router and press
   key "4" to access U-Boot CLI.
 - Use the following commands to update the device to LEDE:

    setenv serverip 192.168.0.66
    tftp 0x80060000 lede-ramips-mt7620-ArcherC20-squashfs-factory.bin
    erase tplink 0x20000 0x7a0000
    cp.b 0x80060000 0x20000 0x7a0000
    reset

 - After that the device will reboot and boot to LEDE

2) Using tftp mode without UART connection but require some
   manipulations with target image

 - Download and unpack TP-Link Archer C20 v1 firmware from original web
   site
 - Split uboot.bin from original firmware by this command (example):

    dd if=Archer_C20v1_0.9.1_4.0_up_boot(160427)_2016-04-27_13.53.59.bin of=uboot.bin bs=512 count=256 skip=1

 - Create ArcherC20V1_tp_recovery.bin using this command:

    cat uboot.bin lede-ramips-mt7620-ArcherC20-squashfs-factory.bin > ArcherC20V1_tp_recovery.bin

 - Place ArcherC20V1_tp_recovery.bin in tftp server directory.
 - Configure PC with static IP 192.168.0.66/24 and tftp server.
 - Connect PC with one of LAN ports, press the reset button, power up
   the router and keep button pressed for around 6-7 seconds, until
   device starts downloading the file.
 - Router will download file from server, write it to flash and reboot.

Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
6 years agogeneric: drop support for get_port_stats() on ar8xxx
Thibaut VARENE [Tue, 12 Sep 2017 21:22:37 +0000 (23:22 +0200)]
generic: drop support for get_port_stats() on ar8xxx

The implementation is not efficient on ar8xxx switches. It triggers high
CPU load and degrades device performance.

The high CPU load has been traced down to the ar8xxx_reg_wait() call in
ar8xxx_mib_op(), which has to usleep_range() till the MIB busy flag set
by the request to update the MIB counter is cleared.

This commit removes the get_port_stats() code introduced in 4d8a66d and
leaves a note for future hacker's beware.

Fixes: FS#1004
Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
6 years agotreewide: fix shellscript syntax errors/typos
Lorenzo Santina [Mon, 11 Sep 2017 13:27:53 +0000 (15:27 +0200)]
treewide: fix shellscript syntax errors/typos

Fix multiple syntax errors in shelscripts (of packages only)
These errors were causing many conditions to not working properly

Signed-off-by: Lorenzo Santina <lorenzo.santina@edu.unito.it>
[increase PKG_RELEASE, drop command substitution from directip.sh]
Signed-off-by: Mathias Kresin <dev@kresin.em>
6 years agoramips: fix hg255d LED status support
David Yang [Sat, 9 Sep 2017 13:16:11 +0000 (21:16 +0800)]
ramips: fix hg255d LED status support

Use the green power LED for boot status indication.

Source: https://my.oschina.net/osbin/blog/278782 Para 3

Signed-off-by: David Yang <mmyangfl@gmail.com>
6 years agobasefiles: allow suid coredumps
Kevin Darbyshire-Bryant [Mon, 4 Sep 2017 12:13:24 +0000 (13:13 +0100)]
basefiles: allow suid coredumps

Set sysctl fs.suid_dumpable = 2

This allows suid processes to dump core according to kernel.core_pattern
setting.  LEDE typically uses suid to drop root priviledge rather than
gain it but without this setting any suid process would be unable to
produce coredumps (e.g. dnsmasq)

Processes still need to set a non zero core file process limit ('ulimit
-c unlimited' or if procd used 'procd_set_param limits
core="unlimited"') in order to produce a core.  This setting removes an
obscure stumbling block along the way.

>From https://www.kernel.org/doc/Documentation/sysctl/fs.txt

suid_dumpable:

This value can be used to query and set the core dump mode for setuid
or otherwise protected/tainted binaries. The modes are

0 - (default) - traditional behaviour. Any process which has changed
privilege levels or is execute only will not be dumped.
1 - (debug) - all processes dump core when possible. The core dump is
owned by the current user and no security is applied. This is
intended for system debugging situations only. Ptrace is unchecked.
This is insecure as it allows regular users to examine the memory
contents of privileged processes.
2 - (suidsafe) - any binary which normally would not be dumped is dumped
anyway, but only if the "core_pattern" kernel sysctl is set to
either a pipe handler or a fully qualified path. (For more details
on this limitation, see CVE-2006-2451.) This mode is appropriate
when administrators are attempting to debug problems in a normal
environment, and either have a core dump pipe handler that knows
to treat privileged core dumps with care, or specific directory
defined for catching core dumps. If a core dump happens without
a pipe handler or fully qualifid path, a message will be emitted
to syslog warning about the lack of a correct setting.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase]
6 years agoar71xx: fix MAC addresses on TP-Link TL-WR1043ND v4
Matthias Schiffer [Mon, 11 Sep 2017 17:41:41 +0000 (19:41 +0200)]
ar71xx: fix MAC addresses on TP-Link TL-WR1043ND v4

The addresses were read from the 'config' partition, which would not always
contain the addresses at the same offsets, depending on the stock firmware
version used before flashing LEDE. Change this to get the addresses from
the 'product-info' partition, which is read-only.

Reported-and-tested-by: Andreas Ziegler <ml@andreas-ziegler.de>
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agoramips: Add support for ZBT WE1026-5G
Kristian Evensen [Sun, 10 Sep 2017 12:44:47 +0000 (14:44 +0200)]
ramips: Add support for ZBT WE1026-5G

The ZBT WE1026-5G
(http://www.zbtlink.com/products/router/WE1026-5G.html) is the follow-up
to the ZBT WE1026 and is based on MT7620. For the previous WE1026, the
ZBT WE826 image could be used. However, as the name implies, the -5G
comes equipped with a 5GHz wifi radio. As the WE826 only has a 2.4GHz
radio, the addition of 5GHz means that a separate image is needed for
the WE1026-5G. I suspect that this image will also work on the previous
WE1026, but I don't have a device to test with.

The WE1026-5G has following specifications:
* CPU: MT7620A
* 1x 10/100Mbps Ethernet.
* 16 MB Flash.
* 64 MB RAM.
* 1x USB 2.0 port.
* 1x mini-PCIe slots.
* 1x SIM slots.
* 1x 2.4Ghz WIFI.
* 1x 5GHz wifi (MT7612)
* 1x button.
* 3x controllable LEDs.

Works:
* Wifi.
* Switch.
* mini-PCIe slot. Only tested with a USB device (a modem).
* SIM slot.
* Sysupgrade.
* Button (reset).

Not working:
* The 5GHz WIFI LED is completely dead. I suspect the issue is the same
as on other devices with Mediatek 5Ghz wifi-cards/chips. The LED is
controlled by the driver, and mt76 (currently) does not support this.

Not tested:
* SD card reader.

Notes:
* The modem (labeled 3G/4G) and power LEDs are controlled by the
hardware.
* There is a 32MB version of this device available, but I do not have
access to it. I have therefor only added support for the 16MB version,
but added all the required infrastructure to make adding support for the
32MB version easy.

Installation:
The router comes pre-installed with OpenWRT, including a variant of
Luci. The initial firmware install can be done through this UI,
following normal procedure. I.e., access the UI and update the firmware
using the sysupgrade-image. Remember to select that you do not want to
keep existing settings.

Recovery:
If you brick the device, the WE1026-5G supports recovery using HTTP. Keep the
reset button pressed for ~5sec when booting to start the web server. Set the
address of the network interface on your machine to 192.168.1.2/24, and
point your browser to 192.168.1.1 to access the recovery UI. From the
recovery UI you can upload a firmware image.

Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
6 years agoath10k: Re-enable intermediate softqueues for all devices
Toke Høiland-Jørgensen [Wed, 6 Sep 2017 12:53:19 +0000 (14:53 +0200)]
ath10k: Re-enable intermediate softqueues for all devices

The upstream ath10k driver disables the intermediate softqueues for some
devices. This patch reverts that behaviour and always enables the
softqueues (and associated bufferbloat fixes). We have had reports of people
running this with good results:
https://lists.bufferbloat.net/pipermail/make-wifi-fast/2017-September/001497.html

This also refreshes mac80211 patches.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
6 years agoscripts/download.pl: fail loudly if provided hash is unsupported
Baptiste Jonglez [Sun, 3 Sep 2017 12:01:28 +0000 (14:01 +0200)]
scripts/download.pl: fail loudly if provided hash is unsupported

Currently, if the provided hash is unsupported (length different from 32
or 64 bytes), we happily download the requested file without any kind of
checksum verification.

This is quite dangerous and may provide a false sense of security, because
a single typo in the hash (e.g. one character deleted by mistake) may skip
checksum verification entirely.

Instead, fail immediately if we don't support the provided hash.
In particular, if an external package repository decides to change the
hash algorithm one day, we will now fail loudly instead of skipping
checksum verification without complaints.

Note: if some users of scripts/download.pl knowingly provide an empty hash
because they don't need checksum verification, this change will break
them.  This does not seem to be the case currently, but if this feature is
ever needed, an option should be added to download.pl instead of relying
on the hash being empty.

Fixes: eaa4eba10a89 ("scripts/download.pl: add SHA-256 support")
Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
6 years agoar71xx: Add GRO support to ag71xx
Rosen Penev [Sun, 3 Sep 2017 18:35:46 +0000 (11:35 -0700)]
ar71xx: Add GRO support to ag71xx

On a TL-WN710N, this patch increases iperf performance from ~92.5 to ~93.5 mbps. Keep in mind the WN710N is a 100mbps device. I expect greater numbers from gigabit devices.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
6 years agoramips: Change ethernet driver to use napi_complete_done.
Rosen Penev [Thu, 7 Sep 2017 02:57:41 +0000 (19:57 -0700)]
ramips: Change ethernet driver to use napi_complete_done.

Backport of mailine linux commit. Speeds up ethernet slightly and reduces latency.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
6 years agocns3xxx: fix GPIO controller interrupt enable
Tim Harvey [Fri, 8 Sep 2017 18:56:59 +0000 (11:56 -0700)]
cns3xxx: fix GPIO controller interrupt enable

The cns3xxx interrupt controller uses a single register and as such
the 'mask' reg/functions must be used as opposed to the 'enable'/'disable'
reg/functions.

This fixes an issue that occurs if more than one GPIO on a specific controller
(there is GPIOA and GPIOB each having 32 GPIO's) uses interrupts. When one
would get enabled all others would be disabled prior to this patch.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Acked-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
6 years agokernel: update 4.9 to 4.9.49
Stijn Tintel [Sun, 10 Sep 2017 21:37:48 +0000 (23:37 +0200)]
kernel: update 4.9 to 4.9.49

Refresh patches.
Compile-tested on octeon and x86/64.
Runtime-tested on octeon and x86/64.

Fixes CVE-2017-11600.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
6 years agostrace: bump to 4.19
Stijn Tintel [Sun, 10 Sep 2017 20:38:07 +0000 (22:38 +0200)]
strace: bump to 4.19

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
6 years agombedtls: update to 2.6.0 CVE-2017-14032
Kevin Darbyshire-Bryant [Fri, 1 Sep 2017 18:04:29 +0000 (19:04 +0100)]
mbedtls: update to 2.6.0 CVE-2017-14032

Fixed an authentication bypass issue in SSL/TLS. When the TLS
authentication mode was set to 'optional',
mbedtls_ssl_get_verify_result() would incorrectly return 0 when the
peer's X.509 certificate chain had more than
MBEDTLS_X509_MAX_INTERMEDIATE_CA intermediates (default: 8), even when
it was not trusted. This could be triggered remotely on both the client
and server side. (Note, with the authentication mode set by
mbedtls_ssl_conf_authmode()to be 'required' (the default), the handshake
was correctly aborted).

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
Tested-by: Magnus Kroken <mkroken@gmail.com>
6 years agotcpdump: bump to 4.9.2
Stijn Tintel [Sun, 10 Sep 2017 19:27:26 +0000 (21:27 +0200)]
tcpdump: bump to 4.9.2

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
6 years agolldpd: bump to 0.9.8
Stijn Tintel [Sun, 10 Sep 2017 19:27:15 +0000 (21:27 +0200)]
lldpd: bump to 0.9.8

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
6 years agoar71xx: add metadata to wpj344 and wpj558 images
Enrique Giraldo [Wed, 2 Aug 2017 15:08:32 +0000 (17:08 +0200)]
ar71xx: add metadata to wpj344 and wpj558 images

This adds metadata to wpj344 and wpj558 images to prevent loading
firmware of wpj344 into wpj558 and vice versa. This until now was
possible and break the units and had to be recovered from the uboot.

Signed-off-by: Enrique Giraldo <enrique.giraldo@galgus.net>
6 years agoar71xx: wpj558: remove unused eth1 device and fix MAC address
Enrique Giraldo [Thu, 6 Jul 2017 12:04:31 +0000 (14:04 +0200)]
ar71xx: wpj558: remove unused eth1 device and fix MAC address

Signed-off-by: Enrique Giraldo <enrique.giraldo@galgus.net>
6 years agoar71xx: add support for COMFAST CF-E355AC
Enrique Giraldo [Thu, 29 Jun 2017 10:03:03 +0000 (12:03 +0200)]
ar71xx: add support for COMFAST CF-E355AC

COMFAST CF-E355AC is a ceiling mount AP with PoE support, based on
Qualcomm/Atheros QCA9531 + QCA9882.

Short specification:

- 2x 10/100 Mbps Ethernet, with PoE support
- 64MB of RAM (DDR2)
- 16 MB of FLASH
- 2T2R 2.4 GHz, 802.11b/g/n
- 2T2R 5 GHz, 802.11ac/n/a
- built-in 4x 3 dBi antennas
- output power (max): 500 mW (27 dBm)
- 1x RGB LED, 1x button
- built-in watchdog chipset

Flash instruction:

Original firmware is based on OpenWrt.
Use sysupgrade image directly in vendor GUI.

Signed-off-by: Enrique Giraldo <enrique.giraldo@galgus.net>
[whitespace fixes, ac radio caldata offset fix]
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agoar71xx: add support for GL.iNet GL-USB150
Piotr Dymacz [Sat, 19 Aug 2017 16:26:46 +0000 (18:26 +0200)]
ar71xx: add support for GL.iNet GL-USB150

GL.iNet GL-USB150 is an USB dongle WiFi router, based on Atheros AR9331.

Specification:

- 400/400/200 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- Realtek RTL8152B USB to Ethernet bridge (connected with AR9331 PHY4)
- 1T1R 2.4 GHz
- 2x LED, 1x button
- UART header on PCB

Flash instruction:

Vendor firmware is based on OpenWrt CC. GUI or sysupgrade can be used
to flash LEDE firmware.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agohostapd: fix iapp_interface option
Lorenzo Santina [Sat, 9 Sep 2017 14:40:57 +0000 (16:40 +0200)]
hostapd: fix iapp_interface option

ifname variable were not assigned due to syntax error
causing the hostapd config file to have an empty iapp_interface= option

Signed-off-by: Lorenzo Santina <lorenzo.santina.dev@gmail.com>
6 years agolantiq: ARV7519RW22: enable PCIe
Jorge Amorós [Sat, 9 Sep 2017 09:30:03 +0000 (11:30 +0200)]
lantiq: ARV7519RW22: enable PCIe

Enable PCIe to make the (still unsupported) WAVE300 wireless visible to
the system.

Signed-off-by: Jorge Amorós <joramar76@yahoo.es>
6 years agolantiq: VR200v: enable PCI
Vittorio Alfieri [Fri, 8 Sep 2017 10:35:05 +0000 (10:35 +0000)]
lantiq: VR200v: enable PCI

Enable PCI to make the (still unsupported) WAVE300 wireless visible to
the system.

Signed-off-by: Vittorio Alfieri <vittorio88@gmail.com>
6 years agoramips: Archer C50v1: support US and EU versions
Thibaut VARENE [Fri, 28 Jul 2017 11:00:54 +0000 (13:00 +0200)]
ramips: Archer C50v1: support US and EU versions

For the Archer C50v1, the EU and US versions are differentiated by their
respective HW additional version (0x0 for US, 0x2 for EU).

The stock web interface checks this field before flashing, making it
impossible to flash the current (US) factory image on EU hardware.

However the bootloader does not check this field, making it possible to use
a single sysupgrade image for both hardware.

This patch adds the necessary build bits to generate both EU and US factory
images, and renames the target as "Archer C50v1" since there are as of now
3 different versions of Archer C50 (all with different CPUs).

Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
6 years agotools/firmware-utils: mktplinkfw2: allow parameter override
Thibaut VARENE [Fri, 28 Jul 2017 10:59:42 +0000 (12:59 +0200)]
tools/firmware-utils: mktplinkfw2: allow parameter override

This patch enables commandline override of board hw_ver and hw_ver_add

Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
6 years agokernel: update 4.4 to 4.4.87
Kevin Darbyshire-Bryant [Thu, 7 Sep 2017 13:13:53 +0000 (14:13 +0100)]
kernel: update 4.4 to 4.4.87

Fixes CVE-2017-11600

No patch refresh required

Compile & run tested: ar71xx - Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
6 years agoramips: add support for the HNET C108
Kristian Evensen [Wed, 6 Sep 2017 09:14:16 +0000 (11:14 +0200)]
ramips: add support for the HNET C108

The HNET C108
(http://www.szhwtech88.com/Product-product-cid-100-id-4374.html) is a
mifi based on MT7602A, which has the following specifications:

* CPU: MT7620A
* 1x 10/100Mbps Ethernet.
* 16 MB Flash.
* 64 MB RAM.
* 1x USB 2.0 port. Only power is connected, this port is meant for
charging other devices.
* 1x mini-PCIe slots.
* 1x SIM slots.
* 1x 2.4Ghz WIFI.
* 1x button.
* 6000 mAh battery.
* 5x controllable LEDs.

Works:
* Wifi.
* Switch.
* mini-PCIe slot. Only tested with a USB device (a modem).
* SIM slot.
* Sysupgrade.
* Button (reset).

Not working (also applies to the factory firmware):
* Wifi LED. It is always switched on, there is no relation to the
up/down state or activity of the wireless interface.

Not tested:
* SD card reader.

Notes:
* The C108 has no dedicated status LED. I therefore set the LAN LED as
status LED.

Installation:
The router comes pre-installed with OpenWRT, including a variant of
Luci. The initial firmware install can be done through this UI,
following normal procedure. I.e., access the UI and update the firmware
using the sysupgrade-image. Remember to select that you do not want to
keep existing settings.

Recovery:
If you brick the device, the C108 supports recovery using TFTP. Keep the
reset button pressed for ~5sec when booting to trigger TFTP. Set the
address of the network interface on your machine to 10.10.10.3/24, and
rename your image file to Kernal.bin.

Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
6 years agokernel: rtl8306: fix port link status
Mathias Kresin [Thu, 31 Aug 2017 05:52:00 +0000 (07:52 +0200)]
kernel: rtl8306: fix port link status

In case the link changes from down to up, the register is only updated
on read. If the link failed/was down, this bit will be 0 until after
reading this bit again.

Fixes a reported link down by swconfig alebit the link is up (query for
the link again will show the correct link status)

Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agolantiq: fix xrx200 switch carrier state
Mathias Kresin [Wed, 9 Aug 2017 16:43:56 +0000 (18:43 +0200)]
lantiq: fix xrx200 switch carrier state

In conditions where none of the switch ports is connected during boot,
the priv->port[i].link != priv->port[i].phydev->link condition is false
since both link values are equal (false). The carrier of the switch
netdev is never set to off and the link state reported by ip is UNKNOWN.

Turn the carrier off if none of the switch ports has a link, regardless
whether something has been changed. Add a check for a carrier to
prevent unnecessary calls to netif_carrier_off() if the carrier is
already off.

Based on a patch send by Martin Schiller.

Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agodnsmasq: backport arcount edns0 fix
Kevin Darbyshire-Bryant [Fri, 8 Sep 2017 07:56:34 +0000 (08:56 +0100)]
dnsmasq: backport arcount edns0 fix

Don't return arcount=1 if EDNS0 RR won't fit in the packet.

Omitting the EDNS0 RR but setting arcount gives a malformed packet.
Also, don't accept UDP packet size less than 512 in received EDNS0.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
6 years agomediatek: fix mdio schedule while atomic error
John Crispin [Thu, 7 Sep 2017 08:11:45 +0000 (10:11 +0200)]
mediatek: fix mdio schedule while atomic error

Signed-off-by: John Crispin <john@phrozen.org>
6 years agodnsmasq: backport official fix for CVE-2017-13704
Kevin Darbyshire-Bryant [Thu, 7 Sep 2017 02:58:23 +0000 (03:58 +0100)]
dnsmasq: backport official fix for CVE-2017-13704

Remove LEDE partial fix for CVE-2017-13704.

Backport official fix from upstream.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> (PKG_RELEASE increase)
6 years agouclient: update to 2017-09-06
Matthias Schiffer [Wed, 6 Sep 2017 13:44:14 +0000 (15:44 +0200)]
uclient: update to 2017-09-06

24d6eded73de uclient-http: fix Host: header for literal IPv6 addresses
83ce236dab86 uclient-fetch: read_data_cb: fix a potential buffer overflow

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agoramips: fix default LED configuration
Kristian Evensen [Wed, 6 Sep 2017 06:14:23 +0000 (08:14 +0200)]
ramips: fix default LED configuration

Commit 77645ffcd9ad ("ramips: add support for the GnuBee Personal Cloud
One") dropped the execution permission from 01_leds with the result
that the file isn't started during first boot and no default LED
configuration is added.

Revert the introduced file permission change.

Fixes: FS#979
Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
[cherry picked the fix from a board support patch]
Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agoodhcp6c: add workaround for broken extendprefix scenario
Hans Dedecker [Tue, 5 Sep 2017 12:33:01 +0000 (14:33 +0200)]
odhcp6c: add workaround for broken extendprefix scenario

Extendprefix is typically used to extend an IPv6 RA prefix from a mobile
wan link to the LAN; such scenario requires correct RA prefix settings
like the on link flag not being set.
However some mobile manufacter set the RA prefix on link flag which breaks
basic IPv6 routing.
Work around this issue by filtering out the route being equal to the
extended prefix.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agolantiq: drop kernel 4.4 support
Mathias Kresin [Mon, 4 Sep 2017 21:25:15 +0000 (23:25 +0200)]
lantiq: drop kernel 4.4 support

Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agolantiq: switch to kernel 4.9
Edward O'Callaghan [Sun, 30 Jul 2017 12:49:16 +0000 (22:49 +1000)]
lantiq: switch to kernel 4.9

Signed-off-by: Edward O'Callaghan <funfunctor@folklore1984.net>
6 years agokernel: update 4.4 to 4.4.86
Kevin Darbyshire-Bryant [Mon, 4 Sep 2017 09:25:09 +0000 (10:25 +0100)]
kernel: update 4.4 to 4.4.86

Refresh patches

Compile & run tested: ar71xx - Archer C7 v2

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
6 years agoar71xx: WNDR4300: use the switch LED trigger on the WAN port
Daniel Gonzalez Cabanelas [Sun, 3 Sep 2017 17:41:42 +0000 (19:41 +0200)]
ar71xx: WNDR4300: use the switch LED trigger on the WAN port

The WAN port on the Netgear WNDR4300 router has two LEDs,
amber and green. Use the switch LED trigger to behave as the
rest of the LAN HW controlled LEDs
- Green: 1 Gbps
- Amber: 100/10 Mbps

Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
6 years agoramips: fix mt76x8 dependencies
John Crispin [Tue, 5 Sep 2017 06:08:36 +0000 (08:08 +0200)]
ramips: fix mt76x8 dependencies

The commit merging mt7628 and mt7688 failed to update some
dependencies.

Signed-off-by: John Crispin <john@phrozen.org>
6 years agoar71xx: add support for TL-WR1041N(v2) LAN/WAN LEDs.
Kuang Rufan [Fri, 25 Aug 2017 12:45:19 +0000 (20:45 +0800)]
ar71xx: add support for TL-WR1041N(v2) LAN/WAN LEDs.

1. Add support to LAN/WAN LEDs attached to ar8327.
2. Fix the problem that LAN/WAN LEDs does not blink in hardware (auto)
   mode when connected to 10M/100M ethernet.

Signed-off-by: Kuang Rufan <master@a1983.com.cn>
6 years agoodhcp6c: add ra_holdoff config option and update to git HEAD version (FS#964)
Hans Dedecker [Sat, 2 Sep 2017 20:05:01 +0000 (22:05 +0200)]
odhcp6c: add ra_holdoff config option and update to git HEAD version (FS#964)

51733a6 ra: align RA update interval with RFC4861 (FS#964)

Add ra_holdoff config option which allows to configure the RA minimum
update interval which is by default 3 seconds as stated in RFC4861.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agokernel: update 4.9 to 4.9.47
Stijn Tintel [Sun, 3 Sep 2017 06:34:10 +0000 (09:34 +0300)]
kernel: update 4.9 to 4.9.47

Refresh patches.
Compile-tested on ramips/mt7621 and x86/64.
Runtime-tested on ramips/mt7621 and x86/64.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
6 years agobase-files: add /etc/profile.d to conffiles
Stijn Tintel [Mon, 28 Aug 2017 11:45:23 +0000 (14:45 +0300)]
base-files: add /etc/profile.d to conffiles

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
6 years agobase-files: order conffiles alphabetically
Stijn Tintel [Mon, 28 Aug 2017 11:42:22 +0000 (14:42 +0300)]
base-files: order conffiles alphabetically

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
6 years agoubox: update to git HEAD version
Hans Dedecker [Fri, 1 Sep 2017 14:02:33 +0000 (16:02 +0200)]
ubox: update to git HEAD version

b1bc8d5 kmodloader: log error message in case of out of memory
f346111 kmodloader: lift restriction on module alias info
f1ef2c3 kmodloader: fix possible segfaults
9cb63df kmodloader: fix endianess check
2cff779 kmodloader: Check module endian before loading
d54f38a kmodloader/get_module_info: initialized aliases to make it more clean
a0b6fef kmodloader: insmod: fix a memoryleak in error case
278c4c4 kmodloader/get_module_name: null-terminate the string
16f7e16 syslog: remove unnecessary sizeof struct between messages

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agorukes.mk: this patch broken grub2 builds
John Crispin [Fri, 1 Sep 2017 08:17:02 +0000 (10:17 +0200)]
rukes.mk: this patch broken grub2 builds

Revert "rules.mk: add missing CPP definition"

This reverts commit 569f74ef49bae9326a723050a400346686983d86.

Signed-off-by: John Crispin <john@phrozen.org>
6 years agogeneric: make switch_port_stats tx/rx_bytes long long
Thibaut VARENE [Fri, 4 Aug 2017 10:32:04 +0000 (12:32 +0200)]
generic: make switch_port_stats tx/rx_bytes long long

This generic structure defines tx_bytes and rx_bytes as unsigned long (u32),
while several devices would typically report unsigned long long (u64).

The code can work as is, but there's a chance that with a sufficiently fast
interface the overflow might happen too fast to be correctly noticed by the
consumers of this data.

This patch makes both field unsigned long long and updates the only known
consumer of this data: swconfig_leds.c

Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
6 years agogeneric: provide get_port_stats() on rtl836x switches
Thibaut VARENE [Fri, 4 Aug 2017 10:29:52 +0000 (12:29 +0200)]
generic: provide get_port_stats() on rtl836x switches

This patch provides a generic switch_dev_ops 'get_port_stats()' callback by
taping into the relevant port MIB counters.

This callback is used by swconfig_leds led trigger to blink LEDs with port
network traffic.

Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
6 years agogeneric: provide get_port_stats() on b53 switches
Thibaut VARENE [Fri, 4 Aug 2017 10:29:19 +0000 (12:29 +0200)]
generic: provide get_port_stats() on b53 switches

This patch provides a generic switch_dev_ops 'get_port_stats()' callback by
taping into the relevant port MIB counters.

This callback is used by swconfig_leds led trigger to blink LEDs with port
network traffic.

Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
6 years agogeneric: provide get_port_stats() on adm6996 switches
Thibaut VARENE [Fri, 4 Aug 2017 10:28:56 +0000 (12:28 +0200)]
generic: provide get_port_stats() on adm6996 switches

This patch provides a generic switch_dev_ops 'get_port_stats()' callback by
taping into the relevant port MIB counters.

This callback is used by swconfig_leds led trigger to blink LEDs with port
network traffic.

Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
6 years agogeneric: provide get_port_stats() on ar8xxx switches
Thibaut VARENE [Fri, 4 Aug 2017 10:28:23 +0000 (12:28 +0200)]
generic: provide get_port_stats() on ar8xxx switches

This patch provides a generic switch_dev_ops 'get_port_stats()' callback by
taping into the relevant port MIB counters.

The implementation uses a generic callback that select the correct MIB counter
index based on chip version.

This callback is used by swconfig_leds led trigger to blink LEDs with port
network traffic.

Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
6 years agoramips: provide get_port_stats() on mt7530/762x switches
Thibaut VARENE [Fri, 4 Aug 2017 10:27:32 +0000 (12:27 +0200)]
ramips: provide get_port_stats() on mt7530/762x switches

This patch provides a generic switch_dev_ops 'get_port_stats()' callback by
taping into the relevant port MIB counters.

This callback is used by swconfig_leds led trigger to blink LEDs with port
network traffic.

Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
6 years agoprocd: mdns: Support txt values with spaces
Karl Palsson [Wed, 30 Aug 2017 17:44:00 +0000 (17:44 +0000)]
procd: mdns: Support txt values with spaces

Properly quote the arguments so that you can register a service with TXT
entries that contains spaces.

Example:
   procd_add_mdns myservice tcp 9999 "key=descriptive text field 1" \
         "another=something equally verbose"

Output before:
$ avahi-browse -r -v _myservice._tcp
_myservice._tcp      local
   hostname = [blah.local]
   address = [192.168.255.74]
   port = [9999]
   txt = ["verbose" "equally" "another=something" "1" "field" "text" "key=descriptive"]

Output now:
$ avahi-browse -r -v _myservice._tcp
_myservice._tcp      local
   hostname = [blah.local]
   address = [192.168.255.74]
   port = [9999]
   txt = ["another=something equally verbose" "key=descriptive text field 1"]

Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years agoRevert "dropbear: Link ssh and scp command to /bin instead of /usr/bin"
John Crispin [Thu, 31 Aug 2017 19:09:05 +0000 (21:09 +0200)]
Revert "dropbear: Link ssh and scp command to /bin instead of /usr/bin"

This reverts commit f7528ed0a8586434e18e9007b1bf0d05a18d6418.

Signed-off-by: John Crispin <john@phrozen.org>