suckless linux base utils
git clone git://git.2f30.org/ubase.git
Log | Files | Refs | README | LICENSE

DateCommit messageAuthorFiles+-
2016-09-25 10:24respawn: reopen the fifo at end of line, and use read-onlyMattias Andrée1+21-14
2016-04-24 16:46passwd: fix function def stylesin1+2-2
2016-03-26 14:46pwdx: fix off-by-one bugMattias Andrée1+1-1
2016-03-26 11:58Add pwdx(1)Mattias Andrée4+66-1
2016-03-26 10:37fsfreeze: make it clear the either -f or -u must be specified, not op…Mattias Andrée2+3-3
2016-03-26 19:06nologin: Sort includessin1+1-1
2016-03-26 10:30Add nologin(8)Mattias Andrée3+45-0
2016-03-16 09:23dd: implement conv=notrunc supportEivind Uggedal2+9-4
2016-03-15 21:06dd: truncate file when using seek=Eivind Uggedal1+9-0
2016-03-15 20:27dd: don't let failure to change pipe size affect exit codeEivind Uggedal1+1-0
2016-03-15 20:16dd: allow count=0Eivind Uggedal1+2-1
2016-03-15 16:03dd: remove if= noatime optimizationEivind Uggedal1+0-6
2016-03-15 16:02dd: always create of= even if seek= is usedEivind Uggedal1+2-2
2016-02-22 14:03arg.h: fixed argv checks orderLucas Gabriel Vuotto1+2-2
2016-02-16 15:19df: Don't scream if statvfs() failssin1+2-5
2016-02-11 14:25Use estrlcat where possibleFRIGN1+2-4
2016-01-28 21:53mount: fix mount helper fs option handlingBrad Barden1+21-11
2016-01-06 18:00LICENSE: update year and bump to topHiltjo Posthuma1+1-1
2016-01-01 10:05fix several problems in ddizabera1+29-37
2016-01-01 10:32Update copyright yearssin1+2-2
2015-10-07 12:53Use SLIST instead of TAILQ for pidof(8)sin1+6-12
2015-10-07 12:50Use SLIST instead of TAILQ for killall5(8)sin1+6-12
2015-09-12 20:52Fix fallocate(1) manpageFRIGN1+6-6
2015-09-10 22:27Refactor fallocate(1)FRIGN3+51-28
2015-09-09 22:04Refactor eject(1)FRIGN2+47-28
2015-09-07 11:07Minor newline fix in ctrlaltdel.8FRIGN1+1-2
2015-09-07 11:04Add myself to LICENSEFRIGN1+1-1
2015-09-07 11:02Refactor ctrlaltdel(8)FRIGN2+23-24
2015-09-07 10:36Remove stdlib.h from clear(1)FRIGN1+0-1
2015-09-07 10:33Refactor clear(1)FRIGN2+16-2
2015-09-07 10:21Refactor chvt(1)FRIGN5+115-19
2015-09-07 09:28Fix buildFRIGN1+1-1
2015-09-03 18:56Use CC for ubase-box, remove LDsin2+1-2
2015-07-09 20:25uptime.c: Use the UTMP_PATH from config.def.hYpnose1+1-1
2015-05-10 16:19mount: helper support + improvementsHiltjo Posthuma2+139-32
2015-05-10 12:17switch_root: execv: show error stringHiltjo Posthuma1+1-1
2015-05-10 12:16mountpoint: -q should not print errorsHiltjo Posthuma1+20-5
2015-05-10 11:49strlcpy, strlcat: print program name, use for usageHiltjo Posthuma4+30-8
2015-05-10 10:17mountpoint: style, order flagsHiltjo Posthuma1+5-5
2015-04-26 09:38id: Implement -ntm5122+44-10
2015-04-03 22:08Makefile: missing ubase-box-install in PHONYYpnose1+1-1
2015-03-30 20:32TODO: update, thanks YpnoseHiltjo Posthuma1+20-20
2015-03-08 12:08lsusb, ps: style: put main at bottomHiltjo Posthuma2+55-57
2015-02-28 14:39README: explain make ubase-box-installHiltjo Posthuma1+2-2
2015-02-28 12:58make rule: ubase-box-installHiltjo Posthuma1+12-0
2015-02-26 09:45Add tabs(1) to TODOFRIGN1+1-0
2015-02-25 22:04add tput to TODOsin1+1-0
2015-02-22 11:02mount: use libutil/concat instead of custom catfileHiltjo Posthuma1+3-20
2015-02-22 11:08Sync concat() from sbasesin1+6-5
2015-02-20 15:21mount: support "noauto" in /etc/fstabHiltjo Posthuma1+2-0
2015-02-20 15:16mount: change mounted() checkHiltjo Posthuma1+14-12
2015-02-20 15:14mount: catfile: return 0 or -1Hiltjo Posthuma1+3-3
2015-02-20 15:08last: spaces to tabsHiltjo Posthuma1+1-1
2015-02-06 14:20swapon, swapoff: show usage with -a deviceHiltjo Posthuma2+8-10
2015-02-06 14:19code-style: cleanupHiltjo Posthuma16+325-337
2015-02-06 14:10dmesg: fix usage and code-styleHiltjo Posthuma1+16-17
2015-02-02 18:58fsfreeze: fix usage line, either -f or -uHiltjo Posthuma1+1-1
2015-02-02 18:58vtallow, who: usage using argv0Hiltjo Posthuma2+2-2
2015-02-02 18:56dd: code-style, linewrapHiltjo Posthuma1+7-6
2015-02-02 18:56chvt: usage using argv0Hiltjo Posthuma1+4-1
2015-02-02 18:54dd.1: fixHiltjo Posthuma1+3-2
2015-02-02 17:46Makefile: make man pages with ubase VERSIONHiltjo Posthuma1+2-2
2015-02-02 17:34doc: convert man pages to mandoc, fix some typos in the processHiltjo Posthuma48+1168-751
2015-02-03 11:31support llvm-arEon S. Jeon1+1-1
2015-02-02 22:32dd: Only sync oncesin1+1-1
2015-01-26 19:25Add Risto to LICENSEsin1+1-0
2015-01-26 18:53Fix df hanging when statvfs() fails.Risto Salminen1+12-5
2015-01-16 16:19Don't do a blocking open in ttytostr()sin1+1-1
2015-01-16 16:06Handle cleanup properly in ttytostr()sin1+14-6
2015-01-16 16:02Check if the ttymaj/ttymin match is actually a ttysin1+12-3
2015-01-16 15:54Use TTY_NAME_MAX instead of PATH_MAXsin1+1-1
2015-01-16 15:32Properly match (ttymaj, ttymin) pairs to tty names in /devsin3+65-32
2014-12-31 22:01Update LICENSEsin1+1-1
2014-12-23 18:10Update LICENSE file just like for sbasesin1+13-10
2014-12-05 19:06Rename to unlock/lock as opposed to enable/disablesin1+1-1
2014-12-05 15:41Add vtallow.1sin3+24-1
2014-12-05 15:04Add vtallow(1) to enable or disable VT switchsin2+53-0
2014-11-30 14:12Use -D_XOPEN_SOURCE=700sin1+1-1
2014-11-30 14:08watch: If period is negative default to 0.1ssin1+2-0
2014-11-30 14:03Update watch(1) to handle more accurate intervalssin1+10-4
2014-11-30 13:28No need for dmesg_show() to have an fdsin1+4-4
2014-11-30 13:12Stop using *_FILENOsin9+20-22
2014-11-30 13:04Check if 0, 1, 2 are valid tty file descriptorssin1+2-2
2014-11-12 11:49Rework tty setup in getty(8)sin1+14-15
2014-11-30 12:33Turn enumeration into #definessin1+3-2
2014-11-30 12:30Break out libs into LDLIBSsin2+4-3
2014-11-30 12:09Bring in the sbase Makefile updates to ubasesin2+130-145
2014-11-29 21:44Rename util/ to libutil/sin33+666-666
2014-11-29 21:43Remove tools from READMEsin1+0-50
2014-11-29 21:32Don't initialize unneeded variables in swaplabel(8)sin1+4-4
2014-11-29 21:09Add swaplabel(8)Jan Tatje5+94-1
2014-11-24 11:30No boolsin1+0-1
2014-11-17 16:03Sync up util/*.c from sbasesin6+11-18
2014-11-10 23:36Properly signal failure if command fails in ubase-boxsin1+1-1
2014-11-07 20:39Update TODO stylesin1+32-32
2014-11-07 11:41Add last(1) manpage to TODOsin1+1-0
2014-11-01 15:59Remove hwclock from TODOsin1+0-1
2014-10-18 17:22df -hk should disable -h and df -kh should disable -ksin1+2-3
2014-10-18 17:15Implement df -hkJeffrey Picard1+66-7
2014-10-17 15:07Remember to include libgen.h for basename(3)sin2+2-0
2014-10-16 11:36Update list of tools in READMEsin1+1-0
2014-10-16 10:40We cannot use eprintf() without first initializing argv0sin1+11-7
2014-10-16 10:31Remove last from TODOsin1+0-1
2014-10-16 10:29Update only the modified objects in util.aRoberto E. Vargas Caballero1+1-1
2014-10-16 10:27Add last and lastbRoberto E. Vargas Caballero3+68-1
2014-10-16 10:19Update TODOsin1+1-0
2014-10-02 22:50Nuke last EXIT_SUCCESSsin1+1-1
2014-10-02 22:45Stop using EXIT_{SUCCESS,FAILURE}sin46+72-72
2014-09-28 17:35Update TODOsin1+1-0
2014-09-04 10:51No need for putchar('\n') after getpass()sin1+1-1
2014-08-25 18:14Check for cmd truncation in watch(1)sin1+6-3
2014-08-25 14:37Remove unnecessary newline output from suWolfgang Corcoran-Mathe1+1-1
2014-08-20 19:37Rework parsecmdline()sin1+7-4
2014-08-18 21:32Add lastlog to READMEsin1+1-0
2014-08-18 21:02Use agetline() in lastlog(8)sin1+9-5
2014-08-18 20:55Convert lastlog(8) to {w,}eprintf()sin2+18-19
2014-08-18 20:49Only check errno if getpwnam() failssin1+7-5
2014-08-18 17:24Add lastlog(8)Roberto E. Vargas Caballero4+89-0
2014-08-04 20:02Only work with stderr in mesgsin1+5-5
2014-08-04 19:59Add mesg.1sin2+20-0
2014-08-04 19:59Associate perms on stderr as opposed to stdinsin1+1-1
2014-07-26 23:01Update TODOsin1+1-0
2014-07-26 14:51Only "y" and "n" are valid, nothing elsesin1+2-2
2014-07-26 14:35Add mesg to READMEsin1+45-5
2014-07-26 14:31Add mesg(1)sin2+54-0
2014-07-14 18:16Add less/pg to TODOsin1+1-0
2014-07-14 18:01Add fakerootsin1+1-0
2014-07-14 12:29Fix include ordersin1+3-4
2014-07-13 19:55passwd: fix /etc/passwd support, ...Hiltjo Posthuma3+133-215
2014-07-12 20:33passwd: fix potential double close()Hiltjo Posthuma1+0-1
2014-07-12 20:32ps: one case for error handlingHiltjo Posthuma1+2-6
2014-07-10 17:51passwd: improvementsHiltjo Posthuma6+159-68
2014-07-09 15:52ps: whoops wrong copy-pasterinoHiltjo Posthuma1+1-1
2014-07-09 15:42Only check errno if getpwuid() failsHiltjo Posthuma1+6-2
2014-07-09 15:39code consistency fixesHiltjo Posthuma17+58-57
2014-07-09 15:04login: separate write utmp in a separate functionHiltjo Posthuma1+36-28
2014-07-09 14:56errno: check only errno if return value was NULLHiltjo Posthuma3+18-14
2014-07-09 14:08util/passwd.c: check errno only if spw is NULLHiltjo Posthuma1+5-5
2014-07-06 20:35Kick off respawn in its own sessionsin1+2-0
2014-07-06 20:08respawn: kill child process upon SIGTERMsin1+12-2
2014-07-05 15:47pidof: fix typo, argv[0] -> argv[i]Hiltjo Posthuma1+1-1
2014-07-05 12:51util/proc: theoretical underflowHiltjo Posthuma1+5-2
2014-07-05 12:50pidof: match on full name and basenameHiltjo Posthuma1+6-3
2014-07-04 10:45Print header after trying to open /proc/modulessin1+3-2
2014-07-03 13:24Remove entries from TAILQ when free-ingsin2+2-0
2014-07-02 11:03Only call fwrite() and fclose() when fp is not NULLsin1+7-5
2014-07-02 10:51More error checking for fwrite()sin1+3-1
2014-07-02 10:49Just die if ttyname() failssin1+1-1
2014-07-01 14:48Set UTMP_PATH in config.def.hsin5+12-7
2014-07-01 14:42login: Write utmp entrysin1+23-0
2014-07-02 10:45Clear utmp entries for the specified tty in getty(8)sin1+27-2
2014-06-30 21:42Replace fprintf(stderr, ...) calls with weprintf()sin5+8-21
2014-06-30 21:37Incomplete output is not an errorsin1+6-9
2014-06-30 15:55No need to skip stdin in chvt(1)sin1+1-1
2014-06-30 18:15Use EXIT_FAILUREsin1+1-1
2014-06-30 18:03Fix includes across all toolssin51+181-93
2014-06-30 17:42List function decls in alphabetical ordersin1+5-5
2014-06-30 15:50Use estrtol() instead of atoi()sin1+11-10
2014-06-30 15:43Simplify dmesg_show()sin1+7-31
2014-06-30 15:35Use a bitwise-xor to determine incompatible flagssin1+1-2
2014-06-30 14:58Add some error checking to util/recurse.csin1+10-10
2014-06-30 14:39Sync util/recurse.c with that of sbasesin3+33-26
2014-06-30 13:18Mention config.h in READMEsin1+1-1
2014-06-30 13:17Add comment to clarify "$6$"sin1+1-1
2014-06-30 13:14Add readahead.8sin2+12-0
2014-06-30 13:07Add David to LICENSEsin1+1-0
2014-06-30 13:05Import strl{cpy,cat}() from sbasesin2+85-22
2014-06-30 11:58Import sys/queue.h and move over existing toolssin4+696-34
2014-06-28 22:43Update TODOsin1+3-0
2014-06-28 20:02Update READMEsin1+3-1
2014-06-28 10:28No need to include sys/ioctl.h in watch(1)sin1+0-1
2014-06-28 10:28Check some more ioctl() calls for errorssin2+4-3
2014-06-27 16:02Add readahead(8)sin4+40-3
2014-06-27 10:57Fix switch_root delete_content()sin1+29-28
2014-06-27 10:47Bail out on path truncationsin1+4-2
2014-06-27 10:44Ensure that path[0] == '\0' upon entry to delete_content()sin1+1-1
2014-06-26 15:38Update program list in TODOsin1+5-5
2014-06-26 15:34Add a misc section in TODOsin1+7-0
2014-06-26 15:33Add more programs to TODOsin1+9-0
2014-06-26 15:17Check FIFREEZE/FITHAW ioctl for failuresin1+2-1
2014-06-26 15:16Add freeramdisk(8)sin3+47-0
2014-06-26 15:03Style fix for insmod.8sin1+3-3
2014-06-26 15:02Add fsfreeze.8sin2+25-0
2014-06-14 19:39Fix missing parensin1+1-1
2014-06-14 15:48Add fsfreeze(8)sin2+52-0
2014-06-14 12:13Replace fgets() with agetline()sin3+15-7
2014-06-13 14:20sysctl: Add support for loading key:value pairs from filesin2+81-44
2014-06-11 14:42Implement -g and -u for id(1)sin2+14-2
2014-06-11 12:03Ensure a select() failure is properly signalled to the callersin1+2-1
2014-06-11 11:59Re-order some code in dd(1)sin1+2-2
2014-06-11 11:57Use select() in dd(1)sin1+54-40
2014-06-11 10:55Update dd usagesin1+1-1
2014-06-11 10:49Add dd(1) manpagesin2+46-0
2014-06-11 10:22Fix dd(1) usage linesin1+1-1
2014-06-10 10:38Disable core dumps in case passwd(1) crashessin3+17-0
2014-06-09 15:46Add password cipher type in config.def.h - default to SHA-512sin2+4-2
2014-06-09 15:42Add passwd.1 to MAN1sin1+1-0
2014-06-09 15:40Add passwd manpagesin4+17-4
2014-06-09 12:03Print "incorrect password" when checking empty passwords as wellsin1+6-2
2014-06-09 11:58Fix pw_check() semantics and style - it is now similar to pw_copy()sin3+28-15
2014-06-09 11:53Simplify a bit pw_check()sin1+3-9
2014-06-09 11:46Fix passwd semanticssin1+16-15
2014-06-09 11:33If root starts passwd don't ask for current passwordsin1+5-0
2014-06-09 11:06If the user password is empty check it against the provided pass as w…sin1+1-1
2014-06-09 09:59Port login(1) to pw_check()sin1+5-41
2014-06-09 09:55Port su(1) to use pw_check()sin1+5-46
2014-06-09 09:51Add initial pw_check()sin2+92-48
2014-06-07 17:35mount: remove stat, not needed since we use realpathHiltjo Posthuma1+0-3
2014-06-07 17:21mount: resolve path givenHiltjo Posthuma1+6-1
2014-06-05 16:38OK we had our fun, now remove the randquotes from su.csin1+1-25
2014-06-05 16:16Print errors on the next linesin2+2-0
2014-06-05 16:12Allow the user to change from an empty passwordsin1+13-3
2014-06-05 15:56Remember to free the agetline() buffersin1+1-0
2014-06-05 11:48Add initial implementation of passwd(1)sin8+290-5
2014-06-05 11:12the shell field in passwd is optional - fallback to /bin/shsin2+15-10
2014-06-05 10:28Bring back some C89/C90 elementsFRIGN3+8-5
2014-06-04 19:50Staticise copy_splice()sin1+2-1
2014-06-04 14:31Use %1023s as opposed to %1023csin1+6-6
2014-06-04 14:11define -D_XOPEN_SOURCE in config.mksin3+1-3
2014-06-04 14:08Add -D_FILE_OFFSET_BITS=64 to config.mksin1+1-1
2014-06-04 12:48Simplify print_stat()sin1+2-3
2014-06-04 12:34Fallback to pagesize transfers in dd(1)sin1+6-2
2014-06-04 12:31ubase builds with clang as wellsin1+1-1
2014-06-04 12:17Use the macros from inttypes.h to properly print uint64_tsin1+7-3
2014-06-04 12:11Add dd to README and remove from TODOsin2+1-2
2014-06-04 12:07Use estrtoul() in dd(1)sin4+34-4
2014-06-04 12:02Ensure a proper exit codesin1+2-2
2014-06-04 11:59Use eprintf() wherever possible, add -h to optionssin1+6-3
2014-06-04 11:12Nuke a harmless warningsin1+1-1
2014-06-04 10:39Add initial version of dd(1).sin2+270-0
2014-06-04 09:56Clarify that hwclock(8) uses /dev/rtc as the default devnodesin1+2-1
2014-06-03 17:56Fix login(1) -p semantincs once and for allsin2+6-7
2014-06-03 17:23Clarify in login.1 that TERM is set as wellsin1+1-1
2014-06-03 17:19Set TERM to linux if needed for su and loginsin2+2-1
2014-06-03 15:24Print a warning for -w to let the user know that we are assuming UTCsin1+1-0
2014-06-03 15:20Add hwclock(8) manpagesin2+25-0
2014-06-03 15:04Allow to specify the rtc devnode for hwclock(8)sin1+6-1
2014-06-03 14:52Implement -s support for hwclock(8)sin1+50-23
2014-06-03 14:41Add hwclock in READMEsin1+5-4
2014-06-03 14:33Remove -pedantic from default config.mksin1+1-1
2014-06-03 14:04Use rtc_timesin2+45-5
2014-06-03 13:46Add initial version of hwclock(8)sin3+110-1
2014-06-03 11:45Add hwclock to TODOsin1+1-0
2014-06-03 11:38Remove login from TODOsin1+0-1
2014-06-03 11:38Update TODOsin1+8-2
2014-06-03 11:34Use -std=c99 and -pedantic in default config.mksin1+1-1
2014-06-03 11:29Inform the user if exec*() failssin1+8-4
2014-06-03 11:27Use correction function name in error messagesin1+1-1
2014-06-03 11:24Simplify dologin() in su(1)sin1+12-31
2014-06-03 11:13Remove explicit_bzero() callssin2+0-10
2014-06-03 11:09Add /etc/passwd support to su(1)sin1+42-18
2014-06-03 10:03Remove BUGS section from login.1 - we now have shadow supportsin1+0-3
2014-06-03 10:03I am stupid.sin1+5-5
2014-06-03 09:55Add shadow support to login(1)sin1+43-18
2014-06-03 09:45Check if stdin is a ttysin1+4-1
2014-06-02 16:33Be consistent with login(1) usagesin1+2-2
2014-06-02 16:14/bin is good enoughsin1+2-2
2014-06-02 16:14use lowercase for errorssin1+1-1
2014-06-02 16:04Simplify loginFRIGN1+7-14
2014-06-02 16:02Print getpass() errors on a newlinesin1+1-1
2014-06-02 15:49Add login(1) to READMEsin1+2-2
2014-06-02 15:50Not all password entries start with '$'sin1+0-4
2014-06-02 15:41Add login(1) manpagesin2+17-0
2014-06-02 15:15Consistent error reportingsin1+1-1
2014-06-02 13:55Remember to #define _XOPEN_SOURCE for crypt()sin1+1-0
2014-06-02 13:00Add initial implementation of login(1)sin2+110-0
2014-05-06 12:36str* is in the reserved namespace, rename to replacestr()sin1+7-7
2014-05-01 11:00First release of ubase!sin1+1-1
2014-04-30 12:15su: zero out encrypted passwordsJakob Kramer1+2-0
2014-04-30 12:08Sweep through code and replace malloc() with emalloc() etc.sin9+11-31
2014-04-30 12:01Add ealloc.c with wrappers for emalloc() and friendssin3+75-2
2014-04-30 11:28Add LICENSE header in explicit_bzero.csin1+1-0
2014-04-30 11:26Use explicit_bzero() in susin1+1-3
2014-04-30 11:25Add explicit_bzero() in util/sin3+22-9
2014-04-22 15:35Add random replies for failed password attempts in su(1)sin1+26-2
2014-04-21 10:48Implement fifo listener mode for respawnsin2+47-4
2014-04-22 13:59keep usage definition above main in ubasedwts1+6-7
2014-04-21 10:43Remove -Os from config.mksin1+1-1
2014-04-18 10:49Fix char **argv to char *argv[]sin4+4-4
2014-04-18 10:34Style fix for respawnsin1+1-1
2014-04-18 08:39For consistency with other similar constructs in ubasesin1+1-1
2014-04-18 08:30variable cannot be NULL so don't test for thatsin1+13-15
2014-04-17 18:05Use streplace() in setsysctl() as wellsin1+6-5
2014-04-17 16:15No need for a temporary variable in streplace()sin1+3-5
2014-04-17 16:05If at least one entry fails, return EXIT_FAILURE in sysctlsin1+6-1
2014-04-17 16:01Error out if there are multiple separators in sysctlsin1+14-4
2014-04-17 15:38Implement streplace()sin1+16-8
2014-04-17 15:29Remember to convert '/' back to '.' in sysctl before returningsin1+4-0
2014-04-17 15:22Don't leak `buf' if realloc failssin1+5-3
2014-04-17 15:13Don't hardcode the buffer size in sysctlsin1+24-13
2014-04-17 14:18Add initial implementation of sysctl(8)sin5+151-2
2014-04-17 13:09Add respawn to READMEsin1+2-2
2014-04-17 13:00Add respawnsin3+68-0
2014-04-14 14:19Add manpages to Makefilesin1+30-2
2014-04-14 13:59Inline the *_MAGIC defines to avoid a dependency on kernel_headerssin1+3-1
2014-04-14 13:55Add commented out # -static in config.mksin1+1-1
2014-04-14 13:52Initialize size to 0 to avoid gcc warningssin1+2-2
2014-04-14 13:48Add -s to LDFLAGSsin1+1-1
2014-04-14 13:44Simplify config.mk and update README for tccsin2+5-9
2014-04-14 13:26Add switch_root manpageFRIGN1+15-0
2014-04-14 11:48Inlcude <string.h> as well for strcmp()sin1+6-5
2014-04-14 10:32Simplify skipping "." and ".." in switch_rootsin1+2-3
2014-04-14 10:27Fixup error message in switch_rootsin1+2-2
2014-04-14 10:23Include limits.h instead of linux/limits.hsin1+1-1
2014-04-14 10:22Use *_FILENO instead of hardcoding constantssin1+4-7
2014-04-14 10:20Some more stylistic changes to switch_rootsin1+15-24
2014-04-14 08:53Add switch_root to READMEsin1+2-2
2014-04-14 08:46Remember to return EXIT_FAILURE from main()sin1+1-0
2014-04-13 15:30Add a SEE ALSO section for the umount manpagesin1+2-0
2014-04-13 22:07Implement switch_rootFRIGN3+139-0
2014-04-14 08:27Be consistent with the escape sequences in the manpagessin1+6-6
2014-04-13 22:29update who.1 to list the -l optiondwts1+1-1
2014-04-13 21:13add more info to unshare.1dwts1+11-4
2014-04-13 16:45Remove implemented items from TODOsin1+0-4
2014-04-13 16:44Add mount manpagesin1+33-0
2014-04-13 16:30Add ps manpagesin1+26-0
2014-04-13 16:23Add su manpage and fix su usage linesin2+21-1
2014-04-13 16:00Fix some more inconsistenciessin2+4-3
2014-04-13 15:54Break line in mknod.1sin1+2-1
2014-04-13 15:50Fix typosin1+1-1
2014-04-13 15:40Fix manpage stylesin13+58-29
2014-04-13 15:36Add pidof manpagesin1+18-0
2014-04-13 15:28Fix uptime manpagesin1+1-1
2014-04-13 15:28Add umount manpage and fix umount usagesin2+29-1
2014-04-13 15:14Add uptime manpagesin1+12-0
2014-04-13 13:53Add watch manpagesin1+19-0
2014-04-13 13:45Add dd to TODOsin1+1-0
2014-04-13 13:45Add truncate manpagesin1+18-0
2014-04-12 17:13add unshare.1, swapon.8, swapoff.8 and update df.1s-p-k4+68-1
2014-04-12 17:20add pivot_root.8s-p-k1+8-0
2014-04-12 14:21Add rmmod manpagesin1+23-0
2014-04-12 14:11Add mountpoint manpagesin1+19-0
2014-04-12 14:03Add mkswap manpagesin1+12-0
2014-04-12 13:57Add pagesize manpagesin1+8-0
2014-04-12 13:37Add killall5 manpagesin1+16-0
2014-04-12 13:30Add insmod manpage and fix insmod usagesin2+11-1
2014-04-12 13:22Add getty manpagesin1+11-0
2014-04-12 13:16Capitalize the one-line description in manpagessin14+14-14
2014-04-12 13:13Add free manpagesin1+17-0
2014-04-12 13:04Add fallocate manpagesin1+18-0
2014-04-12 13:03Forgot SEE ALSO in who.1sin1+1-0
2014-04-12 12:55Minor stylisic changes to manpagessin4+6-7
2014-04-12 12:53Add dmesg manpage and fix dmesg usagesin2+19-1
2014-04-12 12:47Add ctrlaltdel manpagesin1+18-0
2014-04-12 12:38Manpage overhaulsin11+64-114
2014-04-11 22:45Don't prefix error messages with the program namesin2+5-5
2014-04-10 10:21Error out if dup2 doesn't return the fd we wantsin1+6-3
2014-04-06 11:23rmmod: fix segfault if '.' is not foundHiltjo Posthuma1+1-1
2014-04-05 09:56mount: style for loop in catfile()Hiltjo Posthuma1+1-3
2014-04-05 09:56mount: loop until no opt optionsHiltjo Posthuma1+1-1
2014-04-04 17:39mount: rename bufsiz to datasiz for clarityHiltjo Posthuma1+2-2
2014-04-04 17:41mount: cat /proc/mounts if no arguments givenHiltjo Posthuma1+27-2
2014-04-04 17:03mount: add defaults option, it does nothingHiltjo Posthuma1+1-0
2014-04-04 17:00stat: implement -t (terse mode)Hiltjo Posthuma1+19-1
2014-04-04 15:05stat: declare initial functions to use at the topHiltjo Posthuma1+6-13
2014-03-31 11:18Update READMEsin1+29-4
2014-03-28 15:56Be consistent and use #ifdef instead of #ifsin1+1-1
2014-03-28 15:52Prefix error/warning messages with program name if DEBUG is definedsin1+3-1
2014-03-25 12:38Print system login processes correctly when doing who -lsin1+2-3
2014-03-22 11:29mount: mounted(): dont exit on non-fatal thingsHiltjo Posthuma1+9-5
2014-03-22 10:49mount: use simple error status codes for nowHiltjo Posthuma1+4-6
2014-03-18 14:38Don't print errors for already mounted filesystemssin1+25-1
2014-03-18 14:26Use /proc/mounts instead of /etc/mtabsin1+2-2
2014-03-18 14:19Don't list dummy rootfs by defaultsin1+8-1
2014-03-17 12:55Remove implemented items from TODOsin1+0-2
2014-03-17 12:46Fix indentation for mount(8)sin1+20-20
2014-03-17 12:26Implement -o for killall5sin1+37-2
2014-03-15 20:45mount: only use source if not setHiltjo Posthuma1+3-2
2014-03-15 19:25Only complain for a missing /etc/fstabsin1+2-1
2014-03-15 18:47mount: use mount error status code when mount failedHiltjo Posthuma1+4-2
2014-03-15 18:46mount: fix bug where target mountpoint would not be usedHiltjo Posthuma1+2-1
2014-03-15 18:45mount: match mountpoint error message with util-linuxHiltjo Posthuma1+1-1
2014-03-15 18:28mount: show devicename in error output for clarityHiltjo Posthuma1+2-2
2014-03-15 18:48Check strdup() for failuresin1+2-0
2014-03-15 18:44umount -a should unmount in the reverse ordersin1+13-3
2014-03-15 18:37Factor out umount -a into a separate functionsin1+26-17
2014-03-15 18:10Print mnt_dir as well if umount2 fails.sin1+2-2
2014-03-15 16:11mount: match on source rule too if argument is setHiltjo Posthuma1+3-1
2014-03-15 16:11mount: if no options flag given, use matched mount rule optionsHiltjo Posthuma1+3-0
2014-03-15 16:10mount: implement some error status codes for mount -aHiltjo Posthuma1+9-4
2014-03-15 16:08mount: just set data empty in declarationHiltjo Posthuma1+1-3
2014-03-15 14:01Use weprintf() instead of fprintf() for mount(8)sin1+2-3
2014-03-15 13:26Major mount(8) refactorHiltjo Posthuma1+95-101
2014-03-12 14:35Don't umount proc in umount -asin1+3-0
2014-03-12 14:33umount(8) should look in /etc/mtabsin1+2-2
2014-03-12 14:29Don't prefix messages with the tool name by defaultsin1+2-0
2014-03-12 14:28Update umount usagesin1+3-1
2014-03-12 14:20Replace perror() with weprintf()sin1+2-2
2014-03-12 14:18Add weprintf()sin2+18-0
2014-03-07 14:00No need to have ':' in perror()sin1+2-2
2014-03-07 13:52Set ret to EXIT_FAILURE if umount2() actually failssin1+3-2
2014-03-07 13:49Implement umount -asin1+24-3
2014-03-07 13:43Implement mount -asin1+23-4
2014-03-06 15:06Fix style issuesin1+1-1
2014-03-06 11:13Add initial version of killall5(8)sin2+79-0
2014-02-27 15:08Fix some more instances of enprintf(EXIT_FAILURE, ...);sin4+8-9
2014-02-27 14:57Simply use eprintf() instead of enprintf()sin1+5-5
2014-02-27 14:30Update manpages - these tools are in ubase nowsin3+3-3
2014-02-27 14:27Import id(1) from sbasesin3+151-0
2014-02-24 13:51The flag for unshare(1) is 'U' not 'u'sin1+1-1
2014-02-24 13:50Update unshare(1) usagesin1+1-1
2014-02-24 13:39Convert mount(8) to mntent and kill grabmntinfo.[ch]sin4+18-61
2014-02-24 12:58Add -Wextra in config.mksin1+1-1
2014-02-24 12:26Use setenv() instead of putenv() in gettysin1+4-6
2014-02-17 11:30Preserve getty environment in loginsin1+1-1
2014-02-15 18:34Convert mountpoint(1) to use mntentsin1+13-19
2014-02-15 18:26Check setmntent() for failuressin2+4-0
2014-02-15 18:24Use mntent in df(1)sin1+10-13
2014-02-15 18:18Fix indentationsin2+5-5
2014-02-14 15:03Import who from sbasesin3+92-1
2014-02-11 13:08Remember to reset ownership and permissions on the tty devicesin1+5-0
2014-02-14 14:04Add Hiltjo Posthuma to LICENSEsin1+1-0
2014-02-14 13:52remove some signed / unsigned type warningsHiltjo Posthuma5+14-12
2014-02-14 13:49su: set default 'root', fixes a uninitialised variable warningHiltjo Posthuma1+3-4
2014-02-14 13:48stat: assign fn before loopHiltjo Posthuma1+10-2
2014-02-14 13:35truncate: match coreutils truncate behaviourHiltjo Posthuma1+15-6
2014-02-14 13:42lsusb: initialize variables to 0, fix type warningHiltjo Posthuma1+1-2
2014-02-14 13:38clear, watch: use 0x1b instead of non-standard \eHiltjo Posthuma2+2-2
2014-02-14 11:12mount: siz variable can potentially be used uninitializedHiltjo Posthuma1+1-4
2014-02-13 12:25Return an error if we can't open the files in /procsin3+9-6
2014-02-11 11:09Print hostname as well in gettysin1+4-1
2014-02-11 10:55Use LOGIN_NAME_MAX instead of a hardcoded valuesin1+2-1
2014-02-11 10:36Allow getty to execute another program instead of /bin/loginsin1+4-4
2014-02-11 10:14Don't die on vhangup() failuresin1+4-5
2014-02-10 19:28Use calloc() instead of malloc() + memset()sin1+1-2
2014-02-10 19:06Ensure opts is null-terminated before calling strcat()sin1+1-0
2014-02-10 15:47Don't put '\n' in gettysin1+0-1
2014-02-10 15:16su is after statsin1+1-1
2014-02-10 15:04Ensure getty prompts for the usernamesin1+27-2
2014-02-10 13:14Guard against strlcpy()/strlcat() being implemented as macrossin3+4-0
2014-02-10 12:32Always print the program namesin1+1-1
2014-02-10 12:12Add initial version of gettysin3+81-1
2014-02-09 12:32Remove implemented items from TODOsin1+0-2
2014-02-09 12:25Use config.def.hsin3+12-7
2014-02-09 11:07Add Carlos J. Torres to LICENSEsin1+1-0
2014-02-09 03:24prefer swap device optionCarlos J. Torres1+4-1
2014-02-08 17:54disable all swap devicesCarlos J. Torres1+29-8
2014-02-08 17:44add -a flag to enable all swap devices unless noauto opt is setCarlos J. Torres1+30-8
2014-02-07 16:35Add ctrlaltdel toolsin2+44-0
2014-02-06 18:00Update TODO - add getty and loginsin1+2-0
2014-01-30 16:21mknod(1) is now in ubase not sbase so update manpagesin1+1-1
2014-01-30 16:20Import stat(1) from sbasesin3+93-0
2014-01-28 16:49Import mknod(1) from sbasesin3+84-0
2014-01-25 22:38Add Jakob Kramer to LICENSEsin1+1-0
2014-01-25 22:34Free minfo tablesin4+15-3
2014-01-25 22:31Remove unused header from dmesg(1)sin1+0-1
2013-11-25 21:29Rename __ARG_H__ to ARG_H__sin1+2-2
2013-11-14 10:47Add support for obsolete -NUM arguments in arg.hsin1+25-12
2013-11-13 11:47Rename `brk' to `_brk' to avoid polluting the namespacesin1+5-5
2013-11-12 13:22Add passwd(1) to TODOsin1+1-0
2013-11-06 13:22No need to use USED() in arg.h for sbasesin1+1-6
2013-10-29 15:54Check for a valid pagesize in mkswap(8)sin1+6-1
2013-10-29 15:44A pagesize of 0 is invalid so treat it that waysin1+2-2
2013-10-29 15:36Add pagesize(1)sin2+32-0
2013-10-28 16:51Fix alignment for table `optnames[]'sin1+12-12
2013-10-19 18:07Setup a sane PATH across su(1)sin3+13-2
2013-10-18 19:57fix SHELL being set to the usr's home directoryJakob Kramer1+1-1
2013-10-18 15:22If we are preserving the environment use SHELL instead of pw->pw_shellsin1+2-1
2013-10-18 13:26Implement -p for su(1)sin1+12-6
2013-10-18 10:20Set SHELL environment variable by defaultsin1+5-0
2013-10-18 10:14Implement -l support for su(1)sin1+47-3
2013-10-18 09:33We use environ so declare itsin1+8-1
2013-10-18 09:25Only try to ask for a password and check if uid is != 0sin1+8-8
2013-10-18 09:20Some stylistic changes to su(1)sin1+5-2
2013-10-18 09:08Use a compound literal instead of malloc() in su(1)sin1+2-6
2013-10-18 09:07Bump to C99 for ubasesin1+1-1
2013-10-17 22:02Add initial su(1)sin3+97-2
2013-10-17 10:41Rename manpages to match the proper sectionsin10+47-33
2013-10-17 10:41Simplify manpagessin6+56-73
2013-10-16 22:24Add clear(1), eject(1) and halt(8) man pagess-p-k3+45-0
2013-10-16 18:57Add lsmod(8) man pages-p-k1+9-0
2013-10-16 18:04Add lsusb(8) man pages-p-k1+9-0
2013-10-16 15:50Add df(1) man pages-p-k1+26-0
2013-10-14 12:29Update READMEsin1+1-1
2013-10-14 11:16Update TODO - remove ejectsin1+0-1
2013-10-08 22:32Allow ubase-box to be called as ubase-box tool args...sin1+1-1
2013-10-08 16:11Update READMEsin1+1-1
2013-10-08 15:15Use utmpx instead of utmpsin1+8-6
2013-10-07 19:41Be consistent and use *argv[]sin1+1-1
2013-10-07 19:31Remove su from TODO - should normally live in sbasesin1+0-1
2013-10-07 19:03Exit with EXIT_SUCCESS in dmesg.c casess-p-k1+2-2
2013-10-07 18:18Do not terminate early on a umount failuresin1+1-1
2013-10-07 18:17Add s-p-k to LICENSEsin1+1-0
2013-10-07 18:11exit with EXIT_SUCCESS/EXIT_FAILUREs-p-k25+42-33
2013-09-29 15:35Remove stat(1) - this now lives in sbasesin2+0-74
2013-09-29 11:38Replace VERSION in manpages with the actual versionsin1+1-1
2013-09-25 11:10If ws_col is zero just dump the entire buffersin1+8-2
2013-09-23 15:59Update TODOsin1+0-1
2013-09-23 14:25Forgot to update usage line for dmesg(1)sin1+1-1
2013-09-23 14:13Add support for changing the console level in dmesg(1)sin1+7-0
2013-09-23 12:13Update TODOsin1+1-0
2013-09-17 15:44Correct function name in errorsin1+1-1
2013-09-17 15:34Add support for rebooting the system through haltsin3+11-36
2013-09-16 14:58Use /var/run/utmp for nowsin1+1-1
2013-09-06 10:01Handle correctly the -n option for mount and umountsin2+4-0
2013-09-06 09:29Don't use 'tty/' rather use 'tty'sin1+1-1
2013-09-05 08:53Use ferror() if fgets() returns NULLsin2+4-0
2013-09-04 12:52Fix tcc target in config.mksin1+1-1
2013-09-04 12:48Update TODOsin1+1-0
2013-09-04 12:46Do not use hard-coded values in halt.c and reboot.csin2+4-3
2013-09-04 12:33Fix eject(1) so we can specify a device namesin1+7-2
2013-09-04 12:31Add barebones eject(1)sin2+49-0
2013-09-04 12:13Add comment to clarify why we skip '-' in pidof(8)sin1+1-0
2013-09-04 10:56Add READMEsin1+7-0
2013-09-04 10:48Clear screen before cmd invocationsin1+1-0
2013-09-04 10:40Update TODOsin1+2-0
2013-09-04 10:27Add watch(1)sin5+85-1
2013-09-04 09:54We do not update /etc/mtab for mount/umount - update usagesin2+2-2
2013-09-03 14:13Fix ubase-box targetsin1+1-1
2013-09-03 14:09Add missing include for pidof(8)sin1+1-0
2013-09-03 13:33Keep a list of all mount optionssin1+53-26
2013-09-03 13:11Limit ps(1) output based on the current terminal widthsin1+15-9
2013-09-03 13:01Set target to argv[0] - this is a bit more clearsin1+1-1
2013-09-03 12:56Update TODOsin1+2-0
2013-09-03 12:52Add barebones lsusb(8)sin2+56-0
2013-09-03 12:24Implement -x option for mountpoint(1)sin1+15-3
2013-09-02 14:00Ignore leading '-' in command name for pidof(8)sin1+2-0
2013-09-02 13:58Fix segfault when arg is uninitializedsin1+1-1
2013-09-02 13:56Fix usage for pidof(8)sin1+1-1
2013-09-02 13:14Implement -o support for pidof(8)sin1+51-13
2013-09-01 17:24Implement -d support for mountpoint(1)sin1+11-2
2013-09-01 16:57Implement -o support for fallocate(1)sin1+6-3
2013-09-01 16:53df(1) supports -asin1+1-1
2013-09-01 16:50Ignore `LOGIN' name when counting the number of userssin1+2-0
2013-08-31 21:23Update TODOsin1+4-3
2013-08-29 23:28Staticise tablesin1+1-2
2013-08-31 16:39Make mount(8) work based on device id and inode numbersin1+13-2
2013-08-31 16:33Add single shot option for pidof(8)sin1+8-1
2013-08-29 18:17Make mountpoint(1) work based on device id and the inode numbersin1+9-5
2013-08-29 18:05Complain for invalid pathssin1+10-0
2013-08-29 17:48Implement the -q option for mountpoint(1)sin1+9-1
2013-08-29 17:43Use BUFSIZ instead of PATH_MAXsin1+1-1
2013-08-29 10:14No need to name the parameters in the function declssin1+2-2
2013-08-29 10:11Add primitive pidof(8)sin4+85-0
2013-08-29 09:35Update TODOsin1+3-0
2013-08-19 15:27Make ubase compile with musl-gccsin5+40-5
2013-08-17 16:22Add raw flag for dmesgsin1+13-4
2013-08-17 16:20Do not use a magic number for the size of the arraysin1+1-1
2013-08-16 15:40Rename validps() to pidfile()sin3+7-7
2013-08-16 15:36Add parsestatus()sin3+47-55
2013-08-16 14:57ps(1) cleanup + commentssin1+15-5
2013-08-16 14:53No need to keep a tm pointer aroundsin1+2-4
2013-08-16 14:51Check return value of sysinfo()sin3+6-3
2013-08-16 14:48Divide by sysconf(_SC_CLK_TCK) instead of a fixed 100sin1+3-2
2013-08-16 13:59Add -c flag for dmesgsin1+8-1
2013-08-16 13:50Only parse extra things when -f is suppliedsin1+19-18
2013-08-16 13:47Add comment for proc{euid,uid}()sin1+1-0
2013-08-16 13:08Support -f for ps(1)sin4+107-12
2013-08-16 10:55Add uptime(1)sin3+67-2
2013-08-16 10:36Update TODOsin1+1-0
2013-08-16 10:34Add truncate(1)sin2+47-0
2013-08-16 10:16Update TODOsin1+1-0
2013-08-16 10:14Add fallocate(1)sin2+42-0
2013-08-16 10:10Opening brackets always on the next line for func defssin1+2-1
2013-08-16 10:08Add clear(1)sin2+10-0
2013-08-16 10:00Add mountpoint(1)sin3+43-1
2013-08-16 09:35Add TODOsin2+13-1
2013-08-16 09:12Be consistent and staticise the function definition as wellsin1+1-1
2013-08-15 15:46Print the available targets for ubase-boxsin1+4-1
2013-08-15 15:02Add free(1)sin2+70-0
2013-08-15 11:54Add chvt(1)David Galos3+66-0
2013-08-14 14:38Add barebones ps(1)sin9+357-3
2013-08-14 13:38Add pivot_root(8)sin2+29-0
2013-08-14 13:34Support -C for dmesg(1)sin1+6-1
2013-08-14 13:32Fix usage linessin7+7-7
2013-08-14 13:19Remove OpenBSD supportsin15+92-244
2013-08-12 11:32Add mount(8)sin2+124-0
2013-08-12 10:29Fix vertical spacing in dmesg.csin1+4-0
2013-08-12 10:26Optimize dmesg(1) output on Linuxsin1+6-2
2013-08-12 10:22Add oblique to LICENSE filesin1+1-0
2013-08-12 10:21Fix mkswap.c usage linesin1+1-1
2013-08-12 10:14Add unshare(1)sin2+55-1
2013-08-12 10:03Revert "Remove comment in eprintf.c"sin1+2-0
2013-08-12 09:19Ensure dmesg output on Linux has a terminating newlinesin1+3-0
2013-08-12 09:17Rename syslog_{size,read,show} to dmesg_{size,read,show}sin7+100-100
2013-08-12 09:15Add missing include in syslog.c for OpenBSDsin1+1-0
2013-08-12 09:11Implement -L flag for stat(1)sin1+10-3
2013-08-12 08:52Make stat(1) work with stdin as well.sin1+35-24
2013-08-12 00:17Add stat(1)oblique2+57-1
2013-08-10 10:38Fix vertical spacing in umount.csin1+2-0
2013-08-09 18:05Fix dmesg printing on Linuxsin4+32-2
2013-08-09 14:54Remove comment in eprintf.csin1+0-2
2013-08-09 14:48Add swapon(8)sin2+43-1
2013-08-09 14:42Add swapoff(8)sin2+39-1
2013-08-09 14:04Add halt(8)sin2+41-0
2013-08-09 13:55Add reboot(8)sin2+32-0
2013-08-09 12:45Add mkswap(8)sin2+84-0
2013-08-09 09:23Add lsmod(8)sin2+61-0
2013-08-09 08:52If opts is NULL just pass "" as expected by the kernelsin1+1-1
2013-08-09 08:42Add rmmod(8)sin2+49-1
2013-08-07 10:56Dump build options during makesin1+8-1
2013-08-07 10:43Add insmod(8)sin2+75-0
2013-08-07 10:41Add missing copyright + LICENSE detailssin5+5-0
2013-08-07 09:33Implement -l support for umountsin4+16-5
2013-08-07 08:52Add umount(8)sin5+71-1
2013-08-06 19:39Add comment for grabmntinfo in ubase.hsin1+2-0
2013-08-06 19:08Add dmesg(1)sin5+103-1
2013-08-06 19:34Remove -pedantic for nowsin1+1-1
2013-08-06 11:16Initial commit of ubase - the ugly/unportable basesin11+403-0