Fix CVE-2016-2779: runuser in util-linux allows local users to escape to
the parent session via a crafted TIOCSTI ioctl call, which pushes
characters to the terminal's input buffer.
The new experimental "su --pty" feature has been implemented to fix this
issue. The feature is not enabled by default and the new command line
option --pty is necessary.
Add rfkill, a command for enabling and disabling wireless devices. This
implementation is based upon, and backward compatible with, the original
rfkill from Johannes Berg and Marcel Holtmann, currently provided by the
standalone "rfkill" package.
Add uuidparse, a command to analyze and print information about UUID's.
The "reset" script is not part of utill-linux anymore. Add a legacy
config telling the user to use either BusyBox or the ncurses program.
Drop the ncursesw patch, allready applied upstream. AUTORECONF is not
required anymore.
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This change extends to the login utilities the current policy of having
a selection item in the configuration menu for each utility that has an
--enable/--disable knob in the "configure" script:
- add selection items for login, runuser, su and sulogin (there was
already an item for "last")
- move "login utilities" to Config.in.legacy
- make "login utilities" select last, login, runuser, su and sulogin
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit switches to use the new gettext logic, which involves:
- using TARGET_NLS_DEPENDENCIES instead of hand-encoded dependencies
on gettext/host-gettext
- using TARGET_NLS_LIBS to force linking against libintl
- dropping BR2_PACKAGE_GETTEXT selection
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Carlos Santos <casantos@datacom.ind.br>
- Update the "basic set" description to include fincore, which is built
by default, and remove tailf, which was removed in this version.
- Add configuration options for the new utilities "chmem" and "lsmem".
- Add a patch to revert the assumption that ncursesw headers are under
/usr/include/ncursesw/ only. That's necessary to have both versions
for ABI/API compatibility but does not make sense on embedded systems.
- Drop autoreconf, since the patch on term-utils/Makemodule.am is gone.
The patch is a bit drastic but it solves the problem of using ncursews
while we discuss a better solution in the util-linux mailing list.
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
- Update the "basic set" description to include fincore, which is built
by default, and remove tailf, which was removed in this version.
- Add configuration options for the new utilities "chmem" and "lsmem".
- Remove patch already applied upstream.
- Drop autoreconf, since the patch on term-utils/Makemodule.am is gone.
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This reverts commit 5a18eabdf0.
It did not take into account all the possible situations. A different fix
will be provided in a forthcomming patch.
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since commit 006a328ad6 ("util-linux: fix
build with ncurses"), we have a build failure that occurs with musl
toolchains when wide-char support is not enabled in ncurses.
The problem comes from the fact that musl provides wchar support (so it
defines wchar_t). But when ncursesw is not available, we currently pass
--disable-widechar which tells util-linux that wchar support is not
available at all (not only in ncurses). When this gets passed to
util-linux configure script, then it defines its own wchar_t, which
conflicts with the musl definition.
So, we should not pass --disable-widechar when BR2_USE_WCHAR=y, which is
what this commit does: it moves the BR2_USE_WCHAR logic outside of the
ncurses logic, and passes --enable-widechar/--disable-widechar as
appropriate.
However, there's a gotcha: util-linux really wants the ncursesw variant
of ncurses when the system has wchar support enabled. We take this into
account by:
- Enabling ncursesw when BR2_PACKAGE_NCURSES_WCHAR=y. In this case, we
have ncurses and we have BR2_USE_WCHAR=y, so everything is fine.
- Otherwise, enabling ncurses when BR2_PACKAGE_NCURSES=y but
BR2_USE_WCHAR is disabled.
To make sure that the existing util-linux programs that need ncurses
support still build fine, we adjust the Config.in to select
BR2_PACKAGE_NCURSES_WCHAR on BR2_USE_WCHAR=y configurations.
Fixes:
http://autobuild.buildroot.net/results/19de2a0b12380ddc86dbba0dae3a3877b25f83ff/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
util-linux version 2.29 changed ncurses handling a lot. pkg-config
support to detect ncurses is removed from configure.ac and
ncurses-config is used to detect it. But it even didn't allow to
change config file for cross compilation. However, it is fixed in
upstream later and pkg-config support is added back.
This commit adds two patches from upstream that adds pkg-config support
and allows specifying ncurses-config file as well. However preference is
first given to pkg-config and later ncurses-config file. It also first checks
for version 6 and later 5.
Config option that changed are, ncursesw is enabled by default and ncurses
is disabled by default. So we need to explicilty specify with/without wide
char support now. This new version also allows disabling widechar support.
But it can't be enabled if ncurses without widechar support is enabled.
While building ncurses package, we explicitly enable pkg-config support,
so we don't need to specify ncurses-config file, but it is specified for
completeness.
Fixes:
http://autobuild.buildroot.net/results/4a2/4a25fb0d4546391d5dbbaa6cde17c45aeddb3549
Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
Cc: Carlos Santos <casantos@datacom.ind.br>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
When even a single extra util-linux utility is enabled, the default
build and install will install many more programs, including many that
overlap with those offered by busybox.
Fix by reworking the install-utilies menu to take advantage of the new
--disable-all-programs config option. This option make it possible to
disable the basic set of apps, and then enable only the desired apps.
Original patch by Danomi Manchego, visible at
http://patchwork.ozlabs.org/patch/494866/
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
[Thomas/Arnout: remove the choice between all/custom/no, and simply have
a list of options with the basic set of tools, and then one option for
each tool. This gives the same flexibility, but avoids the choice, which
is never nice to have.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
- Add option to control installation of libfdisk
- Add libfdisk license to the comment in util-linux.mk
- List all utilities provided by the basic set and document that
linux32, linux64, uname26, i386 and x86_64 are symlinks to setarch
- Add options to install cal, ipcrm, ipcs, logger, lslogin and pg
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
[Thomas: add missing dependency of the new lslogins option on
libsmartcols, and therefore !MMU.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fix several problems in the package recipe:
- Make 'bool "lib<foo>"' the first item in each block
- Move the depends before the selects
- Add missing dependencies on BR2_USE_MMU, for fork()
- Improve help for cramfs utilities and login utilities
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
[Thomas:
- remove capitalization of prompts, for consistency
- add missing dependencies on libsmartcols, and therefore !MMU]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
--enable-findfs and --enable-lsblk configure options don't exist
anymore. Now, findfs and lsblk are always built by default unless you
pass --disable-all-programs to the configure script.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Following the removal of eglibc support, this commit replaces all
occurences of "(e)glibc" by just "glibc". Most of the occurences are in
package Config.in comments.
In addition, when the form "an (e)glibc ..." was used, it is replaced by
"a glibc ...".
[Peter: add new efi* packages, s/uclibc/uClibc as suggested by Romain,
systemd / liquid-dsp tweaks as suggested by Yann]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit adds an option to the util-linux package that allows to
build the lsblk utility.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The list of util-linux utilities we can find on its Config.in file it
seems to be alphabetically ordered in purpose. However, there are some
of them which are in the wrong place. This patch fixes that.
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add more options to Config.in to allow optionally select or deselect
util-linux tools.
Also fix s/BR2_PACKAGE_WDCTL/BR2_PACKAGE_UTIL_LINUX_WDCTL/
Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
nsenter is a tool to enter the namespace of another process.
[Thomas: add dependency to 3.0 kernel headers, since the setns()
system call was added in Linux 3.0.]
Signed-off-by: Nicolas Cavallari <nicolas.cavallari@green-communications.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since a while, the semantic of BR2_PREFER_STATIC_LIB has been changed
from "prefer static libraries when possible" to "use only static
libraries". The former semantic didn't make much sense, since the user
had absolutely no control/idea of which package would use static
libraries, and which packages would not. Therefore, for quite some
time, we have been starting to enforce that BR2_PREFER_STATIC_LIB
should really build everything with static libraries.
As a consequence, this patch renames BR2_PREFER_STATIC_LIB to
BR2_STATIC_LIBS, and adjust the Config.in option accordingly.
This also helps preparing the addition of other options to select
shared, shared+static or just static.
Note that we have verified that this commit can be reproduced by
simply doing a global rename of BR2_PREFER_STATIC_LIB to
BR2_STATIC_LIBS plus adding BR2_PREFER_STATIC_LIB to Config.in.legacy.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
In commit 442aa88f95 ("util-linux: bump
version and revamp options"), Gustavo disabled util-linux libmount and
binaries on microblaze, as it was not building properly.
However, as mentionned in the comment, these options were disabled on
Microblaze due to "libc lacks UTIME_NOW & UTIME_COMMIT for
libmount". This was true specifically for the microblaze external
toolchain that we were using at the time. But we are no longer using
this external toolchain (which proved to be broken in many ways), and
have microblaze support in our internal backend.
I have verified that with our internal toolchain, util-linux with
libmount and the binaries enabled builds fine.
Those options are not selected by anything else in Buildroot, so
there's no other package impacted by this dependency change.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The libblkid library in util-linux uses fork. While it seems
potentially possible to disable the parts of the library that use fork
(the only parts using fork are parts related to LVM and Device Mapper,
which are said to be legacy as they are replaced by sysfs based
scanning, instead of having to fork to run a separate process).
However, since libblkid is used by:
- e2fsprogs, which uses lots of fork all over the place
- udev, which most likely will also need fork
There is not much point in making libblkid fork-less. As a
consequence, this commit makes util-linux/libblkid unavailable on
non-MMU architectures, and propagates the relevant dependency to the
reverse dependencies of libblkid.
This fixes the e2fsprogs build failure seen on Blackfin. The failure
was due to a configure test of e2fsprogs which was trying to link a
small test program against libblkid, which failed because there was an
undefined reference to fork() in the libblkid code.
Fixes:
http://autobuild.buildroot.net/results/ee2c1568d16ac040011dd4d6d8b543ff9e9e2622/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>