Commit Graph
100 Commits
Author SHA1 Message Date
Benjamin Sergeant 521286ae88 fix android build + proxy work 2019-11-16 06:51:53 -08:00
Benjamin Sergeant d122e12a1f bump version 2019-11-15 17:19:06 -08:00
Benjamin Sergeant c26c3b6892 document new proxy command 2019-11-15 17:18:32 -08:00
Benjamin Sergeant ed75d14c86 proxy works but crash when the connection is refused 2019-11-15 17:07:31 -08:00
Benjamin Sergeant 0841fcec44 add stub code for ws proxy server 2019-11-15 14:30:20 -08:00
Benjamin Sergeant 4e717abdb8 fix typo 2019-11-15 14:28:30 -08:00
Benjamin Sergeant 451d2b4253 update readme / add contributing notes 2019-11-15 14:21:28 -08:00
Benjamin Sergeant 10b4ee353d update changelog 2019-11-06 23:12:45 -08:00
Benjamin Sergeant 07822625b7 update readme 2019-11-06 23:12:45 -08:00
Benjamin SergeantandGitHub c943e72c7b check max frame size (#119) 2019-10-28 21:53:31 -07:00
Benjamin Sergeant ebb31b4e87 docker build fixes 2019-10-26 11:47:08 -07:00
Benjamin Sergeant 6904dd3f4c Add unittest to IXSentryClient to lua backtrace parsing code 2019-10-26 10:54:47 -07:00
Benjamin Sergeant 0e73fe51e9 move sentry code around and add a stub unittest for it 2019-10-25 14:54:31 -07:00
Benjamin Sergeant 7e67598360 ws cobra to sentry / simplify sent and received message statistic reporting 2019-10-25 14:34:48 -07:00
Benjamin Sergeant 91a95dc5f6 remove unused quiet argument of ws cobra_metrics_to_redis command 2019-10-25 14:02:56 -07:00
Benjamin Sergeant c40033b6d9 Add cobra_metrics_to_redis sub-command to create streams for each cobra metric event being received. 2019-10-24 14:42:36 -07:00
Benjamin SergeantandGitHub adf83f3255 Create SECURITY.md 2019-10-17 06:58:22 -07:00
Benjamin Sergeant 8fda7cb131 remove unused code in ws cobra_publish 2019-10-14 11:15:14 -07:00
Benjamin Sergeant 0e9cf863cf Add client support for websocket subprotocol. Look for the new addSubProtocol method for details 2019-10-13 13:37:34 -07:00
Benjamin Sergeant 279f6fbfed OpenSSL: add an extra cipher to the default cipher set, which let us connect to wss//echo.websocket.org 2019-10-10 09:37:27 -07:00
Benjamin Sergeant f8e7b34bf0 add more docs about ws 2019-10-09 22:42:03 -07:00
Benjamin SergeantandGitHub d2cf616737 Freebsd (#117)
* add file

* CMake freebsd fix
2019-10-09 17:00:32 -07:00
Benjamin Sergeant 11a3b64657 (freebsd compile fix) add some missing socket related headers 2019-10-09 15:38:40 -07:00
Benjamin Sergeant bab2295fc3 make sure the unittest pass withouth SSL 2019-10-03 09:41:17 -07:00
Benjamin Sergeant adcbf0d208 add a target for building wihout ssl + take Matt Boer updated script to run ws test with SSL (still broken for large payload) 2019-10-03 07:47:34 -07:00
Benjamin Sergeant 19150115bb ws: Signal handling code isn't include on Windows 2019-10-01 16:12:32 -07:00
Benjamin Sergeant d93bd9b58b bump version 2019-10-01 16:01:32 -07:00
Benjamin Sergeant 13801dff8a Add mbed tls version in user agent string + set user agent properly when enabling openssl on macOS 2019-10-01 15:58:35 -07:00
Benjamin Sergeant de87fa34dc Implement SSL server with OpenSSL backend / still flaky 2019-10-01 15:43:37 -07:00
Benjamin Sergeant d60f5de231 Add --tls option to pass to ws server command, to enable/disable tls 2019-10-01 13:54:46 -07:00
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
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
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 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
Benjamin Sergeant 57086e28d8 fix unittest warnings + remove trailing spaces 2019-09-12 11:43:52 -07:00
Benjamin Sergeant a55d4cdb76 update pre-commit file 2019-09-10 22:18:16 -07:00
Benjamin Sergeant 40a45717db update clang format file 2019-09-10 22:17:08 -07:00
Benjamin SergeantandGitHub ae3856c10f Fix Windows CI with appveyor (#110)
Fix windows CI with appveyor + minor tweaks.
2019-09-07 14:07:00 -07:00
Benjamin SergeantandGitHub 308fda0b37 Update README.md 2019-09-05 14:30:51 -07:00
Benjamin SergeantandGitHub 06bc795133 New option to cap the max wait between reconnection attempts. Still default to 10s. (setMaxWaitBetweenReconnectionRetries) (#108) 2019-08-30 12:46:35 -07:00
Benjamin Sergeant 08006ddd97 try to activate CI on windows again 2019-06-23 18:32:18 -07:00
Benjamin Sergeant fa4aee6ddc bump docker version 2019-06-23 18:17:24 -07:00
Benjamin SergeantandGitHub 691502d7ad Feature/httpd (#94)
* Stub code for http server

* can send a response, cannot process body yet

* write headers to the response

* remove commented code

* add simple test + set default http handler

* tweak CI + unittest

* add missing file

* rewrite http::trim in a simple way

* doc
2019-06-23 14:54:21 -07:00
Benjamin Sergeant 43deaba547 IXDNSLookup. Uses weak pointer + smart_ptr + shared_from_this instead of static sets + mutex to handle object going away before dns lookup has resolved 2019-06-19 00:43:59 -07:00
Benjamin Sergeant 2d02ae0f0c cobra_to_sentry / backtraces are reversed and line number is not extracted correctly 2019-06-13 10:18:40 -07:00
Benjamin Sergeant a8879da4fc disable windows on CI for now 2019-06-10 22:10:43 -07:00
Benjamin Sergeant 5f4a430845 disable building ws on windows on travis 2019-06-10 22:01:19 -07:00
Benjamin Sergeant b9231be305 (cmake) missing find_package(Threads) on UNIX 2019-06-10 13:39:22 -07:00
Benjamin Sergeant 7cb5cc05e4 Add -DUSE_VENDORED_THIRD_PARTY=1 to build ws 2019-06-10 13:26:41 -07:00
Benjamin Sergeant 750a752ac0 - mbedtls and zlib are searched with find_package, and we use the vendored version if nothing is found 2019-06-10 11:18:27 -07:00
Benjamin Sergeant 61e5f52286 - travis CI uses g++ on Linux 2019-06-09 14:27:45 -07:00
Benjamin Sergeant ce0b716f54 compile error in IXWebSocketMessageQTest 2019-06-09 12:25:36 -07:00
Benjamin Sergeant aae8e5ec65 fix IXWebSocketMessageQTest.cpp 2019-06-09 12:08:00 -07:00
Benjamin Sergeant 2723e8466e fix changelog 2019-06-09 12:02:38 -07:00
Benjamin Sergeant f13c610352 update README to reflect the new API 2019-06-09 12:02:02 -07:00
Benjamin Sergeant 55c65b08bf - WebSocket::send() sends message in TEXT mode by default
- WebSocketMessage sets a new binary field, which tells whether the received incoming message is binary or text
2019-06-09 11:56:47 -07:00