Commit Graph

22 Commits

Author SHA1 Message Date
6c205b983e (openssl tls) when OpenSSL is older than 1.1, register the crypto locking callback to be thread safe. Should fix lots of CI failures 2020-05-06 16:26:30 -07:00
677f79b0ea Implement API for adding custom roots via a string (#178)
* Implement API for adding custom roots via a string. SocketTLSOptions API design needs work, but the IXSocketOpenSSL implementation feels good to me.

* Improve API design for specifying roots from memory.

* Add in-memory root CAs mbedtls implementation.

* Fix bug in newer versions of OpenSSL with in-memory certificate handling.
2020-04-24 15:32:11 -07:00
c70f1d09a8 include all ssl backends inside special per backend macro 2020-04-24 12:47:47 -07:00
1d6373335c (websocket+tls) fix hang in tls handshake which could lead to ANR, discovered through unittesting. 2020-03-20 16:57:27 -07:00
4f3f1f3e4c simplify socket interface 2020-01-12 22:30:16 -08:00
a0cfaff528 Implement SSL server with OpenSSL backend / still flaky 2019-10-01 15:43:37 -07:00
e5c8e2e7f4 openSSLHandshake -> openSSLClientHandshake 2019-09-30 21:24:25 -07:00
4e4792d6dc update copyright dates and authors 2019-09-29 20:09:51 -07:00
2aca019d84 openssl client: handle TLS options 2019-09-29 20:07:53 -07:00
408ee41990 WIP: support configurable certificates/keys, and root trust CAs (#114)
* wip: tls options implemented in openssl

* update naming, remove #define guard

* assert compiled with USE_TLS for tls options

* apply autoformatter

* include tls options impl

* style cleanup; auto ssl_err

* ssl_err -> sslErr

* be explicit about SSL_VERIFY_NONE
2019-09-22 18:06:15 -07:00
c65fec7271 clang format, based on cpprest 2019-05-30 08:46:50 -07:00
7740028291 all derived class use final keyword 2019-05-12 11:43:21 -07:00
eac611ab1e Feature/connection state (#25)
* (cmake) add a warning about 32/64 conversion problems.

* fix typo

* New connection state for server code + fix OpenSSL double init bug

* update README
2019-03-20 18:34:24 -07:00
932bb732e0 Feature/send large message (#14)
* introduce send fragment

* can pass a fin frame

* can send messages which are a perfect multiple of the chunk size

* set fin only for last fragment

* cleanup

* last fragment should be of type CONTINUATION

* Add simple send and receive programs

* speedups receiving + better way to wait for thing

* receive speedup by using linked list of chunks instead of large array

* document bug

* use chunks to receive data

* trailing spaces
2019-02-20 18:59:07 -08:00
0fd06bb592 int -> ssize_t for socker recv and send 2019-01-05 20:53:50 -08:00
e892b21872 openssl cleanup 2019-01-05 11:42:25 -08:00
3eef8fba27 unittest on appveyor 2019-01-04 17:28:13 -08:00
ea07afcc0b can create a socket from a fd 2018-12-29 21:53:33 -08:00
cbadecab33 non blocking dns lookup 2018-12-14 16:28:17 -08:00
8c079787f0 add cancellation support while connecting, to speed up WebSocket::stop 2018-12-09 17:56:20 -08:00
10ce046b0f (openssl) verify that the certificate we are getting match the domain we are requesting 2018-10-05 12:08:45 -07:00
9b8d6cedfe First import 2018-09-27 14:57:19 -07:00