cosmopolitan/libc/runtime
Justine Tunney b107d2709f Add /statusz page to redbean plus other enhancements
redbean improvements:

- Explicitly disable corking
- Simulate Python regex API for Lua
- Send warmup requests in main process on startup
- Add Class-A granular IPv4 network classification
- Add /statusz page so you can monitor your redbean's health
- Fix regressions on OpenBSD/NetBSD caused by recent changes
- Plug Authorization header into Lua GetUser and GetPass APIs
- Recognize X-Forwarded-{For,Host} from local reverse proxies
- Add many additional functions to redbean Lua server page API
- Report resource usage of child processes on `/` listing page
- Introduce `-a` flag for logging child process resource usage
- Introduce `-t MILLIS` flag and `ProgramTimeout(ms)` init API
- Introduce `-H "Header: value"` flag and `ProgramHeader(k,v)` API

Cosmopolitan Libc improvements:

- Make strerror() simpler
- Make inet_pton() not depend on sscanf()
- Fix OpenExecutable() which broke .data section earlier
- Fix stdio in cases where it overflows kernel tty buffer
- Fix bugs in crash reporting w/o .com.dbg binary present
- Add polyfills for SO_LINGER, SO_RCVTIMEO, and SO_SNDTIMEO
- Polyfill TCP_CORK on BSD and XNU using TCP_NOPUSH magnums

New netcat clone in examples/nc.c:

