Commit Graph

703 Commits

Author SHA1 Message Date
Benjamin Sergeant 22b4e6a8fb Socket Factory has only one function which works for server and client code, and can do tls for both 2019-09-30 22:06:46 -07:00
Benjamin Sergeant 1ed39677ce SocketServer::handleConnection takes an std::shared_ptr<Socket> instead of a file descriptor 2019-09-30 21:48:55 -07:00
Benjamin Sergeant 562d7484e4 openSSLHandshake -> openSSLClientHandshake 2019-09-30 21:24:25 -07:00
Benjamin Sergeant 58d6e4bb26 all ws subcommands propagate tls options to servers (unimplemented) or ws or http client (implemented) (contributed by Matt DeBoer) 2019-09-30 18:21:20 -07:00
Benjamin Sergeant 0539d2df2e clang-format 2019-09-30 17:52:39 -07:00
Benjamin Sergeant e023dd9c36 ws has a --version option 2019-09-30 17:31:33 -07:00
Benjamin Sergeant a95cf727b1 bump version number 2019-09-29 22:10:07 -07:00
Benjamin Sergeant b96a65031e fix windows compile error in include/spdlog/details/pattern_formatter-inl.h 2019-09-29 22:00:57 -07:00
Benjamin Sergeant 2a838d01a7 docs: WITH_TLS => USE_TLS 2019-09-29 21:31:13 -07:00
Matt DeBoer b0afd36cec document basic usage 2019-09-29 21:29:28 -07:00
Benjamin Sergeant 77863c0e8b unittest / specify a cacert for tls client tests 2019-09-29 21:24:22 -07:00
Benjamin Sergeant 2229159bd2 ws curl + http client tls option handling + ca cert processing for mbedtls 2019-09-29 21:13:11 -07:00
Benjamin Sergeant 89d2606b1d update copyright dates and authors 2019-09-29 20:09:51 -07:00
Benjamin Sergeant a7a41c51d9 openssl client: handle TLS options 2019-09-29 20:07:53 -07:00
Benjamin Sergeant 4de7cb191b most ws command take tls options, no-op for now (contributed by Matt DeBoer) 2019-09-29 18:29:51 -07:00
Benjamin Sergeant b3784b4c60 SocketTLSOptions: more methods (contributed by Matt DeBoer) 2019-09-29 17:35:18 -07:00
Benjamin Sergeant 816c53e3a3 ws transfer + send + receive / improved logging (contributed by Matt DeBoer) 2019-09-29 17:21:52 -07:00
Benjamin Sergeant 28c4b83ab9 Add ability to use OpenSSL on apple platforms. 2019-09-29 15:34:58 -07:00
Benjamin Sergeant 3a91894d62 update and change how we build with spdlog 2019-09-29 11:13:24 -07:00
Benjamin Sergeant 3c8cd6289b ixcobra / fix crash in CobraConnection::publishNext when the queue is empty + handle CobraConnection_PublishMode_Batch in CobraMetricsThreadedPublisher 2019-09-28 10:36:47 -07:00
Benjamin Sergeant 06297ac756 DNS lookup test works on windows 2019-09-27 14:34:47 -07:00
Benjamin Sergeant 1b6584ccba mbedtls fixes / the unittest now pass on macOS, and hopefully will on Windows/AppVeyor as well. 2019-09-27 14:07:01 -07:00
Benjamin Sergeant 0499a80c55 Export port 8008 for Docker + test_ws.sh is /bin/sh compatible 2019-09-26 14:36:14 -07:00
Benjamin Sergeant f18980d010 http server unittest + refactoring 2019-09-26 09:45:59 -07:00
Benjamin Sergeant 2fb0ebb05b http server: in redirect mode, POST request are given a 200 status code and an empty response 2019-09-26 09:27:27 -07:00
Benjamin Sergeant 7495c9ebb8 Http server: add options to ws https to redirect all requests to a given url. 2019-09-26 09:10:30 -07:00
Benjamin Sergeant b26d463bad Stop having ws send subcommand send a binary message in text mode, which would cause error in make ws_test shell script test 2019-09-25 15:39:43 -07:00
Benjamin Sergeant f8a581aa69 fix doc 2019-09-24 15:42:28 -07:00
Benjamin Sergeant 01f3340718 speedup base64 code by reserving memory 2019-09-24 14:17:03 -07:00
Benjamin Sergeant a9b8b6decd wrong mutex being used ... 2019-09-24 14:10:41 -07:00
Benjamin Sergeant ea83327261 Fix 2 race conditions detected with TSan, one in CobraMetricsPublisher::push and another one in WebSocketTransport::sendData (that one was bad). 2019-09-24 11:46:54 -07:00
Benjamin Sergeant 39c0fb0072 try to enable more tests on windows 2019-09-23 21:52:32 -07:00
Benjamin Sergeant 733b414b3b fix tsan errors on macOS when running the unittest 2019-09-23 21:51:55 -07:00
Benjamin Sergeant c32067013a fix warning + add redis server logging 2019-09-23 21:14:20 -07:00
Benjamin Sergeant fbf80f4ab1 Add simple Redis Server which is only capable of doing publish / subscribe. New ws redis_server sub-command to use it. The server is used in the unittest, so that we can run on CI in environment where redis isn not available like github actions env. 2019-09-23 21:04:01 -07:00
Benjamin Sergeant 8f8385f8f8 fix linux compilation error, by ordering dependant libraries properly 2019-09-23 12:32:04 -07:00
Benjamin Sergeant 122118196b move snake code to its own subfolder like ixcobra, ixcrypto, etc... 2019-09-23 11:46:16 -07:00
Benjamin Sergeant 6f2fe49a7b reformat everything with clang-format 2019-09-23 10:25:23 -07:00
Benjamin Sergeant b667c0ad40 fix unittest 2019-09-22 19:40:33 -07:00
Benjamin Sergeant 283cf83d47 fix unittest compiler warnings 2019-09-22 19:22:48 -07:00
Benjamin Sergeant ab1b5cd665 compile fixes 2019-09-22 18:52:57 -07:00
Benjamin Sergeant dbf6d00249 add gihub actions 2019-09-22 18:45:30 -07:00
Benjamin Sergeant d0963f4af0 compiled fixes on mac and windows 2019-09-22 18:43:57 -07:00
Matt DeBoer dd01f734c6 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
Benjamin Sergeant 1769199d32 Fix crash in the Linux unittest in the HTTP client code, in Socket::readBytes. Cobra Metrics Publisher code returns the message id of the message that got published, to be used to validated that it got sent properly when receiving an ack. 2019-09-21 09:23:58 -07:00
Benjamin Sergeant 8821183aea missing file in ws tool 2019-09-19 12:51:34 -07:00
Benjamin Sergeant a7cf151639 In DNS lookup code, make sure the weak pointer we use lives through the expected scope (if branch) 2019-09-19 12:51:11 -07:00
Benjamin Sergeant f7a12f52f8 On error while doing a client handshake, additionally display port number next to the host name v6.2.1 2019-09-17 12:08:52 -07:00
Benjamin Sergeant 1be3b8f4b1 rename test file 2019-09-17 12:07:31 -07:00
Benjamin Sergeant 0b844d8361 make test target does not try to install anything into /usr/local 2019-09-12 11:45:31 -07:00