Commit Graph

59 Commits

Author SHA1 Message Date
Julien Dusser df0bd42fde build: add hardened builds with PIE (ASLR) support
Introduce a configuration option to build a "hardened" OpenWrt with
ASLR PIE support.

Add new option PKG_ASLR_PIE to enable Address Space Layout Randomization (ASLR)
by building Position Independent Executables (PIE). This new option protects
against "return-to-text" attacks.

Busybox need a special care, link is done with ld, not gcc, leading to
unknown flags. Set BUSYBOX_DEFAULT_PIE instead and disable PKG_ASLR_PIE.

If other failing packages were found, PKG_ASLR_PIE:=0 should be added to
their Makefiles.

Original Work by: Yongkui Han <yonhan@cisco.com>
Signed-off-by: Julien Dusser <julien.dusser@free.fr>
2018-01-27 16:46:45 +01:00
Matthias Schiffer 20c349f68c
busybox: add missing TARGET_CPPFLAGS and TARGET_LDFLAGS
Unconditionally pass TARGET_CPPFLAGS (not passed at all before) and
TARGET_LDFLAGS (passed only in certain non-default configuration before the
Makefile streamlining). Without these flags, hardening options
(PKG_FORTIFY_SOURCE and PKG_RELRO) were not actually applied to busybox.

The addition of these flags increases the size of the stripped busybox
binary by about 6KB (~4KB with fortify headers, ~2KB with "-znow -zrelro")
with the default hardening options PKG_FORTIFY_SOURCE_1 and PKG_RELRO_FULL.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2017-12-28 12:26:23 +01:00
Matthias Schiffer a10fae1133
busybox: streamline Makefile
Use default Build/Install steps where possible. No binary change in default
configuration, so PKG_RELEASE is not incremented.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2017-12-28 12:24:25 +01:00
Lucian Cristian 1044723ec9 busybox: enable find -newer needed for shorewall firewall, no size increase on binary
Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
2017-12-14 09:29:30 +01:00
Jo-Philipp Wich f4c68e1cc6 busybox: fix glibc libresolv dependency for LEDE nslook applet
Fixes d1ba483472 merge: busybox: update CONFIG_NSLOOKUP in busybox config.
Fixes FS#1212.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-12-10 14:26:19 +01:00
Alexander Couzens c61a239514
add PKG_CPE_ID ids to package and tools
CPE ids helps to tracks CVE in packages.
https://cpe.mitre.org/specification/

Thanks to swalker for CPE to package mapping and
keep tracking CVEs.

Acked-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
2017-11-17 02:24:35 +01:00
Hans Dedecker 1cec4d4ef0 busybox: provide "ip"
Let busybox provide "ip" as it supports the ip applets link, address,
route, rule and neighbor

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-10-14 20:23:55 +02:00
Magnus Kroken 89f8a01dab busybox: update to 1.27.2
Refresh patches, delete patches backported from upstream.

This fixes ntpd sync issues (ntpd would not sync if the first provided
peer address was unreachable).

Signed-off-by: Magnus Kroken <mkroken@gmail.com>
Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
2017-08-30 22:34:41 +02:00
Yousong Zhou cf75fb5e14 busybox: alternatives: accomodate CONFIG_BUSYBOX_CUSTOM=y
When busybox customisation is enabled, we should depend on config
symbols CONFIG_BUSYBOX_CONFIG_xxx to form alternatives specs

Reported-by: Hannu Nyman <hannu.nyman@iki.fi>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2017-05-03 17:40:47 +08:00
Yousong Zhou fa3649d97e busybox: add alternatives specs for those also provided by procps-ng
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2017-05-03 00:53:44 +08:00
Yousong Zhou 8b1b094fef busybox: add as an alternative of /sbin/ip
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2017-05-02 22:42:36 +08:00
Jo-Philipp Wich 76871a8dbb busybox: nslookup_lede: mimic output format of old Busybox applet
When invoking "nslookup_lede" with a domain argument and without explicit
query type, issue both A and AAAA queries and display the resulting IP
addresses in a numbered list style, similar to how the old BusyBox nslookup
used to output the records.

This is required for compatibility with certain scripts.