While testing some of the failure conditions for redbean, I noticed that
BusyBox's `nc` command is pretty busted, if you use it as an interactive
tool, rather than having it be part of a pipeline. Unfortunately this'll
only work on UNIX since Windows doesn't let us poll on stdio and sockets
at the same time because I don't think they want tools like this running
on their platform. So if you want forbidden fruit, it's here so enjoy it
2021-04-23 18:53:57 -07:00
..
abort-nt.c Improve signal handling and math 2021-02-25 18:33:33 -08:00
abort.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
arch_prctl.c Support malloc() on bare metal 2021-02-24 00:53:24 -08:00
arememoryintervalsok.c Eliminate some flakes 2021-02-03 06:25:27 -08:00
assertfail.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
atexit.c Change license 2020-12-27 17:18:44 -08:00
brk.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
buffer.h Initial import 2020-06-15 07:18:57 -07:00
carsort.h Add x86_64-linux-gnu emulator 2020-08-25 04:43:42 -07:00
carsort100.c Change license 2020-12-27 17:18:44 -08:00
carsort1000.c Change license 2020-12-27 17:18:44 -08:00
clearenv.c Change license 2020-12-27 17:18:44 -08:00
clktck.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
clktck.h Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
close_s.c Change license 2020-12-27 17:18:44 -08:00
closesymboltable.c Change license 2020-12-27 17:18:44 -08:00
construct.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
cosmo.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
cxaatexit.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
describeos.c Change license 2020-12-27 17:18:44 -08:00
directmap-metal.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
directmap-nt.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
directmap.c Support malloc() on bare metal 2021-02-24 00:53:24 -08:00
directmap.internal.h Support malloc() on bare metal 2021-02-24 00:53:24 -08:00
dlfcn.h Get Fabrice Bellard's JavaScript engine to build 2021-04-09 01:06:57 -07:00
dsohandle.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
e820.internal.h Support malloc() on bare metal 2021-02-24 00:53:24 -08:00
efimain.greg.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
exit.c Restore Windows command prompt mode on exit 2021-02-27 12:53:51 -08:00
exit2.c Support malloc() on bare metal 2021-02-24 00:53:24 -08:00
exit3.c Perform some code cleanup 2021-02-27 10:33:32 -08:00
ezmap.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
ezmap.internal.h Improve documentation 2020-12-27 07:02:35 -08:00
fegetround.c Get Fabrice Bellard's JavaScript engine to build 2021-04-09 01:06:57 -07:00
fenv.c Get Fabrice Bellard's JavaScript engine to build 2021-04-09 01:06:57 -07:00
fenv.h Get Fabrice Bellard's JavaScript engine to build 2021-04-09 01:06:57 -07:00
fesetround.c Fix issues revealed by ECMAScript test262 2021-04-10 17:15:35 -07:00
findcombinary.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
finddebugbinary.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
findmemoryinterval.c Eliminate some flakes 2021-02-03 06:25:27 -08:00
fltrounds.c Fix issues revealed by ECMAScript test262 2021-04-10 17:15:35 -07:00
fork-nt.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
fork.c Apply some touchups 2021-02-07 07:02:46 -08:00
fpreset.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
free_s.c Expose public garbage collector API for C language 2021-03-08 10:59:34 -08:00
ftrace-hook.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
ftrace.c Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
g_argc.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
gc.h Expose public garbage collector API for C language 2021-03-08 10:59:34 -08:00
gc.internal.h Expose public garbage collector API for C language 2021-03-08 10:59:34 -08:00
getdosargv.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
getdosenviron.c Eliminate some flakes 2021-02-03 06:25:27 -08:00
getpagesize.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
grow.c Expose public garbage collector API for C language 2021-03-08 10:59:34 -08:00
hook.greg.c Perform minor fixups 2021-03-13 19:40:04 -08:00
init.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
internal.h Restore Windows command prompt mode on exit 2021-02-27 12:53:51 -08:00
interruptiblecall.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
interruptiblecall.h Initial import 2020-06-15 07:18:57 -07:00
isheap.c Expose public garbage collector API for C language 2021-03-08 10:59:34 -08:00
issetugid.c Change license 2020-12-27 17:18:44 -08:00
jmpstack.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
ldso.c Get Fabrice Bellard's JavaScript engine to build 2021-04-09 01:06:57 -07:00
mapanon.c Change license 2020-12-27 17:18:44 -08:00
mapelfread.c Change license 2020-12-27 17:18:44 -08:00
memtrack.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
memtrack.h Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
memtracknt.c Eliminate some flakes 2021-02-03 06:25:27 -08:00
metalprintf.greg.c Support malloc() on bare metal 2021-02-24 00:53:24 -08:00
metalprintf.internal.h Support malloc() on bare metal 2021-02-24 00:53:24 -08:00
mman.greg.c Bring life.com executable size back down to 12kb 2021-03-02 01:13:32 -08:00
mman.internal.h Support malloc() on bare metal 2021-02-24 00:53:24 -08:00
mmap.c Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
mmi.c Change license 2020-12-27 17:18:44 -08:00
mremap-sysv.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
mremap.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
msync-nt.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
msync.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
munmap-metal.c Support malloc() on bare metal 2021-02-24 00:53:24 -08:00
munmap.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
openexecutable.S Add /statusz page to redbean plus other enhancements 2021-04-23 18:53:57 -07:00
opensymboltable.c Change license 2020-12-27 17:18:44 -08:00
pc.internal.h Improve signal handling and math 2021-02-25 18:33:33 -08:00
peekall.S Expose public garbage collector API for C language 2021-03-08 10:59:34 -08:00
print.greg.c Expose public garbage collector API for C language 2021-03-08 10:59:34 -08:00
printmemoryintervals.c Support proper %g, %f, and %a float formatting 2021-03-05 10:31:16 -08:00
progname.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
program_invocation_short_name.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
pthread.c Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
runtime.h Make more major improvements to redbean 2021-04-20 19:14:21 -07:00
runtime.mk Perform some code cleanup 2021-02-27 10:33:32 -08:00
setstack.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
stackchkfail.c Expose public garbage collector API for C language 2021-03-08 10:59:34 -08:00
stackchkfaillocal.c Change license 2020-12-27 17:18:44 -08:00
symbolic.h wip on intellisense (again) 2021-02-02 11:14:45 -05:00
symbols.internal.h Get codebase completely working with LLVM 2021-02-09 02:57:32 -08:00
sysconf.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
sysconf.h Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
untrackmemoryintervals.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
valist.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
valist.h Further refine documentation 2020-12-27 17:05:03 -08:00
vfork.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
weakfree.c Expose public garbage collector API for C language 2021-03-08 10:59:34 -08:00
winmain.greg.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00