cosmopolitan/libc/calls
Justine Tunney 98254a7c1f Make pledge() and unveil() work amazingly
This change reconciles our pledge() implementation with the OpenBSD
kernel source code. We now a polyfill that's much closer to OpenBSD's
behavior. For example, it was discovered that "stdio" permits threads.
There were a bunch of Linux system calls that needed to be added, like
sched_yield(). The exec / execnative category division is now dropped.
We're instead using OpenBSD's "prot_exec" promise for launching APE
binaries and dynamic shared objects. We also now filter clone() flags.

The pledge.com command has been greatly improved. It now does unveiling
by default when Landlock is available. It's now smart enough to unveil a
superset of paths that OpenBSD automatically unveils with pledge(), such
as /etc/localtime. pledge.com also now checks if the executable being
launched is a dynamic shared object, in which case it unveils libraries.

These changes now make it possible to pledge curl on ubuntu 20.04 glibc:

    pledge.com -p 'stdio rpath prot_exec inet dns tty sendfd recvfd' \
        curl -s https://justine.lol/hello.txt

Here's what pledging curl on Alpine 3.16 with Musl Libc looks like:

    pledge.com -p 'stdio rpath prot_exec dns inet' \
        curl -s https://justine.lol/hello.txt

Here's what pledging curl.com w/ ape loader looks like:

    pledge.com -p 'stdio rpath prot_exec dns inet' \
        o//examples/curl.com https://justine.lol/hello.txt

The most secure sandbox, is curl.com converted to static ELF:

    o//tool/build/assimilate.com o//examples/curl.com
    pledge.com -p 'stdio rpath dns inet' \
        o//examples/curl.com https://justine.lol/hello.txt

