diff options
Diffstat (limited to 'repos/core/busybox')
27 files changed, 2549 insertions, 0 deletions
diff --git a/repos/core/busybox/.checksum b/repos/core/busybox/.checksum new file mode 100644 index 00000000..49b7475e --- /dev/null +++ b/repos/core/busybox/.checksum @@ -0,0 +1,25 @@ +dd9a578c6d1ba59f9d030befe3441ccfbbc9ce38825d496d690f2991a905dcad 0007-nologin-Install-applet-to-sbin-instead-of-usr-sbin.patch +8c364768319aa2f68f480fe1fb4679af38cd692c5e7c66c8e0c2e0e0c7464e4c 0016-ping-make-ping-work-without-root-privileges.patch +d7fef12ae5c778a12294be5da8ff8ffcc4a3ff3e0a5dca5885964626a47c2a0f acpid.run +f62969ee1426bea40ffd603cb01aa4f6e264930ce29a0266b776f5d08253772a adduser-no-setgid.patch +dfdfc1b9aa41d5134e087d904c0a5f6958825f0e94db1d2cb5ea93088247c886 busybox-1.36.1.tar.bz2 +c8e25401863bfdecb4f3a5d4b68ef0507bac74dd69782ce3abdd7e49fecc4a80 busybox-suidwrapper.c +2449dfd4fa9c7ccf62393fdb4163ad824e0a6736d2d7d8f32b31612dccdb9ab1 config +48b8a6cc6f4aa539de48f5c4d405a4400239215fe3dc7f30df370951e51743ca crond.run +2fc84cd00bba1a27bb692fb61f7b06307bd2a618161c1f019efd5a8432b0f3c5 fsck-resolve-uuid.patch +35eaf7a72b7489fb48db7005ef7d232958389fcddd54d6adbfec3c7838628c19 install-fix-chown.patch +7750b80df9d3f5b09464aee88bb2cba0f63be662fa587f04185970b9afcab1d4 lineedit-Handle-SIGWINCH-gracefully.patch +830b9252cbb017d3a2e31e0a38171d23dac199353179b79f27dbbdc7e924d708 lsusb-vendor-product.patch +a8be467d592f549df6405baa7e6228fd4363c759200161222a4b23e72ebd65f2 mdev.conf +0e7127f64ee6760d433ceff02e3c6300c5cbf35ac0172037c68725538babd32c modprobe-kernel-version.patch +8901b39de476372c4701ba88df0872818252b638e74922a22a483db41b487016 ntpd.run +71446b4690cd21f8e5fddd85f6fbf70c4bfbe1998988764e572021ee674d6790 pause.1 +8a3b2dc28757685ce69dd472483127d47703f4f7995395f1980745f3b1bf88b0 pause.c +fd866b53f9d1ca305c15b93bc2699caaf1c930f093326bb737cc33fa2455787e print-unicode.patch +0c3c5db99153d1017813c8b119bc317969a945360cfb83b41d13de4e2d0d47b3 syslogd.run +f220e64f2c99e5fae0bf764a750dcab6b91568f8afbee791949b43bc189cc8c0 tty1.run +885c30ed1f30e988f33336318e60b8b340a0772243860103a14274a388c63590 tty2.run +6d4d3465dcd4f82114eefdb4cc20703bc1cb53b36a494e558e4f749fd2d7e0a7 tty3.run +308c64afb0fac11a04ca7acdbd03d376ef3fc034ce60e0aff5cf639cd0a2844a tty4.run +7c60f858969c374e06d03c1d649696d4242f43676ef8e7dd6cdf606a4e583592 tty5.run +e1fb7d9b56a24067762dd7a931e95a2c6b271134d90b9dc10a57502e2b05dae2 ttyS0.run diff --git a/repos/core/busybox/.files b/repos/core/busybox/.files new file mode 100644 index 00000000..c924714d --- /dev/null +++ b/repos/core/busybox/.files @@ -0,0 +1,408 @@ +drwxr-xr-x root/root bin/ +lrwxrwxrwx root/root bin/arch -> busybox +lrwxrwxrwx root/root bin/ash -> busybox +lrwxrwxrwx root/root bin/base32 -> busybox +lrwxrwxrwx root/root bin/base64 -> busybox +-rwxr-xr-x root/root bin/busybox +-rwsr-xr-x root/root bin/busybox-suidwrapper +lrwxrwxrwx root/root bin/cat -> busybox +lrwxrwxrwx root/root bin/chgrp -> busybox +lrwxrwxrwx root/root bin/chmod -> busybox +lrwxrwxrwx root/root bin/chown -> busybox +lrwxrwxrwx root/root bin/conspy -> busybox +lrwxrwxrwx root/root bin/cp -> busybox +lrwxrwxrwx root/root bin/cpio -> busybox +lrwxrwxrwx root/root bin/cttyhack -> busybox +lrwxrwxrwx root/root bin/date -> busybox +lrwxrwxrwx root/root bin/dd -> busybox +lrwxrwxrwx root/root bin/df -> busybox +lrwxrwxrwx root/root bin/diff -> busybox +lrwxrwxrwx root/root bin/dmesg -> busybox +lrwxrwxrwx root/root bin/dnsdomainname -> busybox +lrwxrwxrwx root/root bin/dumpkmap -> busybox +lrwxrwxrwx root/root bin/echo -> busybox +lrwxrwxrwx root/root bin/ed -> busybox +lrwxrwxrwx root/root bin/egrep -> busybox +lrwxrwxrwx root/root bin/false -> busybox +lrwxrwxrwx root/root bin/fatattr -> busybox +lrwxrwxrwx root/root bin/fdflush -> busybox +lrwxrwxrwx root/root bin/fgrep -> busybox +lrwxrwxrwx root/root bin/fsync -> busybox +lrwxrwxrwx root/root bin/getopt -> busybox +lrwxrwxrwx root/root bin/grep -> busybox +lrwxrwxrwx root/root bin/gunzip -> busybox +lrwxrwxrwx root/root bin/gzip -> busybox +lrwxrwxrwx root/root bin/hostname -> busybox +lrwxrwxrwx root/root bin/ionice -> busybox +lrwxrwxrwx root/root bin/iostat -> busybox +lrwxrwxrwx root/root bin/ipcalc -> busybox +lrwxrwxrwx root/root bin/kbd_mode -> busybox +lrwxrwxrwx root/root bin/kill -> busybox +lrwxrwxrwx root/root bin/link -> busybox +lrwxrwxrwx root/root bin/linux32 -> busybox +lrwxrwxrwx root/root bin/linux64 -> busybox +lrwxrwxrwx root/root bin/ln -> busybox +lrwxrwxrwx root/root bin/login -> busybox-suidwrapper +lrwxrwxrwx root/root bin/ls -> busybox +lrwxrwxrwx root/root bin/lzop -> busybox +lrwxrwxrwx root/root bin/makemime -> busybox +lrwxrwxrwx root/root bin/mkdir -> busybox +lrwxrwxrwx root/root bin/mknod -> busybox +lrwxrwxrwx root/root bin/mktemp -> busybox +lrwxrwxrwx root/root bin/more -> busybox +lrwxrwxrwx root/root bin/mount -> busybox +lrwxrwxrwx root/root bin/mountpoint -> busybox +lrwxrwxrwx root/root bin/mpstat -> busybox +lrwxrwxrwx root/root bin/mt -> busybox +lrwxrwxrwx root/root bin/mv -> busybox +lrwxrwxrwx root/root bin/netstat -> busybox +lrwxrwxrwx root/root bin/nice -> busybox +lrwxrwxrwx root/root bin/pidof -> busybox +lrwxrwxrwx root/root bin/ping -> busybox-suidwrapper +lrwxrwxrwx root/root bin/ping6 -> busybox-suidwrapper +lrwxrwxrwx root/root bin/pipe_progress -> busybox +lrwxrwxrwx root/root bin/printenv -> busybox +lrwxrwxrwx root/root bin/ps -> busybox +lrwxrwxrwx root/root bin/pwd -> busybox +lrwxrwxrwx root/root bin/reformime -> busybox +lrwxrwxrwx root/root bin/rev -> busybox +lrwxrwxrwx root/root bin/rm -> busybox +lrwxrwxrwx root/root bin/rmdir -> busybox +lrwxrwxrwx root/root bin/scriptreplay -> busybox +lrwxrwxrwx root/root bin/sed -> busybox +lrwxrwxrwx root/root bin/setarch -> busybox +lrwxrwxrwx root/root bin/setpriv -> busybox +lrwxrwxrwx root/root bin/setserial -> busybox +lrwxrwxrwx root/root bin/sh -> busybox +lrwxrwxrwx root/root bin/sleep -> busybox +lrwxrwxrwx root/root bin/stat -> busybox +lrwxrwxrwx root/root bin/stty -> busybox +lrwxrwxrwx root/root bin/su -> busybox-suidwrapper +lrwxrwxrwx root/root bin/sync -> busybox +lrwxrwxrwx root/root bin/tar -> busybox +lrwxrwxrwx root/root bin/touch -> busybox +lrwxrwxrwx root/root bin/true -> busybox +lrwxrwxrwx root/root bin/umount -> busybox +lrwxrwxrwx root/root bin/uname -> busybox +lrwxrwxrwx root/root bin/usleep -> busybox +lrwxrwxrwx root/root bin/vi -> busybox +lrwxrwxrwx root/root bin/watch -> busybox +lrwxrwxrwx root/root bin/zcat -> busybox +drwxr-xr-x root/root etc/ +-rw-r--r-- root/root etc/mdev.conf.new +drwxr-xr-x root/root etc/sv/ +drwxr-xr-x root/root etc/sv/acpid/ +-rwxr-xr-x root/root etc/sv/acpid/run.new +lrwxrwxrwx root/root etc/sv/acpid/supervise -> ../../../run/runit/supervise.acpid +drwxr-xr-x root/root etc/sv/crond/ +-rwxr-xr-x root/root etc/sv/crond/run.new +lrwxrwxrwx root/root etc/sv/crond/supervise -> ../../../run/runit/supervise.crond +drwxr-xr-x root/root etc/sv/ntpd/ +-rwxr-xr-x root/root etc/sv/ntpd/run.new +lrwxrwxrwx root/root etc/sv/ntpd/supervise -> ../../../run/runit/supervise.ntpd +drwxr-xr-x root/root etc/sv/syslogd/ +-rwxr-xr-x root/root etc/sv/syslogd/run.new +lrwxrwxrwx root/root etc/sv/syslogd/supervise -> ../../../run/runit/supervise.syslogd +drwxr-xr-x root/root etc/sv/tty1/ +-rwxr-xr-x root/root etc/sv/tty1/run.new +lrwxrwxrwx root/root etc/sv/tty1/supervise -> ../../../run/runit/supervise.tty1 +drwxr-xr-x root/root etc/sv/tty2/ +-rwxr-xr-x root/root etc/sv/tty2/run.new +lrwxrwxrwx root/root etc/sv/tty2/supervise -> ../../../run/runit/supervise.tty2 +drwxr-xr-x root/root etc/sv/tty3/ +-rwxr-xr-x root/root etc/sv/tty3/run.new +lrwxrwxrwx root/root etc/sv/tty3/supervise -> ../../../run/runit/supervise.tty3 +drwxr-xr-x root/root etc/sv/tty4/ +-rwxr-xr-x root/root etc/sv/tty4/run.new +lrwxrwxrwx root/root etc/sv/tty4/supervise -> ../../../run/runit/supervise.tty4 +drwxr-xr-x root/root etc/sv/tty5/ +-rwxr-xr-x root/root etc/sv/tty5/run.new +lrwxrwxrwx root/root etc/sv/tty5/supervise -> ../../../run/runit/supervise.tty5 +drwxr-xr-x root/root etc/sv/ttyS0/ +-rwxr-xr-x root/root etc/sv/ttyS0/run.new +lrwxrwxrwx root/root etc/sv/ttyS0/supervise -> ../../../run/runit/supervise.ttyS0 +drwxr-xr-x root/root sbin/ +lrwxrwxrwx root/root sbin/acpid -> ../bin/busybox +lrwxrwxrwx root/root sbin/adjtimex -> ../bin/busybox +lrwxrwxrwx root/root sbin/arp -> ../bin/busybox +lrwxrwxrwx root/root sbin/blockdev -> ../bin/busybox +lrwxrwxrwx root/root sbin/depmod -> ../bin/busybox +lrwxrwxrwx root/root sbin/devmem -> ../bin/busybox +lrwxrwxrwx root/root sbin/fbsplash -> ../bin/busybox +lrwxrwxrwx root/root sbin/fdisk -> ../bin/busybox +lrwxrwxrwx root/root sbin/freeramdisk -> ../bin/busybox +lrwxrwxrwx root/root sbin/fsck -> ../bin/busybox +lrwxrwxrwx root/root sbin/fstrim -> ../bin/busybox +lrwxrwxrwx root/root sbin/getty -> ../bin/busybox +lrwxrwxrwx root/root sbin/halt -> ../bin/busybox +lrwxrwxrwx root/root sbin/hdparm -> ../bin/busybox +lrwxrwxrwx root/root sbin/hwclock -> ../bin/busybox +lrwxrwxrwx root/root sbin/ifconfig -> ../bin/busybox +lrwxrwxrwx root/root sbin/ifdown -> ../bin/busybox +lrwxrwxrwx root/root sbin/ifenslave -> ../bin/busybox +lrwxrwxrwx root/root sbin/ifup -> ../bin/busybox +lrwxrwxrwx root/root sbin/init -> ../bin/busybox +lrwxrwxrwx root/root sbin/insmod -> ../bin/busybox +lrwxrwxrwx root/root sbin/ip -> ../bin/busybox +lrwxrwxrwx root/root sbin/ipaddr -> ../bin/busybox +lrwxrwxrwx root/root sbin/iplink -> ../bin/busybox +lrwxrwxrwx root/root sbin/ipneigh -> ../bin/busybox +lrwxrwxrwx root/root sbin/iproute -> ../bin/busybox +lrwxrwxrwx root/root sbin/iprule -> ../bin/busybox +lrwxrwxrwx root/root sbin/iptunnel -> ../bin/busybox +lrwxrwxrwx root/root sbin/klogd -> ../bin/busybox +lrwxrwxrwx root/root sbin/loadkmap -> ../bin/busybox +lrwxrwxrwx root/root sbin/losetup -> ../bin/busybox +lrwxrwxrwx root/root sbin/lsmod -> ../bin/busybox +lrwxrwxrwx root/root sbin/makedevs -> ../bin/busybox +lrwxrwxrwx root/root sbin/mdev -> ../bin/busybox +lrwxrwxrwx root/root sbin/mkswap -> ../bin/busybox +lrwxrwxrwx root/root sbin/modinfo -> ../bin/busybox +lrwxrwxrwx root/root sbin/modprobe -> ../bin/busybox +lrwxrwxrwx root/root sbin/nameif -> ../bin/busybox +lrwxrwxrwx root/root sbin/nologin -> ../bin/busybox +lrwxrwxrwx root/root sbin/pivot_root -> ../bin/busybox +lrwxrwxrwx root/root sbin/poweroff -> ../bin/busybox +lrwxrwxrwx root/root sbin/raidautorun -> ../bin/busybox +lrwxrwxrwx root/root sbin/reboot -> ../bin/busybox +lrwxrwxrwx root/root sbin/rmmod -> ../bin/busybox +lrwxrwxrwx root/root sbin/route -> ../bin/busybox +lrwxrwxrwx root/root sbin/runlevel -> ../bin/busybox +lrwxrwxrwx root/root sbin/setconsole -> ../bin/busybox +lrwxrwxrwx root/root sbin/slattach -> ../bin/busybox +lrwxrwxrwx root/root sbin/sulogin -> ../bin/busybox +lrwxrwxrwx root/root sbin/swapoff -> ../bin/busybox +lrwxrwxrwx root/root sbin/swapon -> ../bin/busybox +lrwxrwxrwx root/root sbin/switch_root -> ../bin/busybox +lrwxrwxrwx root/root sbin/sysctl -> ../bin/busybox +lrwxrwxrwx root/root sbin/syslogd -> ../bin/busybox +lrwxrwxrwx root/root sbin/tc -> ../bin/busybox +lrwxrwxrwx root/root sbin/tunctl -> ../bin/busybox +lrwxrwxrwx root/root sbin/udhcpc -> ../bin/busybox +lrwxrwxrwx root/root sbin/uevent -> ../bin/busybox +lrwxrwxrwx root/root sbin/vconfig -> ../bin/busybox +lrwxrwxrwx root/root sbin/watchdog -> ../bin/busybox +lrwxrwxrwx root/root sbin/zcip -> ../bin/busybox +drwxr-xr-x root/root usr/ +drwxr-xr-x root/root usr/bin/ +lrwxrwxrwx root/root usr/bin/[ -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/[[ -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/ascii -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/awk -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/basename -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/bc -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/beep -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/blkdiscard -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/cal -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/chpst -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/chrt -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/chvt -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/cksum -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/cmp -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/comm -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/crc32 -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/crontab -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/cryptpw -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/cut -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/dc -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/deallocvt -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/dirname -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/dos2unix -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/du -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/dumpleases -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/eject -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/env -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/envdir -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/envuidgid -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/expand -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/expr -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/factor -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/fallocate -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/fgconsole -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/find -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/flock -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/fold -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/free -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/ftpget -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/ftpput -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/fuser -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/groups -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/hd -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/head -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/hexdump -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/hexedit -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/hostid -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/id -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/install -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/ipcrm -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/ipcs -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/killall -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/last -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/less -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/logger -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/logname -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/lsof -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/lspci -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/lsscsi -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/lsusb -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/md5sum -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/mesg -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/microcom -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/mkfifo -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/mkpasswd -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/nc -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/nl -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/nmeter -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/nohup -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/nproc -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/nsenter -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/nslookup -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/od -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/openvt -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/passwd -> ../../bin/busybox-suidwrapper +lrwxrwxrwx root/root usr/bin/paste -> ../../bin/busybox +-rwxr-xr-x root/root usr/bin/pause +lrwxrwxrwx root/root usr/bin/pgrep -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/pkill -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/pmap -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/printf -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/pscan -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/pstree -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/pwdx -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/readlink -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/realpath -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/renice -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/resize -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/runsv -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/runsvdir -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/script -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/seq -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/setkeycodes -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/setsid -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/setuidgid -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/sha1sum -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/sha256sum -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/sha3sum -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/sha512sum -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/showkey -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/shred -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/shuf -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/smemcap -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/softlimit -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/sort -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/split -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/ssl_client -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/sum -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/sv -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/svc -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/svok -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/tac -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/tail -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/taskset -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/tcpsvd -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/tee -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/telnet -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/test -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/tftp -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/time -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/timeout -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/top -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/tr -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/traceroute -> ../../bin/busybox-suidwrapper +lrwxrwxrwx root/root usr/bin/traceroute6 -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/tree -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/truncate -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/ts -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/tsort -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/tty -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/ttysize -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/udhcpc6 -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/udpsvd -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/unexpand -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/uniq -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/unix2dos -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/unlink -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/unshare -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/unzip -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/uptime -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/users -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/uudecode -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/uuencode -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/vlock -> ../../bin/busybox-suidwrapper +lrwxrwxrwx root/root usr/bin/volname -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/w -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/wall -> ../../bin/busybox-suidwrapper +lrwxrwxrwx root/root usr/bin/wc -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/wget -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/which -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/who -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/whoami -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/whois -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/xargs -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/xxd -> ../../bin/busybox +lrwxrwxrwx root/root usr/bin/yes -> ../../bin/busybox +drwxr-xr-x root/root usr/sbin/ +lrwxrwxrwx root/root usr/sbin/add-shell -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/addgroup -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/adduser -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/arping -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/brctl -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/chpasswd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/chroot -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/crond -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/delgroup -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/deluser -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/dhcprelay -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/dnsd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ether-wake -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/fakeidentd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/fbset -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/fdformat -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/fsfreeze -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ftpd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/httpd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/i2cdetect -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/i2cdump -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/i2cget -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/i2cset -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/i2ctransfer -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ifplugd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/inetd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/killall5 -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/loadfont -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/mim -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/nanddump -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/nandwrite -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/nbd-client -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ntpd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/partprobe -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/popmaildir -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/powertop -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/rdate -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/rdev -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/readahead -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/readprofile -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/remove-shell -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/rfkill -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/rtcwake -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/seedrng -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/sendmail -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/setfont -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/setlogcons -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/svlogd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/telnetd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/tftpd -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ubiattach -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ubidetach -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ubimkvol -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ubirename -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ubirmvol -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ubirsvol -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/ubiupdatevol -> ../../bin/busybox +lrwxrwxrwx root/root usr/sbin/udhcpd -> ../../bin/busybox +drwxr-xr-x root/root usr/share/ +drwxr-xr-x root/root usr/share/busybox/ +-rw-r--r-- root/root usr/share/busybox/config +drwxr-xr-x root/root usr/share/man/ +drwxr-xr-x root/root usr/share/man/man1/ +-rw-r--r-- root/root usr/share/man/man1/pause.1.gz diff --git a/repos/core/busybox/0007-nologin-Install-applet-to-sbin-instead-of-usr-sbin.patch b/repos/core/busybox/0007-nologin-Install-applet-to-sbin-instead-of-usr-sbin.patch new file mode 100644 index 00000000..5fbcacc0 --- /dev/null +++ b/repos/core/busybox/0007-nologin-Install-applet-to-sbin-instead-of-usr-sbin.patch @@ -0,0 +1,31 @@ +From 9d796b508575b2e1673512d4103e6049af189bc6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net> +Date: Wed, 13 Feb 2019 18:41:43 +0100 +Subject: [PATCH] nologin: Install applet to /sbin instead of /usr/sbin +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This is required to retain compatibility with our old custom nologin +applet written in C which was also installed to /sbin. + +Compatibility with the old path is required because login shell paths +are hardcoded in /etc/passwd. + +--- + util-linux/nologin.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/util-linux/nologin.c b/util-linux/nologin.c +index 5a8b047a5..d3b6fe77e 100644 +--- a/util-linux/nologin.c ++++ b/util-linux/nologin.c +@@ -19,7 +19,7 @@ + //config: If you know these will be available externally you can + //config: disable this option. + +-//applet:IF_NOLOGIN(APPLET_SCRIPTED(nologin, scripted, BB_DIR_USR_SBIN, BB_SUID_DROP, nologin)) ++//applet:IF_NOLOGIN(APPLET_SCRIPTED(nologin, scripted, BB_DIR_SBIN, BB_SUID_DROP, nologin)) + + //usage:#define nologin_trivial_usage + //usage: "" diff --git a/repos/core/busybox/0016-ping-make-ping-work-without-root-privileges.patch b/repos/core/busybox/0016-ping-make-ping-work-without-root-privileges.patch new file mode 100644 index 00000000..661f0469 --- /dev/null +++ b/repos/core/busybox/0016-ping-make-ping-work-without-root-privileges.patch @@ -0,0 +1,209 @@ +From 19c6c34fb6318605e58a9b209cf742d559c0d467 Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Tue, 29 Mar 2016 09:23:08 +0200 +Subject: [PATCH] ping: make ping work without root privileges +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +--- + networking/ping.c | 115 +++++++++++++++++++++++++++++++++++++--------- + 1 file changed, 94 insertions(+), 21 deletions(-) + +diff --git a/networking/ping.c b/networking/ping.c +index 9805695a1..5e4488abd 100644 +--- a/networking/ping.c ++++ b/networking/ping.c +@@ -208,6 +208,7 @@ enum { + pingsock = 0, + }; + ++static int using_dgram; + static void + #if ENABLE_PING6 + create_icmp_socket(len_and_sockaddr *lsa) +@@ -224,9 +225,23 @@ create_icmp_socket(void) + #endif + sock = socket(AF_INET, SOCK_RAW, 1); /* 1 == ICMP */ + if (sock < 0) { +- if (errno == EPERM) +- bb_simple_error_msg_and_die(bb_msg_perm_denied_are_you_root); +- bb_simple_perror_msg_and_die(bb_msg_can_not_create_raw_socket); ++ if (errno != EPERM) ++ bb_simple_perror_msg_and_die(bb_msg_can_not_create_raw_socket); ++#if defined(__linux__) || defined(__APPLE__) ++ /* We don't have root privileges. Try SOCK_DGRAM instead. ++ * Linux needs net.ipv4.ping_group_range for this to work. ++ * MacOSX allows ICMP_ECHO, ICMP_TSTAMP or ICMP_MASKREQ ++ */ ++#if ENABLE_PING6 ++ if (lsa->u.sa.sa_family == AF_INET6) ++ sock = socket(AF_INET6, SOCK_DGRAM, IPPROTO_ICMPV6); ++ else ++#endif ++ sock = socket(AF_INET, SOCK_DGRAM, 1); /* 1 == ICMP */ ++ if (sock < 0) ++#endif ++ bb_simple_error_msg_and_die(bb_msg_perm_denied_are_you_root); ++ using_dgram = 1; + } + + xmove_fd(sock, pingsock); +@@ -279,10 +294,12 @@ static void ping4(len_and_sockaddr *lsa) + bb_simple_perror_msg("recvfrom"); + continue; + } +- if (c >= 76) { /* ip + icmp */ +- struct iphdr *iphdr = (struct iphdr *) G.packet; ++ if (c >= 76 || using_dgram && (c == 64)) { /* ip + icmp */ ++ if(!using_dgram) { ++ struct iphdr *iphdr = (struct iphdr *) G.packet; + +- pkt = (struct icmp *) (G.packet + (iphdr->ihl << 2)); /* skip ip hdr */ ++ pkt = (struct icmp *) (G.packet + (iphdr->ihl << 2)); /* skip ip hdr */ ++ } else pkt = (struct icmp *) G.packet; + if (pkt->icmp_id != G.myid) + continue; /* not our ping */ + if (pkt->icmp_type == ICMP_ECHOREPLY) +@@ -691,19 +708,21 @@ static void unpack_tail(int sz, uint32_t *tp, + } + static int unpack4(char *buf, int sz, struct sockaddr_in *from) + { +- struct icmp *icmppkt; + struct iphdr *iphdr; ++ struct icmp *icmppkt; + int hlen; + + /* discard if too short */ + if (sz < (datalen + ICMP_MINLEN)) + return 0; ++ if(!using_dgram) { ++ /* check IP header */ ++ iphdr = (struct iphdr *) buf; ++ hlen = iphdr->ihl << 2; ++ sz -= hlen; ++ icmppkt = (struct icmp *) (buf + hlen); ++ } else icmppkt = (struct icmp *) buf; + +- /* check IP header */ +- iphdr = (struct iphdr *) buf; +- hlen = iphdr->ihl << 2; +- sz -= hlen; +- icmppkt = (struct icmp *) (buf + hlen); + if (icmppkt->icmp_id != myid) + return 0; /* not our ping */ + +@@ -715,7 +734,7 @@ static int unpack4(char *buf, int sz, struct sockaddr_in *from) + tp = (uint32_t *) icmppkt->icmp_data; + unpack_tail(sz, tp, + inet_ntoa(*(struct in_addr *) &from->sin_addr.s_addr), +- recv_seq, iphdr->ttl); ++ recv_seq, using_dgram ? 42 : iphdr->ttl); + return 1; + } + if (icmppkt->icmp_type != ICMP_ECHO) { +@@ -765,11 +784,31 @@ static void ping4(len_and_sockaddr *lsa) + int sockopt; + + pingaddr.sin = lsa->u.sin; +- if (source_lsa) { ++ if (source_lsa && !using_dgram) { + if (setsockopt(pingsock, IPPROTO_IP, IP_MULTICAST_IF, + &source_lsa->u.sa, source_lsa->len)) + bb_simple_error_msg_and_die("can't set multicast source interface"); + xbind(pingsock, &source_lsa->u.sa, source_lsa->len); ++ } else if(using_dgram) { ++ struct sockaddr_in sa; ++ socklen_t sl; ++ ++ sa.sin_family = AF_INET; ++ sa.sin_port = 0; ++ sa.sin_addr.s_addr = source_lsa ? ++ source_lsa->u.sin.sin_addr.s_addr : 0; ++ sl = sizeof(sa); ++ ++ if (bind(pingsock, (struct sockaddr *) &sa, sl) == -1) { ++ perror("bind"); ++ exit(2); ++ } ++ ++ if (getsockname(pingsock, (struct sockaddr *) &sa, &sl) == -1) { ++ perror("getsockname"); ++ exit(2); ++ } ++ myid = sa.sin_port; + } + + /* enable broadcast pings */ +@@ -786,6 +825,15 @@ static void ping4(len_and_sockaddr *lsa) + setsockopt_int(pingsock, IPPROTO_IP, IP_MULTICAST_TTL, opt_ttl); + } + ++ if(using_dgram) { ++ int hold = 65536; ++ if (setsockopt(pingsock, SOL_IP, IP_RECVTTL, (char *)&hold, sizeof(hold))) ++ perror("WARNING: setsockopt(IP_RECVTTL)"); ++ if (setsockopt(pingsock, SOL_IP, IP_RETOPTS, (char *)&hold, sizeof(hold))) ++ perror("WARNING: setsockopt(IP_RETOPTS)"); ++ ++ } ++ + signal(SIGINT, print_stats_and_exit); + + /* start the ping's going ... */ +@@ -823,10 +871,33 @@ static void ping6(len_and_sockaddr *lsa) + char control_buf[CMSG_SPACE(36)]; + + pingaddr.sin6 = lsa->u.sin6; +- if (source_lsa) ++ if (source_lsa && !using_dgram) + xbind(pingsock, &source_lsa->u.sa, source_lsa->len); ++ else if(using_dgram) { ++ struct sockaddr_in6 sa = {0}; ++ socklen_t sl; ++ ++ sa.sin6_family = AF_INET6; ++ sa.sin6_port = 0; ++ if(source_lsa) { ++ memcpy(&sa.sin6_addr, &source_lsa->u.sin6.sin6_addr, sizeof(struct in6_addr)); ++ } ++ sl = sizeof(sa); ++ ++ if (bind(pingsock, (struct sockaddr *) &sa, sl) == -1) { ++ perror("bind"); ++ exit(2); ++ } ++ ++ if (getsockname(pingsock, (struct sockaddr *) &sa, &sl) == -1) { ++ perror("getsockname"); ++ exit(2); ++ } ++ myid = sa.sin6_port; ++ } + + #ifdef ICMP6_FILTER ++ if(!using_dgram) + { + struct icmp6_filter filt; + if (!(option_mask32 & OPT_VERBOSE)) { +@@ -972,12 +1043,14 @@ static int common_ping_main(int opt, char **argv) + interval = INT_MAX/1000000; + G.interval_us = interval * 1000000; + +- myid = (uint16_t) getpid(); +- /* we can use native-endian ident, but other Unix ping/traceroute +- * utils use *big-endian pid*, and e.g. traceroute on our machine may be +- * *not* from busybox, idents may collide. Follow the convention: +- */ +- myid = htons(myid); ++ if (!using_dgram) { ++ myid = (uint16_t) getpid(); ++ /* we can use native-endian ident, but other Unix ping/traceroute ++ * utils use *big-endian pid*, and e.g. traceroute on our machine may be ++ * *not* from busybox, idents may collide. Follow the convention: ++ */ ++ myid = htons(myid); ++ } + hostname = argv[optind]; + #if ENABLE_PING6 + { diff --git a/repos/core/busybox/abuild b/repos/core/busybox/abuild new file mode 100644 index 00000000..4c777454 --- /dev/null +++ b/repos/core/busybox/abuild @@ -0,0 +1,85 @@ +name=busybox +version=1.36.1 +release=4 +source="https://${name}.net/downloads/${name}-${version}.tar.bz2 + busybox-suidwrapper.c + config + mdev.conf + fsck-resolve-uuid.patch + 0016-ping-make-ping-work-without-root-privileges.patch + install-fix-chown.patch + adduser-no-setgid.patch + lineedit-Handle-SIGWINCH-gracefully.patch + lsusb-vendor-product.patch + print-unicode.patch + modprobe-kernel-version.patch + 0007-nologin-Install-applet-to-sbin-instead-of-usr-sbin.patch + acpid.run + crond.run + ntpd.run + syslogd.run + tty1.run + tty2.run + tty3.run + tty4.run + tty5.run + ttyS0.run + pause.c + pause.1" +sv="acpid.run + crond.run + ntpd.run + syslogd.run + tty1.run + tty2.run + tty3.run + tty4.run + tty5.run + ttyS0.run" + +build() { + if [ "$BOOTSTRAP" ]; then + _opt="ARCH=$CARCH CROSS_COMPILE=$CTARGET-" + fi + + cp $SRC/config .config + #make menuconfig + make $_opt + make $_opt CONFIG_PREFIX=$PKG install + mkdir -p $PKG/usr/share/busybox + cat .config > $PKG/usr/share/busybox/config + + BIN="$BIN xzcat xz unxz unlzma lzcat lzma" #xz + #BIN="$BIN zcat gunzip gzip" #gzip + BIN="$BIN strings" #binutils + BIN="$BIN clear reset" #ncurses + BIN="$BIN patch" #patch + BIN="$BIN bzcat bunzip2 bzip2" #bzip2 + BIN="$BIN setfattr" #attr + BIN="$BIN chattr lsattr mke2fs findfs mkfs.ext2 blkid" #e2fsprogs + BIN="$BIN mkdosfs mkfs.vfat " #dosfstools + + # XXX + for i in $BIN; do + rm $PKG/*/$i || true + rm $PKG/*/*/$i || true + done + + ${CC:-cc} -o $PKG/bin/busybox-suidwrapper $SRC/busybox-suidwrapper.c + chmod u+s $PKG/bin/busybox-suidwrapper + + for i in $($PKG/bin/busybox-suidwrapper -l); do + [ -e /bin/$i ] && ln -svf busybox-suidwrapper $PKG/bin/$i + [ -e /usr/bin/$i ] && ln -svf ../../bin/busybox-suidwrapper $PKG/usr/bin/$i + done + + mkdir -p $PKG/etc + install -m644 $SRC/mdev.conf $PKG/etc/mdev.conf + + rm $PKG/usr/bin/diff + ln -s busybox $PKG/bin/diff + + ${CC:-gcc} ${CFLAGS} $SRC/pause.c -o $PKG/usr/bin/pause + install -d $PKG/usr/share/man/man1 + install -m644 $SRC/pause.1 $PKG/usr/share/man/man1/pause.1 +} diff --git a/repos/core/busybox/acpid.run b/repos/core/busybox/acpid.run new file mode 100755 index 00000000..000f312e --- /dev/null +++ b/repos/core/busybox/acpid.run @@ -0,0 +1,3 @@ +#!/bin/sh +exec acpid -f 2>&1 + diff --git a/repos/core/busybox/adduser-no-setgid.patch b/repos/core/busybox/adduser-no-setgid.patch new file mode 100644 index 00000000..613c2adb --- /dev/null +++ b/repos/core/busybox/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/repos/core/busybox/busybox-suidwrapper.c b/repos/core/busybox/busybox-suidwrapper.c new file mode 100644 index 00000000..e1f91069 --- /dev/null +++ b/repos/core/busybox/busybox-suidwrapper.c @@ -0,0 +1,57 @@ +#include <unistd.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <libgen.h> + +int main(int argc, char **argv) +{ + const char * cmds[] = { + "su", + "ping", + "ping6", + "traceroute", + "passwd", + "login", + "vlock", + "wall" + }; + + const char * baseexec = basename(argv[0]); + + if (!strcmp("busybox-suidwrapper", baseexec)) + { + if (argc > 1 && !strcmp("-l", argv[1])){ + for (int i = 0; i < sizeof(cmds) / sizeof(cmds[0]); ++i) + { + printf("%s ", cmds[i]); + } + printf("\n"); + } else { + printf("busybox SUID wrapper\n\nSupported commands:\n"); + printf("Usage:\n -l\tList available SUID commands\n"); + if (argc > 1) return 1; + } + return 0; + } + + for (int i = 0; i < sizeof(cmds) / sizeof(cmds[0]); ++i) + { + if (!strcmp(cmds[i], baseexec)) + { + char **newargv = malloc(sizeof(char *) * (argc + 2)); + newargv[0] = "/bin/busybox"; + newargv[1] = (char *)baseexec; + for (int i = 1; i < argc; i++) + newargv[i + 1] = argv[i]; + newargv[argc + 1] = NULL; + + int ret = execv("/bin/busybox", newargv); + free(newargv); + perror(argv[0]); + return ret; + } + } + fprintf(stderr, "%s","error: command not in suid whitelist!\n"); + return 1; +} diff --git a/repos/core/busybox/config b/repos/core/busybox/config new file mode 100644 index 00000000..a84ac77d --- /dev/null +++ b/repos/core/busybox/config @@ -0,0 +1,1232 @@ +# +# Automatically generated make config: don't edit +# Busybox version: 1.36.1 +# Sun May 26 09:58:35 2024 +# +CONFIG_HAVE_DOT_CONFIG=y + +# +# Settings +# +CONFIG_DESKTOP=y +# CONFIG_EXTRA_COMPAT is not set +# CONFIG_FEDORA_COMPAT is not set +CONFIG_INCLUDE_SUSv2=y +CONFIG_LONG_OPTS=y +CONFIG_SHOW_USAGE=y +CONFIG_FEATURE_VERBOSE_USAGE=y +CONFIG_FEATURE_COMPRESS_USAGE=y +CONFIG_LFS=y +# CONFIG_PAM is not set +CONFIG_FEATURE_DEVPTS=y +CONFIG_FEATURE_UTMP=y +CONFIG_FEATURE_WTMP=y +CONFIG_FEATURE_PIDFILE=y +CONFIG_PID_FILE_PATH="/var/run" +CONFIG_BUSYBOX=y +CONFIG_FEATURE_SHOW_SCRIPT=y +CONFIG_FEATURE_INSTALLER=y +# CONFIG_INSTALL_NO_USR is not set +CONFIG_FEATURE_SUID=y +CONFIG_FEATURE_SUID_CONFIG=y +CONFIG_FEATURE_SUID_CONFIG_QUIET=y +# CONFIG_FEATURE_PREFER_APPLETS is not set +CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" +# CONFIG_SELINUX is not set +# CONFIG_FEATURE_CLEAN_UP is not set +CONFIG_FEATURE_SYSLOG_INFO=y +CONFIG_FEATURE_SYSLOG=y + +# +# Build Options +# +CONFIG_STATIC=y +# CONFIG_PIE is not set +# CONFIG_NOMMU is not set +# CONFIG_BUILD_LIBBUSYBOX is not set +# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set +# CONFIG_FEATURE_INDIVIDUAL is not set +# CONFIG_FEATURE_SHARED_BUSYBOX is not set +CONFIG_CROSS_COMPILER_PREFIX="" +CONFIG_SYSROOT="" +CONFIG_EXTRA_CFLAGS="" +CONFIG_EXTRA_LDFLAGS="" +CONFIG_EXTRA_LDLIBS="" +# CONFIG_USE_PORTABLE_CODE is not set +CONFIG_STACK_OPTIMIZATION_386=y +CONFIG_STATIC_LIBGCC=y + +# +# Installation Options ("make install" behavior) +# +CONFIG_INSTALL_APPLET_SYMLINKS=y +# CONFIG_INSTALL_APPLET_HARDLINKS is not set +# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set +# CONFIG_INSTALL_APPLET_DONT is not set +# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set +# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set +# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set +CONFIG_PREFIX="./_install" + +# +# Debugging Options +# +# CONFIG_DEBUG is not set +# CONFIG_DEBUG_PESSIMIZE is not set +# CONFIG_DEBUG_SANITIZE is not set +# CONFIG_UNIT_TEST is not set +# CONFIG_WERROR is not set +# CONFIG_WARN_SIMPLE_MSG is not set +CONFIG_NO_DEBUG_LIB=y +# CONFIG_DMALLOC is not set +# CONFIG_EFENCE is not set + +# +# Library Tuning +# +# CONFIG_FEATURE_USE_BSS_TAIL is not set +CONFIG_FLOAT_DURATION=y +CONFIG_FEATURE_RTMINMAX=y +CONFIG_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS=y +CONFIG_FEATURE_BUFFERS_USE_MALLOC=y +# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set +# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set +CONFIG_PASSWORD_MINLEN=6 +CONFIG_MD5_SMALL=1 +CONFIG_SHA1_SMALL=3 +CONFIG_SHA1_HWACCEL=y +CONFIG_SHA256_HWACCEL=y +CONFIG_SHA3_SMALL=1 +CONFIG_FEATURE_NON_POSIX_CP=y +# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set +CONFIG_FEATURE_USE_SENDFILE=y +CONFIG_FEATURE_COPYBUF_KB=4 +CONFIG_MONOTONIC_SYSCALL=y +CONFIG_IOCTL_HEX2STR_ERROR=y +CONFIG_FEATURE_EDITING=y +CONFIG_FEATURE_EDITING_MAX_LEN=1024 +# CONFIG_FEATURE_EDITING_VI is not set +CONFIG_FEATURE_EDITING_HISTORY=255 +CONFIG_FEATURE_EDITING_SAVEHISTORY=y +# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set +CONFIG_FEATURE_REVERSE_SEARCH=y +CONFIG_FEATURE_TAB_COMPLETION=y +CONFIG_FEATURE_USERNAME_COMPLETION=y +CONFIG_FEATURE_EDITING_FANCY_PROMPT=y +CONFIG_FEATURE_EDITING_WINCH=y +# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set +# CONFIG_LOCALE_SUPPORT is not set +CONFIG_UNICODE_SUPPORT=y +# CONFIG_UNICODE_USING_LOCALE is not set +# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set +CONFIG_SUBST_WCHAR=63 +CONFIG_LAST_SUPPORTED_WCHAR=767 +# CONFIG_UNICODE_COMBINING_WCHARS is not set +# CONFIG_UNICODE_WIDE_WCHARS is not set +# CONFIG_UNICODE_BIDI_SUPPORT is not set +# CONFIG_UNICODE_NEUTRAL_TABLE is not set +# CONFIG_UNICODE_PRESERVE_BROKEN is not set +# CONFIG_LOOP_CONFIGURE is not set +# CONFIG_NO_LOOP_CONFIGURE is not set +CONFIG_TRY_LOOP_CONFIGURE=y + +# +# Applets +# + +# +# Archival Utilities +# +CONFIG_FEATURE_SEAMLESS_XZ=y +CONFIG_FEATURE_SEAMLESS_LZMA=y +CONFIG_FEATURE_SEAMLESS_BZ2=y +CONFIG_FEATURE_SEAMLESS_GZ=y +# CONFIG_FEATURE_SEAMLESS_Z is not set +# CONFIG_AR is not set +# CONFIG_FEATURE_AR_LONG_FILENAMES is not set +# CONFIG_FEATURE_AR_CREATE is not set +# CONFIG_UNCOMPRESS is not set +CONFIG_GUNZIP=y +CONFIG_ZCAT=y +CONFIG_FEATURE_GUNZIP_LONG_OPTIONS=y +CONFIG_BUNZIP2=y +CONFIG_BZCAT=y +CONFIG_UNLZMA=y +CONFIG_LZCAT=y +CONFIG_LZMA=y +CONFIG_UNXZ=y +CONFIG_XZCAT=y +CONFIG_XZ=y +CONFIG_BZIP2=y +CONFIG_BZIP2_SMALL=8 +CONFIG_FEATURE_BZIP2_DECOMPRESS=y +CONFIG_CPIO=y +CONFIG_FEATURE_CPIO_O=y +CONFIG_FEATURE_CPIO_P=y +CONFIG_FEATURE_CPIO_IGNORE_DEVNO=y +CONFIG_FEATURE_CPIO_RENUMBER_INODES=y +# CONFIG_DPKG is not set +# CONFIG_DPKG_DEB is not set +CONFIG_GZIP=y +CONFIG_FEATURE_GZIP_LONG_OPTIONS=y +CONFIG_GZIP_FAST=0 +# CONFIG_FEATURE_GZIP_LEVELS is not set +CONFIG_FEATURE_GZIP_DECOMPRESS=y +CONFIG_LZOP=y +# CONFIG_UNLZOP is not set +# CONFIG_LZOPCAT is not set +# CONFIG_LZOP_COMPR_HIGH is not set +# CONFIG_RPM is not set +# CONFIG_RPM2CPIO is not set +CONFIG_TAR=y +CONFIG_FEATURE_TAR_LONG_OPTIONS=y +CONFIG_FEATURE_TAR_CREATE=y +CONFIG_FEATURE_TAR_AUTODETECT=y +CONFIG_FEATURE_TAR_FROM=y +CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y +CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY=y +CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y +CONFIG_FEATURE_TAR_TO_COMMAND=y +CONFIG_FEATURE_TAR_UNAME_GNAME=y +CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y +# CONFIG_FEATURE_TAR_SELINUX is not set +CONFIG_UNZIP=y +CONFIG_FEATURE_UNZIP_CDF=y +CONFIG_FEATURE_UNZIP_BZIP2=y +CONFIG_FEATURE_UNZIP_LZMA=y +CONFIG_FEATURE_UNZIP_XZ=y +# CONFIG_FEATURE_LZMA_FAST is not set + +# +# Coreutils +# +CONFIG_FEATURE_VERBOSE=y + +# +# Common options for date and touch +# +CONFIG_FEATURE_TIMEZONE=y + +# +# Common options for cp and mv +# +CONFIG_FEATURE_PRESERVE_HARDLINKS=y + +# +# Common options for df, du, ls +# +CONFIG_FEATURE_HUMAN_READABLE=y +CONFIG_BASENAME=y +CONFIG_CAT=y +CONFIG_FEATURE_CATN=y +CONFIG_FEATURE_CATV=y +CONFIG_CHGRP=y +CONFIG_CHMOD=y +CONFIG_CHOWN=y +CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y +CONFIG_CHROOT=y +CONFIG_CKSUM=y +CONFIG_CRC32=y +CONFIG_COMM=y +CONFIG_CP=y +CONFIG_FEATURE_CP_LONG_OPTIONS=y +CONFIG_FEATURE_CP_REFLINK=y +CONFIG_CUT=y +CONFIG_FEATURE_CUT_REGEX=y +CONFIG_DATE=y +CONFIG_FEATURE_DATE_ISOFMT=y +# CONFIG_FEATURE_DATE_NANO is not set +CONFIG_FEATURE_DATE_COMPAT=y +CONFIG_DD=y +CONFIG_FEATURE_DD_SIGNAL_HANDLING=y +CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y +CONFIG_FEATURE_DD_IBS_OBS=y +CONFIG_FEATURE_DD_STATUS=y +CONFIG_DF=y +CONFIG_FEATURE_DF_FANCY=y +CONFIG_FEATURE_SKIP_ROOTFS=y +CONFIG_DIRNAME=y +CONFIG_DOS2UNIX=y +CONFIG_UNIX2DOS=y +CONFIG_DU=y +CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y +CONFIG_ECHO=y +CONFIG_FEATURE_FANCY_ECHO=y +CONFIG_ENV=y +CONFIG_EXPAND=y +CONFIG_UNEXPAND=y +CONFIG_EXPR=y +CONFIG_EXPR_MATH_SUPPORT_64=y +CONFIG_FACTOR=y +CONFIG_FALSE=y +CONFIG_FOLD=y +CONFIG_HEAD=y +CONFIG_FEATURE_FANCY_HEAD=y +CONFIG_HOSTID=y +CONFIG_ID=y +CONFIG_GROUPS=y +CONFIG_INSTALL=y +CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y +CONFIG_LINK=y +CONFIG_LN=y +CONFIG_LOGNAME=y +CONFIG_LS=y +CONFIG_FEATURE_LS_FILETYPES=y +CONFIG_FEATURE_LS_FOLLOWLINKS=y +CONFIG_FEATURE_LS_RECURSIVE=y +CONFIG_FEATURE_LS_WIDTH=y +CONFIG_FEATURE_LS_SORTFILES=y +CONFIG_FEATURE_LS_TIMESTAMPS=y +CONFIG_FEATURE_LS_USERNAME=y +CONFIG_FEATURE_LS_COLOR=y +CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y +CONFIG_MD5SUM=y +CONFIG_SHA1SUM=y +CONFIG_SHA256SUM=y +CONFIG_SHA512SUM=y +CONFIG_SHA3SUM=y + +# +# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum +# +CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y +CONFIG_MKDIR=y +CONFIG_MKFIFO=y +CONFIG_MKNOD=y +CONFIG_MKTEMP=y +CONFIG_MV=y +CONFIG_NICE=y +CONFIG_NL=y +CONFIG_NOHUP=y +CONFIG_NPROC=y +CONFIG_OD=y +CONFIG_PASTE=y +CONFIG_PRINTENV=y +CONFIG_PRINTF=y +CONFIG_PWD=y +CONFIG_READLINK=y +CONFIG_FEATURE_READLINK_FOLLOW=y +CONFIG_REALPATH=y +CONFIG_RM=y +CONFIG_RMDIR=y +CONFIG_SEQ=y +CONFIG_SHRED=y +CONFIG_SHUF=y +CONFIG_SLEEP=y +CONFIG_FEATURE_FANCY_SLEEP=y +CONFIG_SORT=y +CONFIG_FEATURE_SORT_BIG=y +# CONFIG_FEATURE_SORT_OPTIMIZE_MEMORY is not set +CONFIG_SPLIT=y +CONFIG_FEATURE_SPLIT_FANCY=y +CONFIG_STAT=y +CONFIG_FEATURE_STAT_FORMAT=y +CONFIG_FEATURE_STAT_FILESYSTEM=y +CONFIG_STTY=y +CONFIG_SUM=y +CONFIG_SYNC=y +CONFIG_FEATURE_SYNC_FANCY=y +CONFIG_FSYNC=y +CONFIG_TAC=y +CONFIG_TAIL=y +CONFIG_FEATURE_FANCY_TAIL=y +CONFIG_TEE=y +CONFIG_FEATURE_TEE_USE_BLOCK_IO=y +CONFIG_TEST=y +CONFIG_TEST1=y +CONFIG_TEST2=y +CONFIG_FEATURE_TEST_64=y +CONFIG_TIMEOUT=y +CONFIG_TOUCH=y +CONFIG_FEATURE_TOUCH_SUSV3=y +CONFIG_TR=y +CONFIG_FEATURE_TR_CLASSES=y +CONFIG_FEATURE_TR_EQUIV=y +CONFIG_TRUE=y +CONFIG_TRUNCATE=y +CONFIG_TSORT=y +CONFIG_TTY=y +CONFIG_UNAME=y +CONFIG_UNAME_OSNAME="GNU/Linux" +CONFIG_BB_ARCH=y +CONFIG_UNIQ=y +CONFIG_UNLINK=y +CONFIG_USLEEP=y +CONFIG_UUDECODE=y +CONFIG_BASE32=y +CONFIG_BASE64=y +CONFIG_UUENCODE=y +CONFIG_WC=y +CONFIG_FEATURE_WC_LARGE=y +CONFIG_WHO=y +CONFIG_W=y +CONFIG_USERS=y +CONFIG_WHOAMI=y +CONFIG_YES=y + +# +# Console Utilities +# +CONFIG_CHVT=y +CONFIG_CLEAR=y +CONFIG_DEALLOCVT=y +CONFIG_DUMPKMAP=y +CONFIG_FGCONSOLE=y +CONFIG_KBD_MODE=y +CONFIG_LOADFONT=y +CONFIG_SETFONT=y +CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y +CONFIG_DEFAULT_SETFONT_DIR="" + +# +# Common options for loadfont and setfont +# +CONFIG_FEATURE_LOADFONT_PSF2=y +CONFIG_FEATURE_LOADFONT_RAW=y +CONFIG_LOADKMAP=y +CONFIG_OPENVT=y +CONFIG_RESET=y +CONFIG_RESIZE=y +CONFIG_FEATURE_RESIZE_PRINT=y +CONFIG_SETCONSOLE=y +CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y +CONFIG_SETKEYCODES=y +CONFIG_SETLOGCONS=y +CONFIG_SHOWKEY=y + +# +# Debian Utilities +# +CONFIG_PIPE_PROGRESS=y +# CONFIG_RUN_PARTS is not set +# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set +# CONFIG_FEATURE_RUN_PARTS_FANCY is not set +# CONFIG_START_STOP_DAEMON is not set +# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set +# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set +CONFIG_WHICH=y + +# +# klibc-utils +# +# CONFIG_MINIPS is not set +# CONFIG_NUKE is not set +# CONFIG_RESUME is not set +# CONFIG_RUN_INIT is not set + +# +# Editors +# +CONFIG_AWK=y +CONFIG_FEATURE_AWK_LIBM=y +CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y +CONFIG_CMP=y +CONFIG_DIFF=y +CONFIG_FEATURE_DIFF_LONG_OPTIONS=y +CONFIG_FEATURE_DIFF_DIR=y +CONFIG_ED=y +CONFIG_PATCH=y +CONFIG_SED=y +CONFIG_VI=y +CONFIG_FEATURE_VI_MAX_LEN=4096 +# CONFIG_FEATURE_VI_8BIT is not set +CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_COLON_EXPAND=y +CONFIG_FEATURE_VI_YANKMARK=y +CONFIG_FEATURE_VI_SEARCH=y +# CONFIG_FEATURE_VI_REGEX_SEARCH is not set +CONFIG_FEATURE_VI_USE_SIGNALS=y +CONFIG_FEATURE_VI_DOT_CMD=y +CONFIG_FEATURE_VI_READONLY=y +CONFIG_FEATURE_VI_SETOPTS=y +CONFIG_FEATURE_VI_SET=y +CONFIG_FEATURE_VI_WIN_RESIZE=y +CONFIG_FEATURE_VI_ASK_TERMINAL=y +CONFIG_FEATURE_VI_UNDO=y +CONFIG_FEATURE_VI_UNDO_QUEUE=y +CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256 +CONFIG_FEATURE_VI_VERBOSE_STATUS=y +CONFIG_FEATURE_ALLOW_EXEC=y + +# +# Finding Utilities +# +CONFIG_FIND=y +CONFIG_FEATURE_FIND_PRINT0=y +CONFIG_FEATURE_FIND_MTIME=y +CONFIG_FEATURE_FIND_ATIME=y +CONFIG_FEATURE_FIND_CTIME=y +CONFIG_FEATURE_FIND_MMIN=y +CONFIG_FEATURE_FIND_AMIN=y +CONFIG_FEATURE_FIND_CMIN=y +CONFIG_FEATURE_FIND_PERM=y +CONFIG_FEATURE_FIND_TYPE=y +CONFIG_FEATURE_FIND_EXECUTABLE=y +CONFIG_FEATURE_FIND_XDEV=y +CONFIG_FEATURE_FIND_MAXDEPTH=y +CONFIG_FEATURE_FIND_NEWER=y +CONFIG_FEATURE_FIND_INUM=y +CONFIG_FEATURE_FIND_SAMEFILE=y +CONFIG_FEATURE_FIND_EXEC=y +CONFIG_FEATURE_FIND_EXEC_PLUS=y +CONFIG_FEATURE_FIND_USER=y +CONFIG_FEATURE_FIND_GROUP=y +CONFIG_FEATURE_FIND_NOT=y +CONFIG_FEATURE_FIND_DEPTH=y +CONFIG_FEATURE_FIND_PAREN=y +CONFIG_FEATURE_FIND_SIZE=y +CONFIG_FEATURE_FIND_PRUNE=y +CONFIG_FEATURE_FIND_QUIT=y +CONFIG_FEATURE_FIND_DELETE=y +CONFIG_FEATURE_FIND_EMPTY=y +CONFIG_FEATURE_FIND_PATH=y +CONFIG_FEATURE_FIND_REGEX=y +# CONFIG_FEATURE_FIND_CONTEXT is not set +CONFIG_FEATURE_FIND_LINKS=y +CONFIG_GREP=y +CONFIG_EGREP=y +CONFIG_FGREP=y +CONFIG_FEATURE_GREP_CONTEXT=y +CONFIG_XARGS=y +CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y +CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y +CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y +CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y +CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y +CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL=y +CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE=y + +# +# Init Utilities +# +# CONFIG_BOOTCHARTD is not set +# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set +# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set +CONFIG_HALT=y +CONFIG_POWEROFF=y +CONFIG_REBOOT=y +CONFIG_FEATURE_WAIT_FOR_INIT=y +# CONFIG_FEATURE_CALL_TELINIT is not set +CONFIG_TELINIT_PATH="" +CONFIG_INIT=y +# CONFIG_LINUXRC is not set +CONFIG_FEATURE_USE_INITTAB=y +# CONFIG_FEATURE_KILL_REMOVED is not set +CONFIG_FEATURE_KILL_DELAY=0 +CONFIG_FEATURE_INIT_SCTTY=y +CONFIG_FEATURE_INIT_SYSLOG=y +CONFIG_FEATURE_INIT_QUIET=y +# CONFIG_FEATURE_INIT_COREDUMPS is not set +CONFIG_INIT_TERMINAL_TYPE="linux" +CONFIG_FEATURE_INIT_MODIFY_CMDLINE=y + +# +# Login/Password Management Utilities +# +CONFIG_FEATURE_SHADOWPASSWDS=y +CONFIG_USE_BB_PWD_GRP=y +CONFIG_USE_BB_SHADOW=y +CONFIG_USE_BB_CRYPT=y +CONFIG_USE_BB_CRYPT_SHA=y +CONFIG_ADD_SHELL=y +CONFIG_REMOVE_SHELL=y +CONFIG_ADDGROUP=y +CONFIG_FEATURE_ADDUSER_TO_GROUP=y +CONFIG_ADDUSER=y +# CONFIG_FEATURE_CHECK_NAMES is not set +CONFIG_LAST_ID=60000 +CONFIG_FIRST_SYSTEM_ID=100 +CONFIG_LAST_SYSTEM_ID=999 +CONFIG_CHPASSWD=y +CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des" +CONFIG_CRYPTPW=y +CONFIG_MKPASSWD=y +CONFIG_DELUSER=y +CONFIG_DELGROUP=y +CONFIG_FEATURE_DEL_USER_FROM_GROUP=y +CONFIG_GETTY=y +CONFIG_LOGIN=y +# CONFIG_LOGIN_SESSION_AS_CHILD is not set +CONFIG_LOGIN_SCRIPTS=y +CONFIG_FEATURE_NOLOGIN=y +CONFIG_FEATURE_SECURETTY=y +CONFIG_PASSWD=y +CONFIG_FEATURE_PASSWD_WEAK_CHECK=y +CONFIG_SU=y +CONFIG_FEATURE_SU_SYSLOG=y +CONFIG_FEATURE_SU_CHECKS_SHELLS=y +# CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set +CONFIG_SULOGIN=y +CONFIG_VLOCK=y + +# +# Linux Ext2 FS Progs +# +CONFIG_CHATTR=y +CONFIG_FSCK=y +CONFIG_LSATTR=y +# CONFIG_TUNE2FS is not set + +# +# Linux Module Utilities +# +# CONFIG_MODPROBE_SMALL is not set +CONFIG_DEPMOD=y +CONFIG_INSMOD=y +CONFIG_LSMOD=y +# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set +CONFIG_MODINFO=y +CONFIG_MODPROBE=y +# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set +CONFIG_RMMOD=y + +# +# Options common to multiple modutils +# +CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS=y +# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set +# CONFIG_FEATURE_2_4_MODULES is not set +# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set +# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set +# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set +# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set +# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set +CONFIG_FEATURE_MODUTILS_ALIAS=y +CONFIG_FEATURE_MODUTILS_SYMBOLS=y +CONFIG_DEFAULT_MODULES_DIR="/lib/modules" +CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" + +# +# Linux System Utilities +# +CONFIG_ACPID=y +CONFIG_FEATURE_ACPID_COMPAT=y +CONFIG_BLKDISCARD=y +CONFIG_BLKID=y +CONFIG_FEATURE_BLKID_TYPE=y +CONFIG_BLOCKDEV=y +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=y +CONFIG_FBSET=y +CONFIG_FEATURE_FBSET_FANCY=y +CONFIG_FEATURE_FBSET_READMODE=y +CONFIG_FDFORMAT=y +CONFIG_FDISK=y +# CONFIG_FDISK_SUPPORT_LARGE_DISKS 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=y +CONFIG_FINDFS=y +CONFIG_FLOCK=y +CONFIG_FDFLUSH=y +CONFIG_FREERAMDISK=y +# CONFIG_FSCK_MINIX is not set +CONFIG_FSFREEZE=y +CONFIG_FSTRIM=y +CONFIG_GETOPT=y +CONFIG_FEATURE_GETOPT_LONG=y +CONFIG_HEXDUMP=y +CONFIG_HD=y +CONFIG_XXD=y +CONFIG_HWCLOCK=y +# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS 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_FEATURE_LSUSB_STRINGS=y +CONFIG_MDEV=y +CONFIG_FEATURE_MDEV_CONF=y +CONFIG_FEATURE_MDEV_RENAME=y +CONFIG_FEATURE_MDEV_RENAME_REGEXP=y +CONFIG_FEATURE_MDEV_EXEC=y +CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y +CONFIG_FEATURE_MDEV_DAEMON=y +CONFIG_MESG=y +CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y +CONFIG_MKE2FS=y +CONFIG_MKFS_EXT2=y +# CONFIG_MKFS_MINIX is not set +# CONFIG_FEATURE_MINIX2 is not set +# CONFIG_MKFS_REISER is not set +CONFIG_MKDOSFS=y +CONFIG_MKFS_VFAT=y +CONFIG_MKSWAP=y +CONFIG_FEATURE_MKSWAP_UUID=y +CONFIG_MORE=y +CONFIG_MOUNT=y +CONFIG_FEATURE_MOUNT_FAKE=y +CONFIG_FEATURE_MOUNT_VERBOSE=y +# CONFIG_FEATURE_MOUNT_HELPERS is not set +CONFIG_FEATURE_MOUNT_LABEL=y +# CONFIG_FEATURE_MOUNT_NFS 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 is not set +CONFIG_NSENTER=y +CONFIG_PIVOT_ROOT=y +CONFIG_RDATE=y +CONFIG_RDEV=y +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=y +CONFIG_FEATURE_SETPRIV_DUMP=y +CONFIG_FEATURE_SETPRIV_CAPABILITIES=y +CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES=y +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_FEATURE_TASKSET_CPULIST=y +CONFIG_UEVENT=y +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=y + +# +# Filesystem/Volume identification +# +CONFIG_FEATURE_VOLUMEID_BCACHE=y +CONFIG_FEATURE_VOLUMEID_BTRFS=y +CONFIG_FEATURE_VOLUMEID_CRAMFS=y +CONFIG_FEATURE_VOLUMEID_EROFS=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 +# +CONFIG_ADJTIMEX=y +CONFIG_ASCII=y +# CONFIG_BBCONFIG is not set +# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set +CONFIG_BC=y +CONFIG_DC=y +CONFIG_FEATURE_DC_BIG=y +# CONFIG_FEATURE_DC_LIBM is not set +CONFIG_FEATURE_BC_INTERACTIVE=y +CONFIG_FEATURE_BC_LONG_OPTIONS=y +CONFIG_BEEP=y +CONFIG_FEATURE_BEEP_FREQ=4000 +CONFIG_FEATURE_BEEP_LENGTH_MS=30 +# CONFIG_CHAT is not set +# CONFIG_FEATURE_CHAT_NOFAIL is not set +# CONFIG_FEATURE_CHAT_TTY_HIFI is not set +# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set +# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set +# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set +# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set +# CONFIG_FEATURE_CHAT_CLR_ABORT is not set +CONFIG_CONSPY=y +CONFIG_CROND=y +CONFIG_FEATURE_CROND_D=y +CONFIG_FEATURE_CROND_CALL_SENDMAIL=y +CONFIG_FEATURE_CROND_SPECIAL_TIMES=y +CONFIG_FEATURE_CROND_DIR="/var/spool/cron" +CONFIG_CRONTAB=y +# CONFIG_DEVFSD is not set +# CONFIG_DEVFSD_MODLOAD is not set +# CONFIG_DEVFSD_FG_NP is not set +# CONFIG_DEVFSD_VERBOSE is not set +# CONFIG_FEATURE_DEVFS is not set +CONFIG_DEVMEM=y +CONFIG_FBSPLASH=y +# CONFIG_FLASH_ERASEALL is not set +# CONFIG_FLASH_LOCK is not set +# CONFIG_FLASH_UNLOCK is not set +# CONFIG_FLASHCP is not set +CONFIG_HDPARM=y +CONFIG_FEATURE_HDPARM_GET_IDENTITY=y +CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y +CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y +CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y +CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y +CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y +CONFIG_HEXEDIT=y +CONFIG_I2CGET=y +CONFIG_I2CSET=y +CONFIG_I2CDUMP=y +CONFIG_I2CDETECT=y +CONFIG_I2CTRANSFER=y +# CONFIG_INOTIFYD is not set +CONFIG_LESS=y +CONFIG_FEATURE_LESS_MAXLINES=9999999 +CONFIG_FEATURE_LESS_BRACKETS=y +CONFIG_FEATURE_LESS_FLAGS=y +CONFIG_FEATURE_LESS_TRUNCATE=y +CONFIG_FEATURE_LESS_MARKS=y +CONFIG_FEATURE_LESS_REGEXP=y +CONFIG_FEATURE_LESS_WINCH=y +CONFIG_FEATURE_LESS_ASK_TERMINAL=y +CONFIG_FEATURE_LESS_DASHCMD=y +CONFIG_FEATURE_LESS_LINENUMS=y +CONFIG_FEATURE_LESS_RAW=y +CONFIG_FEATURE_LESS_ENV=y +CONFIG_LSSCSI=y +CONFIG_MAKEDEVS=y +# CONFIG_FEATURE_MAKEDEVS_LEAF is not set +CONFIG_FEATURE_MAKEDEVS_TABLE=y +# CONFIG_MAN is not set +CONFIG_MICROCOM=y +CONFIG_MIM=y +CONFIG_MT=y +CONFIG_NANDWRITE=y +CONFIG_NANDDUMP=y +CONFIG_PARTPROBE=y +CONFIG_RAIDAUTORUN=y +CONFIG_READAHEAD=y +CONFIG_RFKILL=y +CONFIG_RUNLEVEL=y +# CONFIG_RX is not set +CONFIG_SEEDRNG=y +CONFIG_SETFATTR=y +CONFIG_SETSERIAL=y +# CONFIG_STRINGS is not set +CONFIG_TIME=y +CONFIG_TREE=y +CONFIG_TS=y +CONFIG_TTYSIZE=y +CONFIG_UBIATTACH=y +CONFIG_UBIDETACH=y +CONFIG_UBIMKVOL=y +CONFIG_UBIRMVOL=y +CONFIG_UBIRSVOL=y +CONFIG_UBIUPDATEVOL=y +CONFIG_UBIRENAME=y +CONFIG_VOLNAME=y +CONFIG_WATCHDOG=y +# CONFIG_FEATURE_WATCHDOG_OPEN_TWICE is not set + +# +# Networking Utilities +# +CONFIG_FEATURE_IPV6=y +# CONFIG_FEATURE_UNIX_LOCAL is not set +CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y +# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set +# CONFIG_FEATURE_ETC_NETWORKS is not set +# CONFIG_FEATURE_ETC_SERVICES is not set +CONFIG_FEATURE_HWIB=y +# CONFIG_FEATURE_TLS_SHA1 is not set +CONFIG_ARP=y +CONFIG_ARPING=y +CONFIG_BRCTL=y +CONFIG_FEATURE_BRCTL_FANCY=y +CONFIG_FEATURE_BRCTL_SHOW=y +CONFIG_DNSD=y +CONFIG_ETHER_WAKE=y +CONFIG_FTPD=y +CONFIG_FEATURE_FTPD_WRITE=y +CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y +CONFIG_FEATURE_FTPD_AUTHENTICATION=y +CONFIG_FTPGET=y +CONFIG_FTPPUT=y +CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y +CONFIG_HOSTNAME=y +CONFIG_DNSDOMAINNAME=y +CONFIG_HTTPD=y +CONFIG_FEATURE_HTTPD_PORT_DEFAULT=80 +CONFIG_FEATURE_HTTPD_RANGES=y +CONFIG_FEATURE_HTTPD_SETUID=y +CONFIG_FEATURE_HTTPD_BASIC_AUTH=y +CONFIG_FEATURE_HTTPD_AUTH_MD5=y +CONFIG_FEATURE_HTTPD_CGI=y +CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y +CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y +CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y +CONFIG_FEATURE_HTTPD_ERROR_PAGES=y +CONFIG_FEATURE_HTTPD_PROXY=y +CONFIG_FEATURE_HTTPD_GZIP=y +CONFIG_FEATURE_HTTPD_ETAG=y +CONFIG_FEATURE_HTTPD_LAST_MODIFIED=y +CONFIG_FEATURE_HTTPD_DATE=y +CONFIG_FEATURE_HTTPD_ACL_IP=y +CONFIG_IFCONFIG=y +CONFIG_FEATURE_IFCONFIG_STATUS=y +CONFIG_FEATURE_IFCONFIG_SLIP=y +CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y +CONFIG_FEATURE_IFCONFIG_HW=y +CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y +CONFIG_IFENSLAVE=y +CONFIG_IFPLUGD=y +CONFIG_IFUP=y +CONFIG_IFDOWN=y +CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" +CONFIG_FEATURE_IFUPDOWN_IP=y +CONFIG_FEATURE_IFUPDOWN_IPV4=y +CONFIG_FEATURE_IFUPDOWN_IPV6=y +CONFIG_FEATURE_IFUPDOWN_MAPPING=y +# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set +CONFIG_INETD=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y +# CONFIG_FEATURE_INETD_RPC is not set +CONFIG_IP=y +CONFIG_IPADDR=y +CONFIG_IPLINK=y +CONFIG_IPROUTE=y +CONFIG_IPTUNNEL=y +CONFIG_IPRULE=y +CONFIG_IPNEIGH=y +CONFIG_FEATURE_IP_ADDRESS=y +CONFIG_FEATURE_IP_LINK=y +CONFIG_FEATURE_IP_ROUTE=y +CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2" +CONFIG_FEATURE_IP_TUNNEL=y +CONFIG_FEATURE_IP_RULE=y +CONFIG_FEATURE_IP_NEIGH=y +# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set +CONFIG_IPCALC=y +CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y +CONFIG_FEATURE_IPCALC_FANCY=y +CONFIG_FAKEIDENTD=y +CONFIG_NAMEIF=y +CONFIG_FEATURE_NAMEIF_EXTENDED=y +CONFIG_NBDCLIENT=y +CONFIG_NC=y +# CONFIG_NETCAT is not set +CONFIG_NC_SERVER=y +CONFIG_NC_EXTRA=y +CONFIG_NC_110_COMPAT=y +CONFIG_NETSTAT=y +CONFIG_FEATURE_NETSTAT_WIDE=y +CONFIG_FEATURE_NETSTAT_PRG=y +CONFIG_NSLOOKUP=y +CONFIG_FEATURE_NSLOOKUP_BIG=y +CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS=y +CONFIG_NTPD=y +CONFIG_FEATURE_NTPD_SERVER=y +CONFIG_FEATURE_NTPD_CONF=y +CONFIG_FEATURE_NTP_AUTH=y +CONFIG_PING=y +CONFIG_PING6=y +CONFIG_FEATURE_FANCY_PING=y +CONFIG_PSCAN=y +CONFIG_ROUTE=y +CONFIG_SLATTACH=y +CONFIG_SSL_CLIENT=y +CONFIG_TC=y +CONFIG_FEATURE_TC_INGRESS=y +CONFIG_TCPSVD=y +CONFIG_UDPSVD=y +CONFIG_TELNET=y +CONFIG_FEATURE_TELNET_TTYPE=y +CONFIG_FEATURE_TELNET_AUTOLOGIN=y +CONFIG_FEATURE_TELNET_WIDTH=y +CONFIG_TELNETD=y +CONFIG_FEATURE_TELNETD_STANDALONE=y +CONFIG_FEATURE_TELNETD_PORT_DEFAULT=23 +CONFIG_FEATURE_TELNETD_INETD_WAIT=y +CONFIG_TFTP=y +CONFIG_FEATURE_TFTP_PROGRESS_BAR=y +CONFIG_FEATURE_TFTP_HPA_COMPAT=y +CONFIG_TFTPD=y +CONFIG_FEATURE_TFTP_GET=y +CONFIG_FEATURE_TFTP_PUT=y +CONFIG_FEATURE_TFTP_BLOCKSIZE=y +# CONFIG_TFTP_DEBUG is not set +CONFIG_TLS=y +CONFIG_TRACEROUTE=y +CONFIG_TRACEROUTE6=y +CONFIG_FEATURE_TRACEROUTE_VERBOSE=y +CONFIG_FEATURE_TRACEROUTE_USE_ICMP=y +CONFIG_TUNCTL=y +CONFIG_FEATURE_TUNCTL_UG=y +CONFIG_VCONFIG=y +CONFIG_WGET=y +CONFIG_FEATURE_WGET_LONG_OPTIONS=y +CONFIG_FEATURE_WGET_STATUSBAR=y +CONFIG_FEATURE_WGET_FTP=y +CONFIG_FEATURE_WGET_AUTHENTICATION=y +CONFIG_FEATURE_WGET_TIMEOUT=y +CONFIG_FEATURE_WGET_HTTPS=y +CONFIG_FEATURE_WGET_OPENSSL=y +CONFIG_WHOIS=y +CONFIG_ZCIP=y +CONFIG_UDHCPD=y +# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set +CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y +CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases" +CONFIG_DUMPLEASES=y +CONFIG_DHCPRELAY=y +CONFIG_UDHCPC=y +CONFIG_FEATURE_UDHCPC_ARPING=y +CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y +CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" +CONFIG_UDHCPC6_DEFAULT_SCRIPT="/usr/share/udhcpc/default6.script" +CONFIG_UDHCPC6=y +CONFIG_FEATURE_UDHCPC6_RFC3646=y +CONFIG_FEATURE_UDHCPC6_RFC4704=y +CONFIG_FEATURE_UDHCPC6_RFC4833=y +CONFIG_FEATURE_UDHCPC6_RFC5970=y + +# +# Common options for DHCP applets +# +CONFIG_UDHCPC_DEFAULT_INTERFACE="eth0" +# CONFIG_FEATURE_UDHCP_PORT is not set +CONFIG_UDHCP_DEBUG=2 +CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 +CONFIG_FEATURE_UDHCP_RFC3397=y +CONFIG_FEATURE_UDHCP_8021Q=y +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n" + +# +# Print Utilities +# +# CONFIG_LPD is not set +# CONFIG_LPR is not set +# CONFIG_LPQ is not set + +# +# Mail Utilities +# +CONFIG_FEATURE_MIME_CHARSET="us-ascii" +CONFIG_MAKEMIME=y +CONFIG_POPMAILDIR=y +CONFIG_FEATURE_POPMAILDIR_DELIVERY=y +CONFIG_REFORMIME=y +CONFIG_FEATURE_REFORMIME_COMPAT=y +CONFIG_SENDMAIL=y + +# +# Process Utilities +# +# CONFIG_FEATURE_FAST_TOP is not set +CONFIG_FEATURE_SHOW_THREADS=y +CONFIG_FREE=y +CONFIG_FUSER=y +CONFIG_IOSTAT=y +CONFIG_KILL=y +CONFIG_KILLALL=y +CONFIG_KILLALL5=y +CONFIG_LSOF=y +CONFIG_MPSTAT=y +CONFIG_NMETER=y +CONFIG_PGREP=y +CONFIG_PKILL=y +CONFIG_PIDOF=y +CONFIG_FEATURE_PIDOF_SINGLE=y +CONFIG_FEATURE_PIDOF_OMIT=y +CONFIG_PMAP=y +CONFIG_POWERTOP=y +CONFIG_FEATURE_POWERTOP_INTERACTIVE=y +CONFIG_PS=y +# CONFIG_FEATURE_PS_WIDE is not set +# CONFIG_FEATURE_PS_LONG is not set +CONFIG_FEATURE_PS_TIME=y +# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set +CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y +CONFIG_PSTREE=y +CONFIG_PWDX=y +CONFIG_SMEMCAP=y +CONFIG_BB_SYSCTL=y +CONFIG_TOP=y +CONFIG_FEATURE_TOP_INTERACTIVE=y +CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y +CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y +CONFIG_FEATURE_TOP_SMP_CPU=y +CONFIG_FEATURE_TOP_DECIMALS=y +CONFIG_FEATURE_TOP_SMP_PROCESS=y +CONFIG_FEATURE_TOPMEM=y +CONFIG_UPTIME=y +CONFIG_FEATURE_UPTIME_UTMP_SUPPORT=y +CONFIG_WATCH=y + +# +# Runit Utilities +# +CONFIG_CHPST=y +CONFIG_SETUIDGID=y +CONFIG_ENVUIDGID=y +CONFIG_ENVDIR=y +CONFIG_SOFTLIMIT=y +CONFIG_RUNSV=y +CONFIG_RUNSVDIR=y +# CONFIG_FEATURE_RUNSVDIR_LOG is not set +CONFIG_SV=y +CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service" +CONFIG_SVC=y +CONFIG_SVOK=y +CONFIG_SVLOGD=y +# CONFIG_CHCON is not set +# CONFIG_GETENFORCE is not set +# CONFIG_GETSEBOOL is not set +# CONFIG_LOAD_POLICY is not set +# CONFIG_MATCHPATHCON is not set +# CONFIG_RUNCON is not set +# CONFIG_SELINUXENABLED is not set +# CONFIG_SESTATUS is not set +# CONFIG_SETENFORCE is not set +# CONFIG_SETFILES is not set +# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set +# CONFIG_RESTORECON is not set +# CONFIG_SETSEBOOL is not set + +# +# Shells +# +CONFIG_SH_IS_ASH=y +# CONFIG_SH_IS_HUSH is not set +# CONFIG_SH_IS_NONE is not set +# CONFIG_BASH_IS_ASH is not set +# CONFIG_BASH_IS_HUSH is not set +CONFIG_BASH_IS_NONE=y +CONFIG_SHELL_ASH=y +CONFIG_ASH=y +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y +CONFIG_ASH_INTERNAL_GLOB=y +CONFIG_ASH_BASH_COMPAT=y +# CONFIG_ASH_BASH_SOURCE_CURDIR is not set +CONFIG_ASH_BASH_NOT_FOUND_HOOK=y +CONFIG_ASH_JOB_CONTROL=y +CONFIG_ASH_ALIAS=y +CONFIG_ASH_RANDOM_SUPPORT=y +CONFIG_ASH_EXPAND_PRMT=y +CONFIG_ASH_IDLE_TIMEOUT=y +CONFIG_ASH_MAIL=y +CONFIG_ASH_ECHO=y +CONFIG_ASH_PRINTF=y +CONFIG_ASH_TEST=y +CONFIG_ASH_SLEEP=y +CONFIG_ASH_HELP=y +CONFIG_ASH_GETOPTS=y +CONFIG_ASH_CMDCMD=y +CONFIG_CTTYHACK=y +# CONFIG_HUSH is not set +# CONFIG_SHELL_HUSH is not set +# CONFIG_HUSH_BASH_COMPAT is not set +# CONFIG_HUSH_BRACE_EXPANSION is not set +# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set +# CONFIG_HUSH_LINENO_VAR is not set +# CONFIG_HUSH_INTERACTIVE is not set +# CONFIG_HUSH_SAVEHISTORY is not set +# CONFIG_HUSH_JOB is not set +# CONFIG_HUSH_TICK is not set +# CONFIG_HUSH_IF is not set +# CONFIG_HUSH_LOOPS is not set +# CONFIG_HUSH_CASE is not set +# CONFIG_HUSH_FUNCTIONS is not set +# CONFIG_HUSH_LOCAL is not set +# CONFIG_HUSH_RANDOM_SUPPORT is not set +# CONFIG_HUSH_MODE_X is not set +# CONFIG_HUSH_ECHO is not set +# CONFIG_HUSH_PRINTF is not set +# CONFIG_HUSH_TEST is not set +# CONFIG_HUSH_HELP is not set +# CONFIG_HUSH_EXPORT is not set +# CONFIG_HUSH_EXPORT_N is not set +# CONFIG_HUSH_READONLY is not set +# CONFIG_HUSH_KILL is not set +# CONFIG_HUSH_WAIT is not set +# CONFIG_HUSH_COMMAND is not set +# CONFIG_HUSH_TRAP is not set +# CONFIG_HUSH_TYPE is not set +# CONFIG_HUSH_TIMES is not set +# CONFIG_HUSH_READ is not set +# CONFIG_HUSH_SET is not set +# CONFIG_HUSH_UNSET is not set +# CONFIG_HUSH_ULIMIT is not set +# CONFIG_HUSH_UMASK is not set +# CONFIG_HUSH_GETOPTS is not set +# CONFIG_HUSH_MEMLEAK is not set + +# +# Options common to all shells +# +CONFIG_FEATURE_SH_MATH=y +CONFIG_FEATURE_SH_MATH_64=y +CONFIG_FEATURE_SH_MATH_BASE=y +CONFIG_FEATURE_SH_EXTRA_QUIET=y +# CONFIG_FEATURE_SH_STANDALONE is not set +CONFIG_FEATURE_SH_NOFORK=y +CONFIG_FEATURE_SH_READ_FRAC=y +CONFIG_FEATURE_SH_HISTFILESIZE=y +CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS=y + +# +# System Logging Utilities +# +CONFIG_KLOGD=y + +# +# klogd should not be used together with syslog to kernel printk buffer +# +CONFIG_FEATURE_KLOGD_KLOGCTL=y +CONFIG_LOGGER=y +# CONFIG_LOGREAD is not set +# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set +CONFIG_SYSLOGD=y +CONFIG_FEATURE_ROTATE_LOGFILE=y +CONFIG_FEATURE_REMOTE_LOG=y +CONFIG_FEATURE_SYSLOGD_DUP=y +CONFIG_FEATURE_SYSLOGD_CFG=y +# CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS is not set +CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 +CONFIG_FEATURE_IPC_SYSLOG=y +CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16 +CONFIG_FEATURE_KMSG_SYSLOG=y diff --git a/repos/core/busybox/crond.run b/repos/core/busybox/crond.run new file mode 100755 index 00000000..aac79c16 --- /dev/null +++ b/repos/core/busybox/crond.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec crond -f -d8 2>&1 diff --git a/repos/core/busybox/fsck-resolve-uuid.patch b/repos/core/busybox/fsck-resolve-uuid.patch new file mode 100644 index 00000000..fd2503e7 --- /dev/null +++ b/repos/core/busybox/fsck-resolve-uuid.patch @@ -0,0 +1,56 @@ +From 2e673aac06d661038001286fd389d1b45c511c66 Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Tue, 28 Nov 2017 13:23:17 +0100 +Subject: [PATCH] fsck: resolve LABEL=.../UUID=... spec to device + +--- + e2fsprogs/fsck.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/e2fsprogs/fsck.c b/e2fsprogs/fsck.c +index f5aa3dbe4..e2edc9747 100644 +--- a/e2fsprogs/fsck.c ++++ b/e2fsprogs/fsck.c +@@ -60,6 +60,7 @@ + //usage: "\n -t TYPE List of filesystem types to check" + + #include "libbb.h" ++#include "volume_id.h" + #include "common_bufsiz.h" + + /* "progress indicator" code is somewhat buggy and ext[23] specific. +@@ -524,12 +525,13 @@ static int wait_many(int flags) + * Execute a particular fsck program, and link it into the list of + * child processes we are waiting for. + */ +-static void execute(const char *type, const char *device, ++static void execute(const char *type, const char *spec, + const char *mntpt /*, int interactive */) + { + int i; + struct fsck_instance *inst; + pid_t pid; ++ char *device = (char *)spec; + + G.args[0] = xasprintf("fsck.%s", type); + +@@ -544,7 +546,8 @@ static void execute(const char *type, const char *device, + } + #endif + +- G.args[G.num_args - 2] = (char*)device; ++ resolve_mount_spec(&device); ++ G.args[G.num_args - 2] = device; + /* G.args[G.num_args - 1] = NULL; - already is */ + + if (G.verbose || G.noexecute) { +@@ -973,9 +976,6 @@ int fsck_main(int argc UNUSED_PARAM, char **argv) + + /* "/dev/blk" or "/path" or "UUID=xxx" or "LABEL=xxx" */ + if ((arg[0] == '/' && !opts_for_fsck) || strchr(arg, '=')) { +-// FIXME: must check that arg is a blkdev, or resolve +-// "/path", "UUID=xxx" or "LABEL=xxx" into block device name +-// ("UUID=xxx"/"LABEL=xxx" can probably shifted to fsck.auto duties) + devices = xrealloc_vector(devices, 2, num_devices); + devices[num_devices++] = arg; + continue; diff --git a/repos/core/busybox/install-fix-chown.patch b/repos/core/busybox/install-fix-chown.patch new file mode 100644 index 00000000..31ecd3c8 --- /dev/null +++ b/repos/core/busybox/install-fix-chown.patch @@ -0,0 +1,36 @@ +chown must precede chmod because on some systems, +chown clears the set[ug]id bits for non-superusers, +resulting in incorrect permissions. +diff --git a/coreutils/install.c b/coreutils/install.c +index 8270490..0256aeb 100644 +--- a/coreutils/install.c ++++ b/coreutils/install.c +@@ -244,6 +244,14 @@ int install_main(int argc, char **argv) + } + } + ++ /* Set the user and group id */ ++ if ((opts & (OPT_OWNER|OPT_GROUP)) ++ && lchown(dest, uid, gid) == -1 ++ ) { ++ bb_perror_msg("can't change %s of %s", "ownership", dest); ++ ret = EXIT_FAILURE; ++ } ++ + /* Set the file mode (always, not only with -m). + * GNU coreutils 6.10 is not affected by umask. */ + if (chmod(dest, mode) == -1) { +@@ -254,13 +262,6 @@ int install_main(int argc, char **argv) + if (use_default_selinux_context) + setdefaultfilecon(dest); + #endif +- /* Set the user and group id */ +- if ((opts & (OPT_OWNER|OPT_GROUP)) +- && lchown(dest, uid, gid) == -1 +- ) { +- bb_perror_msg("can't change %s of %s", "ownership", dest); +- ret = EXIT_FAILURE; +- } + next: + if (ENABLE_FEATURE_CLEAN_UP && isdir) + free(dest); diff --git a/repos/core/busybox/lineedit-Handle-SIGWINCH-gracefully.patch b/repos/core/busybox/lineedit-Handle-SIGWINCH-gracefully.patch new file mode 100644 index 00000000..43f48b12 --- /dev/null +++ b/repos/core/busybox/lineedit-Handle-SIGWINCH-gracefully.patch @@ -0,0 +1,61 @@ +From 63bb934c9e48d3ba1dc7f8001d423ea84b9a00c2 Mon Sep 17 00:00:00 2001 +From: Marian Buschsieweke <marian.buschsieweke@ovgu.de> +Date: Thu, 19 Jan 2023 17:18:18 +0100 +Subject: [PATCH] lineedit: Handle SIGWINCH gracefully + +Since 1.16.0 a resize of the terminal emulator resulted in ash printing +a new command line. This fixes the issue by retrying read_key() in +lineedit_read_key() on SIGWINCH, rendering reception of SIGWINCH +transparent to callers of read_line_input(). + +Fixes https://bugs.busybox.net/show_bug.cgi?id=15256 +--- + libbb/lineedit.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/libbb/lineedit.c b/libbb/lineedit.c +index d6b2e76ff..a47d9e508 100644 +--- a/libbb/lineedit.c ++++ b/libbb/lineedit.c +@@ -2149,7 +2149,7 @@ static void cmdedit_setwidth(void) + redraw((new_y >= cmdedit_y ? new_y : cmdedit_y), command_len - cursor); + } + +-static void win_changed(int nsig UNUSED_PARAM) ++static void win_changed(int nsig) + { + if (S.ok_to_redraw) { + /* We are in read_key(), safe to redraw immediately */ +@@ -2157,6 +2157,7 @@ static void win_changed(int nsig UNUSED_PARAM) + cmdedit_setwidth(); + fflush_all(); + errno = sv_errno; ++ bb_got_signal = nsig; + } else { + /* Signal main loop that redraw is necessary */ + S.SIGWINCH_count++; +@@ -2186,7 +2187,9 @@ static int lineedit_read_key(char *read_key_buffer, int timeout) + * Note: read_key sets errno to 0 on success. + */ + for (;;) { +- if ((state->flags & LI_INTERRUPTIBLE) && bb_got_signal) { ++ if ((state->flags & LI_INTERRUPTIBLE) && bb_got_signal ++ && (bb_got_signal != SIGWINCH) ++ ) { + errno = EINTR; + return -1; + } +@@ -2197,6 +2200,10 @@ static int lineedit_read_key(char *read_key_buffer, int timeout) + IF_FEATURE_EDITING_WINCH(S.ok_to_redraw = 0;) + if (errno != EINTR) + break; ++ if (bb_got_signal == SIGWINCH) { ++ bb_got_signal = 0; ++ continue; ++ } + if (state->flags & LI_INTERRUPTIBLE) { + /* LI_INTERRUPTIBLE bails out on EINTR, + * but nothing really guarantees that bb_got_signal +-- +2.39.1 + diff --git a/repos/core/busybox/lsusb-vendor-product.patch b/repos/core/busybox/lsusb-vendor-product.patch new file mode 100644 index 00000000..45747ae8 --- /dev/null +++ b/repos/core/busybox/lsusb-vendor-product.patch @@ -0,0 +1,53 @@ +diff --git a/util-linux/lsusb.c b/util-linux/lsusb.c +index e27aa7f31..b7b7abb99 100644 +--- a/util-linux/lsusb.c ++++ b/util-linux/lsusb.c +@@ -15,7 +15,16 @@ + //config: system and devices connected to them. + //config: + //config: This version uses sysfs (/sys/bus/usb/devices) only. +- ++//config: ++//config:config FEATURE_LSUSB_STRINGS ++//config: bool "Print vendor and product strings if they exist" ++//config: default y ++//config: depends on LSUSB ++//config: help ++//config: lsusb is a utility for displaying information about USB busses in the ++//config: system and devices connected to them. This option prints out the ++//config: vendor and product strings if they are available. This option ++//config: replicates a simpler version of util-linux lsusb output. + //applet:IF_LSUSB(APPLET_NOEXEC(lsusb, lsusb, BB_DIR_USR_BIN, BB_SUID_DROP, lsusb)) + + //kbuild:lib-$(CONFIG_LSUSB) += lsusb.o +@@ -37,6 +46,16 @@ static int FAST_FUNC fileAction( + int product_vid = 0, product_did = 0; + char *uevent_filename = concat_path_file(fileName, "/uevent"); + ++#if ENABLE_FEATURE_LSUSB_STRINGS ++ ssize_t vlen, plen; ++ // max length standard allows, any longer and someones being naughty ++ char vendor[256] = { 0 }, product[256] = { 0 }; ++ vlen = open_read_close(concat_path_file(fileName, "/manufacturer"), vendor, sizeof(vendor)); ++ vendor[vlen - 1] = '\0'; ++ plen = open_read_close(concat_path_file(fileName, "/product"), product, sizeof(product)); ++ product[plen - 1] = '\0'; ++#endif ++ + parser = config_open2(uevent_filename, fopen_for_read); + free(uevent_filename); + +@@ -64,7 +83,12 @@ static int FAST_FUNC fileAction( + config_close(parser); + + if (busnum) { +- printf("Bus %s Device %s: ID %04x:%04x\n", busnum, devnum, product_vid, product_did); ++ printf("Bus %s Device %s: ID %04x:%04x", busnum, devnum, product_vid, product_did); ++#if ENABLE_FEATURE_LSUSB_STRINGS ++ if(vlen) printf(" %s", vendor); ++ if(plen) printf(" %s", product); ++#endif ++ printf("\n"); + free(busnum); + free(devnum); + } diff --git a/repos/core/busybox/mdev.conf b/repos/core/busybox/mdev.conf new file mode 100644 index 00000000..2ea01809 --- /dev/null +++ b/repos/core/busybox/mdev.conf @@ -0,0 +1,111 @@ +# mdev.conf based on https://github.com/slashbeast/mdev-like-a-boss +# mdev-like-a-boss + +# Syntax: +# [-]devicename_regex user:group mode [=path]|[>path]|[!] [@|$|*cmd args...] +# [-]$ENVVAR=regex user:group mode [=path]|[>path]|[!] [@|$|*cmd args...] +# [-]@maj,min[-min2] user:group mode [=path]|[>path]|[!] [@|$|*cmd args...] +# +# [-]: do not stop on this match, continue reading mdev.conf +# =: move, >: move and create a symlink +# !: do not create device node +# @|$|*: run cmd if $ACTION=remove, @cmd if $ACTION=add, *cmd in all cases + +# support module loading on hotplug +$MODALIAS=.* root:root 660 @modprobe -b "$MODALIAS" + +# null may already exist; therefore ownership has to be changed with command +null root:root 666 @chmod 666 $MDEV +zero root:root 666 +full root:root 666 +random root:root 444 +urandom root:root 444 +hwrandom root:root 444 +grsec root:root 660 + +# webcam +video[0-9] root:video 660 + +# Kernel-based Virtual Machine. +kvm root:kvm 660 + +# vhost-net, to be used with kvm. +vhost-net root:kvm 660 + +kmem root:root 640 +mem root:root 640 +port root:root 640 +# console may already exist; therefore ownership has to be changed with command +console root:tty 600 @chmod 600 $MDEV +ptmx root:tty 666 +pty.* root:tty 660 + +# Typical devices +tty root:tty 666 +tty[0-9]* root:tty 660 +vcsa*[0-9]* root:tty 660 +ttyS[0-9]* root:dialout 660 + +# block devices +ram([0-9]*) root:disk 660 >rd/%1 +loop([0-9]+) root:disk 660 >loop/%1 +sr[0-9]* root:cdrom 660 @ln -sf $MDEV cdrom +fd[0-9]* root:floppy 660 + +net/tun[0-9]* root:kvm 660 +net/tap[0-9]* root:root 600 + +# alsa sound devices and audio stuff +pcm.* root:audio 0660 =snd/ +control.* root:audio 0660 =snd/ +midi.* root:audio 0660 =snd/ +seq root:audio 0660 =snd/ +timer root:audio 0660 =snd/ + +adsp root:audio 660 >sound/ +audio root:audio 660 >sound/ +dsp root:audio 660 >sound/ +mixer root:audio 660 >sound/ +sequencer.* root:audio 660 >sound/ +snd/.* root:audio 660 + +# raid controllers +cciss!(.*) root:disk 660 =cciss/%1 +ida!(.*) root:disk 660 =ida/%1 +rd!(.*) root:disk 660 =rd/%1 + +fuse root:root 666 + +card[0-9] root:video 660 =dri/ + +agpgart root:root 660 >misc/ +psaux root:root 660 >misc/ +rtc root:root 664 >misc/ + +# input stuff +SUBSYSTEM=input;.* root:input 660 + +# v4l stuff +vbi[0-9] root:video 660 >v4l/ +video[0-9] root:video 660 >v4l/ + +# dvb stuff +dvb.* root:video 660 + +# drm etc +dri/.* root:video 660 + +# Don't create old usbdev* devices. +usbdev[0-9].[0-9]* root:root 660 ! + +# Stop creating x:x:x:x which looks like /dev/dm-* +[0-9]+\:[0-9]+\:[0-9]+\:[0-9]+ root:root 660 ! + +# /dev/cpu support. +microcode root:root 600 =cpu/ +cpu([0-9]+) root:root 600 =cpu/%1/cpuid +msr([0-9]+) root:root 600 =cpu/%1/msr + +# libudev-zero hotplug. +SUBSYSTEM=drm;.* root:video 660 *libudev-zero-helper +SUBSYSTEM=input;.* root:input 660 *libudev-zero-helper diff --git a/repos/core/busybox/modprobe-kernel-version.patch b/repos/core/busybox/modprobe-kernel-version.patch new file mode 100644 index 00000000..2d4274ad --- /dev/null +++ b/repos/core/busybox/modprobe-kernel-version.patch @@ -0,0 +1,71 @@ +diff --git a/modutils/modprobe.c b/modutils/modprobe.c +index 0a372a049..ecb29a8fd 100644 +--- a/modutils/modprobe.c ++++ b/modutils/modprobe.c +@@ -111,7 +111,7 @@ + //usage: " from the command line\n" + //usage: + //usage:#define modprobe_trivial_usage +-//usage: "[-alrqvsD" IF_FEATURE_MODPROBE_BLACKLIST("b") "]" ++//usage: "[-alrqvsD" IF_FEATURE_MODPROBE_BLACKLIST("b") "]" " [-S VERSION]" + //usage: " MODULE" IF_FEATURE_CMDLINE_MODULE_OPTIONS(" [SYMBOL=VALUE]...") + //usage:#define modprobe_full_usage "\n\n" + //usage: " -a Load multiple MODULEs" +@@ -121,6 +121,7 @@ + //usage: "\n -v Verbose" + //usage: "\n -s Log to syslog" + //usage: "\n -D Show dependencies" ++//usage: "\n -S Set kernel version" + //usage: IF_FEATURE_MODPROBE_BLACKLIST( + //usage: "\n -b Apply blacklist to module names too" + //usage: ) +@@ -131,7 +132,7 @@ + * Note2: -b is always accepted, but if !FEATURE_MODPROBE_BLACKLIST, + * it is a no-op. + */ +-#define MODPROBE_OPTS "alrDb" ++#define MODPROBE_OPTS "alrDS:b" + /* -a and -D _are_ in fact compatible */ + #define MODPROBE_COMPLEMENTARY "q-v:v-q:l--arD:r--alD:a--lr:D--rl" + //#define MODPROBE_OPTS "acd:lnrt:C:b" +@@ -147,7 +148,8 @@ enum { + //OPT_VERONLY = (INSMOD_OPT_UNUSED << x), /* V */ + //OPT_CONFIGFILE = (INSMOD_OPT_UNUSED << x), /* C */ + OPT_SHOW_DEPS = (INSMOD_OPT_UNUSED << 3), /* D */ +- OPT_BLACKLIST = (INSMOD_OPT_UNUSED << 4) * ENABLE_FEATURE_MODPROBE_BLACKLIST, ++ OPT_KERNEL = (INSMOD_OPT_UNUSED << 4), /* S */ ++ OPT_BLACKLIST = (INSMOD_OPT_UNUSED << 5) * ENABLE_FEATURE_MODPROBE_BLACKLIST, + }; + #if ENABLE_LONG_OPTS + static const char modprobe_longopts[] ALIGN1 = +@@ -560,6 +562,7 @@ int modprobe_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; + int modprobe_main(int argc UNUSED_PARAM, char **argv) + { + int rc; ++ char *kernel; + unsigned opt; + struct module_entry *me; + +@@ -567,13 +570,20 @@ int modprobe_main(int argc UNUSED_PARAM, char **argv) + + opt = getopt32long(argv, "^" INSMOD_OPTS MODPROBE_OPTS "\0" MODPROBE_COMPLEMENTARY, + modprobe_longopts +- INSMOD_ARGS ++ INSMOD_ARGS, ++ &kernel + ); + argv += optind; + ++ /* Set user specified kernel version */ ++ if (opt & OPT_KERNEL) { ++ safe_strncpy(G.uts.release, kernel, sizeof(G.uts.release)); ++ } else { ++ uname(&G.uts); ++ } ++ + /* Goto modules location */ + xchdir(CONFIG_DEFAULT_MODULES_DIR); +- uname(&G.uts); + xchdir(G.uts.release); + + if (opt & OPT_LIST_ONLY) {
\ No newline at end of file diff --git a/repos/core/busybox/ntpd.run b/repos/core/busybox/ntpd.run new file mode 100755 index 00000000..34d2ab20 --- /dev/null +++ b/repos/core/busybox/ntpd.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec ntpd -n 2>&1 diff --git a/repos/core/busybox/pause.1 b/repos/core/busybox/pause.1 new file mode 100644 index 00000000..1e56f20a --- /dev/null +++ b/repos/core/busybox/pause.1 @@ -0,0 +1,39 @@ +.Dd September 27, 2012 +.Dt PAUSE 1 +.Os Linux +.Sh NAME +.Nm pause +.Nd don't exit, efficiently +.Sh SYNOPSIS +.Nm pause +.Sh DESCRIPTION +.Nm pause +waits to be terminated by a signal. +It can be used when service supervision is used but there is no +long-running program to supervise. +.Nm pause +uses minimal system resources. +.Sh EXAMPLES +Setting up a static IP address with +.Xr plugsv 8 . +.Pp +.Pa /etc/netsv/eth0/run : +.Bd -literal -offset indent +#!/bin/sh +ip link set eth0 up +ip addr add 192.0.2.1/24 dev eth0 +exec pause +.Ed +.Pp +.Pa /etc/netsv/eth0/finish : +.Bd -literal -offset indent +#!/bin/sh +ip addr del 192.0.2.1/24 dev eth0 +ip link set eth0 down +.Ed +.Sh SEE ALSO +.Xr sleep 1 , +.Xr pause 2 +.Sh AUTHOR +.An Leah Neukirchen , +.Mt leah@vuxu.org . diff --git a/repos/core/busybox/pause.c b/repos/core/busybox/pause.c new file mode 100644 index 00000000..4825df6b --- /dev/null +++ b/repos/core/busybox/pause.c @@ -0,0 +1,20 @@ +#include <unistd.h> +#include <signal.h> + +static void +nop(int sig) +{ +} + +int +main() +{ + signal(SIGTERM, nop); + signal(SIGINT, nop); + signal(SIGHUP, SIG_IGN); + + pause(); + + return 0; +} + diff --git a/repos/core/busybox/print-unicode.patch b/repos/core/busybox/print-unicode.patch new file mode 100644 index 00000000..178fb938 --- /dev/null +++ b/repos/core/busybox/print-unicode.patch @@ -0,0 +1,22 @@ +diff --git a/libbb/printable_string.c b/libbb/printable_string.c +index a814fd0..f4c7b00 100644 +--- a/libbb/printable_string.c ++++ b/libbb/printable_string.c +@@ -28,8 +28,6 @@ const char* FAST_FUNC printable_string2(uni_stat_t *stats, const char *str) + } + if (c < ' ') + break; +- if (c >= 0x7f) +- break; + s++; + } + +@@ -42,7 +40,7 @@ const char* FAST_FUNC printable_string2(uni_stat_t *stats, const char *str) + unsigned char c = *d; + if (c == '\0') + break; +- if (c < ' ' || c >= 0x7f) ++ if (c < ' ') + *d = '?'; + d++; + } diff --git a/repos/core/busybox/syslogd.run b/repos/core/busybox/syslogd.run new file mode 100755 index 00000000..65a7b972 --- /dev/null +++ b/repos/core/busybox/syslogd.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec syslogd -s -m0 2>&1 diff --git a/repos/core/busybox/tty1.run b/repos/core/busybox/tty1.run new file mode 100755 index 00000000..284385d5 --- /dev/null +++ b/repos/core/busybox/tty1.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec getty -L 38400 tty1 linux diff --git a/repos/core/busybox/tty2.run b/repos/core/busybox/tty2.run new file mode 100755 index 00000000..2e49f8db --- /dev/null +++ b/repos/core/busybox/tty2.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec getty -L 38400 tty2 linux diff --git a/repos/core/busybox/tty3.run b/repos/core/busybox/tty3.run new file mode 100755 index 00000000..ce2a32a0 --- /dev/null +++ b/repos/core/busybox/tty3.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec getty -L 38400 tty3 linux diff --git a/repos/core/busybox/tty4.run b/repos/core/busybox/tty4.run new file mode 100755 index 00000000..65a9beb3 --- /dev/null +++ b/repos/core/busybox/tty4.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec getty -L 38400 tty4 linux diff --git a/repos/core/busybox/tty5.run b/repos/core/busybox/tty5.run new file mode 100755 index 00000000..7f91eb13 --- /dev/null +++ b/repos/core/busybox/tty5.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec getty -L 38400 tty5 linux diff --git a/repos/core/busybox/ttyS0.run b/repos/core/busybox/ttyS0.run new file mode 100755 index 00000000..e4aadabe --- /dev/null +++ b/repos/core/busybox/ttyS0.run @@ -0,0 +1,2 @@ +#!/bin/sh +exec getty -L 38400 ttyS0 vt100 |