Commit Graph

54 Commits

Author SHA1 Message Date
Soumya Sambu
dc1a3be255 shadow: Fix CVE-2023-4641
shadow-utils: possible password leak during passwd(1) change

(From OE-Core rev: 734a3e1fb5ee8ded3097a94c7ee8696518346166)

Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-30 09:43:59 -10:00
Enrico Scholz
de828a1d9d shadow-sysroot: add license information
Recipe references 'login.defs' in LIC_FILES_CHKSUM.  This causes some
problems:

- file does not contain a single word which is related with its license

- changing this file (here: increasing SYS_UID_MIN) invalidates
  LIC_FILES_CHKSUM

Add 'SPDX-License-Identifier' to the file and limit the checksum to
this part.

(From OE-Core rev: c9ab17b51834bff96657712a6741eb3e3647b063)

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8c6f2e3feeb26abefb4136c56db6f3c0349acefb)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-26 04:24:02 -10:00
Xiangyu Chen
e8eab42415 shadow: backport patch to fix CVE-2023-29383
The fix of CVE-2023-29383.patch contains a bug that it rejects all
characters that are not control ones, so backup another patch named
"0001-Overhaul-valid_field.patch" from upstream to fix it.

(From OE-Core rev: ab48ab23de6f6bb1f05689c97724140d4bef8faa)

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:03:21 -10:00
Andrei Gherzan
5f3999c41a shadow: Avoid nss warning/error with musl
The libnss configuration file is only installed when glibc is used. The
inexistence of it on a musl-based rootfs, will make shadow complain
about it:

Failed opening /etc/nsswitch.conf

This is because shadow will try to use nsswich when dealing with
subordinate IDs and the message is just a warning as the tool will still
generate them correctly in subuid/subgid files.

We drop this log message for class native to avoid an error when rootfs
logs are checked ('Failed' will match the regex bitbake is using to
check for rootfs generation errors).

(From OE-Core rev: e5ce33228858fcc12051548399c71ce10346bf5b)

Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-03 13:09:49 +01:00
Peter Kjellerstedt
24c743fe66 shadow: Disable the use of syslog() for the native tools
An attempt to disable the use of syslog() was made in commit 8f181686
(shadow-native: Simplify and fix syslog disable patch). However,
because the code checks if USE_SYSLOG is defined rather than checking
if it evaluates to TRUE the patch did not work as intended.

(From OE-Core rev: e1f21d0d3385f9d9f4316bf0039b287fd4b37fc8)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-15 17:30:34 +01:00
Richard Purdie
cd69e50cf4 shadow-native: Simplify and fix syslog disable patch
Shadow is happily spamming the host syslog with messages and shouldn't be
which suggests the patch isn't working. Redo it to work at the configure
level which is simpler and hopefully more effective.

(From OE-Core rev: 8f1816862b884f226c0ce7f5c89fd75b6791c007)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-15 08:40:09 +00:00
Alexander Kanavin
64e0f14a56 shadow: upgrade 4.10 -> 4.11.1
License-Update: license clarified to BSD-3-Clause only

(From OE-Core rev: 79201206b5f7867ad7ffd462705f34179b33c0d7)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-20 11:57:29 +00:00
zhengruoqin
0da47a56bd shadow: upgrade 4.9 -> 4.10
0001-Fix-out-of-tree-builds-with-respect-to-libsubid-incl.patch
0001-libmisc-fix-default-value-in-SHA_get_salt_rounds.patch
0001-libsubid-link-to-PAM-libraries.patch
removed since they're included in 4.10

License-Update: Delete the space at the end of the sentence.

