From 16216b948b7156dc60d697a810d407a8987e678e Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Thu, 20 Feb 2020 20:11:13 +0200 Subject: [PATCH] busybox: fix adduser and enable util-linux utils --- core/busybox/build | 3 + core/busybox/checksums | 3 +- core/busybox/files/.config | 206 ++++++++++--------- core/busybox/patches/adduser-no-setgid.patch | 12 ++ core/busybox/sources | 1 + core/busybox/version | 2 +- 6 files changed, 126 insertions(+), 101 deletions(-) create mode 100644 core/busybox/patches/adduser-no-setgid.patch diff --git a/core/busybox/build b/core/busybox/build index 8577cc84..86b1f8d5 100755 --- a/core/busybox/build +++ b/core/busybox/build @@ -1,5 +1,8 @@ #!/bin/sh -e +# WHY WHY WHY WHY WHY. +patch -p1 < adduser-no-setgid.patch + # Build and install regular busybox. # This excludes utilities which require 'suid' to function. make CC="${CC:-gcc}" diff --git a/core/busybox/checksums b/core/busybox/checksums index 42d4dd16..ba40c771 100644 --- a/core/busybox/checksums +++ b/core/busybox/checksums @@ -1,5 +1,6 @@ d0f940a72f648943c1f2211e0e3117387c31d765137d92bd8284a3fb9752a998 busybox-1.31.1.tar.bz2 -beb464d5d36a94cfdb5e1a936a1b409c2a989d5ac7033eb589cfc1b77616e461 .config +09c2f601fec4e5c10664c22f787dafb9424efe219bf826727c356da90dfd60d5 adduser-no-setgid.patch +c22a310aa2b992d4b7620ae6340cea7a708fe9db61a52aae507209b46d4dfa09 .config da3ef90a65abcbd112fa98a00799745d88d568cde290e049a5380dfc74de620a .config-suid 814dea14ac612125e97dcc1d619219b2c9dfc14850bf48d858421fb2c98eca12 crond.run 4a5981f4b0d791fe9b84b0b2e01ae905f6565c8245b3cd603e6decf34ddad71a syslogd.run diff --git a/core/busybox/files/.config b/core/busybox/files/.config index e8bfc2b9..fdb10eff 100644 --- a/core/busybox/files/.config +++ b/core/busybox/files/.config @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Busybox version: 1.31.0 -# Wed Oct 9 21:08:40 2019 +# Busybox version: 1.31.1 +# Thu Feb 20 20:02:26 2020 # CONFIG_HAVE_DOT_CONFIG=y @@ -546,7 +546,7 @@ CONFIG_SULOGIN=y # Linux Ext2 FS Progs # # CONFIG_CHATTR is not set -# CONFIG_FSCK is not set +CONFIG_FSCK=y # CONFIG_LSATTR is not set # CONFIG_TUNE2FS is not set @@ -586,52 +586,52 @@ CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" # # CONFIG_ACPID is not set # CONFIG_FEATURE_ACPID_COMPAT is not set -# CONFIG_BLKDISCARD is not set -# CONFIG_BLKID is not set -# CONFIG_FEATURE_BLKID_TYPE is not set +CONFIG_BLKDISCARD=y +CONFIG_BLKID=y +CONFIG_FEATURE_BLKID_TYPE=y # CONFIG_BLOCKDEV is not set -# CONFIG_CAL is not set -# CONFIG_CHRT is not set -# CONFIG_DMESG is not set -# CONFIG_FEATURE_DMESG_PRETTY is not set -# CONFIG_EJECT is not set -# CONFIG_FEATURE_EJECT_SCSI is not set -# CONFIG_FALLOCATE is not set +CONFIG_CAL=y +CONFIG_CHRT=y +CONFIG_DMESG=y +CONFIG_FEATURE_DMESG_PRETTY=y +CONFIG_EJECT=y +CONFIG_FEATURE_EJECT_SCSI=y +CONFIG_FALLOCATE=y # CONFIG_FATATTR is not set # CONFIG_FBSET is not set # CONFIG_FEATURE_FBSET_FANCY is not set # CONFIG_FEATURE_FBSET_READMODE is not set -# CONFIG_FDFORMAT is not set -# CONFIG_FDISK is not set +CONFIG_FDFORMAT=y +CONFIG_FDISK=y # CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set -# CONFIG_FEATURE_FDISK_WRITABLE is not set +CONFIG_FEATURE_FDISK_WRITABLE=y # CONFIG_FEATURE_AIX_LABEL is not set # CONFIG_FEATURE_SGI_LABEL is not set # CONFIG_FEATURE_SUN_LABEL is not set # CONFIG_FEATURE_OSF_LABEL is not set -# CONFIG_FEATURE_GPT_LABEL is not set -# CONFIG_FEATURE_FDISK_ADVANCED is not set +CONFIG_FEATURE_GPT_LABEL=y +CONFIG_FEATURE_FDISK_ADVANCED=y # CONFIG_FINDFS is not set -# CONFIG_FLOCK is not set +CONFIG_FLOCK=y # CONFIG_FDFLUSH is not set # CONFIG_FREERAMDISK is not set # CONFIG_FSCK_MINIX is not set -# CONFIG_FSFREEZE is not set -# CONFIG_FSTRIM is not set -# CONFIG_GETOPT is not set -# CONFIG_FEATURE_GETOPT_LONG is not set -# CONFIG_HEXDUMP is not set -# CONFIG_FEATURE_HEXDUMP_REVERSE is not set +CONFIG_FSFREEZE=y +CONFIG_FSTRIM=y +CONFIG_GETOPT=y +CONFIG_FEATURE_GETOPT_LONG=y +CONFIG_HEXDUMP=y +CONFIG_FEATURE_HEXDUMP_REVERSE=y # CONFIG_HD is not set # CONFIG_XXD is not set -# CONFIG_HWCLOCK is not set +CONFIG_HWCLOCK=y # CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set -# CONFIG_IONICE is not set -# CONFIG_IPCRM is not set -# CONFIG_IPCS is not set -# CONFIG_LAST is not set -# CONFIG_FEATURE_LAST_FANCY is not set -# CONFIG_LOSETUP is not set +CONFIG_IONICE=y +CONFIG_IPCRM=y +CONFIG_IPCS=y +CONFIG_LAST=y +CONFIG_FEATURE_LAST_FANCY=y +CONFIG_LOSETUP=y CONFIG_LSPCI=y CONFIG_LSUSB=y CONFIG_MDEV=y @@ -641,8 +641,8 @@ CONFIG_FEATURE_MDEV_RENAME_REGEXP=y CONFIG_FEATURE_MDEV_EXEC=y CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y CONFIG_FEATURE_MDEV_DAEMON=y -# CONFIG_MESG is not set -# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set +CONFIG_MESG=y +CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y # CONFIG_MKE2FS is not set # CONFIG_MKFS_EXT2 is not set # CONFIG_MKFS_MINIX is not set @@ -652,80 +652,88 @@ CONFIG_FEATURE_MDEV_DAEMON=y # CONFIG_MKFS_VFAT is not set # CONFIG_MKSWAP is not set # CONFIG_FEATURE_MKSWAP_UUID is not set -# CONFIG_MORE is not set -# CONFIG_MOUNT is not set -# CONFIG_FEATURE_MOUNT_FAKE is not set -# CONFIG_FEATURE_MOUNT_VERBOSE is not set -# CONFIG_FEATURE_MOUNT_HELPERS is not set -# CONFIG_FEATURE_MOUNT_LABEL is not set +CONFIG_MORE=y +CONFIG_MOUNT=y +CONFIG_FEATURE_MOUNT_FAKE=y +CONFIG_FEATURE_MOUNT_VERBOSE=y +CONFIG_FEATURE_MOUNT_HELPERS=y +CONFIG_FEATURE_MOUNT_LABEL=y # CONFIG_FEATURE_MOUNT_NFS is not set -# CONFIG_FEATURE_MOUNT_CIFS is not set -# CONFIG_FEATURE_MOUNT_FLAGS is not set -# CONFIG_FEATURE_MOUNT_FSTAB is not set -# CONFIG_FEATURE_MOUNT_OTHERTAB is not set -# CONFIG_MOUNTPOINT is not set -# CONFIG_NOLOGIN is not set -# CONFIG_NOLOGIN_DEPENDENCIES is not set -# CONFIG_NSENTER is not set -# CONFIG_PIVOT_ROOT is not set +CONFIG_FEATURE_MOUNT_CIFS=y +CONFIG_FEATURE_MOUNT_FLAGS=y +CONFIG_FEATURE_MOUNT_FSTAB=y +CONFIG_FEATURE_MOUNT_OTHERTAB=y +CONFIG_MOUNTPOINT=y +CONFIG_NOLOGIN=y +CONFIG_NOLOGIN_DEPENDENCIES=y +CONFIG_NSENTER=y +CONFIG_PIVOT_ROOT=y # CONFIG_RDATE is not set # CONFIG_RDEV is not set -# CONFIG_READPROFILE is not set -# CONFIG_RENICE is not set -# CONFIG_REV is not set -# CONFIG_RTCWAKE is not set -# CONFIG_SCRIPT is not set -# CONFIG_SCRIPTREPLAY is not set -# CONFIG_SETARCH is not set -# CONFIG_LINUX32 is not set -# CONFIG_LINUX64 is not set +CONFIG_READPROFILE=y +CONFIG_RENICE=y +CONFIG_REV=y +CONFIG_RTCWAKE=y +CONFIG_SCRIPT=y +CONFIG_SCRIPTREPLAY=y +CONFIG_SETARCH=y +CONFIG_LINUX32=y +CONFIG_LINUX64=y # CONFIG_SETPRIV is not set # CONFIG_FEATURE_SETPRIV_DUMP is not set # CONFIG_FEATURE_SETPRIV_CAPABILITIES is not set # CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES is not set -# CONFIG_SETSID is not set -# CONFIG_SWAPON is not set -# CONFIG_FEATURE_SWAPON_DISCARD is not set -# CONFIG_FEATURE_SWAPON_PRI is not set -# CONFIG_SWAPOFF is not set -# CONFIG_FEATURE_SWAPONOFF_LABEL is not set -# CONFIG_SWITCH_ROOT is not set -# CONFIG_TASKSET is not set -# CONFIG_FEATURE_TASKSET_FANCY is not set +CONFIG_SETSID=y +CONFIG_SWAPON=y +CONFIG_FEATURE_SWAPON_DISCARD=y +CONFIG_FEATURE_SWAPON_PRI=y +CONFIG_SWAPOFF=y +CONFIG_FEATURE_SWAPONOFF_LABEL=y +CONFIG_SWITCH_ROOT=y +CONFIG_TASKSET=y +CONFIG_FEATURE_TASKSET_FANCY=y CONFIG_UEVENT=y -# CONFIG_UMOUNT is not set -# CONFIG_FEATURE_UMOUNT_ALL is not set -# CONFIG_UNSHARE is not set -# CONFIG_WALL is not set -# CONFIG_FEATURE_MOUNT_LOOP is not set -# CONFIG_FEATURE_MOUNT_LOOP_CREATE is not set +CONFIG_UMOUNT=y +CONFIG_FEATURE_UMOUNT_ALL=y +CONFIG_UNSHARE=y +CONFIG_WALL=y + +# +# Common options for mount/umount +# +CONFIG_FEATURE_MOUNT_LOOP=y +CONFIG_FEATURE_MOUNT_LOOP_CREATE=y # CONFIG_FEATURE_MTAB_SUPPORT is not set -# CONFIG_VOLUMEID is not set -# CONFIG_FEATURE_VOLUMEID_BCACHE is not set -# CONFIG_FEATURE_VOLUMEID_BTRFS is not set -# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set -# CONFIG_FEATURE_VOLUMEID_EXFAT is not set -# CONFIG_FEATURE_VOLUMEID_EXT is not set -# CONFIG_FEATURE_VOLUMEID_F2FS is not set -# CONFIG_FEATURE_VOLUMEID_FAT is not set -# CONFIG_FEATURE_VOLUMEID_HFS is not set -# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set -# CONFIG_FEATURE_VOLUMEID_JFS is not set -# CONFIG_FEATURE_VOLUMEID_LFS is not set -# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set -# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set -# CONFIG_FEATURE_VOLUMEID_LUKS is not set -# CONFIG_FEATURE_VOLUMEID_MINIX is not set -# CONFIG_FEATURE_VOLUMEID_NILFS is not set -# CONFIG_FEATURE_VOLUMEID_NTFS is not set -# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set -# CONFIG_FEATURE_VOLUMEID_REISERFS is not set -# CONFIG_FEATURE_VOLUMEID_ROMFS is not set -# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set -# CONFIG_FEATURE_VOLUMEID_SYSV is not set -# CONFIG_FEATURE_VOLUMEID_UBIFS is not set -# CONFIG_FEATURE_VOLUMEID_UDF is not set -# CONFIG_FEATURE_VOLUMEID_XFS is not set +CONFIG_VOLUMEID=y + +# +# Filesystem/Volume identification +# +CONFIG_FEATURE_VOLUMEID_BCACHE=y +CONFIG_FEATURE_VOLUMEID_BTRFS=y +CONFIG_FEATURE_VOLUMEID_CRAMFS=y +CONFIG_FEATURE_VOLUMEID_EXFAT=y +CONFIG_FEATURE_VOLUMEID_EXT=y +CONFIG_FEATURE_VOLUMEID_F2FS=y +CONFIG_FEATURE_VOLUMEID_FAT=y +CONFIG_FEATURE_VOLUMEID_HFS=y +CONFIG_FEATURE_VOLUMEID_ISO9660=y +CONFIG_FEATURE_VOLUMEID_JFS=y +CONFIG_FEATURE_VOLUMEID_LFS=y +CONFIG_FEATURE_VOLUMEID_LINUXRAID=y +CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y +CONFIG_FEATURE_VOLUMEID_LUKS=y +CONFIG_FEATURE_VOLUMEID_MINIX=y +CONFIG_FEATURE_VOLUMEID_NILFS=y +CONFIG_FEATURE_VOLUMEID_NTFS=y +CONFIG_FEATURE_VOLUMEID_OCFS2=y +CONFIG_FEATURE_VOLUMEID_REISERFS=y +CONFIG_FEATURE_VOLUMEID_ROMFS=y +CONFIG_FEATURE_VOLUMEID_SQUASHFS=y +CONFIG_FEATURE_VOLUMEID_SYSV=y +CONFIG_FEATURE_VOLUMEID_UBIFS=y +CONFIG_FEATURE_VOLUMEID_UDF=y +CONFIG_FEATURE_VOLUMEID_XFS=y # # Miscellaneous Utilities diff --git a/core/busybox/patches/adduser-no-setgid.patch b/core/busybox/patches/adduser-no-setgid.patch new file mode 100644 index 00000000..613c2adb --- /dev/null +++ b/core/busybox/patches/adduser-no-setgid.patch @@ -0,0 +1,12 @@ +diff --git a/loginutils/adduser.c b/loginutils/adduser.c +index 850c810..68db3cb 100644 +--- a/loginutils/adduser.c ++++ b/loginutils/adduser.c +@@ -299,7 +299,6 @@ int adduser_main(int argc UNUSED_PARAM, char **argv) + } + if ((mkdir_err != 0 && errno != EEXIST) + || chown(pw.pw_dir, pw.pw_uid, pw.pw_gid) != 0 +- || chmod(pw.pw_dir, 02755) != 0 /* set setgid bit on homedir */ + ) { + bb_simple_perror_msg(pw.pw_dir); + } diff --git a/core/busybox/sources b/core/busybox/sources index dbffa118..f7efa4ae 100644 --- a/core/busybox/sources +++ b/core/busybox/sources @@ -1,4 +1,5 @@ https://busybox.net/downloads/busybox-1.31.1.tar.bz2 +patches/adduser-no-setgid.patch files/.config files/.config-suid files/crond.run diff --git a/core/busybox/version b/core/busybox/version index 009c2eaa..c23b9466 100644 --- a/core/busybox/version +++ b/core/busybox/version @@ -1 +1 @@ -1.31.1 4 +1.31.1 5