cosmopolitan/libc/calls
Justine Tunney 7cf66bc161 Prevent Make from talking to public Internet
This change introduces the nointernet() function which may be called to
prevent a process and its descendants from communicating with publicly
routable Internet addresses. GNU Make has been modified to always call
this function. In the future Landlock Make will have a way to whitelist
subnets to override this behavior, or disable it entirely. Support is
available for Linux only. Our firewall does not require root access.

Calling nointernet() will return control to the caller inside a new
process that has a SECCOMP BPF filter installed, which traps network
related system calls. Your original process then becomes a permanent
ptrace() supervisor that monitors all processes and threads descending
from the returned child. Whenever a networking system call happens the
kernel will stop the process and wakes up the monitor, which then peeks
into the child memory to read the sockaddr_in to determine if it's ok.

The downside to doing this is that there can be only one supervisor at a
time using ptrace() on a process. So this firewall won't be enabled if
you run make under strace or inside gdb. It also makes testing tricky.
2022-08-12 21:51:39 -07:00
..
struct Unbloat the build 2022-08-11 00:15:29 -07:00
typedef Add more missing libc functionality 2022-08-06 10:50:51 -07:00
__clock_gettime.S Refactor gettimeofday() 2022-08-05 02:13:41 -07:00
__gettimeofday.S Refactor gettimeofday() 2022-08-05 02:13:41 -07:00
_getauxval.internal.h Remove malloc() dependency on pledge() / unveil() 2022-07-24 21:51:37 -07:00
_timespec_eq.c Avoid long double timestamps in redbean 2022-08-05 19:24:05 -07:00
_timespec_frommicros.c Avoid long double timestamps in redbean 2022-08-05 19:24:05 -07:00
_timespec_frommillis.c Avoid long double timestamps in redbean 2022-08-05 19:24:05 -07:00
_timespec_gte.c Avoid long double timestamps in redbean 2022-08-05 19:24:05 -07:00
_timespec_mono.c Avoid long double timestamps in redbean 2022-08-05 19:24:05 -07:00
_timespec_real.c Avoid long double timestamps in redbean 2022-08-05 19:24:05 -07:00
_timespec_tomicros.c Cherry-pick bug fixes and Landlock Make 1.0.2 2022-08-10 12:56:45 -07:00
_timespec_tomillis.c Cherry-pick bug fixes and Landlock Make 1.0.2 2022-08-10 12:56:45 -07:00
_timespec_tonanos.c Unbloat the build 2022-08-11 00:15:29 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
atfork.c Improve locks and signals 2022-04-12 05:20:17 -07:00
calls.h Prevent Make from talking to public Internet 2022-08-12 21:51:39 -07:00
calls.mk Use private keyword on makefile target variables 2022-08-10 18:36:11 -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 Make some last minute improvements to make.com 2022-08-07 05:59:53 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
close_range.c Make improvements 2022-07-21 03:36:42 -07:00
closefrom.c Make improvements 2022-07-21 03:36:42 -07:00
commandv.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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
eaccess.c Add more missing libc functionality 2022-08-06 10:50:51 -07:00
euidaccess.c Add more missing libc functionality 2022-08-06 10:50:51 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
execve-sysv.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
execve.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
fchown.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
fchownat.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fix some regressions with execution 2022-08-07 22:10:18 -07:00
getauxval.c Remove malloc() dependency on pledge() / unveil() 2022-07-24 21:51:37 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
getdomainname.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getegid.c Don't retrieve uid/gid from auxv 2022-07-24 23:54:07 -07:00
geteuid.c Don't retrieve uid/gid from auxv 2022-07-24 23:54:07 -07:00
getfiledescriptorsize.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Improve pledge() and unveil() further 2022-07-24 03:10:16 -07:00
getprocaddressmodule.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
getprogramexecutablename.greg.c Rewrite Linux pledge() code so it can be a payload 2022-08-08 11:41:08 -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-metal.c Refactor gettimeofday() 2022-08-05 02:13:41 -07:00
gettimeofday-nt.c Refactor gettimeofday() 2022-08-05 02:13:41 -07:00
gettimeofday-xnu.c Refactor gettimeofday() 2022-08-05 02:13:41 -07:00
gettimeofday.c Refactor gettimeofday() 2022-08-05 02:13:41 -07:00
getttysize.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
getuid.c Don't retrieve uid/gid from auxv 2022-07-24 23:54:07 -07:00
grantpt.c Change license 2020-12-27 17:18:44 -08:00
internal.h Refactor gettimeofday() 2022-08-05 02:13:41 -07:00
interrupts-nt.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
ioctl.c Make signal handling work well across platforms 2022-03-25 07:28:57 -07:00
ioctl.h Add ## to ioctl VA_ARGS (#503) 2022-07-22 21:51:12 -07:00
ioctl_default.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
ioctl_fioclex.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
ioctl_siocgifconf-nt.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
ioctl_siocgifconf.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
ioctl_tiocgwinsz-nt.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
issetugid.c Remove malloc() dependency on pledge() / unveil() 2022-07-24 21:51:37 -07:00
issymlink-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
issymlink.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07: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.c Unbloat the build 2022-08-11 00:15:29 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
lseek-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
lseek.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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
memfd_create.c Rewrite Linux pledge() code so it can be a payload 2022-08-08 11:41:08 -07:00
memtrack.greg.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
nowl.S Fix some issues and do some code cleanup 2022-05-23 10:15:53 -07:00
ntaccesscheck.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
openat-sysv.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
openat.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
openbsd.internal.h Make improvements 2022-04-28 09:57:07 -07:00
openpty.c Add more missing libc/libc++ functions 2022-07-22 07:20:21 -07:00
parsepromises.c Rewrite Linux pledge() code so it can be a payload 2022-08-08 11:41:08 -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
pivot_root.c Make some last minute improvements to make.com 2022-08-07 05:59:53 -07:00
pledge-linux.c Prevent Make from talking to public Internet 2022-08-12 21:51:39 -07:00
pledge.c Refactor pledge() to be more configurable 2022-08-11 11:35:30 -07:00
pledge.h Refactor pledge() to be more configurable 2022-08-11 11:35:30 -07:00
pledge.internal.h Refactor pledge() to be more configurable 2022-08-11 11:35:30 -07:00
poll-metal.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
poll-nt.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
poll.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Explicitly disable Linux capabilities 2022-07-23 12:06:41 -07:00
pread.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
preadv.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
printfds.c Reduce makefile dependencies by 10% 2022-06-08 20:01:28 -07:00
ptrace.c Prevent Make from talking to public Internet 2022-08-12 21:51:39 -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 Do some work on redbean 2022-07-22 20:44:24 -07:00
pwritev.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
raise.c Rewrite Linux pledge() code so it can be a payload 2022-08-08 11:41:08 -07:00
read-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
read.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
readv-metal.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
readv-nt.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
readv-serial.c Improve synchronization 2022-04-15 15:31:55 -07:00
readv.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
realpath.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
reservefd.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_RAND into LIBC_STDIO/TINYMATH/INTRIN 2022-08-11 12:32:00 -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 pledge() and unveil() further 2022-07-24 03:10:16 -07:00
sched_getscheduler-netbsd.c Improve system calls 2022-07-08 06:42:03 -07:00
sched_getscheduler.c Improve pledge() and unveil() further 2022-07-24 03:10:16 -07:00
sched_rr_get_interval.c Add more missing libc/libc++ functions 2022-07-22 07:20:21 -07:00
sched_setaffinity.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
sched_setparam.c Improve system calls 2022-07-08 06:42:03 -07:00
sched_setscheduler.c Improve pledge() and unveil() further 2022-07-24 03:10:16 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
setpriority.c Improve pledge() and unveil() further 2022-07-24 03:10:16 -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 Fix some regressions with execution 2022-08-07 22:10:18 -07:00
sigaction.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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
siglock.c Improve pledge() usability and consistency 2022-08-07 16:18:33 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
sigqueue.c Make numerous improvements 2021-09-28 01:52:34 -07:00
sigsuspend.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fix some regressions with execution 2022-08-07 22:10:18 -07:00
strace.internal.h Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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_ptrace.c Prevent Make from talking to public Internet 2022-08-12 21:51:39 -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 Prevent Make from talking to public Internet 2022-08-12 21:51:39 -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
sysparam.h Prevent Make from talking to public Internet 2022-08-12 21:51:39 -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 Add more missing libc/libc++ functions 2022-07-22 07:20:21 -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 Refactor gettimeofday() 2022-08-05 02:13:41 -07:00
timecritical.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
timespec_add.c Avoid long double timestamps in redbean 2022-08-05 19:24:05 -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 Release pledge.com v1.1 2022-07-22 13:44:00 -07:00
truncate-nt.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
truncate.c Prevent Make from talking to public Internet 2022-08-12 21:51:39 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
unlockpt.c Change license 2020-12-27 17:18:44 -08:00
unmount.c Make some last minute improvements to make.com 2022-08-07 05:59:53 -07:00
unsetenv.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
unveil.c Unbloat the build 2022-08-11 00:15:29 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
utimensat-xnu.c Improve system calls 2022-07-08 06:42:03 -07:00
utimensat.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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 Fold LIBC_RAND into LIBC_STDIO/TINYMATH/INTRIN 2022-08-11 12:32:00 -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 Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
write.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
writev-metal.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
writev-nt.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -07:00
writev-serial.c Reduce Makefile dependencies by 4% 2022-05-23 15:07:01 -07:00
writev.c Fold LIBC_BITS into LIBC_INTRIN 2022-08-11 12:13:18 -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