Ref: https://forum.lede-project.org/t/nslookup-ipv6-in-lede-17-01-1

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-04-27 10:44:28 +02:00
Jo-Philipp Wich f1e3285461 busybox: nslookup_lede: fix compatibility with v1.25
The ":*" optstring syntax was only recently introduced with BusyBox v1.26,
older versions need a corresponding hint in the "opt_complementary" variable
to denote flag values that should be stored as llist entries.

Add the required opt_complementary entry to fix random SIGBUS, SIGILL or
SIGSEGV related crashes on BusyBox 1.25.x when attempting to use the "-q"
flag of the "nslookup_lede" applet.

Ref: https://forum.lede-project.org/t/nslookup-ipv6-in-lede-17-01-1

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-04-27 10:44:28 +02:00
Florian Fainelli 7ae58bebc8 busybox: Move libresolv detection to LEDE Makefile
Since the LEDE nslookup applet is already specific to LEDE, move the
libresolv detection into the busybox Makefile that LEDE uses.

This fixes builds with external toolchains that don't automatically
search for headers and/or libraries without being told so.

Fixes: de5b8e5d2f ("busybox: add musl compatible nslookup replacement")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2017-04-12 09:12:18 -07:00
Felix Fietkau 3169a6a7ad busybox: fix installation of cron and ntpd scripts in the default config
Fixes: 0b24850e97 ("busybox: don't install NTP scripts if NTP isn't configured")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-04-04 15:06:14 +02:00
Philip Prindeville 0b24850e97 busybox: don't install NTP scripts if NTP isn't configured
If you're using Chrony or NTPD you don't want the busybox NTP server
as well.  Make it's installation truly conditional.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [simplify]
2017-04-03 08:49:16 +02:00
Yousong Zhou f3474ca130 busybox: vi: backporting patches to fix ZZ and :x command
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2017-03-25 13:18:10 +08:00
Magnus Kroken 84da2a677a busybox: update to 1.26.2
Refresh patches, delete patches that have been applied upstream.

Signed-off-by: Magnus Kroken <mkroken@gmail.com>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [fix defaults]
2017-01-29 14:09:38 +01:00
Felix Fietkau 84bd74057f build: use mkhash to replace various quirky md5sum/openssl calls
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-05 11:09:12 +01:00
Felix Fietkau 720b99215d treewide: clean up download hashes
Replace *MD5SUM with *HASH, replace MD5 hashes with SHA256

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-16 22:39:22 +01:00
Hannu Nyman 66d604d4a8 busybox: adjust download mirror
* Adjust download locations:
  - use https as busybox.net permanently redirects http to https
  - gentoo mirror has neither 1.25.0 nor 1.25.1 available, so drop it
    in favor of buildroot.net that has 1.25.1

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2016-10-21 15:49:01 +03:00
Stijn Tintel 39f8e46bb4 busybox: add upstream patch to fix send_to_from
This fixes ntpd when queries are sent to secondary IPv4 IP addresses.
See https://bugs.busybox.net/show_bug.cgi?id=9146

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2016-10-15 20:45:10 +03:00
Stijn Tintel 859d30d521 busybox: update to version 1.25.1
Dropped upstream patches:
000-busybox-1.25.0-gzip.patch
000-busybox-1.25.0-ip.patch
000-busybox-1.25.0-ntpd.patch

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2016-10-15 20:45:10 +03:00
Jo-Philipp Wich 8badcba229 iproute: properly support high routing table IDs
The Linux kernel uses two distinct fields to denote the routing table ID in
use by network routes; the 8 bit `rtm_table` member of `struct rtmsg` and the
32 bit `RTA_TABLE` netlink attribute.

If a routing table ID is larger than 255, the `RT_TABLE` attribute must be used
and the `rtm_table` field has to be set to the special `RT_TABLE_UNSPEC` value.

This commit adds a patch which...
 - switches the *_n2a() and *_a2n() functions of rt_names.c to use dynamically
   sized, name-sorted arrays instead of fixed arrays limited to 1024 slots in
   order to support IDs up to 65535
 - adds proper handling of high table IDs to iprule.c and iproute.c when
   adding, removing and dumping ip rules and network routes

