1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 21:18:14 +00:00
serenity/Userland/Libraries
Michiel Visser 7ab4337721 LibTLS: Add Elliptic Curve Diffie-Hellman Ephemeral (ECDHE) support
This adds support for the Elliptic Curve Diffie-Hellman Ephemeral key
exchange, using the X25519 elliptic curve. This means that the
ECDHE_RSA_WITH_AES_128_GCM_SHA256 and ECDHE_RSA_WITH_AES_256_GCM_SHA384
cipher suites are now supported.

Currently, only the X25519 elliptic curve is supported in combination
with the uncompressed elliptic curve point format. However, since the
X25519 is the recommended curve, basically every server supports this.
Furthermore, the uncompressed point format is required by the TLS
specification, which means any server with EC support will support the
uncompressed format.

Like the implementation of the normal Diffie-Hellman Ephemeral key
exchange, this implementation does not currently validate the signature
of the public key sent by the server.
2022-02-18 15:41:41 +03:30
..
LibArchive LibArchive: Default initialize member variables 2022-02-15 23:00:19 +02:00
LibAudio AK: Move integral log2 and exp to IntegerMath.h 2022-02-06 17:52:33 +00:00
LibC LibC: Try to recover gracefully from failed LookupServer requests 2022-02-16 12:03:05 +01:00
LibCards AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
LibChess Everywhere: Fix -Winconsistent-missing-override warnings from Clang 2021-12-11 13:14:15 -08:00
LibCompress Userland: Remove a bunch of unnecessary Vector imports 2022-01-28 23:40:25 +01:00
LibConfig LibConfig: Rename pledge_domains(String) => pledge_domain(String) 2022-02-11 18:06:39 +01:00
LibCore ArgsParser: Add support for Optional<size_t> 2022-02-17 09:08:40 -05:00
LibCoredump LibCoredump: Respect coredump's LD_LIBRARY_PATH when searching libraries 2022-02-14 11:42:19 +01:00
LibCpp LibCpp: Add SemanticSyntaxHighlighter 2022-02-09 00:51:31 +01:00
LibCrypt LibCrypt: Link the SHA2 hash implementation into LibCrypt privately 2022-01-08 18:56:29 +01:00
LibCrypto LibCrypto: Add curve x25519 2022-02-18 12:34:23 +02:00
LibDebug LibDebug+LibCoredump: Replace remaining reinterpret_casts and C casts 2022-01-28 22:51:27 +00:00
LibDesktop LibCore+Everywhere: Return ErrorOr from ConfigFile factory methods 2022-02-16 19:49:41 -05:00
LibDeviceTree Libraries: Add LibDeviceTree for manipulating OpenFirmware Device Trees 2021-10-21 19:20:03 -07:00
LibDiff LibDiff: Flush leftover hunks at the end 2022-02-09 00:51:31 +01:00
LibDl LibC+LibDl: Declare functions taking no arguments as taking void 2022-01-08 19:22:00 +01:00
LibDSP Everywhere: Use my new serenityos.org e-mail :^) 2022-01-14 11:54:09 +01:00
LibEDID LibEDID: Exclude DMT::MonitorTiming::name() from the Kernel 2022-02-16 22:21:37 +01:00
LibELF Kernel+LibELF+LibVT: Remove unused AK::String header includes 2022-02-16 22:21:37 +01:00
LibFileSystemAccessClient FileSystemAccessClient: Remove old API returning file descriptors :^) 2022-01-20 10:39:12 +01:00
LibGemini LibCore+Userland: Remove Core::TCPSocket :^) 2022-02-06 17:28:17 +00:00
LibGfx LibCore+Everywhere: Return ErrorOr from ConfigFile factory methods 2022-02-16 19:49:41 -05:00
LibGL LibGL: Set rasterizer material state without copying 2022-01-27 20:35:38 +00:00
LibGUI LibGUI: Account for hidden headers in content size calculation 2022-02-18 13:10:37 +01:00
LibHTTP LibHTTP: Make reason phrase of HTTP response's status line optional 2022-02-12 02:56:17 +03:30
LibImageDecoderClient LibCore+LibIPC+Everywhere: Return Stream::LocalSocket from LocalServer 2022-01-15 13:29:48 +03:30
LibIMAP Userland: Convert TLS::TLSv12 to a Core::Stream::Socket 2022-02-06 13:10:10 +01:00
LibIPC LibIPC: Always shutdown() the Connection if reached EOF 2022-02-15 12:27:21 +01:00
LibJS Meta: Add support for enumerations to the IDL compiler 2022-02-16 22:48:32 +03:30
LibKeyboard Kernel: Stop using LibKeyboard's CharacterMap in HIDManagement 2022-01-21 18:25:44 +01:00
LibLine LibCore+Everywhere: Return ErrorOr from ConfigFile factory methods 2022-02-16 19:49:41 -05:00
LibM LibM: Count fractions when exponent < -1 with mantissa == 0 2022-01-02 12:44:31 +03:30
LibMain LibMain: Invoke tzset in LibMain so all apps can have time zone info 2022-01-28 15:13:35 +00:00
LibMarkdown LibMarkdown: Add terminal color formatting 2022-02-17 19:54:47 +01:00
LibPCIDB LibCore+AK: Move MappedFile from AK to LibCore 2021-11-23 11:33:36 +01:00
LibPDF LibPDF: Make Filter::decode() return ErrorOr 2022-01-24 22:36:09 +01:00
LibProtocol LibProtocol: Fix crash on EOF when using Request::stream_into 2022-02-16 17:28:46 +03:30
LibPthread LibPthread: Add PTHREAD_CANCELED 2022-02-12 12:16:59 +01:00
LibRegex LibRegex: Correct the alternative matching order when one is empty 2022-02-14 11:30:50 +01:00
LibSanitizer AK+Kernel+LibSanitizer: Store "ubsan-is-deadly" flag as Atomic<bool> 2022-02-03 16:11:26 +01:00
LibSoftGPU LibSoftGPU: Dispatch based on ClipPlane enum at compile-time 2022-02-10 10:33:31 +00:00
LibSQL LibSQL: Convert binary SQL operations to be fallible 2022-02-13 21:30:38 +00:00
LibSymbolication LibCore+AK: Move MappedFile from AK to LibCore 2021-11-23 11:33:36 +01:00
LibSyntax LibCpp: Add SemanticSyntaxHighlighter 2022-02-09 00:51:31 +01:00
LibSystem LibCore+LibSystem: Move syscall wrappers from LibSystem to LibCore 2021-11-23 11:33:36 +01:00
LibTest LibJS: Make ASTNode::generate_bytecode() fallible 2022-02-13 14:41:33 +00:00
LibTextCodec LibTextCodec: Add x-user-defined decoder 2022-02-12 12:53:28 +01:00
LibThreading LibCore: Allow event loops on other threads to wake up 2022-02-13 23:06:53 +01:00
LibTimeZone LibTimeZone: Parse and generate time zone coordinate data 2022-02-03 16:11:15 +01:00
LibTLS LibTLS: Add Elliptic Curve Diffie-Hellman Ephemeral (ECDHE) support 2022-02-18 15:41:41 +03:30
LibUnicode LibUnicode: Use BCP 47 data to filter valid calendar names 2022-02-16 07:23:07 -05:00
LibUSBDB LibCore+AK: Move MappedFile from AK to LibCore 2021-11-23 11:33:36 +01:00
LibVideo AK: Move integral log2 and exp to IntegerMath.h 2022-02-06 17:52:33 +00:00
LibVT LibVT: Properly populate context menu with open actions 2022-02-17 11:56:38 +01:00
LibWasm LibWasm: Fix validation of if-else blocks 2022-02-16 22:48:32 +03:30
LibWeb LibWeb: Support CSS :only-of-type selector 2022-02-18 01:49:32 +01:00
LibWebSocket LibWebSocket: Don't try to send empty payload inside of frame 2022-02-12 11:12:43 +01:00
LibX86 Everywhere: Fix spelling mistakes 2022-01-07 15:44:42 +01:00
CMakeLists.txt LibEDID: Add a library to parse EDID blobs 2022-01-23 22:45:21 +00:00