Commit Graph
100 Commits
Author SHA1 Message Date
Benjamin Sergeant c4e9abfe80 (ws cobra to sentry) bound the queue size used to hold up cobra messages before they are sent to sentry. Default queue size is a 100 messages. Without such limit the program runs out of memory when a subscriber receive a lot of messages that cannot make it to sentry 2019-12-25 22:15:57 -08:00
Benjamin Sergeant a805270d02 (ws client) use correct compilation defines so that spdlog is not used as a header only library (reduce binary size and increase compilation speed) 2019-12-25 09:03:57 -08:00
Benjamin Sergeant e13b57c73b (ws client) all commands use spdlog instead of std::cerr or std::cout for logging 2019-12-24 21:55:34 -08:00
Benjamin Sergeant 5be84926ef (cobra client) send a websocket ping every 30s to keep the connection opened 2019-12-24 17:16:41 -08:00
Benjamin Sergeant 33e7271b85 (tls / apple) minor refactoring, move functions out of the anonymous namespace to become static member functions 2019-12-23 16:30:38 -08:00
Benjamin Sergeant d72e5e70f6 socket tls options: display ciphers 2019-12-23 12:25:25 -08:00
Benjamin Sergeant e2c5f751bd (doc) fix typo 2019-12-22 20:33:14 -08:00
Benjamin Sergeant 351b86e266 v7.6.4 2019-12-22 20:32:10 -08:00
Benjamin Sergeant d0cbff4f4e (client) error handling, quote url in error case when failing to parse on 2019-12-22 20:30:29 -08:00
Benjamin Sergeant cbfc9b9f94 (ws) ws_cobra_publish: register callbacks before connecting 2019-12-22 20:29:37 -08:00
Benjamin Sergeant ca816d801f (doc) mention mbedtls in supported ssl server backend 2019-12-22 20:28:44 -08:00
Benjamin Sergeant 2f354d31eb update gitignore file 2019-12-20 15:21:36 -08:00
Benjamin Sergeant 2c6c1edd37 (tls) add a simple description of the TLS configuration routine for debugging 2019-12-20 15:18:04 -08:00
Benjamin Sergeant 9799e7e84b (mbedtls) correct support for using own certificate and private key 2019-12-20 15:13:26 -08:00
Benjamin Sergeant 81be970679 (ws commands) in websocket proxy, disable automatic reconnections + in Dockerfile, use alpine 3.11 2019-12-20 09:51:21 -08:00
Benjamin Sergeant 52221906f6 (cobra) Add TLS options to all cobra commands and classes. Add example to the doc. 2019-12-19 20:49:28 -08:00
Benjamin Sergeant 3e786fe23a formatting 2019-12-19 19:13:55 -08:00
Benjamin Sergeant de24aac7d5 (cobra-to-sentry) capture application version from device field 2019-12-18 15:41:59 -08:00
Benjamin Sergeant cd4b0ccf6f IXSentryClient: remove duplicated line 2019-12-18 15:29:53 -08:00
Benjamin Sergeant 4e1888ac19 (tls) Experimental TLS server support with mbedtls (windows) + process cert tlsoption (client + server) 2019-12-18 11:51:02 -08:00
Benjamin Sergeant 237ede56aa (tls servers) Make it clear that apple ssl and mbedtls backends do not support SSL in server mode 2019-12-18 10:43:05 -08:00
Benjamin Sergeant ba3b1c1a0f (tls options client) TLSOptions struct _validated member should be initialized to false 2019-12-17 14:10:28 -08:00
Benjamin Sergeant c60c606e0f (websocket client) improve the error message when connecting to a non websocket server 2019-12-16 17:57:43 -08:00
Benjamin Sergeant 5897de6bd9 (server) attempt at fixing #131 by using blocking writes in server mode 2019-12-12 12:17:29 -08:00
Benjamin Sergeant cca304fc18 (ws) cobra to sentry - created events with sentry tags based on tags present in the cobra messages 2019-12-11 17:28:11 -08:00
Benjamin Sergeant 432624df0d update spdlog 2019-12-06 22:05:12 -08:00
Benjamin Sergeant 9c047fac72 (mac) convert SSL errors to utf8 2019-12-06 16:45:49 -08:00
Benjamin Sergeant 615df9cef0 Add script to extract the version from the header file and remove DOCKER_VERSION 2019-12-06 16:44:05 -08:00
Benjamin Sergeant 094d16304d (ws) cobra to sentry. Handle Error 429 Too Many Requests and politely wait before sending more data to sentry 2019-12-05 15:59:29 -08:00
Benjamin Sergeant c2377e8747 Using Alpine edge distribution to live on the edge 2019-12-05 15:46:01 -08:00
Benjamin Sergeant a63c0d6e78 sentry minidump upload timeout 2019-12-05 15:19:27 -08:00
Benjamin Sergeant aa3bface30 bunch of docker compose dev changes 2019-12-05 15:18:02 -08:00
Benjamin Sergeant 5d75a3aac3 (ws) #125 / fix build problem when jsoncpp is not installed locally 2019-12-03 17:18:16 -08:00
Benjamin Sergeant c75959fcb5 (ws) #125 / cmake detects an already installed jsoncpp and will try to use this one if present 2019-12-03 16:01:46 -08:00
Benjamin Sergeant af1a54f2ad (http client) use std::unordered_map instead of std::map for HttpParameters and HttpFormDataParameters class aliases 2019-12-03 09:25:00 -08:00
Benjamin Sergeant 8a385449ce [#113] Mention StreamSSL as an example windows schannel implementation 2019-12-03 09:22:27 -08:00
Benjamin Sergeant 396a6985ae (client) internal IXDNSLookup class requires a valid cancellation request function callback to be passed in 2019-12-02 14:52:19 -08:00
Benjamin Sergeant 92db53c470 (client) fix an overflow in the exponential back off code 2019-12-02 13:51:45 -08:00
Benjamin Sergeant 49865fed0a ws cobra_subscribe / sleep 1s instead of 10ms in the main loop 2019-12-02 09:52:52 -08:00
Benjamin Sergeant f3f71314d9 Improve the limitation section in the doc about TLS, cf bug #113 2019-12-02 09:52:05 -08:00
Benjamin Sergeant 2d593dd63b ws cobra subcommands / channel is not a positional argument anymore 2019-11-28 15:17:13 -08:00
Benjamin Sergeant 779b1e6077 add doc about using ws to run a cobra server/publisher/subscriber 2019-11-27 09:26:45 -08:00
Benjamin Sergeant 6054dd4b49 (http client) Add support for multipart HTTP POST upload + (ixsentry) Add support for uploading a minidump to sentry 2019-11-25 21:11:11 -08:00
Benjamin SergeantandGitHub 69aa3839bf Update README.md 2019-11-23 12:44:24 -08:00
Benjamin Sergeant 6808a0b500 On Darwin SSL, add ability to skip peer verification. 2019-11-20 13:58:08 -08:00
Benjamin Sergeant a7df6120d5 bump version for 32-bit fix 2019-11-20 11:35:07 -08:00
Benjamin Sergeant d20ab19fa9 tweaks to the test python proxy code / (moved here) https://gist.github.com/bsergean/bad452fa543ec7df6b7fd496696b2cd8 2019-11-20 11:32:21 -08:00
Benjamin Sergeant 2cfadd93b5 add a python websocket proxy which works on Linux, while ws proxy_server does not 2019-11-18 13:46:11 -08:00
Benjamin Sergeant 8607dc1a4a ws proxy_server / remote server close not forwarded to the client 2019-11-16 14:21:44 -08:00
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