Further testing has revealed that we will need to allow concurrent
requests after all, especially for situations where CGI processes
initiate further HTTP requests to the local host.
Andreas Ziegler [Mon, 25 Feb 2019 00:19:59 +0000 (01:19 +0100)]
ar71xx: GL.iNet AR300M family: correct LED definitions
remove USB as this is no LED but power control
rename WiFi LED with correct color red (like in stock firmware)
set middle LED to be used for LAN link/activity
- Tested on Turris MOX, OpenWrt master
- Removed PKG_BUILD_DIR
In build_dir there were two folders
ca-certificates and ca-certificates-20190110 and it failed as files
were in ca-certificates-20190110
IMAGE_SIZE for C7v5 is wrong in openwrt-18.06, looks like it
was just copied from C7v4. In master, this got fixed with the
introduction of dynamic partitioning in
https://github.com/openwrt/openwrt/commit/7c78be1b747eb0c8d64da67deb3a8aec75bd7b9c
However, this is not connected to the changes introduced there,
but also applies to the static partitioning in openwrt-18.06.
It appears to be simply wrong at the moment ...
Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
ar71xx: Correct MAC address for WAN interface of Archer C7 v5
This device shares the network config with v4, thus the WAN MAC
also needs to be fixed the same way. However, the partition
where the MAC address resides has been changed.
ar71xx: Add "info" partition for TP-Link Archer C7 v5
This adds the "info" MTD partition, as it is specified in the
ath79 DTS:
https://github.com/openwrt/openwrt/blob/master/target/linux/ath79/dts/qca9563_tplink_archer-c7-v5.dts#L35
This is required to set the WAN MAC address, as it is build based
on the LAN MAC address, which in turn has to be read from the
"info" partition:
https://github.com/openwrt/openwrt/blob/master/target/linux/ath79/dts/qca9563_tplink_archer-x7-v5.dtsi#L184
ar71xx: Remove ath10k packages from archer-c7-v1 (fixes FS#1743)
ath10k_pci driver crashes once loaded and causes boot loops on this
device as 5GHz radio QCA9880-AR1A shipped with this router is broken.
It's not possible to fix this problem in software, miniPCIe radio has to
be replaced.
We could've probably fixed crashing of the ath10k driver by reverting
following upstream commit:
ath10k: reset chip before reading chip_id in probe
but it's not worth the effort as it wouldn't make that 5GHz radio usable
anyway. So it seems more convenient to just remove the crashing driver
and provide bootable images, as I believe, that a router that is working
but degraded is better than a router that will not work.
For details please see discussions in PR[1] and in FS#1743[2].
Felix Fietkau [Sat, 16 Mar 2019 20:21:10 +0000 (21:21 +0100)]
mt76: update to latest openwrt-18.06 branch
00ac79d mt7603: fix initialization of max rx length 320af65 mt76: mt7603: use the correct hweight8() function bdee924 mt76: fix schedule while atomic in mt76x02_reset_state abcb544 mt76x02: do not enable RTS/CTS by default
Felix Fietkau [Thu, 7 Mar 2019 19:36:51 +0000 (20:36 +0100)]
mt76: update to the latest version
28d81ff mt76x0: eeprom: fix VHT mcs{8,9} rate power offset 6e33ce6 mt76: move mt76_mcu_msg_alloc in mt76-core 4637f95 mt76: move mt76_mcu_get_response in mt76-core 1763cb0 mt76: move mt76_mcu_rx_event in mt76-core 4db9d75 mt76x0: mcu: remove useless commented configuration 91d0455 mt76: move mt76_dma_tx_queue_skb_raw in mt76-core module 0e8e53f mt76: remove add_buf pointer in mt76_queue_ops db47920 mt7603: rely on mt76_mcu_msg_alloc routine 471c447 mt7603: rely on mt76_mcu_get_response routine cacc986 mt7603: rely on mt76_mcu_rx_event routine 11ab620 mt7603: rely on mt76_tx_queue_skb_raw common routine 82fa312 mt7603: move alloc_dev common code in mt76_alloc_device 47d5922 mt76: move alloc_device common code in mt76_alloc_device c50c993 mt76x2u: remove mt76x2u_alloc_device routine 6ed5b7a mt76x0: remove mt76x0u_alloc_device routine e32e249 mt76x2: remove mt76x2_alloc_device routine 6aacd1e mt76: change the return type of mt76_dma_attach() a10e9e5 mt76x02u: use usb_bulk_msg to upload firmware a774ff6 mt76: usb: fix possible NULL pointer dereference in mt76u_mcu_deinit c2877bc mt76: usb: fix possible memory leak in mt76u_buf_free a5cfe96 mt76: usb: do not run mt76u_queues_deinit twice 1e4db14 mt76: usb: move mt76u_check_sg in usb.c 302406b mt76: usb: do not use sg buffers for mcu messages 8ab5267 mt76: usb: use a linear buffer for tx/rx datapath if sg is not supported a0a3505 mt76: usb: introduce disable_usb_sg parameter 0cee180 mt76: usb: use dev_err_ratelimited instead of dev_err in mt76u_complete_rx 1bb97c4 mt76x02u: remove bogus check and comment padding 2cbc2d4 mt76: Use the correct hweight8() function f18e03a mt76x0u: fix suspend/resume 6231336 mt76: mt76x02: fix TSF sync mode 783da04 mt76: mt76x02: fix beacon timer drift adjustment 43d2507 mt76: mt76x02: fix beacon timer issue 59a6587 mt76: mt76x02: only reset beacon drift counter when enabling beacons 8c8eb98 mt76: mt76x02: issue watchdog reset on MCU request timeout 52161d2 mt76: mt76x02: fix ED/CCA enabling/disabling 5e7ecce mt76: mt76x2: unify mt76x2[u]_mac_resume 18af219 mt76: mt76x02: set MT_TXOP_HLDR_TX40M_BLK_EN for mt76x2 e5747b2 mt76usb: allow mt76u_bulk_msg be used for reads 2437a9a mt76usb: use synchronous msg for mcu command responses e4250c9 mt76usb: remove usb_mcu.c 8b1110e mt76: usb: fix warning in mt76u_buf_free 89215f6 mt76: usb: introduce mt76u_fill_bulk_urb routine 523e374 mt76: usb: simplify rx buffer allocation ffe1292 mt76: usb: simplify mt76u_tx_build_sg routine e2a9d40 mt7603: fix ba window size selection b040ef7 mt76: remove no longer used routine declarations 645ef43 mt76: usb: check urb->num_sgs limit in mt76u_process_rx_entry fd315bd mt7603: disable dynamic sensitivity adjustment by default 3c6df9b mt76: rewrite dma descriptor base and ring size on queue reset 30e757e mt76: mt76x02: when setting a key, use PN from mac80211 fa83406 mt76: mt76x2: implement full device restart on watchdog reset ead881b mt76: mt76x02: do not sync PN for keys with sw_iv set ba1d989 mt76: mmio: move mt76x02_set_irq_mask in mt76 module 283ebbe mt76: dma: move mt76x02_init_{tx,rx}_queue in mt76 module b216d3c mt76: introduce q->stopped parameter 8b437d2 mt76x02: clear sta and vif driver data structures on add 2c62d03 mt76x02: clear running flag when resetting state on restart 6b10cfc mt76: mt76x02: only update the base mac address if necessary 669bc49 mt76: mt76x02: reduce false positives in ED/CCA tx blocking 2ed9382 mt76: mt7603: fix tx status HT rate validation d2c6823 mt76: mt76x2: fix external LNA gain settings 8ee2259 mt76: mt76x2: fix 2.4 GHz channel gain settings 8bfe6d4 mt76: mt7603: clear ps filtering mode before releasing buffered frames d13b065 mt76: mt7603: fix up hardware queue index for PS filtered packets eb1ecc4 mt76: mt7603: notify mac80211 about buffered frames in ps queue 3687eec mt76: mt7603: clear the service period on releasing PS filtered packets 42ab27e mt76: when releasing PS frames, end the service period if no frame was found 461f3b0 mt76: mt76x02: disable ED/CCA by default 1d7760d mt76: mt7603: set moredata flag when queueing ps-filtered packets 0b927b2 mt76: fix return value check in mt76_wmac_probe() e72376d mt76x02: fix hdr pointer in write txwi for USB
Rafał Miłecki [Wed, 6 Mar 2019 05:00:00 +0000 (06:00 +0100)]
kernel: fix refcnt leak in LED netdev trigger on interface rename
Renaming a netdev-trigger-tracked interface was resulting in an
unbalanced dev_hold().
Example:
> iw phy phy0 interface add foo type __ap
> echo netdev > trigger
> echo foo > device_name
> ip link set foo name bar
> iw dev bar del
[ 237.355366] unregister_netdevice: waiting for bar to become free. Usage count = 1
[ 247.435362] unregister_netdevice: waiting for bar to become free. Usage count = 1
[ 257.545366] unregister_netdevice: waiting for bar to become free. Usage count = 1
Above problem was caused by trigger checking a dev->name which obviously
changes after renaming an interface. It meant missing all further events
including the NETDEV_UNREGISTER which is required for calling dev_put().
This change fixes that by:
1) Comparing device struct *address* for notification-filtering purposes
2) Dropping unneeded NETDEV_CHANGENAME code (no behavior change)
Yousong Zhou [Wed, 20 Feb 2019 06:58:51 +0000 (06:58 +0000)]
dnsmasq: prefer localuse over resolvfile guesswork
This makes it clear that localuse when explicitly specified in the
config will have its final say on whether or not the initscript should
touch /etc/resolv.conf, no matter whatever the result of previous
guesswork would be
(cherry picked from c17a68cc61a0f8a28e19c7f60b24beaf1a1a402d) Tested-by: Paul Oranje <por@oranjevos.nl> Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com> Acked-by: Hans Dedecker <dedeckeh@gmail.com> Acked-by: Paul Oranje <por@oranjevos.nl>
Yousong Zhou [Mon, 18 Feb 2019 14:11:19 +0000 (14:11 +0000)]
dnsmasq: allow using dnsmasq as the sole resolver
Currently it seems impossible to configure /etc/config/dhcp to achieve
the following use case
- run dnsmasq with no-resolv
- re-generate /etc/resolv.conf with "nameserver 127.0.0.1"
Before this change, we have to set resolvfile to /tmp/resolv.conf.auto
to achive the 2nd effect above, but setting resolvfile requires noresolv
being false.
A new boolean option "localuse" is added to indicate that we intend to
use dnsmasq as the local dns resolver. It's false by default and to
align with old behaviour it will be true automatically if resolvfile is
set to /tmp/resolv.conf.auto
(cherry picked from 2aea1ada65f050d74a064e74466bbe4e8d) Tested-by: Paul Oranje <por@oranjevos.nl> Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com> Acked-by: Hans Dedecker <dedeckeh@gmail.com> Acked-by: Paul Oranje <por@oranjevos.nl>
Sven Eckelmann [Mon, 11 Feb 2019 15:26:42 +0000 (16:26 +0100)]
build: Accept BIN_DIR parameter for legacy-images
BIN_DIR can be set to overwrite the output path for new images. This is an
advertised feature for the imagebuilder and is used by systems like
LibreMesh's chef.
The legacy images are build using a new sub-make which doesn't receive the
variable overwrites of the parent make process. As result, the BIN_DIR is
automatically defined to the default value from rules.mk. The images will
therefore not be placed in the output path which was selected by the user.
Providing BIN_DIR as an explicit variable override to the sub-make works
around this problem.
Fixes: 26c771452cd8 ("image.mk: add LegacyDevice wrapper to allow legacy image building code to be used for device profiles") Reported-by: Paul Spooren <mail@aparcar.org> Signed-off-by: Sven Eckelmann <sven@narfation.org>
(cherry picked from commit 9a5a10eb6924efa519e1d9e27b61dc254876f9ec)
Looks like C60 v2 needs the MAC address to be calculated
manually, while the C60 v1 gets it correctly without manual
interference.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [added id]
(cherry picked from commit 319c5d7c49503d1afbfb3164b18cf966e11fac6a)
Felix Fietkau [Sun, 3 Feb 2019 19:45:26 +0000 (20:45 +0100)]
mt76: update to the latest version
a9d4c0e mt76: mt76x2: avoid running DPD calibration if tx is blocked 4d7e13f mt76: explicitly disable energy detect cca during scan e3c1aad mt76: run MAC work every 100ms 4e8766a mt76: clear CCA timer stats in mt76x02_edcca_init e301f23 mt76: measure the time between mt76x02_edcca_check runs 74075ef mt76: increase ED/CCA tx block threshold
Registering the GPIO chip without a parent device completely breaks the
ath9k GPIOs for device tree targets.
As long as boards using the devicetree don't have the gpio-controller
property set for the ath9k node, the unloading of the driver works as
expected.
Register the GPIO chip with the ath9k device as parent only for OF
targets to find a trade-off between the needs of driver developers and
the broken LEDs and buttons seen by users.
Fix the imagetag on the HG655b to allow a correct partition detection at boot time.
It turns out that it was defined at the wrong partition. Just move the imagetag to
the linux firmware partition.
The bug is present since the 18.06 release. Without this fix, the board won't boot.
Fixes: a27d59bb4274 ("brcm63xx: switch to new partition layout specification") Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com> Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
(cherry picked from commit 26d4cb2ca7acde1254f6ce6c0a54e0aca1489a0f)
Felix Fietkau [Thu, 31 Jan 2019 22:17:49 +0000 (23:17 +0100)]
mt76: update to the latest version
a4ec45c mt7603: fix LED support (copy CFLAGS from main Makefile) edda5c5 mt76x02: use mask for vifs dd52191 mt76x02: use commmon add interface for mt76x2u a80acaf mt76x02: initialize mutli bss mode when set up address 38e832d mt76x02: minor beaconing init changes 171adaf mt76x02: init beacon config for mt76x2u dcab682 mt76: beaconing fixes for USB ff81de1 mt76x02: enable support for IBSS and MESH 8027b5d mt7603: remove copyright headers e747e80 mt76: fix software encryption issues 2afa0d7 mt7603: remove WCID override for software encrypted frames
Felix Fietkau [Wed, 30 Jan 2019 14:17:01 +0000 (15:17 +0100)]
mt76: update to the latest version
c3da1aa mt7603: trigger beacon stuck detection faster 7a53138 mt7603: trigger watchdog reset if flushing CAB queue fails 6eef33b mt7603: remove mt7603_txq_init ae30c30 mt76: add driver callback for when a sta is associated 0db925f mt7603: update HT/VHT capabilities after assoc b5ac8e4 mt7603: initialize LED callbacks only if CONFIG_MT76_LEDS is set c989bac mt76x0: eeprom: fix chan_vs_power map in mt76x0_get_power_info 24bd2c0 mt76x0: phy: report target_power in debugfs bc7ce2a mt76x0: init: introduce mt76x0_init_txpower routine
When config_get is called as "config_get section option" the option
is unexpectedly globbed by the shell which differs from the way options
are read to a variable with "config_get variable section option".
Add another layer of double quotes to fix it.
Jeffery To [Wed, 12 Dec 2018 17:33:36 +0000 (01:33 +0800)]
build: fix STAGING_DIR cleaning for packages
This fixes two issues with cleaning package files from STAGING_DIR:
* CleanStaging currently can only remove files and not directories. This
changes CleanStaging to use clean-package.sh, which does remove
directories.
* Because of the way directories are ordered in the staging files list,
clean-package.sh currently tries (and fails) to remove parent
directories before removing subdirectories. This changes
clean-package.sh to process the staging files list in reverse, so that
subdirectories are removed first.
This commit adds the default usb packages
- kmod-usb-core
- kmod-usb2
- kmod-usb-ledtrig-usbport
for Archer C7 v4 and v5.
(The C7 v5 configuration is based on the v4, therefore the change for v4
also applies for v5.)
Sven Roederer [Mon, 28 Jan 2019 19:11:50 +0000 (20:11 +0100)]
openssl: bump to 1.0.2q
This fixes the following security problems:
* CVE-2018-5407: Microarchitecture timing vulnerability in ECC scalar multiplication
* CVE-2018-0734: Timing vulnerability in DSA signature generation
* Resolve a compatibility issue in EC_GROUP handling with the FIPS Object Module
This should fix sporadic crashes with `wg pubkey` on certain architectures.
* netlink: auth socket changes against namespace of socket
In WireGuard, the underlying UDP socket lives in the namespace where the
interface was created and doesn't move if the interface is moved. This
allows one to create the interface in some privileged place that has
Internet access, and then move it into a container namespace that only
has the WireGuard interface for egress. Consider the following
situation:
1. Interface created in namespace A. Socket therefore lives in namespace A.
2. Interface moved to namespace B. Socket remains in namespace A.
3. Namespace B now has access to the interface and changes the listen
port and/or fwmark of socket. Change is reflected in namespace A.
This behavior is arguably _fine_ and perhaps even expected or
acceptable. But there's also an argument to be made that B should have
A's cred to do so. So, this patch adds a simple ns_capable check.
* ratelimiter: build tests with !IPV6
Should reenable building in debug mode for systems without IPv6.
* noise: replace getnstimeofday64 with ktime_get_real_ts64
* ratelimiter: totalram_pages is now a function
* qemu: enable FP on MIPS
Linux 5.0 support.
* keygen-html: bring back pure javascript implementation
Benoît Viguier has proofs that values will stay well within 2^53. We
also have an improved carry function that's much simpler. Probably more
constant time than emscripten's 64-bit integers.
* contrib: introduce simple highlighter library
This is the highlighter library being used in:
- https://twitter.com/EdgeSecurity/status/1085294681003454465
- https://twitter.com/EdgeSecurity/status/1081953278248796165
It's included here as a contrib example, so that others can paste it into
their own GUI clients for having the same strictly validating highlighting.
* netlink: use __kernel_timespec for handshake time
This readies us for Y2038. See https://lwn.net/Articles/776435/ for more info.
Fixes in 2.13.0:
* Fixed a security issue in the X.509 module which could lead to a buffer overread during certificate extensions parsing.
* Several bugfixes.
* Improvements for better support for DTLS on low-bandwidth, high latency networks with high packet loss.
Fixes in 2.14.1:
* CVE-2018-19608: Local timing attack on RSA decryption
Felix Fietkau [Sun, 20 Jan 2019 17:01:57 +0000 (18:01 +0100)]
mt76: update to the latest version
d273ddd mt7603: fix number of frames limit in .release_buffered_frames 63bf183 mt76: add channel switch announcement support e45db12 mt7603: fix tx status info 9d11596 mt7603: discard bogus tx status data 4bcb2f9 mt7603: fix txd q_idx field value 4206db7 mt76: set IEEE80211_HW_NEEDS_UNIQUE_STA_ADDR flag c4e4982 mt7603: set IEEE80211_HW_TX_STATUS_NO_AMPDU_LEN 702f557 mt7603: use maximum tx count for buffered multicast packets 158529d mt7603: fix PSE reset retry sequence fc31457 mt7603: implement support for SMPS 3e9a7d5 Revert "mt7603: fix txd q_idx field value" 815fd03 mt7603: fix CCA timing values b35cc8e mt7603: set timing on channel change before starting MAC 79b337c mt7603: move CF-End rate update to mt7603_mac_set_timing 3df341d mt7603: avoid redundant MAC timing updates 1c751f3 mt76: avoid scheduling tx queues for powersave stations 2efa389 mt7603: limit station power save queue length to 64 63a79ff mt76: do not report out-of-range rx nss fe30bd3 mt7603: issue PSE reset on tx hang ce8cc5d mt7603: issue PSE client reset on init e342cc5 mt7603: fix buffered multicast count register aa470d8 mt7603: fix buffered multicast queue flush b4ee01f mt76: fix tx status timeout processing 7d00d58 mt76x02: fix per-chain signal strength reporting 64abb35 mt76: fix corrupted software generated tx CCMP PN 0b939dc mt76: fix resetting software IV flag on key delete
Jonas Gorski [Mon, 10 Sep 2018 09:42:53 +0000 (11:42 +0200)]
opkg: drop argument from check_signature in opkg.conf
check_signature is a bool option and doesn't take any arguments. The
presence of the 1 falsely suggests setting it to 0 disables the check,
while the option actually needs to be removed or commented out to be
disabled. So remove the argument to make it more clear.
Fixes: beca028bd6bb ("build: add integration for managing opkg package feed keys") Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
(cherry picked from commit d3bf5ff9bc7b55b2a3dab93853b33a0cd2c4ca47)