Mirror of Suckless' ubase (git://git.suckless.org/ubase)
Go to file
Mario Rugiero 140efda3a2 passwd: fix crashes for unencrypted passwords starting with 'x'.
When deciding where the previous hash should come from, is is
assumed that 'x' started strings all mean to look in shadow.
This is probably harmless in practice, since modern Linux still
use only hashes instead of raw passwords.
However, this is more robust, and more importantly, it is more
consistent with the previous check, which explicitly tests for
the string to be "x".
2019-01-30 11:58:55 +00:00
libutil Refactor chvt(1) 2015-09-07 11:47:10 +01:00
LICENSE LICENSE: update year and bump to top 2016-02-11 10:16:41 +00:00
Makefile Add blkdiscard(8) 2018-07-02 14:03:57 +01:00
README README: explain make ubase-box-install 2015-03-03 13:32:43 +00:00
TODO Add pwdx(1) 2016-04-20 23:08:51 +01:00
arg.h arg.h: fixed argv checks order 2016-02-22 14:36:21 +00:00
blkdiscard.8 Add blkdiscard(8) 2018-07-02 14:03:57 +01:00
blkdiscard.c Add blkdiscard(8) 2018-07-02 14:03:57 +01:00
chvt.1 Refactor chvt(1) 2015-09-07 11:47:10 +01:00
chvt.c Refactor chvt(1) 2015-09-07 11:47:10 +01:00
clear.1 Refactor clear(1) 2015-09-07 11:47:10 +01:00
clear.c Remove stdlib.h from clear(1) 2015-09-07 11:47:10 +01:00
config.def.h Add last and lastb 2014-10-16 11:28:01 +01:00
config.mk Use CC for ubase-box, remove LD 2015-09-03 19:57:21 +01:00
ctrlaltdel.8 Minor newline fix in ctrlaltdel.8 2015-09-07 12:09:59 +01:00
ctrlaltdel.c Refactor ctrlaltdel(8) 2015-09-07 12:09:59 +01:00
dd.1 dd: implement conv=notrunc support 2016-03-16 10:17:51 +00:00
dd.c dd: Use sigaction(2) to obviate select(2) 2017-10-10 16:28:15 +01:00
df.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
df.c df: Don't scream if statvfs() fails 2016-02-16 15:20:10 +00:00
dmesg.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
dmesg.c dmesg: fix usage and code-style 2015-02-06 15:16:24 +00:00
eject.1 Refactor eject(1) 2015-09-09 23:33:17 +01:00
eject.c Refactor eject(1) 2015-09-09 23:33:17 +01:00
fallocate.1 Fix fallocate(1) manpage 2015-09-14 10:15:55 +01:00
fallocate.c Refactor fallocate(1) 2015-09-14 10:15:55 +01:00
free.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
free.c code-style: cleanup 2015-02-06 15:16:24 +00:00
freeramdisk.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
freeramdisk.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
fsfreeze.8 fsfreeze: make it clear the either -f or -u must be specified, not optional 2016-03-26 19:08:10 +00:00
fsfreeze.c fsfreeze: make it clear the either -f or -u must be specified, not optional 2016-03-26 19:08:10 +00:00
getty.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
getty.c code-style: cleanup 2015-02-06 15:16:24 +00:00
halt.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
halt.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
hwclock.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
hwclock.c code-style: cleanup 2015-02-06 15:16:24 +00:00
id.1 id: Implement -n 2015-04-26 10:40:09 +01:00
id.c id: Implement -n 2015-04-26 10:40:09 +01:00
insmod.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
insmod.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
killall5.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
killall5.c Fix segfault in killall5 without -o 2018-06-30 17:31:53 +01:00
last.c last: spaces to tabs 2015-02-20 15:36:33 +00:00
lastlog.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
lastlog.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
login.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
login.c code-style: cleanup 2015-02-06 15:16:24 +00:00
lsmod.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
lsmod.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
lsusb.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
lsusb.c lsusb, ps: style: put main at bottom 2015-03-11 15:18:10 +00:00
mesg.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
mesg.c Stop using *_FILENO 2014-11-30 13:12:33 +00:00
mknod.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
mknod.c code-style: cleanup 2015-02-06 15:16:24 +00:00
mkswap.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
mkswap.c Turn enumeration into #defines 2014-11-30 12:34:26 +00:00
mount.8 mount: helper support + improvements 2015-05-11 23:35:54 +01:00
mount.c mount: don't call realpath on root target 2018-06-30 17:38:07 +01:00
mountpoint.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
mountpoint.c mountpoint: -q should not print errors 2015-05-10 13:41:23 +01:00
nologin.8 Add nologin(8) 2016-03-26 19:08:10 +00:00
nologin.c nologin: Sort includes 2016-03-26 19:08:10 +00:00
pagesize.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
pagesize.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
passwd.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
passwd.c passwd: fix crashes for unencrypted passwords starting with 'x'. 2019-01-30 11:58:55 +00:00
passwd.h passwd: fix /etc/passwd support, ... 2014-07-14 11:14:36 +01:00
pidof.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
pidof.c Use SLIST instead of TAILQ for pidof(8) 2015-10-07 13:57:24 +01:00
pivot_root.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
pivot_root.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
proc.h Rename validps() to pidfile() 2013-08-16 16:42:59 +01:00
ps.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
ps.c ps: fix argv0 position in usage line 2018-06-30 17:27:45 +01:00
pwdx.1 Add pwdx(1) 2016-04-20 23:08:51 +01:00
pwdx.c pwdx: fix off-by-one bug 2016-04-20 23:08:51 +01:00
queue.h Import sys/queue.h and move over existing tools 2014-06-30 13:06:07 +01:00
readahead.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
readahead.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
reboot.h Make ubase compile with musl-gcc 2013-08-19 16:34:18 +01:00
respawn.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
respawn.c respawn: reopen the fifo at end of line, and use read-only 2016-09-26 09:57:54 +01:00
rmmod.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
rmmod.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
rtc.h Use rtc_time 2014-06-03 15:15:21 +01:00
stat.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
stat.c code-style: cleanup 2015-02-06 15:16:24 +00:00
su.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
su.c code-style: cleanup 2015-02-06 15:16:24 +00:00
swaplabel.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
swaplabel.c Don't initialize unneeded variables in swaplabel(8) 2014-11-29 21:32:53 +00:00
swapoff.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
swapoff.c swapon, swapoff: show usage with -a device 2015-02-06 15:16:24 +00:00
swapon.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
swapon.c swapon, swapoff: show usage with -a device 2015-02-06 15:16:24 +00:00
switch_root.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
switch_root.c switch_root: execv: show error string 2015-05-10 13:41:23 +01:00
sysctl.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
sysctl.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
text.h passwd: improvements 2014-07-10 22:04:06 +01:00
truncate.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
truncate.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
umount.8 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
umount.c code-style: cleanup 2015-02-06 15:16:24 +00:00
unshare.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
unshare.c Stop using EXIT_{SUCCESS,FAILURE} 2014-10-02 23:47:39 +01:00
uptime.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
uptime.c uptime: Fix user/s printing (grammar error) when users == 0. 2019-01-30 11:25:33 +00:00
util.h Refactor fallocate(1) 2015-09-14 10:15:55 +01:00
vtallow.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
vtallow.c vtallow, who: usage using argv0 2015-02-06 15:16:23 +00:00
watch.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
watch.c watch: If period is negative default to 0.1s 2014-11-30 14:08:42 +00:00
who.1 doc: convert man pages to mandoc, fix some typos in the process 2015-02-06 15:16:23 +00:00
who.c vtallow, who: usage using argv0 2015-02-06 15:16:23 +00:00

README

ubase - suckless linux base utils
=================================

ubase is  a collection of  tools similar  in spirit to  util-linux but
much simpler.

The complement  of ubase  is sbase[1] which  mostly follows  POSIX and
provides all the portable tools.  Together they are intended to form a
base system similar to busybox but much smaller and suckless.

Building
--------

To  build ubase,  simply  type  make.  You  may  have  to fiddle  with
config.mk and config.h depending on your system.

You  can  also  build  ubase-box,  which  generates  a  single  binary
containing  all  the  required  tools.    You  can  then  symlink  the
individual tools to ubase-box or run: make ubase-box-install.

To run the tools for ubase-box directly use: ubase-box cmd [args]

Ideally you will  want to statically link ubase.   We highly recommend
using musl-libc[2].

ubase is known to compile with gcc, clang and tcc.

[1] http://git.suckless.org/sbase/
[2] http://www.musl-libc.org/