6 years agoltq-vdsl-app: load the vrx200 firmware or patch it
Felix Fietkau [Mon, 7 Mar 2016 11:03:13 +0000 (11:03 +0000)]
ltq-vdsl-app: load the vrx200 firmware or patch it

This checks for the VRX firmware provided in the OpenWrt package.

Signed-off-by: Hauke Mehrtens <>
SVN-Revision: 48940

6 years agodsl-vrx200-firmware-xdsl: create Lantiq vrx200 firmware patches
Felix Fietkau [Mon, 7 Mar 2016 11:03:09 +0000 (11:03 +0000)]
dsl-vrx200-firmware-xdsl: create Lantiq vrx200 firmware patches

Instead of having two big binaries only add one binary and then a patch
to create the other one when needed at runtime.
This is easier to handle in one Makefile for both firmware files.

Signed-off-by: Hauke Mehrtens <>
Signed-off-by: Felix Fietkau <>
SVN-Revision: 48939

6 years agomac80211: rework gpio chip/button support to build on platforms without CONFIG_GPIOLIB
Felix Fietkau [Mon, 7 Mar 2016 09:20:22 +0000 (09:20 +0000)]
mac80211: rework gpio chip/button support to build on platforms without CONFIG_GPIOLIB

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48938

6 years agoar71xx: fix qca956x ethernet initialization
Felix Fietkau [Mon, 7 Mar 2016 08:45:01 +0000 (08:45 +0000)]
ar71xx: fix qca956x ethernet initialization

