Commit graph

68 commits

Author SHA1 Message Date
Felix Fietkau
8c11133c9d busybox: compile with LTO enabled
In the default configuration on MIPS, it reduces the .ipk size
from 214k to 207k

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-07-13 17:22:53 +02:00
Hans Dedecker
c6e50075f2 busybox: udhcpc: replace udhcpc_no_msg_dontroute patch by upstream fix
Replace 204-udhcpc_no_msg_dontroute patch by the upstream busybox fix
which removes the code which requires the server ID to be on local
network

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-06-21 22:33:35 +02:00
Magnus Kroken
ccc728a0e2 busybox: update to 1.28.4
Signed-off-by: Magnus Kroken <mkroken@gmail.com>
2018-06-18 22:05:30 +02:00
Adi Shammout
e4259bed3f busybox: udhcpc: no MSG_DONTROUTE when sending packet
This reverts a change made in Sep 2017 [1] which introduced
MSG_DONTROUTE flag to prevent udhcpc from reaching out to servers on a
different subnet. That change violates RFC2131 by forcing fully
configured clients, who got their configurations through an offer
relayed by a DHCP relay, from renewing through a unicast request
directly to the DHCP server, resulting in the client resorting to
boradcasting lease extension requests instead of unicasting them,
further breaking RFC2131.

The problem with MSG_DONTROUTE appears when talking to a properly
configured DHCP server that rejects non-compliant requests. Such server
will reject lease extension attempts sent via broadcast rather than
unicast, as is the case with Finnish ISPs Telia and DNA as well as
Estonian ISP Starman. Once the lease expires without renewal, udhcpc
enters init mode, taking down the interfaces with it, and thus causing
interruption on every lease expiry. On some ISPs (such as the ones
mentioned above) that can be once every 10-20 minutes. The interruptions
appear in the logs as such:
----
udhcpc: sending renew to x.x.x.x
udhcpc: send: Network unreachable
udhcpc: sending renew to 0.0.0.0
udhcpc: sending renew to 0.0.0.0
...
udhcpc: lease lost, entering init state
Interface 'wan' has lost the connection
Interface 'wan' is now down
Network alias 'eth0' link is down
udhcpc: sending select for y.y.y.y
udhcpc: lease of y.y.y.y obtained, lease time 1200
Network alias 'eth0' link is up
Interface 'wan' is now up
----

During lease extension, a fully configured client should be able to
reach out to the server from which it recieved the lease for extension,
regardless in which network it is; that's up to the gateway to find. [2]
This patch ensures that.

[1]
http://lists.busybox.net/pipermail/busybox-cvs/2017-September/037402.html
[2]
https://www.netmanias.com/en/post/techdocs/6000/dhcp-network-protocol/
understanding-dhcp-relay-agents

Signed-off-by: Adi Shammout <adi.shammout@outlook.com>
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com> [PKG_RELEASE increase]
2018-06-07 21:44:04 +02:00
Yousong Zhou
f87dff8f72 flock: enable alternatives support
Fixes FS#1510

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2018-05-07 15:50:18 +08:00
Yousong Zhou
46a2c0d9c5 busybox: order alternatives in alphabetical order
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2018-05-07 15:50:18 +08:00
Hannu Nyman
c089671339 busybox: update to 1.28.3
Bug fix release. 1.28.3 has fixes for
* ash and hush (do not leave stray open file destriptors in children),
* cpio (fix for symlink extraction),
* grep ("grep -Fw a" was matching "aa").

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-04-05 22:15:58 +02:00
Hannu Nyman
d674422a81 busybox: update to 1.28.2
Update busybox to 1.28.2, refresh patches and default config.

* modify 230-add_nslookup_lede.patch as opt_complementary was removed
    Also move nslookup_longopts variable declaration to be inside
    the same conditional as the function itself.
* modify 250-date-k-flag.patch to match upstream (opt_complementary)
* remove 600-cve-2017-16544.patch that is upstreamed

Notes about config changes:
* Some applet-specific LONG_OPTIONS config options were removed
* Config help text indentation changed, caused lots of
  text formatting changes for convert_menuconfig.pl
* convert_defaults.pl moved lots of defaults around, summary of
  actual changes below

New applets/features:
---------------------
ARCH
HEXEDIT
MINIPS
NETCAT
NUKE
RESUME
RUN_INIT
SETFATTR

New options:
------------
FEATURE_CATN
FEATURE_CROND_SPECIAL_TIMES
FEATURE_LIBBUSYBOX_STATIC
FEATURE_SETPRIV_CAPABILITIES
FEATURE_SETPRIV_CAPABILITY_NAMES
FEATURE_SETPRIV_DUMP
FEATURE_SH_READ_FRAC
FEATURE_SWAPONOFF_LABEL
FEATURE_VOLUMEID_MINIX
FEATURE_XARGS_SUPPORT_ARGS_FILE
FEATURE_XARGS_SUPPORT_PARALLEL
HUSH_GETOPTS
HUSH_READONLY
HUSH_TIMES

Removed:
--------
FEATURE_HAVE_RPC
MSH

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2018-04-03 23:26:45 +02:00
Hans Dedecker
02fba1a181 busybox: drop providing virtual package ip
Drop providing the virtual package ip by busybox which was added in commit
1cec4d4ef0.

Letting busybox provide the virtual package ip is not optimal for the
following reasons :

	- Applications depending on ip expect either the ip-full or
	  ip-tiny package to be enabled.
	- Busybox ip applet cannot be added or removed at runtime

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2018-03-22 21:54:20 +01:00
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