Commit Graph

362 Commits

Author SHA1 Message Date
Benjamin Sergeant 3a25a05d9c (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 d2acfd5d1f (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 9dfcd8ea69 (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 ee65f95fe3 (cobra client) send a websocket ping every 30s to keep the connection opened 2019-12-24 17:16:41 -08:00
Benjamin Sergeant b9cc6d7e23 (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 1e97e5e536 socket tls options: display ciphers 2019-12-23 12:25:25 -08:00
Benjamin Sergeant ff489515be v7.6.4 2019-12-22 20:32:10 -08:00
Benjamin Sergeant 536a502b60 (client) error handling, quote url in error case when failing to parse on 2019-12-22 20:30:29 -08:00
Benjamin Sergeant d7318f97e6 (tls) add a simple description of the TLS configuration routine for debugging 2019-12-20 15:18:04 -08:00
Benjamin Sergeant d1a4cab134 (mbedtls) correct support for using own certificate and private key 2019-12-20 15:13:26 -08:00
Benjamin Sergeant 8e7d310439 (ws commands) in websocket proxy, disable automatic reconnections + in Dockerfile, use alpine 3.11 2019-12-20 09:51:21 -08:00
Benjamin Sergeant 4e240e4992 formatting 2019-12-19 19:13:55 -08:00
Benjamin Sergeant 626e190d91 (cobra-to-sentry) capture application version from device field 2019-12-18 15:41:59 -08:00
Benjamin Sergeant 494f408320 (tls) Experimental TLS server support with mbedtls (windows) + process cert tlsoption (client + server) 2019-12-18 11:51:02 -08:00
Benjamin Sergeant 299afc1425 (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 0679b6399f (tls options client) TLSOptions struct _validated member should be initialized to false 2019-12-17 14:10:28 -08:00
Benjamin Sergeant 862f8ea2d4 (websocket client) improve the error message when connecting to a non websocket server 2019-12-16 17:57:43 -08:00
Benjamin Sergeant cae016564e (server) attempt at fixing #131 by using blocking writes in server mode 2019-12-12 12:17:29 -08:00
Benjamin Sergeant e223f8fac2 (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 ba4cf75e0f (mac) convert SSL errors to utf8 2019-12-06 16:45:49 -08:00
Benjamin Sergeant 0b2d816320 (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 18386ae66f (ws) #125 / fix build problem when jsoncpp is not installed locally 2019-12-03 17:18:16 -08:00
Benjamin Sergeant 5c5ea6dec1 (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 c91a0d2a35 (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 d465511812 [#113] Mention StreamSSL as an example windows schannel implementation 2019-12-03 09:22:27 -08:00
Benjamin Sergeant 6b98694caa (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 d82e05f72d (client) fix an overflow in the exponential back off code 2019-12-02 13:51:45 -08:00
Benjamin Sergeant a0d5f37402 (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 Sergeant 155bbfa984 On Darwin SSL, add ability to skip peer verification. 2019-11-20 13:58:08 -08:00
Benjamin Sergeant 89aae8b344 bump version for 32-bit fix 2019-11-20 11:35:07 -08:00
fcojavmc 708969c126 Compile bug (#122)
* 1) IXWebSocketTransport: BUG: int type has no warranty of number of bits. It depends on compiler and architecture. In my system (64 bit) is 32 bit.
1 << 63 is bad idea in this case because the final number is 0 by overflow.
The symptom observed is that the server can't receive messages.

2) IXSocketFactory: Compilation Warning: Variable not in use.

* Better aproach suggested by Benjamin.
2019-11-20 11:12:24 -08:00
Benjamin Sergeant cc492bf1a3 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 16c6f08e2d fix android build + proxy work 2019-11-16 06:51:53 -08:00
Benjamin Sergeant 6e9f27d63c bump version 2019-11-15 17:19:06 -08:00
Benjamin Sergeant b07827790f check max frame size (#119) 2019-10-28 21:53:31 -07:00
Benjamin Sergeant c3a619f114 Add client support for websocket subprotocol. Look for the new addSubProtocol method for details 2019-10-13 13:37:34 -07:00
Benjamin Sergeant 128545cc2b 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 852bf452b6 Freebsd (#117)
* add file

* CMake freebsd fix
2019-10-09 17:00:32 -07:00
Benjamin Sergeant b38e80f846 (freebsd compile fix) add some missing socket related headers 2019-10-09 15:38:40 -07:00
Benjamin Sergeant 1f8944852a bump version 2019-10-01 16:01:32 -07:00
Benjamin Sergeant 95dd03b298 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 a0cfaff528 Implement SSL server with OpenSSL backend / still flaky 2019-10-01 15:43:37 -07:00
Benjamin Sergeant d6542383ed Add --tls option to pass to ws server command, to enable/disable tls 2019-10-01 13:54:46 -07:00
Benjamin Sergeant afed387bcf 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 313949f087 SocketServer::handleConnection takes an std::shared_ptr<Socket> instead of a file descriptor 2019-09-30 21:48:55 -07:00
Benjamin Sergeant e5c8e2e7f4 openSSLHandshake -> openSSLClientHandshake 2019-09-30 21:24:25 -07:00
Benjamin Sergeant 845bbc5208 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 7a26ff4de8 clang-format 2019-09-30 17:52:39 -07:00
Benjamin Sergeant a1f3c40a2d ws has a --version option 2019-09-30 17:31:33 -07:00
Benjamin Sergeant 1fdbc2bc22 bump version number 2019-09-29 22:10:07 -07:00