Changelog:
==========
* libsubid fixes
* Rename the test program list_subid_ranges to getsubids, write
a manpage, so distros can ship it. (Iker Pedrosa)
* Add libeconf dep for new*idmap
* Allow all group types with usermod -G
* Avoid useradd generating empty subid range
* Handle NULL pw_passwd
* Fix default value SHA_get_salt_rounds
* Use https where possible in README
* Update content and format of README
* Translation updates
* Switch from xml2po to itstool in 'make dist'
* Fix double frees
* Add LOG_INIT configurable to useradd
* Add CREATE_MAIL_SPOOL documentation
* Create a security.md
* Fix su never being SIGKILLd when trapping TERM
* Fix wrong SELinux labels in several possible cases
* Fix missing chmod in chadowtb_move
* Handle malformed hushlogins entries
* Fix groupdel segv when passwd does not exist
* Fix covscan-found newgrp segfault
* Remove trailing slash on hoedir
* Fix passwd -l message - it does not change expirey
* Fix SIGCHLD handling bugs in su and vipw
* Remove special case for "" in usermod
* Implement usermod -rG to remove a specific group
* call pam_end() after fork in child path for su and login
* useradd: In absence of /etc/passwd, assume 0 == root
* lib: check NULL before freeing data
* Fix pwck segfault

(From OE-Core rev: b7215993cf00f668d7e33b7fbc98fb4d8636edac)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-05 17:18:15 +00:00
Yi Zhao
90cf58dc7d shadow: add /etc/default/useradd
The shadow 4.9 stops shiping /etc/default/useradd[1] and uses built-in
settings by default. Some settings are not consistent with previous
shadow 4.8.1 in oe-core. e.g. The default shell is /bin/bash rather than
/bin/sh. Per shadow 4.8.1 settings, add /etc/default/useradd back.

[1] bbf4b79bc4

(From OE-Core rev: 736d0b29c6246658a925ea9036ccfe6216d12837)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-20 08:53:03 +01:00
Mingli Yu
6566a99d4d shadow: fix default value in SHA_get_salt_rounds()
Backport a patch [1] to fix chpasswd, gpasswd and passwd "hang" for
several minutes (10-20min) at 100% cpu usage though they finally
terminate successfully.

[1] https://github.com/shadow-maint/shadow/issues/393

(From OE-Core rev: ad8c62f988017e1e4da1f5ed7fb6f4a5ce44844e)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-17 09:53:04 +01:00
Alexander Kanavin
087070bf21 shadow: update 4.8.1 -> 4.9
Add a couple backports to fix builds.

Drop 0002-Allow-for-setting-password-in-clear-text.patch;
what it adds is horribly insecure and AB testing didn't reveal any
regressions or use cases for it.

Drop /etc/default/ tweaks as files are no longer installed there.

Drop manpage alternatives as manpages are no longer installed.

(From OE-Core rev: 759df7395908f18b3b68f28d043ac9ebd42dd0c8)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-02 15:44:11 +01:00
Wang Mingyu
4e51659ff4 shadow: upgrade 4.8 -> 4.8.1
0001-Do-not-check-for-validity-of-shell-executable.patch
CVE-2019-19882.patch
Removed since they are included in 4.8.1.

(From OE-Core rev: de9cceb13e264434eb0b8393c3b0c0217b8d505e)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21 17:48:09 +00:00
Li Zhou
b0af33c7c5 shadow: Security Advisory - shadow - CVE-2019-19882
Backport patch from <https://github.com/shadow-maint/shadow/pull/199/
commits/66b7bc0dcfda12d7f58eba993bd02872cae1d713> to solve
CVE-2019-19882.

(From OE-Core rev: a0de64cab692562d4bbd64f8bdcaa3fc6bc694bb)

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-03 22:35:48 +00:00
Alexander Kanavin
af2b2c4d9f shadow: update 4.6 -> 4.8
Drop two backports.

Remove 0001-useradd.c-create-parent-directories-when-necessary.patch
as upstream has addressed the issue:
b3b6d9d77c

Rebase the rest of the paches.

Add a patch to remove the check for validity of login shells
which does not work in our environment.

Disable sssd cache support as that needs Fedora-specific tooling.

(From OE-Core rev: fee6c063dfb80425caa7080083c61d1544d929c6)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-28 23:25:42 +00:00
Adrian Bunk
fe6d059212 shadow: musl now supports secure_getenv
This fixed a potential security vulnerability on musl and made
the patch obsolete.