After this change, the Busybox ip applet fully supports IP rules with high ID
numbers, using the same logic as the full iproute2.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-09-27 16:23:06 +02:00
Hauke Mehrtens 7b472f7c21 busybox: fix md5sum
The md5sum was not updated in commit 06fa1c46fc "busybox: update
to version 1.25.0"

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-09-20 22:56:47 +02:00
Hauke Mehrtens 06fa1c46fc busybox: update to version 1.25.0
The following patches were removed:
010-networking-fix-uninitialized-memory-when-displaying-.patch
  https://git.busybox.net/busybox/commit/?id=f2c043acfcf9dad9fd3d65821b81f89986bbe54e

030-ip-fix-problem-on-mips64-n64-big-endian-musl-systems.patch
  https://git.busybox.net/busybox/commit/?id=4ab372d49a6e82b0bf097dedb96d26330c5f2d5f

204-udhcpc_src_ip_rebind.patch
  https://git.busybox.net/busybox/commit/?id=abe8f7515aded80889d78c2c1c8947997918cf90

230-ntpd_delayed_resolve.patch
  https://git.busybox.net/busybox/commit/?id=c8641962e4cbde48108ddfc1c105e3320778190d
  https://git.busybox.net/busybox/commit/?id=e4caf1dd9ce8569371a0eeb77ccf02a572dc0f11

260-arping_missing_includes.patch
  Not needed any more, still builds with musl for me.
  Add in 92fd6e6f1a "busybox: fix arping applet building on musl"

