ladybird/Libraries/LibC
Andreas Kling 41c504a33b Kernel: Add pledge() syscall :^)
This patch implements basic support for OpenBSD-style pledge().
pledge() allows programs to incrementally reduce their set of allowed
syscalls, which are divided into categories that each make up a subset
of POSIX functionality.

If a process violates one of its pledged promises by attempting to call
a syscall that it previously said it wouldn't call, the process is
immediately terminated with an uncatchable SIGABRT.

This is by no means complete, and we'll need to add more checks in
various places to ensure that promises are being kept.

But it is pretty cool! :^)
2020-01-11 20:45:51 +01:00
..
arpa LibC: fix arpa/inet.h guards 2019-11-16 16:27:48 +01:00
bits LibC: Minor changes to make nasm work 2019-11-09 20:52:34 +01:00
net Kernel: Add SIOCGIFHWADDR ioctl to get the MAC address of an adapter 2019-10-02 18:20:11 +02:00
netinet LibC: move in_addr and sockaddr_in to netinet/in.h 2020-01-02 04:09:56 +01:00
sys Kernel: Use the Syscall string and buffer types more 2020-01-11 12:47:47 +01:00
alloca.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
assert.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
assert.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
crt0.cpp LibC: Move __cxa_finalize and __cxa_atexit code to their own file 2020-01-01 17:48:41 +01:00
crti.S Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
crtn.S Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
ctype.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
ctype.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
cxxabi.cpp LibC: Move __cxa_finalize and __cxa_atexit code to their own file 2020-01-01 17:48:41 +01:00
dirent.cpp LibC: Add readdir_r for re-entrant directory reading (#648) 2019-10-12 22:35:23 +02:00
dirent.h LibC: Added some missing directory type constants 2019-11-16 12:50:50 +01:00
dlfcn.cpp LibELF+LibC: Split ELFDynamicObject into a Loader + Object 2020-01-04 10:39:04 +01:00
dlfcn.h LibC: Misc additions 2019-10-03 08:18:05 +02:00
endian.h LibC: Oopsie, add the missing semicolons to __bswap32() and __bswap64() 2019-11-17 15:37:46 +01:00
errno_numbers.h LibC: Add some missing errno codes 2019-09-12 18:26:19 +02:00
errno.h LibC: sys_errlist should be const char* const 2019-10-17 09:18:01 +02:00
fcntl.cpp Kernel: Use the Syscall string and buffer types more 2020-01-11 12:47:47 +01:00
fcntl.h Kernel+LibC: Add O_EXEC, move exec permission checking to VFS::open() 2020-01-11 18:57:53 +01:00
fd_set.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
float.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
getopt.cpp LibC: Ensure getopt error messages end with a newline 2019-09-17 21:56:42 +02:00
getopt.h LibC: Borrow a slightly more functional getopt() 2019-09-06 20:03:16 +02:00
grp.cpp AK: Rename <AK/AKString.h> to <AK/String.h> 2019-09-06 15:36:54 +02:00
grp.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
iconv.h LibC: iconv.h needs stddef.h for size_t 2019-11-10 13:07:51 +01:00
inttypes.h LibC: Add PRIXPTR definition to inttypes.h 2019-12-09 16:33:14 +01:00
ioctl.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
libgen.cpp LibC: Implement dirname() and basename() 2019-10-03 08:23:54 +02:00
libgen.h LibC: Implement dirname() and basename() 2019-10-03 08:23:54 +02:00
limits.h Build: add support for building on OpenBSD 2020-01-02 21:03:53 +01:00
locale.cpp LibC: Added additional fields to lconv struct 2019-11-16 12:50:50 +01:00
locale.h LibC: Added additional fields to lconv struct 2019-11-16 12:50:50 +01:00
Makefile LibELF+LibC: Split ELFDynamicObject into a Loader + Object 2020-01-04 10:39:04 +01:00
malloc.cpp LibC: Prevent assertions in malloc/free at exit time 2019-12-22 10:47:39 +01:00
mallocdefs.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
memory.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
mman.cpp Kernel: Use the Syscall string and buffer types more 2020-01-11 12:47:47 +01:00
mman.h LibC: Add MAP_FILE for mmap() 2020-01-07 15:35:41 +01:00
mntent.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
mntent.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
netdb.cpp LibC: Remove useless retry loop in connect_to_lookup_server() 2020-01-10 13:52:20 +01:00
netdb.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
poll.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
poll.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
pwd.cpp AK: Rename <AK/AKString.h> to <AK/String.h> 2019-09-06 15:36:54 +02:00
pwd.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
qsort.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
scanf.cpp LibC: Some build fixes for strange platforms 2019-09-29 21:02:13 +02:00
sched.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
sched.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
serenity.cpp LibC+Userland: Add a proper syscall wrapper for purge() 2020-01-02 13:37:02 +01:00
serenity.h Lib: Remove Stopwatch class 2020-01-03 09:10:55 +01:00
setjmp.h LibC: jmp_buf and sigjmp_buf should be distinct types 2019-11-17 21:01:26 +01:00
setjmp.S Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
signal_numbers.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
signal.cpp Kernel+LibC: A lot of the signal handling code was off-by-one. 2019-08-01 11:03:48 +02:00
signal.h LibC: Added missing signal flags 2019-11-16 12:50:50 +01:00
stat.cpp Kernel: Pass path+length to mkdir(), rmdir() and chmod() 2020-01-06 11:15:49 +01:00
stdarg.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
stdbool.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
stddef.h LibC: Tolerate stddef.h being included from the kernel 2019-11-29 14:53:35 +01:00
stdint.h Libc: make library internal includes come from private include namespace 2019-10-11 12:17:05 +02:00
stdio.cpp Kernel: Pass a parameter struct to rename() 2020-01-11 10:36:54 +01:00
stdio.h LibC: implement fgetpos and fsetpos 2019-12-27 23:09:08 +01:00
stdlib.cpp Kernel: Use the Syscall string and buffer types more 2020-01-11 12:47:47 +01:00
stdlib.h LibC: Oops x2, we can't use "bool" in stdlib.h either 2019-12-26 10:30:34 +01:00
string.cpp LibC: Remove some functions we had two of 2019-12-27 16:55:10 +01:00
string.h LibC: Add strtok_r() and make strtok() a wrapper around it 2019-11-10 21:19:08 +01:00
strings.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
strings.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
syslog.cpp LibC: syslog and lots of compat stuff for it 2019-10-15 09:52:55 +02:00
syslog.h LibC: syslog and lots of compat stuff for it 2019-10-15 09:52:55 +02:00
termcap.cpp AK: Rename <AK/AKString.h> to <AK/String.h> 2019-09-06 15:36:54 +02:00
termcap.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
termios.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
termios.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
time.cpp Kernel+LibC: Publish a "kernel info page" and use it for gettimeofday() 2019-12-15 21:29:26 +01:00
time.h LibC, LibM: Add functions needed to compile python3 2019-11-11 22:04:16 +01:00
times.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
ulimit.cpp LibC: Some build fixes for strange platforms 2019-09-29 21:02:13 +02:00
ulimit.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
unistd.cpp Kernel: Add pledge() syscall :^) 2020-01-11 20:45:51 +01:00
unistd.h Kernel: Add pledge() syscall :^) 2020-01-11 20:45:51 +01:00
utime.cpp Kernel: Make utime() take path+length, remove SmapDisabler 2020-01-06 12:23:30 +01:00
utime.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
utmp.h Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
utsname.cpp Libraries: Create top level directory for libraries. 2019-07-04 16:16:50 +02:00
wchar.cpp LibC, LibM: Add functions needed to compile python3 2019-11-11 22:04:16 +01:00
wchar.h LibC, LibM: Add functions needed to compile python3 2019-11-11 22:04:16 +01:00