summaryrefslogtreecommitdiff
path: root/Libraries/LibTLS
AgeCommit message (Collapse)Author
2020-06-01LibTLS: Put a little more debug spam behind TLS_DEBUGAndreas Kling
2020-05-30LibTLS: Avoid busy-wait between ClientHello and ServerHelloAnotherTest
This commit also adds a timeout timer to cancel the connection if the server does not respond to the hello request in 10 seconds.
2020-05-30Lagom: Adjust AK, LibCore and LibTLS to build on MacOSMarcin Gasperowicz
2020-05-27LibCrypto+LibTLS: Use AK/Random.hAndreas Kling
This makes it possible to build both of these on Linux.
2020-05-27LibTLS: Add more TLS 1.2 error descriptionsLuke
Adds more TLS 1.2 error descriptions according to the specification: https://tools.ietf.org/html/rfc5246#section-7.2.2 This changes the DecryptionFailed description, as the specification says that this alert should NEVER be sent by a compliant server.
2020-05-26LibTLS: Put lots of debug spam behind TLS_DEBUGAndreas Kling
2020-05-21LibTLS: Do not call on_tls_finished until the client has read app dataAnotherTest
2020-05-20LibTLS: Flush some packets as soon as more packets are writtenAnotherTest
This seems like a better compromise between throughput and latency, and it doesn't _really_ affect the performance, so let's just compromise.
2020-05-19LibTLS: Only try to flush data when neededAnotherTest
This patchset drops the write notifier, and schedules writes only when necessary. As a result, the CPU utilisation no longer spikes to the skies :^)
2020-05-18LibCore+LibTLS: Don't keep a "ready to write" notifier on all SocketsAndreas Kling
The "ready to write" notifier we set up in generic socket connection is really only meant to detect a successful connection. Once we have a TCP connection, for example, it will fire on every event loop iteration. This was causing IRC Client to max out the CPU by getting this no-op notifier callback over and over. Since this was only used by TLSv12, I changed that code to create its own notifier instead. It might be possible to improve TLS performance by only processing writes when actually needed, but I didn't look very closely at that for this patch. :^)
2020-05-14Build: Switch to CMake :^)Sergey Bugaev
Closes https://github.com/SerenityOS/serenity/issues/2080
2020-05-07LibTLS: Verify server certificate expiry dateAnotherTest
2020-05-05LibTLS: Try to disambiguate errors in case of failureAnotherTest
Not particularly helpful, but better than nothing.
2020-05-03LibTLS: Put some debug spam behind an #ifdefAndreas Kling
2020-05-03LibTLS: "Properly" handle the server dropping the connectionAnotherTest
Contrary to popular belief, not every implementation of TLS follows the specs. Some of them just drop the connection without sending a proper close_notify, and we should handle that gracefully.
2020-05-02LibTLS: Implement build_alert()AnotherTest
2020-05-02LibTLS: Split TLSv12 to sensible categorical filesAnotherTest
This commit splits the TLSv12 file into multiple files, and also removes some magic values, to make the code less horrible. :^)
2020-05-02LibTLS: Switch to Hash::Manager for hashing and add SHA1AnotherTest
Now we can talk to google.com
2020-05-02LibCrypto+LibTLS: Generalise the use of IV lengthAnotherTest
This is in preparation for the upcoming Galois/Counter mode, which conventionally has 12 bytes of IV as opposed to CBC's 16 bytes. ...Also fixes a lot of style issues, since the author finally found the project's clang config file in the repository root :^)
2020-05-02LibTLS: Make enough stuff work to have a demo runAnotherTest
...maybe, sometimes :^)