(From OE-Core rev: 30b6ae3084f63df437a4d6dd859bca674ca01e12)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-21 15:29:02 +01:00
Yi Zhao
52fd2467c8 shadow: fix configure error with dash
A configure error occurs when /bin/sh -> dash:
  checking for is_selinux_enabled in -lselinux... yes
  checking for semanage_connect in -lsemanage... yes
  configure: 16322: test: yesyes: unexpected operator

Use "=" instead of "==" since dash doesn't support the latter.

(From OE-Core rev: a86da25d620aa9a2fd832ffe12816e7670b43633)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-19 12:46:43 +01:00
Alex Kiernan
541ff15c22 shadow: Backport last change reproducibility
The third field in the /etc/shadow file (sp_lstchg) contains the date of
the last password change expressed as the number of days since Jan 1,
1970.

Backport the upstream changes to honour SOURCE_DATE_EPOCH for build
reproducibility.

(From OE-Core rev: 4ad2cf5054618f2dd14fe40dac9aede66f2c0dd3)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-09 16:31:56 +01:00
Yi Zhao
2f26e0e8d5 shadow: drop inappropriate patch
The 0001-useradd-copy-extended-attributes-of-home.patch (oe-core commit:
eed66e85af5ca6bbdd80cc3d5cf8453e8d8880bc) introduced a runtime failure
when enable SELinux.

When enable SELinux, The directory /home/user will get the extended
attributes of /etc/skel. However, the SELinux lable for /etc/skel is
etc_t which is also copied to /home/user. It will cause the user can not
write their home directory because the SELinux lable for /home/user
should be user_home_dir_t.

See discussion: http://lists.openembedded.org/pipermail/openembedded-core/2018-January/146039.html

The solution at the moment is to drop this patch.

(From OE-Core rev: 2a8b35226edde4cd49cb5ba68c5b47aa8379eca1)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-18 11:12:26 +00:00
Chen Qi
ffb63803ea shadow: upgrade 4.2.1 -> 4.6
The following patches are removed because problems have been fixed in this version.
  0001-shadow-CVE-2017-12424
  fix-installation-failure-with-subids-disabled.patch
  usermod-fix-compilation-failure-with-subids-disabled.patch
  CVE-2017-2616.patch
  check_size_of_uid_t_and_gid_t_using_AC_CHECK_SIZEOF.patch
  0001-Do-not-read-login.defs-before-doing-chroot.patch

The following patches are rebased.
  0001-Disable-use-of-syslog-for-sysroot.patch
  0001-useradd-copy-extended-attributes-of-home.patch
  0001-useradd.c-create-parent-directories-when-necessary.patch
  allow-for-setting-password-in-clear-text.patch

(From OE-Core rev: 79dd22729d5b8a2f2cf4294ff6b261c9d6ecd977)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-30 12:44:35 +01:00
Andrej Valek
b22e18b7a0 shadow: fix CVE-2017-2616
(From OE-Core rev: 94a1e2794df15f0f2cb62ae030cd81e6c0798b1f)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-26 13:16:41 +01:00
yadi.hu@windriver.com
5256f95d55 shadow: fix pam configs for chpasswd, newusers
Fix below errors while pam is enabled on target:

  root@qemux86:~# newusers
  newusers: PAM: Authentication failure
  root@qemux86:~# chpasswd
  chpasswd: PAM: Authentication failure

The configs copied from "chgpasswd" which command works with pam.

(From OE-Core rev: f6efc1dbd1f3a0f68ee731ff2b5a5d798ecf2cf8)

Signed-off-by: Hu <yadi.hu@windriver.com>
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-29 21:07:17 +01:00
Chen Qi
1f9c9a2884 shadow: fix CVE-2017-12424
Backport a patch to fix CVE-2017-12424.

In shadow before 4.5, the newusers tool could be made to manipulate
internal data structures in ways unintended by the authors.

Reference link: https://nvd.nist.gov/vuln/detail/CVE-2017-12424

CVE: CVE-2017-12424

