cosmopolitan/libc/str
Justine Tunney 53b9f83e1c Make redbean SSL more tunable
This change enables SSL compression. It significantly reduces the
network load of the testing infrastructure, for free, since this
revision didn't need to change any runit protocol code. However we
turn it off by default in redbean since no browsers support it.

It turns out that some TLSv1.0 clients (e.g. curl command on RHEL5) will
send an SSLv2-style ClientHello. These types of clients are usually ten+
years old and were designed to interop with servers ten years older than
them. Your redbean is now able to interop with these clients even though
redbean doesn't actually support SSLv2 or SSLv3. Please note that the -B
flag may be passed to disable this along with TLSv1.0, TLSv1.1, 3DES, &c

The following Lua APIs have been added to redbean:

  - ProgramSslCompression(bool)
  - ProgramSslCiphersuite(name:str)
  - ProgramSslPresharedKey(key:str,identity:str)

Lastly the DHE ciphersuites have been enabled. IANA recommends DHE and
with old clients like RHEL5 it's the only perfect forward secrecy they
implement.
2021-08-09 07:38:57 -07:00
..
a64l.c Add base64 support 2021-03-27 18:17:54 -07:00
bcmp.c Implement getcwd() for XNU 2021-01-30 08:54:12 -08:00
bcopy.c Change license 2020-12-27 17:18:44 -08:00
bsf.c Make C memory safe like Rust 2021-02-01 03:58:46 -08:00
bsfl.c Make C memory safe like Rust 2021-02-01 03:58:46 -08:00
bsfll.c Make C memory safe like Rust 2021-02-01 03:58:46 -08:00
bsr.c Make C memory safe like Rust 2021-02-01 03:58:46 -08:00
bsrl.c Make C memory safe like Rust 2021-02-01 03:58:46 -08:00
bsrll.c Make C memory safe like Rust 2021-02-01 03:58:46 -08:00
btowc.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
c16rtomb.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
c32rtomb.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
chomp.c Fix XNU / FreeBSD / OpenBSD / RHEL5 / NT bugs 2021-01-25 18:31:17 -08:00
chomp16.c Change license 2020-12-27 17:18:44 -08:00
crc32.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
crc32c.c Improve performance of printf functions 2021-04-24 13:58:50 -07:00
crc32z.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
djbsort.c Fix Clang support 2021-02-06 00:29:09 -08:00
endswith.c Perform some code cleanup 2021-02-27 10:33:32 -08:00
endswith16.c Change license 2020-12-27 17:18:44 -08:00
escapedos.c Change license 2020-12-27 17:18:44 -08:00
getcachesize.c Fix Clang support 2021-02-06 00:29:09 -08:00
getutf16.ncabi.c Change license 2020-12-27 17:18:44 -08:00
getx86processormodel.c Change license 2020-12-27 17:18:44 -08:00
getzipcdir.c Make redbean StoreAsset() work better 2021-05-14 05:44:37 -07:00
getzipcdircomment.c Make redbean StoreAsset() work better 2021-05-14 05:44:37 -07:00
getzipcdircommentsize.c Make redbean StoreAsset() work better 2021-05-14 05:44:37 -07:00
getzipcdiroffset.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
getzipcdirrecords.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
getzipcdirsize.c Mold the redbean binary to minimize page faults 2021-05-03 12:14:13 -07:00
getzipcfilecompressedsize.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
getzipcfilemode.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
getzipcfileoffset.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
getzipcfileuncompressedsize.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
getziplfilecompressedsize.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
getziplfileuncompressedsize.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
hextoint.c Change license 2020-12-27 17:18:44 -08:00
highwayhash64.c Hunt down some small bugs 2020-12-24 16:01:48 -08:00
highwayhash64.h Hunt down some small bugs 2020-12-24 16:01:48 -08:00
index.c Make more functions friendly to Address Sanitizer 2021-02-02 03:45:31 -08:00
indexdoublenulstring.c Change license 2020-12-27 17:18:44 -08:00
insertionsort.greg.c Make C memory safe like Rust 2021-02-01 03:58:46 -08:00
internal.h Fix Clang support 2021-02-06 00:29:09 -08:00
isalnum.c Change license 2020-12-27 17:18:44 -08:00
isalpha.c Change license 2020-12-27 17:18:44 -08:00
isascii.c Change license 2020-12-27 17:18:44 -08:00
isblank.c Change license 2020-12-27 17:18:44 -08:00
iscntrl.c Change license 2020-12-27 17:18:44 -08:00
isdigit.c Change license 2020-12-27 17:18:44 -08:00
isgraph.c Change license 2020-12-27 17:18:44 -08:00
islower.c Change license 2020-12-27 17:18:44 -08:00
isprint.c Change license 2020-12-27 17:18:44 -08:00
ispunct.c Change license 2020-12-27 17:18:44 -08:00
isspace.c Improve some unicode functions 2021-05-05 07:25:39 -07:00
isupper.c Change license 2020-12-27 17:18:44 -08:00
iswalnum.c Improve some unicode functions 2021-05-05 07:25:39 -07:00
iswalpha.c Improve some unicode functions 2021-05-05 07:25:39 -07:00
iswblank.c Improve some unicode functions 2021-05-05 07:25:39 -07:00
iswcntrl.c Improve some unicode functions 2021-05-05 07:25:39 -07:00
iswctype.c Improve LLVM compatibility a little bit 2021-05-16 20:34:46 -07:00
iswdigit.c Improve some unicode functions 2021-05-05 07:25:39 -07:00
iswgraph.c Improve some unicode functions 2021-05-05 07:25:39 -07:00
iswlower.c Make redbean StoreAsset() work better 2021-05-14 05:44:37 -07:00
iswprint.c Improve some unicode functions 2021-05-05 07:25:39 -07:00
iswpunct.c Improve some unicode functions 2021-05-05 07:25:39 -07:00
iswspace.c Improve some unicode functions 2021-05-05 07:25:39 -07:00
iswupper.c Improve some unicode functions 2021-05-05 07:25:39 -07:00
iswxdigit.c Improve some unicode functions 2021-05-05 07:25:39 -07:00
isxdigit.c Improve some unicode functions 2021-05-05 07:25:39 -07:00
iszipcdir32.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
iszipcdir64.c Make redbean StoreAsset() work better 2021-05-14 05:44:37 -07:00
kx86processormodels.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
l64a.c Add base64 support 2021-03-27 18:17:54 -07:00
lz4check.c Change license 2020-12-27 17:18:44 -08:00
lz4cpy.c Make ANSI mode closer to being ANSI 2021-02-03 17:14:17 -08:00
lz4decode.c Change license 2020-12-27 17:18:44 -08:00
mb.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
mb.internal.h Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
mblen.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
mbrlen.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
mbrtoc16.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
mbrtoc32.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
mbrtowc.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
mbsinit.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
mbsnrtowcs.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
mbsrtowcs.c Add SSL to redbean 2021-06-24 13:20:50 -07:00
mbstowcs.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
mbtowc.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
memcasecmp.c Add SNI support to redbean and improve SSL perf 2021-07-23 13:56:13 -07:00
memccpy.c Make improvements to redbean 2021-07-10 15:19:37 -07:00
memchr.c Remove undefined behaviors 2021-05-16 11:16:28 -07:00
memcmp.c Change license 2020-12-27 17:18:44 -08:00
memfrob.c Change license 2020-12-27 17:18:44 -08:00
memmem.c Mold the redbean binary to minimize page faults 2021-05-03 12:14:13 -07:00
memmove-pure.c Fix Clang support 2021-02-06 00:29:09 -08:00
mempcpy-pure.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
memset-pure.c Remove undefined behaviors 2021-05-16 11:16:28 -07:00
memset16.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
oldutf16.internal.h Get Cosmopolitan into releasable state 2020-11-25 08:19:00 -08:00
pututf16.ncabi.c Implement more security stuff 2021-02-02 20:21:06 -08:00
rawmemchr.c Remove undefined behaviors 2021-05-16 11:16:28 -07:00
rindex.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
startswith.c Change license 2020-12-27 17:18:44 -08:00
startswith16.c Change license 2020-12-27 17:18:44 -08:00
stpcpy.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
stpncpy.c Change license 2020-12-27 17:18:44 -08:00
str.h Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
str.mk Improve some unicode functions 2021-05-05 07:25:39 -07:00
strcasecmp.c Change license 2020-12-27 17:18:44 -08:00
strcasecmp8to16.c Change license 2020-12-27 17:18:44 -08:00
strcasecmp16.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
strcat.c Fix XNU / FreeBSD / OpenBSD / RHEL5 / NT bugs 2021-01-25 18:31:17 -08:00
strcat16.c Support dirfd relative iops on Windows 2021-01-30 01:49:43 -08:00
strchr.c Make redbean StoreAsset() work better 2021-05-14 05:44:37 -07:00
strchrnul.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
strclen.c Change license 2020-12-27 17:18:44 -08:00
strclen16.c Change license 2020-12-27 17:18:44 -08:00
strcmp.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
strcmp8to16.c Change license 2020-12-27 17:18:44 -08:00
strcmp8to16i.internal.h Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
strcmp16.c Change license 2020-12-27 17:18:44 -08:00
strcoll.c Add more POSIX function stubs 2021-03-02 03:27:55 -08:00
strcpy.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
strcpy16.c Implement getcwd() for XNU 2021-01-30 08:54:12 -08:00
strcspn-pure.c Fix Clang support 2021-02-06 00:29:09 -08:00
strcspn16.c Change license 2020-12-27 17:18:44 -08:00
strlcat.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
strlcpy.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
strlen-pure.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
strncasecmp.c Change license 2020-12-27 17:18:44 -08:00
strncasecmp8to16.c Change license 2020-12-27 17:18:44 -08:00
strncasecmp16.c Tune SQLite build for redbean (#97) 2021-06-10 08:00:08 -07:00
strncat.c Add NetBSD support 2021-02-05 06:19:45 -08:00
strncmp.c Change license 2020-12-27 17:18:44 -08:00
strncmp8to16.c Change license 2020-12-27 17:18:44 -08:00
strncmp16.c Change license 2020-12-27 17:18:44 -08:00
strncpy.c Make improvements to redbean 2021-07-10 15:19:37 -07:00
strnlen.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
strntolower.c Change license 2020-12-27 17:18:44 -08:00
strntoupper.c Implement more security stuff 2021-02-02 20:21:06 -08:00
strpbrk.c Change license 2020-12-27 17:18:44 -08:00
strpbrk16.c Change license 2020-12-27 17:18:44 -08:00
strrchr.c Improve some unicode functions 2021-05-05 07:25:39 -07:00
strrchr16.c Change license 2020-12-27 17:18:44 -08:00
strsep.c Perform some code cleanup 2021-02-27 10:33:32 -08:00
strsignal.c Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
strspn.c Change license 2020-12-27 17:18:44 -08:00
strspn16.c Change license 2020-12-27 17:18:44 -08:00
strstr.c Mold the redbean binary to minimize page faults 2021-05-03 12:14:13 -07:00
strstr16.c Perform some code cleanup 2021-02-27 10:33:32 -08:00
strtok.c Change license 2020-12-27 17:18:44 -08:00
strtok_r.c Change license 2020-12-27 17:18:44 -08:00
strtolower.c Implement more security stuff 2021-02-02 20:21:06 -08:00
strtoupper.c Implement more security stuff 2021-02-02 20:21:06 -08:00
strverscmp.c Work towards improving signals and processes 2021-01-27 19:34:02 -08:00
strxfrm.c Make redbean StoreAsset() work better 2021-05-14 05:44:37 -07:00
thompike.h Add minor improvements and cleanup 2020-10-27 03:39:46 -07:00
timingsafe_memcmp.c Make redbean SSL more tunable 2021-08-09 07:38:57 -07:00
tolower.c Improve some unicode functions 2021-05-05 07:25:39 -07:00
toupper.c Change license 2020-12-27 17:18:44 -08:00
towlower.c Improve some unicode functions 2021-05-05 07:25:39 -07:00
towupper.c Improve some unicode functions 2021-05-05 07:25:39 -07:00
tpdecode.internal.h Get Cosmopolitan into releasable state 2020-11-25 08:19:00 -08:00
tpdecode.ncabi.c Implement more security stuff 2021-02-02 20:21:06 -08:00
tpdecodecb.internal.h wip on intellisense (again) 2021-02-02 11:14:45 -05:00
tpenc.h Fix bugs and make improvements 2021-05-01 05:11:35 -07:00
tpenc.S Remove more nonstandard stuff from cosmopolitan.h 2021-03-01 00:18:23 -08:00
tpencode.internal.h Get Cosmopolitan into releasable state 2020-11-25 08:19:00 -08:00
tpencode.ncabi.c Change license 2020-12-27 17:18:44 -08:00
tprecode8to16.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
tprecode16to8.c Make SSL handshakes much faster 2021-07-11 23:17:47 -07:00
undeflate.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
undeflate.h Initial import 2020-06-15 07:18:57 -07:00
utf16.h Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00
wchomp.c Change license 2020-12-27 17:18:44 -08:00
wcrtomb.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
wcscasecmp.c Change license 2020-12-27 17:18:44 -08:00
wcscat.c Implement getcwd() for XNU 2021-01-30 08:54:12 -08:00
wcscmp.c Change license 2020-12-27 17:18:44 -08:00
wcscpy.c Implement getcwd() for XNU 2021-01-30 08:54:12 -08:00
wcscspn.c Change license 2020-12-27 17:18:44 -08:00
wcsendswith.c Change license 2020-12-27 17:18:44 -08:00
wcslen.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
wcsncasecmp.c Change license 2020-12-27 17:18:44 -08:00
wcsncmp.c Change license 2020-12-27 17:18:44 -08:00
wcsncpy.c Change license 2020-12-27 17:18:44 -08:00
wcsnrtombs.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
wcspbrk.c Change license 2020-12-27 17:18:44 -08:00
wcsrchr.c Change license 2020-12-27 17:18:44 -08:00
wcsrtombs.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
wcsspn.c Change license 2020-12-27 17:18:44 -08:00
wcsstartswith.c Change license 2020-12-27 17:18:44 -08:00
wcstok.c Added wcstok and wmemcmp (#183) 2021-06-09 19:34:27 -07:00
wcstombs.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
wctob.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
wctomb.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
wctype.c Improve some unicode functions 2021-05-05 07:25:39 -07:00
wmemcmp.c Added wcstok and wmemcmp (#183) 2021-06-09 19:34:27 -07:00
wmemcpy.c Change license 2020-12-27 17:18:44 -08:00
wmemmove.c Change license 2020-12-27 17:18:44 -08:00
wmempcpy.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
wmemset.c Add Musl multibyte functions 2021-03-06 09:53:16 -08:00
zipfindcentraldir.c Make major improvements to redbean and libraries 2021-04-18 12:34:15 -07:00