The Kconfig files were updated with these commands:
cd config
../convert_menuconfig.pl .../build_dir/target-*/busybox-1.25.0
cd ..
./convert_defaults.pl < .../build_dir/target-*/busybox-1.25.0/.config > Config-defaults.in

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-09-20 22:37:02 +02:00
Jo-Philipp Wich b91e58e606 busybox: enable sha256sum by default
Now that snapshot builds are only publishing SHA-256 checksums, it makes
sense to ship an appropriate utility for verification.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-08-18 15:09:06 +02:00
Hans Dedecker 96db69bd45 busybox: Call ntpd hotplug script for every action
Daemons that are waiting for a timesync are only triggered when the action is stratum.
As step is the first sync action pass all actions to the ntpd hotplug scripts; it's up
to the ntpd hotplugscript to filter out the actions it is interested in.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2016-06-10 18:05:08 +02:00
Felix Fietkau 7eeb254cc4 treewide: replace nbd@openwrt.org with nbd@nbd.name
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 08:58:42 +02:00
Hans Dedecker 6707d9750a busybox: sysntpd - Support for NTP servers received via DHCP(v6)
The busybox ntpd utility currently uses ntp servers specified in uci.
This patch allows the ntpd utility to use NTP servers received via DHCP(v6)
Following uci parameters have been added:
    use_dhcp : enables NTP server config via DHCP(v6)
    dhcp_interface : use NTP servers received only on the specified DHCP(v6) interfaces; if empty all interfaces are considered

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2016-05-24 13:30:58 +02:00
Hauke Mehrtens b030bb606f busybox: update to 1.24.2
Signed-off-by: Magnus Kroken <mkroken@gmail.com>
[remove Kconfig changes]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 49189
2016-04-17 12:53:31 +00:00
Jo-Philipp Wich c46cef2ffb busybox: fix broken default for FEATURE_IP_ROUTE_DIR (#21845)
Changeset r47775 introduced a wrong default value "n" for the ip applets
config search path, breaking the handling of named routing tables and other
objects having alias configurations.

Fix the issue by providing a proper default value aligned with the value
used by full iproute2.

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

SVN-Revision: 48716
2016-02-12 19:46:31 +00:00
Felix Fietkau 34df4d40e2 busybox: disable timestamp in version
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>

SVN-Revision: 48539
2016-01-28 22:42:25 +00:00
Felix Fietkau e35d42e890 busybox: update to version 1.24.1
Patches applied upstream and dropped:
280-fix_find_regression.patch
300-ip-addr-improvements.patch

Fixed upstream:
290-ash-fix-a-regression-in-handling-local-variables.patch (see thread: http://lists.busybox.net/pipermail/busybox/2015-April/082783.html)

Signed-off-by: Magnus Kroken <mkroken@gmail.com>

SVN-Revision: 47288
2015-10-30 15:18:17 +00:00
Steven Barth 1fb987e3b8 busybox: fix ip applet and netlink behavior
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46833
2015-09-09 10:38:16 +00:00
Steven Barth 899a23227e busybox: improve applets & deprecate ifconfig, route
added: ip addr, ip route, ip link, traceroute6
removed: hostid, devmem, vconfig, arping
deprecated (to be removed): ifconfig, route

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

SVN-Revision: 46829
2015-09-08 17:44:10 +00:00
Steven Barth d196b1fc2e Disable telnet in favor of passwordless SSH
This enables passworldless login for root via SSH whenever no root
password is set (e.g. after reset, flashing without keeping config
or in failsafe) and removes telnet support alltogether.

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

SVN-Revision: 46809
2015-09-07 19:29:25 +00:00
Felix Fietkau c31df6e995 busybox: update to version 1.23.2
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45272
2015-04-04 17:52:02 +00:00
Felix Fietkau 808c460250 toolchain: remove leftovers from old llvm-gcc experiments
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44783
2015-03-15 12:03:01 +00:00
John Crispin 45c34eec46 BusyBox: Netcat 1.10 compatibility require server option
Netcat 1.10 compatibility require server options

1.10 compatibility without server option
produce error "NO OPT l!" and completely not function

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>

SVN-Revision: 44746
2015-03-13 08:38:56 +00:00
Steven Barth 016d6acde5 ntp: add hotplug class for ntp-events
Based on a patch by Luiz Angelo Daros de Luca

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

SVN-Revision: 43421
2014-11-28 11:41:25 +00:00
Nicolas Thill 1fe7cd5ed9 busybox: add 2 upstream fixes
Signed-off-by: Nicolas Thill <nico@openwrt.org>

SVN-Revision: 43191
2014-11-06 04:44:06 +00:00
John Crispin 74a3a77bcd license info - revert r43155
turns out that r43155 adds duplicate info.

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

SVN-Revision: 43167
2014-11-03 09:56:44 +00:00
John Crispin c10d97484a Add more license tags with SPDX identifiers
Note, that licensing stuff is a nightmare: many packages does not clearly
state their licenses, and often multiple source files are simply copied
together - each with different licensing information in the file headers.

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

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

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

SVN-Revision: 43155
2014-11-03 08:01:08 +00:00
Steven Barth bec9d38fa4 Add a few SPDX tags
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 43151
2014-11-02 12:20:54 +00:00
Jo-Philipp Wich 2ab0dae991 busybox: make high ASCII chars printable (#7993)
Currently busybox utils like "ls" fail to display filenames containing UTF-8
characters, replacing any special characters with "?".

Change libbb's printable_string() function to allow high ASCII characters so
that unicode filenames are displayed correctls.

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

SVN-Revision: 43084
2014-10-27 11:22:15 +00:00
John Crispin 406d53c697 busybox: Fix pam_start link errors when PAM support is enabled
Patch to BusyBox Makefile to fix linker errors when PAM support is enabled by
CONFIG_BUSYBOX_CONFIG_PAM=y. Typical errors include:
login.c:(.text.login_main+0x122): undefined reference to `pam_start'

Signed-off-by: Stephen Parry <sgparry@mainscreen.com>

SVN-Revision: 42195
2014-08-18 13:10:08 +00:00
Felix Fietkau b3b55de395 build: disable the PKG_CHECK_FORMAT_SECURITY check for the failing packages
The idea is to gradually fix the packages

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@free.fr>

SVN-Revision: 41411
2014-06-30 08:19:48 +00:00
John Crispin a51588a5f9 busybox: use ntp enabled config option
Even if enabled option is missing from ntp configuration we are still keeping
default behavior.

Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 41355
2014-06-27 07:55:03 +00:00
Felix Fietkau f4f553efa7 busybox: update to 1.22.1
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 40852
2014-05-25 17:42:09 +00:00