(From OE-Core rev: 896495d4d2a9751e6e013a3498293b2443d7d809)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
José Bollo
39858da230 shadow: 'useradd' copies root's extended attributes
The copy of extended attributes is interesting for
Smack systems because it allows to set the security
template of the user's home directories without
modifying the tools (useradd here). But the version
of useradd that copies the extended attributes doesn't
copy the extended attributes of the root. This can make
use of homes impossible! This patch corrects the issue
by copying the extended attributes of the root directory:
/home/user will get the extended attributes of /etc/skel.

The patch is submitted upstream (see
http://lists.alioth.debian.org/pipermail/pkg-shadow-commits/2017-March/003804.html)

The existing patch specific to open-embedded is updated:
  0001-useradd.c-create-parent-directories-when-necessary.patch

Also, attr are activated for native tools.
This is needed when users are created during image creation.

(From OE-Core rev: eed66e85af5ca6bbdd80cc3d5cf8453e8d8880bc)

Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Shan Hai
55bb15f791 shadow: use relaxed usernames
The groupadd from shadow does not allow upper case group names, the
same is true for the upstream shadow. But distributions like
Debian/Ubuntu/CentOS has their own way to cope with this problem,
this patch is picked up from CentOS release 7.0 to relax the usernames
restrictions to allow the upper case group names, and the relaxation is
POSIX compliant because POSIX indicate that usernames are composed of
characters from the portable filename character set [A-Za-z0-9._-].

(From OE-Core rev: 31c6c8150394de067085be5b0058037077860a8a)

Signed-off-by: Shan Hai <shan.hai@windriver.com>
Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-16 15:24:02 +01:00
Peter Kjellerstedt
7c5823ac32 shadow: Disable syslog for more commands
When building shadow-native, syslog was disabled for useradd and
groupadd. This disables it also for groupdel, groupmems, groupmod,
userdel and usermod (i.e., the use of syslog is now disabled for all
commands supported by useradd_base.bbclass).

(From OE-Core rev: 0791ba7ea82444729a1a7d1b2443f633bcba2002)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-15 06:59:43 +01:00
Chen Qi
d477da6618 shadow: fix `su' behaviour
0001-su.c-fix-to-exec-command-correctly.patch is removed. Below is the reason.
This patch is introduced to solve the 'su: applet not found' problem when
executing `su -l xxx -c env'. The patch references codes of previous release
of shadow. However, this patch introduces bug#5359. So it's not correct.

Let's first look at the root cause of 'su: applet not found' problem.
This problem appears when /bin/sh is provided by busybox.
When executing `su -l xxx -c env' command, the following function is invoked.
    execve("/bin/sh", ["-su", "-c", "env"], [/* 6 vars */])
Note that the argv[0] provided to new executable file (/bin/sh) is "-su".
As /bin/sh is a symlink to /bin/busybox. It's /bin/busybox that is executed.
In busybox's appletlib.c, it would examine argv[0], try to find an applet
that has the same name, and then try to execute the main function of the
applet. This logic results in `su' applet from busybox to be executed.
However, we default to set 'BUSYBOX_SPLIT_SUID' to "1", so 'su' is not found.
Further more, even if we set 'BUSYBOX_SPLIT_SUID' to "0", so that 'su' applet
is found. The whole behaviour is still not correct. Because 'su' from shadow
takes higher priority than that from busybox, so 'su' from busybox should never
be executed on such system unless it's specified clearly by the end user.
The logic of busybox's appletlib.c is totally correct from the point of busybox
itself. It's an integration problem.

To solve the above problem, this patch comment out SU_NAME in /etc/login.defs
so that the final function executed in shadow's su is as below.
    execve("/bin/sh", ["-sh", "-c", "env"], [/* 6 vars */])

[YOCTO #5359]
[YOCTO #7137]

(From OE-Core rev: 6820f05dad0b4f9b9bbcf7c2a0af8c34f66199ae)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-24 11:06:56 +01:00
Soren Brinkmann
867758c971 shadow: securetty: Add Xilinx Zynq SoC
Add Zynq's console devices to securetty.

(From OE-Core rev: 82f5fd5f39b1c665098dd5ca567cbb2b5d955924)

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:47 +00:00
Javier Viguera
71df8a408f shadow-securetty: add ttyAM[0-3] serial ports
Old version of the ARM AMBA serial port driver creates those device nodes.

(From OE-Core rev: fa17b9ea435f5c49e3bea56524152b21d915d464)

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-20 14:08:13 +00:00
Bogdan Purcareata
1c8040ef1c shadow: enable support for subordinate IDs
The subordinate IDs support in pkg-shadow allows unprivileged users to manage a
set of UIDs and GIDs. These subordinate IDs are specified by root, and can be
further used by the unprivileged user they have been assigned to. This user can
then create an e.g. user namespace, where he is allowed to manage his own set of
users and group from the pool of subordinate IDs. More details can be found at
http://lwn.net/Articles/533617/.

Pull a required change from upstream in order to make shadow cross-compile with
subordinate IDs support. Enable flag in recipe.

Changes since v1:
- update changelog

(From OE-Core rev: 8548868c05e52700fd4712298b1705b8ec7ae446)

Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:12 +00:00
Peter Kjellerstedt
70290325e4 shadow: Make useradd work correctly with --root again
Even if useradd --root <root> is used it would still read login.defs
before doing the chroot() and thus use the one provided by the host
rather than the sysroot.

(From OE-Core rev: b85917a4ebe636316fa7305017cd32a47b392039)

(From OE-Core rev: 0af59a04135f067f0e01883defa77c6f714eab2e)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-16 22:13:51 +01:00
Fathi Boudra
d8c8ea78f1 shadow: add Qualcomm and STMicroelectronics SoCs
Reported-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Reported-by: Peter Griffin <peter.griffin@linaro.org>
(From OE-Core rev: 8c811541125fff75429d09249299add5ffe80912)

Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-10 11:33:25 +01:00
Stefan Agner
3754726de9 shadow-securetty: add freescale lpuart
Add Freescale lpuart tty's (ttyLPx) to securetty. Freescale Vybrid
devices running upstream kernel use this driver.

(From OE-Core rev: 1732ea461f1d0afe254e36a8bfe84a6675a42e66)

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-25 15:34:01 +01:00
Chen Qi
0270b0e1c5 shadow: fix the behavior of su
In systems where bash is not installed and /bin/sh is provided by
busybox. Commands like `su -l -c '/home/root/test' xuser' would fail
complaining the the 'su' applet could not be found.

This patch references the old version of shadow to keep the behaviour
the way it was in old version so that we would avoid the problem mentioned
above.

(From OE-Core rev: ab0115d1b8a0cb0b25bdb14fd2a3e6c6bb9a44f8)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-23 21:59:14 +01:00
Chen Qi
012a572e86 shadow: upgrade from 4.1.4.3 to 4.2.1
Upgrade shadow from 4.1.4.3 to 4.2.1.

Changes during this upgrade are as following.

1. Remove the "merged" patches. These patches are either merged or
   the same functionality has been implemented upstream.

   add_root_cmd_groupmems.patch
   add_root_cmd_options.patch
   fix-etc-gshadow-reading.patch
   shadow-4.1.4.2-env-reset-keep-locale.patch
   shadow-4.1.4.2-groupmod-pam-check.patch
   shadow-4.1.4.2-su_no_sanitize_env.patch
   shadow.automake-1.11.patch
   shadow_fix_for_automake-1.12.patch
   useradd.patch

2. Remove the unneeded patch.
   The following patch has been removed because the logic in the related
   codes of the new version has been changed. In specific, the codes now
   can handle the 'NULL' return value. So there's no need for the following
   patch.

   slackware_fix_for_glib-2.17_crypt.patch

3. Teak the current patch to match the new version.

   allow-for-setting-password-in-clear-text.patch

4. Add a patch to fix compilation failure.

   usermod-fix-compilation-failure-with-subids-disabled.patch

5. Add a patch to fix the installation failure.

   fix-installation-failure-with-subids-disabled.patch

5. Add a patch to fix the failure at rootfs time if extrausers is inherited.

   commonio.c-fix-unexpected-open-failure-in-chroot-env.patch

6. Fix the bad section in the recipe.

7. Disable the new subids feature in the new version as it doesn't support
   cross compilation for now.

8. Modify the pkg_postinst to `exit 1' if the `pwconv' or `grpconv' fails.
   Also, fix the arguments to use '--root $D' instead of '--root=$D'.

9. Add a patch for shadow-native to create parent directories when necessary.

   0001-useradd.c-create-parent-directories-when-necessary.patch

(From OE-Core rev: b73e5cd51551556f9e6a4f7d9e7deec4d9d661bd)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-07-17 12:36:18 +01:00
Andreas Müller
b4f7995e9a shadow: set correct entries for pseudo terminals in /etc/securetty
In

commit 10cdd66fe800cffe3f2cbf5c95550b4f7902a311
Author: Ming Liu <ming.liu@windriver.com>
Date:   Thu Jul 18 10:04:22 2013 +0800

    libpam: add a new 'nullok_secure' option support to pam_unix

'null_ok_secure' option was fixed. Since that commit 'su' stopped working in
pseudo terminals (created in X environments) for root-accounts with empty
password.

Background: The PAM configuration for 'su' includes 'common-auth' which uses
'nullok_secure' option for pam_unix.

(From OE-Core rev: d28eba07553020bf9bfb1419663c1d18ab36ab66)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-10 15:16:50 +00:00
Chen Qi
7b58b5feaa shadow-native: allow for setting password in clear text
Allow user to set password in clear text. This is convenient when
we're building out an image.

This feature is mainly used by useradd.bbclass and extrausers.bbclass.

This patch adds a new option '-P' to useradd, usermod, groupadd and groupmod
commands provided by shadow-native. The shadow package on target and in SDK
will not be affected.

[YOCTO #5365]

(From OE-Core rev: 31dee7946340bf0f1e94e4e714191d3d6ca3bf6a)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-14 09:16:37 +00:00
Qiang Chen
fedd84f7ee shadow: remove reference to locale env files from login and su
/etc/default/locale missing message appears when login
and running su <user>

qemu0 login[4189]: pam_env(login:session): Unable to open env file: /etc/default/locale: No such file or directory
qemu0 login[4189]: pam_unix(login:session): session opened for user root by LOGIN(uid=0)

qemu0 su[999]: pam_env(su:session): Unable to open env file: /etc/default/locale: No such file or directory
qemu0 su[999]: pam_unix(su:session): session opened for user root by root(uid=0)

This commit remove reference from pam.d/login and pam.d/su
to /etc/default/locale env file to avoid the error messages
as RHEL, fedora does.

(From OE-Core rev: 010ffabfb8631bd4894cc3f1f6f0834f3279f30c)

Signed-off-by: Qiang Chen <qiang.chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-09 18:01:43 +00:00
Roy.Li
78de8222d6 shadow: backport a patch to make newgrp work
Backport a Debian patch to fix the reading of the
gshadow file in order to make newgrp work correctly.

(From OE-Core rev: 3ef8db6217f7c40a9eb063d21ce6f25b16d88d53)

Signed-off-by: Roy.Li <rongqing.li@windriver.com>

[sgw - tweaked commit message]
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:02 +01:00
Mikhail Durnev
1f7647c197 shadow-native: Add --root option in groupmems
Patch add_root_cmd_groupmems.patch that we apply to shadow-native
    allows program groupmems from the shadow utility package to chroot()
    so it can be used to modify etc/passwd and etc/group if they are
    located in a sysroot.

    The --root option in groupmems is needed for class useradd.

(From OE-Core rev: ae7aa0ef68372c15224c0c518cb90ba7350137b4)

Signed-off-by: Mikhail Durnev <mikhail_durnev@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-28 09:14:07 +01:00
Saul Wold
216d701c01 shadow: add patch to fix crypt: Invalid Argument
This patch came from Slackware and address a change in crypt()'s handling
of an invalid seed, which in the past returned an encrypted string and now
returns a NULL.

[YOCTO #4097] related to tinylogin segfault

(From OE-Core rev: a7f7e6da8383b4bde6d8ce951e5c3c955073c0bd)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-05 18:21:31 +01:00
Martin Donnelly
cef8f6b6c6 shadow: remove grpconv argc check
The patched version of grpconv takes arguments but the check on
argc was not removed. This patch removes this check which
otherwise results in a spurious warning during rootfs creation.

(From OE-Core rev: 845a24e78835e93807cfb810fa99715ac4d14e21)

Signed-off-by: Martin Donnelly <martin.donnelly@ge.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-01 13:03:28 +00:00
Marcin Juszkiewicz
6309eea2a8 shadow-securetty: add ARM AMBA serial ports
(From OE-Core rev: 77cc57b88a7377e40361428dba52cf35fb7e9e58)

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-24 12:50:46 +01:00
Nitin A Kamble
0d4d9bd61b shadow shadow-native: fix build with automake 1.12
(From OE-Core rev: dec7696b737e5921fcac0dbb346851e31a81537b)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:57 +01:00
Scott Garman
c54831fa89 shadow-native: disable logging to syslog
Disable use of syslog to prevent sysroot user and group additions
from writing entries to the host's syslog.

This fixes [YOCTO #2012]

(From OE-Core rev: e5aee0a2f5973a7aef81d0f38307a93791f616c6)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-10 13:31:59 +01:00
Steve Sakoman
3301dc44b2 shadow-securetty: allow root logins on usb serial gadget device
Existing tty list does not include ttyGS0, add it

(From OE-Core rev: 6ba9dc6460eb615e002e90ead0f4d5bc31856f22)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-03 17:22:12 +00:00
Julian Pidancet
73abadd43e Fix the --root option in shadow-native programs
The add_root_cmd_options.patch that we apply to shadow-native allow the
various programs from the shadow utility package to chroot() so they can
be used to modify etc/passwd and etc/group if they are located in a
sysroot.

Some of the shadow programs (gpasswd, useradd and usermod) need to parse
the command line in two passes. But we can't use getopt_long() twice
because getopt_long() reorders the command line arguments, and
consequently corrupts the option parsing during the second pass.

This patch fixes this issue by replacing the first pass by a very simple
manual walk of the command line to handle the --root argument.

This change is a patch of another patch, I apologize if it is
difficult to read. But IMHO it wouldn't make sense to put the patch for
this issue in another separated file.

The --root options in groupadd and useradd are needed to make the
useradd class work, and this issue was preventing to use useradd and
groupadd long options while using the class.

(From OE-Core rev: 6e9e19b18597103d8fe09f258cfd9904bb5f1c27)

Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-10 10:00:08 +01:00
Phil Blundell
acf62d33d0 shadow: add patch for useradd lossage
This fixes (or, at least, papers over) a failure in do_install for recipes which
inherit useradd.bbclass.  Rewinding optind in this way is not entirely portable
but in practice it seems to work on GNU-ish build hosts at least.

(From OE-Core rev: 8fce8180c802ad187c4df44c17207bfb026ce6c7)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-09 18:42:55 +01:00
Kang Kai
7772a8893d shadow: update pam related configure files
add shadow-update-pam-conf.patch to update the pam related configure files
in oe way rather than Fedora.

(From OE-Core rev: 10e6fdd7e8fed5733f65a504148bba54bccb3c48)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-27 12:02:42 +01:00
Scott Garman
5c7d37c51c shadow-native: fix creation of home directories
Pseudo was recently changed so that when system() calls are
made after a chroot(), the host binaries can no longer be found,
breaking the system("mkdir -p") approach when useradd creates
home directories.

Instead, use mkdir(2) to create home directories with a helper
function to ensure parent directories get created.

(From OE-Core rev: 7d4099a964ec79b1ac4cf5348cf9f4221c3d4908)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-30 20:57:07 +01:00
Scott Garman
c82a1b111d shadow-sysroot: new recipe for useradd.bbclass support
Packaging login.defs with base-passwd causes problems due to the
file being included in target package installs. Instead, this
shadow-sysroot recipe can be used by useradd.bbclass to put
login.defs into the target sysroot without disturbing packages
intended for target devices.

(From OE-Core rev: 6cbf741d73070759ecb9a284e6511c63d945f7c1)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-28 13:55:40 +01:00