Jeffery To [Tue, 4 Feb 2020 13:48:08 +0000 (21:48 +0800)]
golang: Reorganize GoPackage/Environment and Makefile variables
* Move more environment variables into GoPackage/Environment
* Split GoPackage/Environment into target and build sections
* Do not set GOROOT_FINAL for Go packages (setting it should only affect
the Go compiler and not Go packages)
* Set CGO_LDFLAGS to $(TARGET_LDFLAGS)
* Move GO_TARGET_* variables from golang-values.mk, and GO_VERSION_*
variables from golang-version.mk, into golang/Makefile
This also updates runc, containerd, and docker-ce to reflect the changes
in GoPackage/Environment.
gettid happens to be supported by all glibc, musl and uclibc, but
configure cannot detect it when cross-compiling. This adds a configure
variable for it.
Adds configure variables for features that the compiler or the libc
supports and which cannot be detected by apr-util's configure script
when cross-compiling.
Also removes one call to INSTALL_DIR (no functional change here).
apr's configure script uses lots of AC_TRY_RUNs and when cross-compiling
needs a leg-up. This commit adds more configure variables (and removes
one, too).
Notable changes:
- apr_cv_use_lfs64=yes is removed (again) after having a discussion
about it with the musl developers. The conclusion was that
_LARGEFILE64_SOURCE is a horrible thing that we don't want and should
avoid (hence the removal of the variable, because defining
_LARGEFILE64_SOURCE is all it does).
- ap_cv_atomic_builtins is set to "yes" for 64-bit platforms. If
anybody is interested in enabling this for other targets feel free to
send a patch after testing it.
- configure doesn't add -lpthread to LIBS when cross-compiling. This is
not a problem for musl but might be for other libcs. This commit adds
to related variable.
- configure caches are added (via patches) for strerror and /dev/zero
mmap tests. The former fixes a warning on musl (where strerror
returns int instead of a pointer) and the latter is required for
pthread pshared mutex apr_lock implementation and cannot be detected
during cross-compile either.
Today CVE-2020-7221 was publicly discussed on oss-sec [1]. MariaDB
upstream had not mentioned this CVE in their last release notes. The CVE
is related to auth-pam and the possibility of a local mariadb to root
user exploit in the mysql_install_db script.
Upstream has made amendments to the script, but according to the oss-sec
posts the folder permissions were not updated as they should have been.
In OpenWrt the script mysql_install_db is actually patched to never run
the commands in question. This has been this way since MariaDB 10.4 was
made available.
Still, the directory permissions set by the postinstall script are too
lax. To quote the discoverer of the issue, Matthias Gerstner from Suse,
they exhibit "the dangerous situation of a setuid-root binary residing
in a directory owned by an unprivileged user".
This commit fixes this by changing the permissions to the following:
This way the setuid-root binary is only available to root and the
mariadb user, while at the same time the mariadb user has no ownership
of the directory.
Rosen Penev [Fri, 31 Jan 2020 05:02:11 +0000 (21:02 -0800)]
mpd: fix compilation with uClibc-ng
With mpd's build system, it requires either an iconv built into the libc
or icu. Since uClibc-ng as configured by OpenWrt currently has no iconv,
use icu for it to work around the problem. This is the simplest solution.
Added a patch to use boost's rounding functions. They are more appropriate
and work with uClibc-ng.
Jeffery To [Mon, 3 Feb 2020 20:05:29 +0000 (04:05 +0800)]
golang: Improve build isolation from user environment
* Set GOENV=off when building Go compiler and packages, to ignore user's
environment configuration file
* Set GOCACHE when building host Go
* Unset GOTMPDIR, to use the buildroot temp directory instead of temp
directories in build_dir
This exporter exposes information of the connected stations acquired
from hostapd. These contain additional information compared to the
existing station exporter, however they require a full build of hostapd
/ wpad.
- Major version jump from v2.0 to v2.1
- Update haproxy download URL and hash
- Add new patches (see https://www.haproxy.org/bugs/bugs-2.1.2.html)
- Stop building LUA 5.3 in the haproxy build-process and use liblua5.3 as a dependency instead
- Migrate libusb dependency back to libsane
(virtually all useful backends for OpenWrt would need it anyway)
- Disabled new usb-record-replay feature (avoid libxml2 dep)
- Disabled new escl backend (network-only backend are not too useful
for OpenWrt and it requires libcurl, libnetsnmp, libavahi and libxml2)
- Workaround sane-daemon/postinst installation on Imagebuild
- Enabled backends kvs40xx and mustek_usb2 (fixed upstream)
- Fix bigendian compilation
(https://gitlab.com/sane-project/backends/-/merge_requests/329)
- Fix missing std::round() for uclibc
(https://gitlab.com/sane-project/backends/issues/237)
- Fixes FS#2685: coldplug was running before usblp was loaded. Now
it grants access do usblp when a device using it is plugged.
Signed-off-by: Luiz Angelo Daros de Luca <redacted>
Olivier Poitrey [Sun, 12 Jan 2020 21:48:29 +0000 (13:48 -0800)]
nextdns: Update to version 1.4.23
Changelog:
* Fix OpenWRT with existing forwarder + fix dnsmasq restore issue
* Refactor service execution to better report errors
* Refactor merlin tz setup so it does not need to curl on boot
* Improve upgrade command for install.sh
* Do not mask curl error on install
* Fix timezone logging issue with Merlin
* Add support for Merlin John's fork
* Add raspbian support to installer
* Fix upgrade not reinstalling service
* Limit the aarch64 fix to merlin
* Reset DHCP DNS to self on Merlin router setup
* Fix memory issue with aarch64 based router
* Update Go version
* Allow override of detected env
* Setup timezone correctly on Merlin init script
* Don't ignore curl error on install
* Fix Asus Merlin John’s fork trust store issue
* Fix synology auto setup
* Fix report client info not enabled with setup-router option
* Add support for edgeos DHCP lease file locations
* Fix signal handling when running as a service
* Fix exit menu keyboard shortcut
* Do not fail on upgrade if uninstall failed
* Fix exit menu in installer
* Remove failing upx (for now)
* Make sure nextdns keeps running once ssh session is closed
* Add auto setup of Synology with DHCP server enabled
* Use router's DNS to discover more names
* Get A/AAAA from both answer and addition sections
* Ignore certain invalid names during discovery
* Fix activate with setup-router
* Fix serveral install issues
* Add exponential backoff to mdns probe retry
* Correctly end dhcp lease probing when discovery is cancelled
* Store DHCP/MDNS discovered addrs separately to avoid ping/pong
discovery
* Add DHCP lease support to client discovery
* Do not report mdns listen unreachable error as start will retry
* Reimplement mdns client discovery
* Fix installer GOARCH detection with arm6+
* Fix bin install on platforms needing sudo
* Correctly detect edgeos and ddwrt as routers
* Fix install.sh sudo
* Disable upx as it break many platforms
* Fix installer regression with merlin
* Fix mips64 detection
* Fix OpenWRT detection
* Fix UPX post build script
* Fix install with John's Asuswrt-Merlin fork
* Fix more DDWRT
* Fix DDWRT support
* Fix merlin service add/remove
* Use UPX to compress binaries typicially used on routers
* Revert "Remove direct dep on reflect"
* Use letters for installer menus
* Fix install script for upgrades not working if binary is running
* Do not return an error on mdns listen if at least one interface worked
* Fix installer for synology
* Fix pfSense support
* Remove the logs for each server on each connect
* Move install instructions to wiki
* Fix install.sh uid detection with merlin
* Fix install.sh for arm6+
* Add Synology init system support
* Fix install.sh
* Add a generic router setup that just changes the listen to public
* Update README
* Add auto setup support for EdgeOS
* Restore per OS install instruction in readme during installer beta
* Refactor install.sh
* Remove dep on golang.org/x/net/ipv[4|6]
* Remove direct dep on reflect
* Rewrite the zeroconf code to use dnsmessage instead miekg/dns
* Add auto setup support for DD-WRT
* Improve arch detection
* Add auto setup support for OpenWRT
* Add automatic router setup support
* Fix service
* Remove dep en seq on sysv style init scripts
* Add Entware init system support
* Report init system used on install and in UA
* Add EdgeOS support
* Reads /etc/hosts before forwarding queries to the upstream
* Fix localhost resolution with Linux arch empty /etc/hosts
* Use /etc/hosts file to resolve listen address and list on all IPs
listed
* Add support for multiple router firmware
* Fix hardened privacy disabling dual stack
* Add a config set sub command and refactor commands handling
* Add support for activate on freebsd
* Fix inverted MAC matching
* Add unit test for conf prefix match #35
* Activate uses listen address instead of static 127.0.0.1
* Improve FreeBSD integration
* Add FreeBSD support
* Fix a typo
* Use zip for windows archive
Signed-off-by: Olivier Poitrey <redacted>
Edited PKG_RELEASE to 1 Signed-off-by: Hannu Nyman <redacted>
Felix Fietkau [Fri, 31 Jan 2020 17:00:37 +0000 (18:00 +0100)]
luarocks: fix site config for host build
The host utility is used to build other lua modules for the target.
For that, the site config needs to specify the correct arch/system type.
Use target dependent build/staging dirs to avoid issue when switching
between targets
Peter Stadler [Fri, 31 Jan 2020 07:29:20 +0000 (08:29 +0100)]
django-restframework: fix by splitting variants
Split python2 and python3 packages and update to newest versions:
* python-django-restframework version 3.9.4 using django1
* python3-django-restframework version 3.11.0 using django3
This fixes the issue that the restframework cannot import name
'python_2_unicode_compatible' from 'django.utils.encoding', when
using version 3.9.x together with Django 3.y.
Sebastian Kemper [Thu, 30 Jan 2020 20:56:40 +0000 (21:56 +0100)]
apr-util: workaround reconfigure issue
PKG_CONFIG_DEPENDS causes a rebuild when needed. Alas the apr-util build
system doesn't always work out the way OpenWrt intends it to. This was
found by pure chance. apr-util was in build directory without any
plugins selected. Then apache got selected, causing plugins to be
selected. So PKG_CONFIG_DEPENDS caused a reconfigure and another make in
apr-util. But afterward apache couldn't find symbols related to LDAP.
To workaround this add "clean" to make targets.
No rev bump because no change for the apr-util packages.
Sebastian Kemper [Thu, 30 Jan 2020 20:53:07 +0000 (21:53 +0100)]
apr-util: clean up InstallDev
This removes the ifneq in InstallDev, because the maintainers are likely
to forget to extend it when new plugins are added (this has already
occurred).
Also, this removes the la files, because OpenWrt won't allow them into
staging anyway.
No rev bump because meaningless for the apr-util packages.
This is a beta release that introduces a software fallback mechanism
that greatly speeds up smaller requests by fulfilling them in software,
avoiding the latency of switching to kernel-mode for small jobs.
Jeffery To [Thu, 30 Jan 2020 10:28:49 +0000 (18:28 +0800)]
python: Fix float byte order detection
This backports patches from bpo-34585[1] to fix byte order detection of
floats.
Fixing byte order detection allows the repr() of floats to be shorter (a
feature backported to Python 2.7 from Python 3.1[2]).
sys.float_repr_style should be 'short' instead of 'legacy' on supported
platforms.
According to the installation guide [1], the support for "sha256_password"
or "caching_sha2_password" for authentication is optional.
This change makes it optional for the OpenWrt package by providing a build
option to enable it.
By default it won't be enabled, and packages can choose to enable it.