A weird corner case needed to be handled when resolving symbolic links
during the unveiling process, that's arguably a Landlock bug. It's not
surprising since Musl and Glibc are also inconsistent here too.
2022-07-19 21:33:49 -07:00
..
struct Always initialize thread local storage 2022-07-19 00:21:46 -07:00
typedef Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
__clock_gettime.S Make improvements 2022-05-24 10:58:48 -07:00
access.c Support dirfd relative iops on Windows 2021-01-30 01:49:43 -08:00
addrusage.c Improve system calls 2022-07-08 06:42:03 -07:00
addtimeval.c Improve system calls 2022-07-08 06:42:03 -07:00
alarm.c Add unix domain socket support to redbean 2022-06-22 03:04:25 -07:00
arememoryintervalsok.c Fix build breakage in MODE=dbg 2022-06-15 19:37:39 -07:00
asan.internal.h Make improvements 2022-05-24 10:58:48 -07:00
atfork.c Improve locks and signals 2022-04-12 05:20:17 -07:00
calls.h Simplify TLS and reduce startup latency 2022-07-18 04:10:54 -07:00
calls.mk Fix build breakage in MODE=dbg 2022-06-15 19:37:39 -07:00
cfgetispeed.c Make whitespace changes 2021-08-13 03:20:45 -07:00
cfgetospeed.c Make whitespace changes 2021-08-13 03:20:45 -07:00
cfmakeraw.c Undiamond Python headers 2021-08-12 14:07:40 -07:00
cfsetispeed.c Undiamond Python headers 2021-08-12 14:07:40 -07:00
cfsetospeed.c Make whitespace changes 2021-08-13 03:20:45 -07:00
chdir-nt.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
chdir.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
chmod.c Make numerous improvements 2021-09-28 01:52:34 -07:00
chown.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
chroot.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
clock.c Add clock() polyfill on Windows (#279) 2021-09-28 02:14:24 -07:00
clock_getres.c Improve system calls 2022-07-08 06:42:03 -07:00
clock_gettime-mono.c Improve system calls 2022-07-08 06:42:03 -07:00
clock_gettime-nt.c Improve system calls 2022-07-08 06:42:03 -07:00
clock_gettime-xnu.c Improve system calls 2022-07-08 06:42:03 -07:00
clock_gettime.c Improve system calls 2022-07-08 06:42:03 -07:00
clock_gettime.internal.h Improve system calls 2022-07-08 06:42:03 -07:00
close-nt.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
close.c Add torture test for zipos file descriptors 2022-06-15 16:29:49 -07:00
commandv.c Make improvements 2022-04-24 10:06:05 -07:00
copyfd.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
copyfile.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
copyfile.h Delete LIBC_CALLS_HEFTY 2021-02-02 22:17:53 -08:00
creat.c Import C++ Standard Template Library 2022-03-22 06:41:54 -07:00
createfileflags.c Improve synchronization 2022-04-15 15:31:55 -07:00
createpipename.c Improve synchronization 2022-04-15 15:31:55 -07:00
directmap-metal.c Introduce --strace flag for system call tracing 2022-03-18 18:07:28 -07:00
directmap-nt.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
directmap.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
dprintf.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
dprintf.h Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
dtime.c Make improvements to locking 2022-06-19 01:30:12 -07:00
dup-nt.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
dup.c Make improvements 2022-05-28 00:28:09 -07:00
dup2.c Make improvements 2022-05-28 00:28:09 -07:00
dup3-sysv.c Make improvements 2022-05-28 00:28:09 -07:00
dup3.c Make improvements 2022-05-28 00:28:09 -07:00
execl.c Fix XNU / FreeBSD / OpenBSD / RHEL5 / NT bugs 2021-01-25 18:31:17 -08:00
execle.c Fix XNU / FreeBSD / OpenBSD / RHEL5 / NT bugs 2021-01-25 18:31:17 -08:00
execlp.c Make improvements 2022-04-28 09:57:07 -07:00
execv.c Fix XNU / FreeBSD / OpenBSD / RHEL5 / NT bugs 2021-01-25 18:31:17 -08:00
execve-nt.greg.c Apply even more fixups 2022-06-12 11:57:00 -07:00
execve-sysv.c Add fixups for previous change 2022-06-27 15:00:51 -07:00
execve.c Improve pledge() and unveil() 2022-07-18 07:58:20 -07:00
execvp.c Fix XNU / FreeBSD / OpenBSD / RHEL5 / NT bugs 2021-01-25 18:31:17 -08:00
execvpe.c Make improvements 2022-04-28 09:57:07 -07:00
faccessat-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
faccessat.c Improve pledge() and unveil() 2022-07-18 07:58:20 -07:00
fadvise-nt.c Fix fadvise() on Windows 2022-06-08 20:33:13 -07:00
fadvise.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fchdir-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fchdir.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fchmod.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fchmodat-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fchmodat.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
fchown.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fchownat.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
fcntl-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fcntl-sysv.c Strengthen the pledge() polyfill 2022-06-27 13:02:17 -07:00
fcntl.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fdatasync-nt.c Improve synchronization 2022-04-15 15:31:55 -07:00
fdatasync.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fileexists.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fixenotdir.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fixupnewfd.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
flock-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
flock.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fmodl.S Make signal handling work well across platforms 2022-03-25 07:28:57 -07:00
fstat-metal.c Make numerous improvements 2021-09-28 01:52:34 -07:00
fstat-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fstat-sysv.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fstat.c Add assimilate.com command for APE binaries 2022-07-13 20:56:24 -07:00
fstatat-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fstatat-sysv.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fstatat.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
fsync.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ftok.c Add MODE=optlinux build mode (#141) 2021-10-14 19:36:49 -07:00
ftruncate-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ftruncate.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
futimens.c Write tests and fixes for utimensat() 2022-06-17 02:43:00 -07:00
g_sighandrvas.c Make improvements to locking 2022-06-19 01:30:12 -07:00
getauxval.c Fix bugs with recent change 2022-04-16 10:40:23 -07:00
getconsolectrlevent.internal.h Improve locks and signals 2022-04-12 05:20:17 -07:00
getcontext.S Add getcontext() and setcontext() 2022-06-23 06:01:44 -07:00
getcpucount.c Make improvements 2022-05-28 00:28:09 -07:00
getcwd-nt.greg.c Refactor some code 2022-05-28 14:09:21 -07:00
getcwd-xnu.greg.c Refactor some code 2022-05-28 14:09:21 -07:00
getcwd.greg.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getdomainname.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getegid.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
geteuid.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getfiledescriptorsize.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getfilesize.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
gethostname-bsd.c Apply some touchups 2021-02-07 07:02:46 -08:00
gethostname-linux.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
gethostname-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
gethostname.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getitimer.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getloadavg-nt.c Write some lock contention tests 2022-06-16 09:06:09 -07:00
getloadavg.c Make improvements 2022-05-28 00:28:09 -07:00
getntsyspath.S Make build hermetic without shell scripts 2022-05-25 13:55:57 -07:00
getpgid.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getpgrp.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getppid-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getppid.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getpriority-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getpriority.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getprocaddressmodule.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getprogramexecutablename.greg.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
getresgid.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getresuid.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getrlimit.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
getrusage-nt.c Make improvements 2022-05-28 00:28:09 -07:00
getrusage-sysv.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
getrusage.c Add support for symbol table in .com files 2022-03-23 06:34:46 -07:00
getsetpriority-nt.c Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
getsid.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
gettemppatha-flunk.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
gettimeofday-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
gettimeofday.c Make improvements 2022-05-24 10:58:48 -07:00
getttysize.c Strengthen the pledge() polyfill 2022-06-27 13:02:17 -07:00
getuid.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
grantpt.c Change license 2020-12-27 17:18:44 -08:00
internal.h Write tests and fixes for utimensat() 2022-06-17 02:43:00 -07:00
interrupts-nt.c Make improvements 2022-05-28 00:28:09 -07:00
ioctl.c Make signal handling work well across platforms 2022-03-25 07:28:57 -07:00
ioctl.h Add Info-ZIP unzip.com 2022-06-10 05:09:11 -07:00
ioctl_default.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ioctl_fioclex.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ioctl_siocgifconf-nt.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
ioctl_siocgifconf.c Add unix domain socket support to redbean 2022-06-22 03:04:25 -07:00
ioctl_tcgets-nt.c Make improvements 2022-04-24 10:06:05 -07:00
ioctl_tcgets.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ioctl_tcsets-nt.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
ioctl_tcsets.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ioctl_tiocgwinsz-nt.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
ioctl_tiocgwinsz.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ioctl_tiocswinsz-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ioctl_tiocswinsz.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
iovecsize.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ipc.h Improve isystem includes and magic numbers 2021-08-14 23:36:36 -07:00
isatty-metal.c Strengthen the pledge() polyfill 2022-06-27 13:02:17 -07:00
isatty-nt.c Strengthen the pledge() polyfill 2022-06-27 13:02:17 -07:00
isatty.c Strengthen the pledge() polyfill 2022-06-27 13:02:17 -07:00
ischardev.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
isdirectory-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
isdirectory.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
isexecutable.c Fix some win32 definitions 2022-03-22 19:54:36 -07:00
islinux.c Strengthen the pledge() polyfill 2022-06-27 13:02:17 -07:00
isregularfile-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
isregularfile.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
issymlink-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
issymlink.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
kemptyfd.c Change license 2020-12-27 17:18:44 -08:00
kill-nt.c Make fixes and improvements 2022-05-19 16:57:49 -07:00
kill.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
killpg.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
kntprioritycombos.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
kntprioritycombos.internal.h Improve documentation 2020-12-27 07:02:35 -08:00
kntsystemdirectory.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
kntwindowsdirectory.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
ktmppath.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
landlock.h Write some tests for unveil() 2022-07-18 02:27:26 -07:00
landlock_add_rule.c Make pledge() and unveil() work amazingly 2022-07-19 21:33:49 -07:00
landlock_create_ruleset.c Make pledge() and unveil() work amazingly 2022-07-19 21:33:49 -07:00
landlock_restrict_self.c Make pledge() and unveil() work amazingly 2022-07-19 21:33:49 -07:00
lchown.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
link.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
linkat-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
linkat.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
lseek-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
lseek.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
lstat.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
lutimes.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
madvise-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
madvise.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
major.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
makedev.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
makedev.h Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
memtrack.greg.c Make some minor fixups to bug reporting, etc. 2022-07-11 05:58:24 -07:00
metaflock.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
metalfile.internal.h Improve signal handling and math 2021-02-25 18:33:33 -08:00
mincore.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
minor.c Improve ZIP filesystem and change its prefix 2021-08-22 01:11:53 -07:00
mkdir.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
mkdirat-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
mkdirat.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
mkfifo.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
mknod.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
mkntcmdline.c Perform better fixups of NT paths in execve() 2022-06-08 18:27:19 -07:00
mkntenvblock.c Perform better fixups of NT paths in execve() 2022-06-08 18:27:19 -07:00
mkntpath.c Make fixes and improvements 2022-06-18 01:46:12 -07:00
mkntpathat.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
mman.greg.c Make improvements 2022-05-24 10:58:48 -07:00
mount.c Improve isystem includes and magic numbers 2021-08-14 23:36:36 -07:00
mount.h Improve isystem includes and magic numbers 2021-08-14 23:36:36 -07:00
mremap-sysv.greg.c Get threads working on all platforms 2022-05-13 03:59:09 -07:00
munmap-metal.c Introduce --strace flag for system call tracing 2022-03-18 18:07:28 -07:00
munmap-sysv.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
nanos.c Support Linux binfmt_misc and APE loading on Apple 2022-05-21 09:28:25 -07:00
nanos.h Support Linux binfmt_misc and APE loading on Apple 2022-05-21 09:28:25 -07:00
nanosleep-nt.c Improve system calls 2022-07-08 06:42:03 -07:00
nanosleep-xnu.c Improve system calls 2022-07-08 06:42:03 -07:00
nanosleep.c Improve system calls 2022-07-08 06:42:03 -07:00
netbsdtramp.S Always initialize thread local storage 2022-07-19 00:21:46 -07:00
nice.c Perform some minor code cleanup 2021-04-06 12:46:52 -07:00
nosync.c Make some systemic improvements 2022-05-18 16:52:36 -07:00
now.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
nowl.S Fix some issues and do some code cleanup 2022-05-23 10:15:53 -07:00
ntaccesscheck.c Make build hermetic without shell scripts 2022-05-25 13:55:57 -07:00
ntcontext2linux.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ntmagicpaths.c Change license 2020-12-27 17:18:44 -08:00
ntmagicpaths.inc Initial import 2020-06-15 07:18:57 -07:00
ntmagicpaths.internal.h Improve documentation 2020-12-27 07:02:35 -08:00
ntreturn.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ntsetprivilege.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ntspawn.c Make build hermetic without shell scripts 2022-05-25 13:55:57 -07:00
ntspawn.h Make build hermetic without shell scripts 2022-05-25 13:55:57 -07:00
offset2overlap.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
oldbench.c Make clock_gettime() faster on FreeBSD 2022-06-11 00:05:06 -07:00
onntconsoleevent.c Improve locks and signals 2022-04-12 05:20:17 -07:00
onntconsoleevent_init.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
onwincrash.S Clean old .source directive out of asm code 2022-03-18 12:43:21 -07:00
open-nt.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
open.c Add torture test for zipos file descriptors 2022-06-15 16:29:49 -07:00
openat-metal.c Improve synchronization 2022-04-15 15:31:55 -07:00
openat-sysv.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
openat.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
openbsd.internal.h Make improvements 2022-04-28 09:57:07 -07:00
openpty.c Make improvements 2022-05-24 10:58:48 -07:00
pause-nt.c Improve system calls 2022-07-08 06:42:03 -07:00
pause.c Improve system calls 2022-07-08 06:42:03 -07:00
pipe-nt.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
pipe-sysv.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
pipe.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
pipe2-sysv.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
pipe2.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
poll-metal.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
poll-nt.c Make locks more reliable 2022-06-11 02:07:20 -07:00
poll.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
posix_fadvise.c Change license 2020-12-27 17:18:44 -08:00
posix_madvise.c Change license 2020-12-27 17:18:44 -08:00
posix_openpt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
prctl.c Improve system calls 2022-07-08 06:42:03 -07:00
pread.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
preadv.c Improve redbean plus code size optimizations 2022-05-29 08:21:19 -07:00
printfds.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
ptrace.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ptsname.c Change license 2020-12-27 17:18:44 -08:00
ptsname_r.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
pwrite.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
pwritev.c Improve redbean plus code size optimizations 2022-05-29 08:21:19 -07:00
raise.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
read-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
read.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
readansi.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
readlink.c Fix bugs and make improvements 2022-04-20 10:05:34 -07:00
readlinkat-nt.c Make build hermetic without shell scripts 2022-05-25 13:55:57 -07:00
readlinkat.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
readv-metal.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
readv-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
readv-serial.c Improve synchronization 2022-04-15 15:31:55 -07:00
readv.c Improve redbean plus code size optimizations 2022-05-29 08:21:19 -07:00
realpath.c Make some systemic improvements 2022-05-18 16:52:36 -07:00
reboot.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
remove.c Fix more things 2022-03-24 00:12:29 -07:00
rename.c Fix bugs and make improvements 2022-04-20 10:05:34 -07:00
renameat-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
renameat.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
reservefd.c Add torture test for zipos file descriptors 2022-06-15 16:29:49 -07:00
rmdir.c Support dirfd relative iops on Windows 2021-01-30 01:49:43 -08:00
rusage2linux.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
samplepids.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
sched-sysv.internal.h Improve system calls 2022-07-08 06:42:03 -07:00
sched_get_priority_max.c Improve system calls 2022-07-08 06:42:03 -07:00
sched_get_priority_min.c Improve system calls 2022-07-08 06:42:03 -07:00
sched_getaffinity.c Improve system calls 2022-07-08 06:42:03 -07:00
sched_getparam.c Improve system calls 2022-07-08 06:42:03 -07:00
sched_getscheduler-netbsd.c Improve system calls 2022-07-08 06:42:03 -07:00
sched_getscheduler.c Improve system calls 2022-07-08 06:42:03 -07:00
sched_setaffinity.c Improve system calls 2022-07-08 06:42:03 -07:00
sched_setparam.c Improve system calls 2022-07-08 06:42:03 -07:00
sched_setscheduler.c Make some touchups 2022-07-15 18:07:34 -07:00
seccomp.c Strengthen the pledge() polyfill 2022-06-27 13:02:17 -07:00
sedebug.c Fix some win32 definitions 2022-03-22 19:54:36 -07:00
setcontext.S Add getcontext() and setcontext() 2022-06-23 06:01:44 -07:00
setegid.c Add assimilate.com command for APE binaries 2022-07-13 20:56:24 -07:00
seteuid.c Add assimilate.com command for APE binaries 2022-07-13 20:56:24 -07:00
setfsgid.c Add assimilate.com command for APE binaries 2022-07-13 20:56:24 -07:00
setfsuid.c Add assimilate.com command for APE binaries 2022-07-13 20:56:24 -07:00
setgid.c Add assimilate.com command for APE binaries 2022-07-13 20:56:24 -07:00
setitimer-nt.c Improve system calls 2022-07-08 06:42:03 -07:00
setitimer.c Fix more things 2022-03-24 00:12:29 -07:00
setpgid.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
setpgrp.c Fix bugs and make improvements 2022-04-20 10:05:34 -07:00
setpriority-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
setpriority.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
setregid.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
setresgid.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
setresuid.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
setreuid.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
setrlimit.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
setsid.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
setuid.c Add assimilate.com command for APE binaries 2022-07-13 20:56:24 -07:00
sig.c Make improvements 2022-05-28 00:28:09 -07:00
sig.internal.h Make locks more reliable 2022-06-11 02:07:20 -07:00
sig2.c Make mutex calling code 10x tinier 2022-06-12 20:17:12 -07:00
sigaction.c Always initialize thread local storage 2022-07-19 00:21:46 -07:00
sigaltstack.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
sigchld-nt.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
sigcount.c Make improvements 2022-04-24 10:06:05 -07:00
sigenter-freebsd.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
sigenter-netbsd.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
sigenter-openbsd.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
sigenter-xnu.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
sigignore.c Make numerous improvements 2021-09-28 01:52:34 -07:00
siginterrupt.c Improve Libc by making Python work even better 2021-08-18 22:16:23 -07:00
signal.c Improve signals and memory protection 2022-04-12 22:11:00 -07:00
sigprocmask-sysv.greg.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
sigprocmask.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
sigqueue.c Make numerous improvements 2021-09-28 01:52:34 -07:00
sigsuspend.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
sigwinch-nt.c Improve system call support on NT 2022-04-07 20:30:04 -07:00
sleep.c Improve system calls 2022-07-08 06:42:03 -07:00
splice.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
stat.c Add assimilate.com command for APE binaries 2022-07-13 20:56:24 -07:00
stat2cosmo.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
state.internal.h Make some quick fixes and cleanup 2022-06-26 02:58:36 -07:00
strace.internal.h Disable kernel verbose strace output 2022-07-19 00:33:36 -07:00
symlink.c Support dirfd relative iops on Windows 2021-01-30 01:49:43 -08:00
symlinkat-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
symlinkat.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
sync-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
sync.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
sync_file_range.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
sys_utimes_nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
syscall-nt.internal.h Make improvements 2022-05-28 00:28:09 -07:00
syscall-sysv.internal.h Improve pledge() and unveil() 2022-07-18 07:58:20 -07:00
syscall_support-nt.internal.h Improve system calls 2022-07-08 06:42:03 -07:00
syscall_support-sysv.internal.h Strengthen the pledge() polyfill 2022-06-27 13:02:17 -07:00
sysinfo-nt.c Make improvements 2022-05-28 00:28:09 -07:00
sysinfo.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
tcdrain.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
tcflow.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
tcflush.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
tcgetattr.c Add lua repl interface to redbean 2022-04-16 20:31:16 -07:00
tcgetpgrp.c Change license 2020-12-27 17:18:44 -08:00
tcgetsid.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
tcsendbreak.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
tcsetattr.c Change license 2020-12-27 17:18:44 -08:00
tcsetpgrp.c Change license 2020-12-27 17:18:44 -08:00
termios.h Make pledge() and unveil() work amazingly 2022-07-19 21:33:49 -07:00
termios.internal.h Fix termios struct on Linux 2021-09-03 22:19:41 -07:00
tgkill.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
time.c Add SSL to redbean 2021-06-24 13:20:50 -07:00
timecritical.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
timespec_add.c Improve system calls 2022-07-08 06:42:03 -07:00
timespec_sub.c Improve system calls 2022-07-08 06:42:03 -07:00
tkill.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
touch.c Improve build system 2021-02-19 23:03:34 -08:00
truncate-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
truncate.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ttydefaults.h Improve Libc by making Python work even better 2021-08-18 22:16:23 -07:00
ttyname.c Make improvements 2022-04-28 09:57:07 -07:00
ttyname_r.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ucontext.h Add getcontext() and setcontext() 2022-06-23 06:01:44 -07:00
umask.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
uname.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
unlink.c Make numerous improvements 2021-09-28 01:52:34 -07:00
unlink_s.c Improve locks and signals 2022-04-12 05:20:17 -07:00
unlinkat-nt.c Bump support up to FreeBSD 13 and NetBSD 9.2 2022-06-11 10:36:17 -07:00
unlinkat.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
unlockpt.c Change license 2020-12-27 17:18:44 -08:00
unmount.c Improve isystem includes and magic numbers 2021-08-14 23:36:36 -07:00
unsetenv.c Add MODE=optlinux build mode (#141) 2021-10-14 19:36:49 -07:00
usleep.c Improve system calls 2022-07-08 06:42:03 -07:00
utime.c Improve build system 2021-02-19 23:03:34 -08:00
utimensat-nt.c Write tests and fixes for utimensat() 2022-06-17 02:43:00 -07:00
utimensat-sysv.c Improve system calls 2022-07-08 06:42:03 -07:00
utimensat-xnu.c Improve system calls 2022-07-08 06:42:03 -07:00
utimensat.c Make fixes and improvements 2022-06-25 21:09:09 -07:00
utimes.c Make redbean StoreAsset() work better 2021-05-14 05:44:37 -07:00
vdprintf.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
vdsofunc.greg.c Make improvements 2022-05-24 10:58:48 -07:00
virtualmax.S Fix some issues and do some code cleanup 2022-05-23 10:15:53 -07:00
vmsplice.c Remove dollars from system call support symbols 2021-02-03 19:35:29 -08:00
wait.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
wait3.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
wait4-nt.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
wait4-sysv.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
wait4.c Make signal handling work well across platforms 2022-03-25 07:28:57 -07:00
wait4.h Remove dollars from system call support symbols 2021-02-03 19:35:29 -08:00
waitpid.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
weirdtypes.h Make some systemic improvements 2022-05-18 16:52:36 -07:00
wincrash.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
wincrash_init.S Fix some bugs 2022-05-11 02:50:30 -07:00
wincrashearly.c Improve synchronization 2022-04-15 15:31:55 -07:00
winerr.internal.h Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
winsockerr.c Fix debug mode build 2022-04-16 12:25:53 -07:00
write-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
write.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
writev-metal.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
writev-nt.c Improve synchronization 2022-04-15 15:31:55 -07:00
writev-serial.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
writev.c Improve redbean plus code size optimizations 2022-05-29 08:21:19 -07:00
writevuninterruptible.c Improve performance of printf functions 2021-04-24 13:58:50 -07:00
xattr.h Get Cosmopolitan into releasable state 2020-11-25 08:19:00 -08:00