Complete internal switch initialization for QCA956X.
Set default mdio device if the interface mode of GE0 is not SGMII (fix ticket #21520).

Signed-off-by: Weijie Gao <>
SVN-Revision: 48937

6 years agoar71xx: enable USB packages for WNR2200 (fixes #21984)
Felix Fietkau [Sun, 6 Mar 2016 19:40:31 +0000 (19:40 +0000)]
ar71xx: enable USB packages for WNR2200 (fixes #21984)

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48936

6 years agobcm53xx: use SPROM driver queued for 4.6
Rafał Miłecki [Sun, 6 Mar 2016 18:08:03 +0000 (18:08 +0000)]
bcm53xx: use SPROM driver queued for 4.6

Signed-off-by: Rafał Miłecki <>
SVN-Revision: 48935

6 years agoprereq: stop relying on man pages and grep for --recursive on the git-submodule scrip...
Felix Fietkau [Sat, 5 Mar 2016 21:07:18 +0000 (21:07 +0000)]
prereq: stop relying on man pages and grep for --recursive on the git-submodule script directly (fixes #21968)

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48934

6 years agokernel: update kernel 4.4 to version 4.4.4
Hauke Mehrtens [Sat, 5 Mar 2016 17:51:37 +0000 (17:51 +0000)]
kernel: update kernel 4.4 to version 4.4.4

Signed-off-by: Hauke Mehrtens <>
SVN-Revision: 48933

6 years agokernel: mpc85xx: fix build of kmod-usb2-fsl
Hauke Mehrtens [Sat, 5 Mar 2016 17:49:09 +0000 (17:49 +0000)]
kernel: mpc85xx: fix build of kmod-usb2-fsl

Fix buildbot error for mpc85xx.
ehci-fsl.ko should be packaged inside the usb2 package, because it
depends on the ehci kernel module. The fsl-mph-dr-of.ko module can stay
in an own package because the ehci driver depends on it.

Signed-off-by: Hauke Mehrtens <>
SVN-Revision: 48932

6 years agokernel: fix section mismatch in crashlog
Hauke Mehrtens [Sat, 5 Mar 2016 16:23:50 +0000 (16:23 +0000)]
kernel: fix section mismatch in crashlog

The function memblock_insert_region() is in the section
__init_memblock, also put crashlog_init_memblock there.

This fixes this section mismatch warning:
The function memblock_insert_region.isra.1() references
the function __meminit crashlog_init_memblock().
This is often because memblock_insert_region.isra.1 lacks a __meminit
annotation or the annotation of crashlog_init_memblock is wrong.

Signed-off-by: Hauke Mehrtens <>
SVN-Revision: 48931

6 years agospi-gpio-custom: fix section mismatch
Hauke Mehrtens [Sat, 5 Mar 2016 16:23:19 +0000 (16:23 +0000)]
spi-gpio-custom: fix section mismatch

This fixes this section mismatch warning:
The function spi_gpio_custom_get_slave_cs() references
the variable __initdata bus_nump.
This is often because spi_gpio_custom_get_slave_cs lacks a __initdata
annotation or the annotation of bus_nump is wrong.

Signed-off-by: Hauke Mehrtens <>
SVN-Revision: 48930

6 years agokernel: add missing config options
Hauke Mehrtens [Sat, 5 Mar 2016 16:22:45 +0000 (16:22 +0000)]
kernel: add missing config options

The buildbots complained about these config options being missing for arm64:

Signed-off-by: Hauke Mehrtens <>
SVN-Revision: 48929

6 years agouclibc++: add a patch to fix memory corruption issues on exceptions
Felix Fietkau [Sat, 5 Mar 2016 14:23:49 +0000 (14:23 +0000)]
uclibc++: add a patch to fix memory corruption issues on exceptions

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48928

6 years agobuild: fix git prereq check to forcibly disable man pagers on the --help check
Felix Fietkau [Sat, 5 Mar 2016 13:37:02 +0000 (13:37 +0000)]
build: fix git prereq check to forcibly disable man pagers on the --help check

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48927

6 years agobuild: fix git prereq check to not rely on being in a git directory (#21968)
Felix Fietkau [Sat, 5 Mar 2016 10:49:59 +0000 (10:49 +0000)]
build: fix git prereq check to not rely on being in a git directory (#21968)

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48926

6 years agoar71xx: WNR612v2: enable control of all LEDs and buttons
Felix Fietkau [Sat, 5 Mar 2016 09:45:15 +0000 (09:45 +0000)]
ar71xx: WNR612v2: enable control of all LEDs and buttons

This patch provides full GPIO support for WNR612v2 (LEDs and buttons).
It exposes all LEDs to operating system, including Ethernet ones.

Signed-off-by: Michal Cieslakiewicz <>
SVN-Revision: 48924

6 years agoar71xx: WNR2000v3: add speed_mask to Ethernet port LED initialization
Felix Fietkau [Sat, 5 Mar 2016 09:45:10 +0000 (09:45 +0000)]
ar71xx: WNR2000v3: add speed_mask to Ethernet port LED initialization

This patch add speed_mask parameter to Ethernet port LED initialization
during system startup. LEDs are configured to show amber light for 10 Mbps
link and green for 100 Mbps as described on device label.

Signed-off-by: Michal Cieslakiewicz <>
SVN-Revision: 48923

6 years agoar71xx: WNR2000v3: enable control of all LEDs and buttons
Felix Fietkau [Sat, 5 Mar 2016 09:45:06 +0000 (09:45 +0000)]
ar71xx: WNR2000v3: enable control of all LEDs and buttons

This patch provides full GPIO support for WNR2000v3 (LEDs and buttons).
It exposes all LEDs to operating system, including Ethernet ones.

Signed-off-by: Michal Cieslakiewicz <>
SVN-Revision: 48922

6 years agomac80211: ath9k: enable GPIO buttons
Felix Fietkau [Sat, 5 Mar 2016 09:45:03 +0000 (09:45 +0000)]
mac80211: ath9k: enable GPIO buttons

Enable platform-defined GPIO button support for ath9k device.
Key poller is activated for attached platform buttons.
Requires ath9k GPIO chip access.

Signed-off-by: Michal Cieslakiewicz <>
SVN-Revision: 48921

6 years agonetifd: fix build error
Jo-Philipp Wich [Fri, 4 Mar 2016 18:37:45 +0000 (18:37 +0000)]
netifd: fix build error

Signed-off-by: Jo-Philipp Wich <>
SVN-Revision: 48920

6 years agonetifd: fix VTI ikey/okey endianess
Jo-Philipp Wich [Fri, 4 Mar 2016 17:48:18 +0000 (17:48 +0000)]
netifd: fix VTI ikey/okey endianess

Ensure that ikey and okey are sent in network byte order to the kernel.
Also don't mangle external IP addrs and routes when reconfiguring iinterfaces.

Signed-off-by: Jo-Philipp Wich <>
SVN-Revision: 48919

6 years agobuildroot: apply IGNORE_ERRORS to host builds
Jo-Philipp Wich [Fri, 4 Mar 2016 11:20:11 +0000 (11:20 +0000)]
buildroot: apply IGNORE_ERRORS to host builds

Apply the error ignore mechanism to host builds as well in order to skip over
broken feed packages.

Signed-off-by: Jo-Philipp Wich <>
SVN-Revision: 48918

6 years agoopkg: Fix handling of sha256sums for conffiles
John Crispin [Fri, 4 Mar 2016 08:33:41 +0000 (08:33 +0000)]
opkg: Fix handling of sha256sums for conffiles

MD5s are shorter than SHA256, so reading buffer has to be bigger to read the
whole hash.

Signed-off-by: Michal Hrusecky <>
SVN-Revision: 48917

6 years agoAP121 target: fix board detection in
John Crispin [Fri, 4 Mar 2016 08:33:38 +0000 (08:33 +0000)]
AP121 target: fix board detection in

Signed-off-by: Attila Lendvai <>
SVN-Revision: 48916

6 years agoprocd: Allow to configure default respawn retry count
John Crispin [Fri, 4 Mar 2016 08:33:36 +0000 (08:33 +0000)]
procd: Allow to configure default respawn retry count

Extend /etc/config/system with a parameter to set the
default respawn retry for procd launched services that
have respawn enabled.

config service
         option respawn_retry -1

All services that don't specify specific respawn parameters
will get their defaults added by If respawn_retry
is specified in /etc/config/system the default retry limit
will be set to this value by procd.

Signed-off-by: Helmut Schaa <>
SVN-Revision: 48915

6 years agoAR8216: improve mmd register access
John Crispin [Fri, 4 Mar 2016 08:33:33 +0000 (08:33 +0000)]
AR8216: improve mmd register access

Combine all bus operations for one MMD access in one function.
Protecting all these bus operations with one lock also helps
to avoid potential issues due to bus operations intercepting
the register and data write.

Signed-off-by: Heiner Kallweit <>
SVN-Revision: 48914

6 years agoAR8216: make ARL age time configurable
John Crispin [Fri, 4 Mar 2016 08:33:30 +0000 (08:33 +0000)]
AR8216: make ARL age time configurable

The default TTL for address resolution table entries is 5 minutes
for all members of the AR8216 family. This can cause issues if
e.g. Wifi clients roam to another AP and their MAC appears on
another switch port suddenly. Then the client may not be reachable
until the old ARL entry expires.
I would have expected the switch to invalidate old entries if it
detects the same MAC on another port. But that's not the case.

Therefore make the TTL for ARL entries configurable.
The effective TTL will always be a multiple of 7 seconds.

Signed-off-by: Heiner Kallweit <>
SVN-Revision: 48913

6 years agoAR8216: remove redundant port number in MIB header line
John Crispin [Fri, 4 Mar 2016 08:33:28 +0000 (08:33 +0000)]
AR8216: remove redundant port number in MIB header line

The line before includes the port number anyway so there's no need
to duplicate the port number in the MIB info header.

Signed-off-by: Heiner Kallweit <>
SVN-Revision: 48912

6 years agoAR8216: complement MIB counters with info in GiB / MiB / KiB
John Crispin [Fri, 4 Mar 2016 08:33:25 +0000 (08:33 +0000)]
AR8216: complement MIB counters with info in GiB / MiB / KiB

The decimal values especially for TxByte and RxGoodByte are hard to read
once bigger amounts of data have been transferred.
Therefore complement the decimal values with info in GiB / MiB / KiB.

Signed-off-by: Heiner Kallweit <>
SVN-Revision: 48911

6 years agoAR8216: don't display MIB counters if all are empty
John Crispin [Fri, 4 Mar 2016 08:33:22 +0000 (08:33 +0000)]
AR8216: don't display MIB counters if all are empty

For unused switch ports all MIB values are zero. Displaying ~40 empty
MIB counters is just confusing and makes it hard to read the output of
swconfig dev <dev> show.
Therefore, if all MIB counters for a port are zero, just display
an info that the MIB counters are empty.

Signed-off-by: Heiner Kallweit <>
SVN-Revision: 48910

6 years agoimx6: image: Add missing kernel prefix
John Crispin [Fri, 4 Mar 2016 08:33:20 +0000 (08:33 +0000)]
imx6: image: Add missing kernel prefix

Signed-off-by: Petr Štetiar <>
SVN-Revision: 48909

6 years agoramips: mt7621: fix WF-2881 for ubi split
John Crispin [Fri, 4 Mar 2016 08:33:17 +0000 (08:33 +0000)]
ramips: mt7621: fix WF-2881 for ubi split

This patch fix firmware split for WF-2881 which was previously manually partitioned.

Signed-off-by: YounJae Rho <>
SVN-Revision: 48908

6 years agolua: host: install lnum_config.h
John Crispin [Fri, 4 Mar 2016 08:33:14 +0000 (08:33 +0000)]
lua: host: install lnum_config.h

One of the host patches introduces the new header file lnum_config.h
included by luaconf.h, but doesn't install it.

Install it to allow building C modules for the host Lua.

Signed-off-by: Matthias Schiffer <>
SVN-Revision: 48907

6 years agoramips: Add profiles for JCG routers
John Crispin [Fri, 4 Mar 2016 08:33:12 +0000 (08:33 +0000)]
ramips: Add profiles for JCG routers

This patch adds profiles and support for building factory and
sysupgrade images for JHR-N805R, JHR-N825R and JHR-N926R.

Signed-off-by: Reinhard Max <>
Reviewed-by: Torsten Duwe <>
SVN-Revision: 48906

6 years agoramips: Add JCG routers to base-files
John Crispin [Fri, 4 Mar 2016 08:33:09 +0000 (08:33 +0000)]
ramips: Add JCG routers to base-files

This patch adds support for JHR-N805R, JHR-N825R and JHR-N926R to
various scripts in the base-files directory.

Signed-off-by: Reinhard Max <>
Reviewed-by: Torsten Duwe <>
SVN-Revision: 48905

6 years agoramips: Add device tree for JCG JHR-N926R
John Crispin [Fri, 4 Mar 2016 08:33:06 +0000 (08:33 +0000)]
ramips: Add device tree for JCG JHR-N926R

Add a device tree for JCG JHR-N825R

This router is based on a RT3052 and has 4MB of CFI flash and 32MB of
SDRAM. As a special feature, it comes with a two digit seven segment
display that is connected to a pair of daisy-chained 74164 shift
registers that can be controlled via GPIOs.

For details, see .

Signed-off-by: Reinhard Max <>
Reviewed-by: Torsten Duwe <>
SVN-Revision: 48904

6 years agoramips: Add device tree for JCG JHR-N825R
John Crispin [Fri, 4 Mar 2016 08:33:03 +0000 (08:33 +0000)]
ramips: Add device tree for JCG JHR-N825R

Add a device tree for JCG JHR-N825R

This router is based on a RT3052 and has 4MB of CFI flash and 32MB of
SDRAM. For details, see .

Signed-off-by: Reinhard Max <>
Reviewed-by: Torsten Duwe <>
SVN-Revision: 48903

6 years agoramips: Add device tree for JCG JHR-N805R
John Crispin [Fri, 4 Mar 2016 08:33:00 +0000 (08:33 +0000)]
ramips: Add device tree for JCG JHR-N805R

Add a device tree for JCG JHR-N805R

This router is based on a RT3050 and has 4MB of SPI flash and 16MB of
SDRAM. For details, see .

Signed-off-by: Reinhard Max <>
Reviewed-by: Torsten Duwe <>
SVN-Revision: 48902

6 years agoramips: Add a tool to create JCG factory images
John Crispin [Fri, 4 Mar 2016 08:32:54 +0000 (08:32 +0000)]
ramips: Add a tool to create JCG factory images

replace spaces with tabs

Signed-off-by: Reinhard Max <>
SVN-Revision: 48901

6 years agomac80211: improve rate control performance
Felix Fietkau [Thu, 3 Mar 2016 22:29:00 +0000 (22:29 +0000)]
mac80211: improve rate control performance

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48897

6 years agomt76: update to the latest version, adds stability fixes
Felix Fietkau [Thu, 3 Mar 2016 22:01:06 +0000 (22:01 +0000)]
mt76: update to the latest version, adds stability fixes

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48895

6 years agokernel: gpio-button-hotplug: Add missing ONESHOT flag to threaded IRQ request
John Crispin [Thu, 3 Mar 2016 20:24:47 +0000 (20:24 +0000)]
kernel: gpio-button-hotplug: Add missing ONESHOT flag to threaded IRQ request

Without the IRQF_ONESHOT flag in devm_request_threaded_irq() call I get
following error:

  genirq: Threaded irq requested with handler=NULL and !ONESHOT for irq 56
  gpio-keys gpio-keys: failed to request irq:56 for gpio:20

>From kernel/irq/manage.c:

 The interrupt was requested with handler = NULL, so we use the default
 primary handler for it. But it does not have the oneshot flag set. In
 combination with level interrupts this is deadly, because the default
 primary handler just wakes the thread, then the irq lines is reenabled,
 but the device still has the level irq asserted. Rinse and repeat....

 While this works for edge type interrupts, we play it safe and reject
 unconditionally because we can't say for sure which type this interrupt
 really has. The type flags are unreliable as the underlying chip
 implementation can override them.

Signed-off-by: Petr Štetiar <>
SVN-Revision: 48894

6 years agoramips: Incorrect file mode change
John Crispin [Thu, 3 Mar 2016 20:24:45 +0000 (20:24 +0000)]
ramips: Incorrect file mode change

Commit d0f5ab6d95a1 ("ramips: Added support for ZBT-826 / ZBT-1026")
incorrectly changed the mode of the ramips shell scripts from 755 to 644.
I.e., they are not excutable any more and for example devices will be left
with broken configs.

Signed-off-by: Kristian Evensen <>
SVN-Revision: 48893

6 years agotarget/mpc85xx: check for 'generic' subtarget for initramfs image file
John Crispin [Thu, 3 Mar 2016 20:24:41 +0000 (20:24 +0000)]
target/mpc85xx: check for 'generic' subtarget for initramfs image file

Copy '' only for the 'generic' subtarget.
This is a follow-up to:;a=commitdiff;h=b889fe55c1844aec2c03da28fecb03e958c21f18

We build our initramfs images more rarely, so it took a while
to catch this too.

Signed-off-by: Alexandru Ardelean <>
SVN-Revision: 48892

6 years agomtd: fix reading of image magic bytes in smaller chunks
John Crispin [Thu, 3 Mar 2016 20:24:38 +0000 (20:24 +0000)]
mtd: fix reading of image magic bytes in smaller chunks

The image_check currently fails when it cannot read all magic bytes in a
single chunk. But this can happen when the data are read from a pipe. This
currently breaks the upgrade script with musl because it uses
dd with a blocksize of 1 to copy the image file to the mtd process.

The read can simply be repeated until enough bytes are read for the magic
byte check. It only stops when either an error was returned or 0 bytes were

Signed-off-by: Sven Eckelmann <>
SVN-Revision: 48891

6 years agoom-watchdog: Move each board name to its own line
John Crispin [Thu, 3 Mar 2016 20:24:35 +0000 (20:24 +0000)]
om-watchdog: Move each board name to its own line

Signed-off-by: Sven Eckelmann <>
SVN-Revision: 48890

6 years agoom-watchdog: Stop om-watchdog via procd before rebooting
John Crispin [Thu, 3 Mar 2016 20:24:33 +0000 (20:24 +0000)]
om-watchdog: Stop om-watchdog via procd before rebooting

It was noticed that the system can hang during the reboot before the kernel
actually triggers the system reset and before all processes are stopped. The
watchdog didn't automatically restart the system because the om-watchdog
process was still running and triggering the hardware watchdog.

Instead the system should stop the watchdog during the shutdown to get the
benefit of an hardware reset in case of an software related problem. This stop
can be done quite easily with procd because it keeps track of its started

Signed-off-by: Sven Eckelmann <>
SVN-Revision: 48889

6 years agoramips: Add a tool to create JCG factory images
John Crispin [Thu, 3 Mar 2016 20:24:30 +0000 (20:24 +0000)]
ramips: Add a tool to create JCG factory images

This tool creates factory images for JCG routers.
Details can be found in the header comment of jcgimage.c.

Signed-off-by: Reinhard Max <>
Reviewed-by: Torsten Duwe <>
SVN-Revision: 48888

6 years agoramips: enable mt76 on mt7688 by default
Felix Fietkau [Wed, 2 Mar 2016 17:40:58 +0000 (17:40 +0000)]
ramips: enable mt76 on mt7688 by default

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48886

6 years agomt76: update to the latest version, adds basic mt7628 support
Felix Fietkau [Wed, 2 Mar 2016 17:40:55 +0000 (17:40 +0000)]
mt76: update to the latest version, adds basic mt7628 support

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48885

6 years agomac80211: add a number of pending fixes
Felix Fietkau [Wed, 2 Mar 2016 14:56:48 +0000 (14:56 +0000)]
mac80211: add a number of pending fixes

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48883

6 years agomac80211: refresh patch
Felix Fietkau [Wed, 2 Mar 2016 14:56:43 +0000 (14:56 +0000)]
mac80211: refresh patch

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48882

6 years agomac80211: ath9k: enable access to GPIO
Felix Fietkau [Wed, 2 Mar 2016 13:22:51 +0000 (13:22 +0000)]
mac80211: ath9k: enable access to GPIO

Enable access to GPIO chip and its pins for Atheros AR92xx
wireless devices. For now AR9285 and AR9287 are supported.

Signed-off-by: Michal Cieslakiewicz <>
Acked-by: Hartmut Knaack <>
SVN-Revision: 48881

6 years agomac80211: ath9k: set default state for platform LEDs
Felix Fietkau [Wed, 2 Mar 2016 13:22:46 +0000 (13:22 +0000)]
mac80211: ath9k: set default state for platform LEDs

Support default state for platform LEDs connected to ath9k device.
Now LEDs are correctly set on or off at ath9k module initialization.

Signed-off-by: Michal Cieslakiewicz <>
Acked-by: Hartmut Knaack <>
SVN-Revision: 48880

6 years agomac80211: ath9k: enable platform WLAN LED name
Felix Fietkau [Wed, 2 Mar 2016 13:22:40 +0000 (13:22 +0000)]
mac80211: ath9k: enable platform WLAN LED name

Enable platform-supplied WLAN LED name for ath9k device.

Signed-off-by: Michal Cieslakiewicz <>
Acked-by: Hartmut Knaack <>
SVN-Revision: 48879

6 years agocyassl: disable Intel ASM for now
Jo-Philipp Wich [Wed, 2 Mar 2016 10:01:27 +0000 (10:01 +0000)]
cyassl: disable Intel ASM for now

With ASM support enabled, CyaSSL fails to build on all x86 subtargets.

Signed-off-by: Jo-Philipp Wich <>
SVN-Revision: 48876

6 years agokernel: update kernel 3.18 to version 3.18.27
Hauke Mehrtens [Tue, 1 Mar 2016 23:16:17 +0000 (23:16 +0000)]
kernel: update kernel 3.18 to version 3.18.27

Signed-off-by: Hauke Mehrtens <>
SVN-Revision: 48874

6 years agoopenssl: update to 1.0.2g (8 CVEs)
Jo-Philipp Wich [Tue, 1 Mar 2016 14:31:08 +0000 (14:31 +0000)]
openssl: update to 1.0.2g (8 CVEs)


s2_srvr.c overwrite the wrong bytes in the master-key when applying
Bleichenbacher protection for export cipher suites. This provides a
Bleichenbacher oracle, and could potentially allow more efficient variants of
the DROWN attack.


s2_srvr.c did not enforce that clear-key-length is 0 for non-export ciphers.
If clear-key bytes are present for these ciphers, they *displace* encrypted-key
bytes. This leads to an efficient divide-and-conquer key recovery attack: if
an eavesdropper has intercepted an SSLv2 handshake, they can use the server as
an oracle to determine the SSLv2 master-key, using only 16 connections to the
server and negligible computation. More importantly, this leads to a more
efficient version of DROWN that is effective against non-export ciphersuites,
and requires no significant computation.


A side-channel attack was found which makes use of cache-bank conflicts on
the Intel Sandy-Bridge microarchitecture which could lead to the recovery of
RSA keys. The ability to exploit this issue is limited as it relies on an
attacker who has control of code in a thread running on the same hyper-
threaded core as the victim thread which is performing decryptions.


The internal |fmtstr| function used in processing a "%s" format string in
the BIO_*printf functions could overflow while calculating the length of a
string and cause an OOB read when printing very long strings. Additionally
the internal |doapr_outch| function can attempt to write to an OOB memory
location (at an offset from the NULL pointer) in the event of a memory
allocation failure. In 1.0.2 and below this could be caused where the size
of a buffer to be allocated is greater than INT_MAX. E.g. this could be in
processing a very long "%s" format string. Memory leaks can also occur.
The first issue may mask the second issue dependent on compiler behaviour.
These problems could enable attacks where large amounts of untrusted data is
passed to the BIO_*printf functions. If applications use these functions in
this way then they could be vulnerable. OpenSSL itself uses these functions
when printing out human-readable dumps of ASN.1 data. Therefore applications
that print this data could be vulnerable if the data is from untrusted sources.
OpenSSL command line applications could also be vulnerable where they print out
ASN.1 data, or if untrusted data is passed as command line arguments. Libssl is
not considered directly vulnerable. Additionally certificates etc received via
remote connections via libssl are also unlikely to be able to trigger these
issues because of message size limits enforced within libssl.


In the BN_hex2bn function the number of hex digits is calculated using an int
value |i|. Later |bn_expand| is called with a value of |i * 4|. For large
values of |i| this can result in |bn_expand| not allocating any memory because
|i * 4| is negative. This can leave the internal BIGNUM data field as NULL
leading to a subsequent NULL ptr deref. For very large values of |i|, the
calculation |i * 4| could be a positive value smaller than |i|. In this case
memory is allocated to the internal BIGNUM data field, but it is insufficiently
sized leading to heap corruption. A similar issue exists in BN_dec2bn. This
could have security consequences if BN_hex2bn/BN_dec2bn is ever called by user
applications with very large untrusted hex/dec data. This is anticipated to be
a rare occurrence. All OpenSSL internal usage of these functions use data that
is not expected to be untrusted, e.g. config file data or application command
line arguments. If user developed applications generate config file data based
on untrusted data then it is possible that this could also lead to security
consequences. This is also anticipated to be rare.


The SRP user database lookup method SRP_VBASE_get_by_user had confusing memory
management semantics; the returned pointer was sometimes newly allocated, and
sometimes owned by the callee. The calling code has no way of distinguishing
these two cases. Specifically, SRP servers that configure a secret seed to hide
valid login information are vulnerable to a memory leak: an attacker connecting
with an invalid username can cause a memory leak of around 300 bytes per
connection. Servers that do not configure SRP, or configure SRP but do not
configure a seed are not vulnerable. In Apache, the seed directive is known as
SSLSRPUnknownUserSeed. To mitigate the memory leak, the seed handling in
SRP_VBASE_get_by_user is now disabled even if the user has configured a seed.
Applications are advised to migrate to SRP_VBASE_get1_by_user. However, note
that OpenSSL makes no strong guarantees about the indistinguishability of valid
and invalid logins. In particular, computations are currently not carried out
in constant time.


A double free bug was discovered when OpenSSL parses malformed DSA private keys
and could lead to a DoS attack or memory corruption for applications that
receive DSA private keys from untrusted sources. This scenario is considered


A cross-protocol attack was discovered that could lead to decryption of TLS
sessions by using a server supporting SSLv2 and EXPORT cipher suites as a
Bleichenbacher RSA padding oracle. Note that traffic between clients and non-
vulnerable servers can be decrypted provided another server supporting SSLv2
and EXPORT ciphers (even with a different protocol such as SMTP, IMAP or POP)
shares the RSA keys of the non-vulnerable server. This vulnerability is known
as DROWN (CVE-2016-0800). Recovering one session key requires the attacker to
perform approximately 2^50 computation, as well as thousands of connections to
the affected server. A more efficient variant of the DROWN attack exists
against unpatched OpenSSL servers using versions that predate 1.0.2a, 1.0.1m,
1.0.0r and 0.9.8zf released on 19/Mar/2015 (see CVE-2016-0703 below). Users can
avoid this issue by disabling the SSLv2 protocol in all their SSL/TLS servers,
if they've not done so already. Disabling all SSLv2 ciphers is also sufficient,
provided the patches for CVE-2015-3197 (fixed in OpenSSL 1.0.1r and 1.0.2f)
have been deployed. Servers that have not disabled the SSLv2 protocol, and are
not patched for CVE-2015-3197 are vulnerable to DROWN even if all SSLv2
ciphers are nominally disabled, because malicious clients can force the use of
SSLv2 with EXPORT ciphers. OpenSSL 1.0.2g and 1.0.1s deploy the following
mitigation against DROWN: SSLv2 is now by default disabled at build-time.
Builds that are not configured with "enable-ssl2" will not support SSLv2.
Even if "enable-ssl2" is used, users who want to negotiate SSLv2 via the
version-flexible SSLv23_method() will need to explicitly call either of:
SSL_CTX_clear_options(ctx, SSL_OP_NO_SSLv2); or SSL_clear_options(ssl,
SSL_OP_NO_SSLv2); as appropriate. Even if either of those is used, or the
application explicitly uses the version-specific SSLv2_method() or its client
or server variants, SSLv2 ciphers vulnerable to exhaustive search key recovery
have been removed. Specifically, the SSLv2 40-bit EXPORT ciphers, and SSLv2
56-bit DES are no longer available. In addition, weak ciphers in SSLv3 and up
are now disabled in default builds of OpenSSL. Builds that are not configured
with "enable-weak-ssl-ciphers" will not provide any "EXPORT" or "LOW" strength

Signed-off-by: Jo-Philipp Wich <>
SVN-Revision: 48868

6 years agoopkg: Make opkg understand old md5
John Crispin [Tue, 1 Mar 2016 09:17:12 +0000 (09:17 +0000)]
opkg: Make opkg understand old md5

Opkg now uses sha256 by default and expects them. Making it optionally
understand md5s also and detect md5 sum so we can migrate from configuration
that used md5.

Signed-off-by: Michal Hrusecky <>
SVN-Revision: 48867

6 years agoar71xx: Add OOLITE to the Gainstrong profile, removed standalone profile.
John Crispin [Tue, 1 Mar 2016 09:17:09 +0000 (09:17 +0000)]
ar71xx: Add OOLITE to the Gainstrong profile, removed standalone profile.

This patch moves the OOLITE profile code into the overarching Gainstrong
profile and deletes the old single profile file.

Signed-off by: Stijn Segers <>

SVN-Revision: 48866

6 years agoramips: Added support for ZBT-826 / ZBT-1026
John Crispin [Tue, 1 Mar 2016 09:17:06 +0000 (09:17 +0000)]
ramips: Added support for ZBT-826 / ZBT-1026

Support for these MT7620-based routers:
Based on Oskari’s patches found here:

Signed-off-by: Jamie Stuart <>
SVN-Revision: 48865

6 years agobuildroot: improve git submodule handling for packages
Felix Fietkau [Mon, 29 Feb 2016 20:12:25 +0000 (20:12 +0000)]
buildroot: improve git submodule handling for packages

Move the `--recursive` switch from `git clone` to `git submodule`
so that submodules are cloned for upstream branches where the
PKG_SOURCE_VERSION commit-ish has a different .gitmodules
configuration than the repository default.

This is, for example, required when the master branch for a source
package does not use submodules, but its topic branch for OpenWRT

This changes the buildroot dependency from git-1.6.2 to git,
which was released September 2012.

Signed-off-by: Darik Horn <>
Signed-off-by: Karl Palsson <>
SVN-Revision: 48830

6 years agofirmware-utils: mkfwimage: fix firmware_max_length for XM layout
Felix Fietkau [Mon, 29 Feb 2016 20:11:33 +0000 (20:11 +0000)]
firmware-utils: mkfwimage: fix firmware_max_length for XM layout

The new u-boot version bundled with the 5.6.x firmwares from Ubiquiti gets
confused by the smaller rootfs partition size; this can lead to various

1. We've gotten reports that flashing from the 5.6.x stock firmware to
   OpenWrt will brick devices; I wasn't able to reproduce this myself
2. Flashing from 5.5.x stock firmware to OpenWrt and back to stock (via
   TFTP recovery), following by an update to 5.6.x via web interface can
   yield a bricked device with the following properties:
   - It can't be booted without entering commands over a serial console, as
     u-boot supplies the wrong MTD layout
   - The web interface won't accept any image with the original flash
     layout, so stock firmware upgrades are impossible
   - As the TFTP recovery doesn't update u-boot, returning to the old
     u-boot from firmware 5.5.x is impossible

To recover from 2., creating an OpenWrt image which doesn't set u-boot as
read-only and flashing a backup of the old u-boot from there is the only
way known to me. (Fixing the mtdparts variable in u-boot-env from OpenWrt
might also work; settings this from u-boot over serial didn't have
any permanent effect.)

Fix all of this by setting the correct flash layout also used by the stock
firmware. Flashing has been tested from both firmware 5.5.x and 5.6.x. The
fixed layout also matches the mtdparts defined by OpenWrt.

Signed-off-by: Matthias Schiffer <>
SVN-Revision: 48829

6 years agoar71xx, firmware-utils: split ubdev01 flash layout from XM
Felix Fietkau [Mon, 29 Feb 2016 20:11:30 +0000 (20:11 +0000)]
ar71xx, firmware-utils: split ubdev01 flash layout from XM

The ubdev01 profile defines its own MTDPARTS with smaller firmware
partition, so give it its own UBNT_BOARD in mkfwimage.

Signed-off-by: Matthias Schiffer <>
SVN-Revision: 48828

6 years agofirmware-utils: mkfwimage: add -Wall, fix obvious bugs causing compile warnings
Felix Fietkau [Mon, 29 Feb 2016 20:11:26 +0000 (20:11 +0000)]
firmware-utils: mkfwimage: add -Wall, fix obvious bugs causing compile warnings

Signed-off-by: Matthias Schiffer <>
SVN-Revision: 48827

6 years agogcc: update gcc 5 to version 5.3.0
Felix Fietkau [Mon, 29 Feb 2016 20:09:45 +0000 (20:09 +0000)]
gcc: update gcc 5 to version 5.3.0

Signed-off-by: Hauke Mehrtens <>
SVN-Revision: 48826

6 years agomt76: update to the latest version, adds a number of stability fixes
Felix Fietkau [Sun, 28 Feb 2016 21:06:08 +0000 (21:06 +0000)]
mt76: update to the latest version, adds a number of stability fixes

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48814

6 years agoramips: add sysupgrade support for mt7628
Felix Fietkau [Sun, 28 Feb 2016 15:46:27 +0000 (15:46 +0000)]
ramips: add sysupgrade support for mt7628

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48813

6 years agoramips: create device tree node for MT7628 WMAC in preparation for future work on...
Felix Fietkau [Sun, 28 Feb 2016 13:21:54 +0000 (13:21 +0000)]
ramips: create device tree node for MT7628 WMAC in preparation for future work on driver support in mt76

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48812

6 years agomt76: update to the latest version, enable MT7603 support (very basic, needs testing...
Felix Fietkau [Sun, 28 Feb 2016 09:55:18 +0000 (09:55 +0000)]
mt76: update to the latest version, enable MT7603 support (very basic, needs testing and debugging work)

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48811

6 years agobsdiff: add bsdiff and bspatch tool package
Hauke Mehrtens [Sat, 27 Feb 2016 22:59:13 +0000 (22:59 +0000)]
bsdiff: add bsdiff and bspatch tool package

This will be used to create a diff between the Lantiq annex A and the
annex B firmware.

Signed-off-by: Hauke Mehrtens <>
SVN-Revision: 48810

6 years agoscripts/ fix sha256 hash command (#21931)
Felix Fietkau [Sat, 27 Feb 2016 16:20:06 +0000 (16:20 +0000)]
scripts/ fix sha256 hash command (#21931)

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48809

6 years agoRevert "ar71xx: WNR612v2: exclude USB modules from image"
Felix Fietkau [Fri, 26 Feb 2016 20:47:13 +0000 (20:47 +0000)]
Revert "ar71xx: WNR612v2: exclude USB modules from image"

This reverts commit r48778. The issue has now been fixed properly

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48808

6 years agoinclude/ fix profile defaults
Felix Fietkau [Fri, 26 Feb 2016 20:47:10 +0000 (20:47 +0000)]
include/ fix profile defaults

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48807

6 years agobase-files: support passing mode to ucidef_set_led_netdev()
Jo-Philipp Wich [Fri, 26 Feb 2016 14:49:17 +0000 (14:49 +0000)]
base-files: support passing mode to ucidef_set_led_netdev()

Signed-off-by: Jo-Philipp Wich <>
SVN-Revision: 48806

6 years agokernel: use upstream accepted bcm47xxpart patches
Rafał Miłecki [Fri, 26 Feb 2016 11:12:50 +0000 (11:12 +0000)]
kernel: use upstream accepted bcm47xxpart patches

Signed-off-by: Rafał Miłecki <>
SVN-Revision: 48805

6 years agotoolchain: use musl instead of glibc by default for mips64
Felix Fietkau [Fri, 26 Feb 2016 10:56:02 +0000 (10:56 +0000)]
toolchain: use musl instead of glibc by default for mips64

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48804

6 years agomusl: add mips64 port
Felix Fietkau [Fri, 26 Feb 2016 10:55:59 +0000 (10:55 +0000)]
musl: add mips64 port

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48803

6 years agokernel: disable MIPS VDSO by default until the cache issues have been resolved
Felix Fietkau [Fri, 26 Feb 2016 09:49:32 +0000 (09:49 +0000)]
kernel: disable MIPS VDSO by default until the cache issues have been resolved

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48802

6 years agodnsmasq: add host-specific lease time option for static hosts
John Crispin [Fri, 26 Feb 2016 09:13:03 +0000 (09:13 +0000)]
dnsmasq: add host-specific lease time option for static hosts

Enable setting a host-specific lease time for static hosts.
The new option is called "leasetime" and the format is similar
as for the default lease time: e.g. 12h, 3d, infinite

Default lease time is used for all hosts for which there is
no host-specific definition.

The option is added to /etc/config/dhcp for the selected hosts:
  config host
        option name 'Nexus'
        option mac 'd8:50:66:55:59:7c'
        option ip ''
        option leasetime '2h'

It gets appended to /var/etc/dnsmasq.conf like this:

Signed-off-by: Hannu Nyman <>
SVN-Revision: 48801

6 years agodnsmasq: add dhcp relay option
John Crispin [Fri, 26 Feb 2016 08:35:48 +0000 (08:35 +0000)]
dnsmasq: add dhcp relay option

Signed-off-by: dbugnar <>
SVN-Revision: 48800

6 years agoprocd: hotplug.json: allow passing hotplug events from all subsystems
John Crispin [Fri, 26 Feb 2016 08:35:43 +0000 (08:35 +0000)]
procd: hotplug.json: allow passing hotplug events from all subsystems

There are time that programs need to be notified of events from
subsystems that are not enumerated in the .json definition, e.g. QEMU
guest agent by default requires /dev/virtio-ports/org.qemu.guest_agent.0
which is a symlink to /dev/vportMpN from virtio-ports subsystem.

Signed-off-by: Yousong Zhou <>
SVN-Revision: 48799

6 years agolibubox: update to latest git HEAD
John Crispin [Fri, 26 Feb 2016 08:35:41 +0000 (08:35 +0000)]
libubox: update to latest git HEAD

adds isdir support to json_script

Signed-off-by: John Crispin <>
SVN-Revision: 48798

6 years agoar71xx: Renamed Gainstrong MiniBox profile to Gainstrong (manufacturer) and updated...
John Crispin [Fri, 26 Feb 2016 08:35:38 +0000 (08:35 +0000)]
ar71xx: Renamed Gainstrong MiniBox profile to Gainstrong (manufacturer) and updated copyright

This is the first patch of a series of three to tidy up the profiles for
Gainstrong devices. Right now there are two Gainstrong profiles, each
for a single device built by this manufacturer. This patch renames the
MiniBox profile to Gainstrong and updates the copyright notice.

The series applies cleanly to current trunk. Resent with the architecture in
the subject, forgot that the first time.

Signed-off by: Stijn Segers <>

SVN-Revision: 48797

6 years agoramips: fix GPIO names for RT5350F-OLinuXino-EVB
John Crispin [Fri, 26 Feb 2016 08:35:35 +0000 (08:35 +0000)]
ramips: fix GPIO names for RT5350F-OLinuXino-EVB


the board in subject (RT5350F-OLinuXino-EVB) still ships from vendor
with a RC3 image built upon a .dts file which declares GPIO12 and GPIO14
as relay2 and relay1 respectively, as you can see from their rt5350f
branch on GitHub.

For some reason in the official stable build both the GPIOs are swapped
and the wrong names are declared in the gpio-export directive.

I'm submitting this patch which should roll back the wrong changes, so
that we get backward compatibility with any script developed on RC3
which controls the relays.

After patching correct operation is restored:

root@OpenWrt:/# cat /sys/kernel/debug/gpio
GPIOs 0-21, platform/10000600.gpio, 10000600.gpio:
 gpio-0   (button              ) in  hi
 gpio-12  (relay2              ) out lo
 gpio-14  (relay1              ) out lo

Thank you,

Signed-off-by: Lorenzo Cafaro <>
SVN-Revision: 48796

6 years agohotplug-preinit: remove superfluous `and`
John Crispin [Fri, 26 Feb 2016 08:35:32 +0000 (08:35 +0000)]
hotplug-preinit: remove superfluous `and`

Signed-off-by: Alexander Couzens <>
SVN-Revision: 48795

6 years agompc85xx/tl-wdr4900: correct address of the gpio controller
John Crispin [Fri, 26 Feb 2016 08:35:29 +0000 (08:35 +0000)]
mpc85xx/tl-wdr4900: correct address of the gpio controller

since linux 3.19 the address of the gpio-controller changed

Signed-off-by: Alexander Couzens <>
SVN-Revision: 48794

6 years agokernel/gpio_keys: load module on pre-init
John Crispin [Fri, 26 Feb 2016 08:35:20 +0000 (08:35 +0000)]
kernel/gpio_keys: load module on pre-init

fix rescue mode on wdr4900

Signed-off-by: Alexander Couzens <>
SVN-Revision: 48793

6 years agokernel: deactivate the vdso gettimeofday function.
Hauke Mehrtens [Thu, 25 Feb 2016 22:31:51 +0000 (22:31 +0000)]
kernel: deactivate the vdso gettimeofday function.

The vdso version of this function has some problems with the cache.
Very often it works on dated data which causes problem. We are
currently working on fixing this in upstream Linux kernel.

Signed-off-by: Hauke Mehrtens <>
SVN-Revision: 48787

6 years agolinux-atm: activate format security checks
Hauke Mehrtens [Thu, 25 Feb 2016 22:00:34 +0000 (22:00 +0000)]
linux-atm: activate format security checks

Signed-off-by: Hauke Mehrtens <>
SVN-Revision: 48786

6 years agoltq-vdsl-mei: activate format security checks
Hauke Mehrtens [Thu, 25 Feb 2016 21:59:56 +0000 (21:59 +0000)]
ltq-vdsl-mei: activate format security checks

This activates the format warnings in this package and that makes it
possible to activate format-security checks.

Signed-off-by: Hauke Mehrtens <>
SVN-Revision: 48785

6 years agostrace: update to version 4.11
Hauke Mehrtens [Thu, 25 Feb 2016 21:55:41 +0000 (21:55 +0000)]
strace: update to version 4.11

Signed-off-by: Hauke Mehrtens <>
SVN-Revision: 48784

6 years agokernel: update kernel 4.4 to version 4.4.3
Hauke Mehrtens [Thu, 25 Feb 2016 21:54:39 +0000 (21:54 +0000)]
kernel: update kernel 4.4 to version 4.4.3

Signed-off-by: Hauke Mehrtens <>
SVN-Revision: 48783

6 years agomac80211: backport brcmfmac fix for primary channel in 80 MHz mode
Rafał Miłecki [Thu, 25 Feb 2016 20:24:47 +0000 (20:24 +0000)]
mac80211: backport brcmfmac fix for primary channel in 80 MHz mode

Signed-off-by: Rafał Miłecki <>
SVN-Revision: 48782

6 years agomac80211: backport brcmfmac fix for sdio sg table alloc crash
Rafał Miłecki [Thu, 25 Feb 2016 20:24:38 +0000 (20:24 +0000)]
mac80211: backport brcmfmac fix for sdio sg table alloc crash

Signed-off-by: Rafał Miłecki <>
SVN-Revision: 48781

6 years agotoolchain/glibc: remove obsolete versions
Felix Fietkau [Thu, 25 Feb 2016 13:43:46 +0000 (13:43 +0000)]
toolchain/glibc: remove obsolete versions

Signed-off-by: Felix Fietkau <>
SVN-Revision: 48780

6 years agoar71xx: WNR612v2: fix for random WLAN MAC
Felix Fietkau [Thu, 25 Feb 2016 13:31:38 +0000 (13:31 +0000)]
ar71xx: WNR612v2: fix for random WLAN MAC

Fix for invalid/random WLAN MAC address in WNR612v2. Permanent platform
MAC is calculated and assigned during system startup. WLAN MAC follows
wired Ethernet interface addresses. This is the same fix as for WNR2000v3.

Signed-off-by: Michal Cieslakiewicz <>
SVN-Revision: 48779

6 years agoar71xx: WNR612v2: exclude USB modules from image
Felix Fietkau [Thu, 25 Feb 2016 13:31:35 +0000 (13:31 +0000)]
ar71xx: WNR612v2: exclude USB modules from image

Netgear WNR612v2 has no USB port yet default system image
includes USB kernel modules. This patch fixes that.

Signed-off-by: Michal Cieslakiewicz <>
SVN-Revision: 48778

6 years agoar71xx: WNR2000v3: fix for random WLAN MAC
Felix Fietkau [Thu, 25 Feb 2016 13:31:32 +0000 (13:31 +0000)]
ar71xx: WNR2000v3: fix for random WLAN MAC

Fix for invalid/random WLAN MAC address in WNR2000v3. Permanent platform
MAC is calculated and assigned during system startup. WLAN MAC follows
wired Ethernet interface addresses.

Signed-off-by: Michal Cieslakiewicz <>
SVN-Revision: 48777

6 years agobase-files: add support for speed mask to switch config init scripts
Felix Fietkau [Thu, 25 Feb 2016 13:31:29 +0000 (13:31 +0000)]
base-files: add support for speed mask to switch config init scripts

This patch adds extra parameter to switch LED trigger initialization
functions.  New functionality maintains backward compatibility, so
calling functions without setting new speed_mask parameter works
as expected.

Signed-off-by: Michal Cieslakiewicz <>
SVN-Revision: 48776