Benjamin Sergeant
2c4bf8f4bd
(ixsentry) add a library method to upload a payload directly to sentry
2020-04-14 22:02:51 -07:00
Benjamin Sergeant
3a2c446225
missing headers in IXWebSocketCloseInfo.h, ,IXWebSocketErrorInfo.h and IXWebSocketOpenInfo.h
2020-04-14 21:52:27 -07:00
Benjamin Sergeant
35630fe7ed
new makefile target + better error description in Socket::readBytes
2020-04-14 21:50:56 -07:00
Benjamin Sergeant
bea582c208
cobra subscriber in fluentd mode insert a created_at timestamp entry
2020-04-14 15:30:30 -07:00
Benjamin Sergeant
432f0570f4
(websocket) WebSocketMessagePtr is a unique_ptr instead of a shared_ptr
2020-04-13 21:56:01 -07:00
Benjamin Sergeant
37a054723a
(websocket) use persistent member variable as temp variables to encode/decode zlib messages in order to reduce transient allocations
2020-04-13 21:38:15 -07:00
Benjamin Sergeant
c57cf413fb
(ws) add a --runtime option to ws cobra_subscribe to optionally limit how much time it will run
2020-04-13 19:03:53 -07:00
Benjamin Sergeant
f1c106728b
(third_party deps) fix #177 , update bundled spdlog to 1.6.0
2020-04-11 13:32:16 -07:00
Benjamin Sergeant
f9d75c9374
(windows) when using OpenSSL, the system store is used to populate the cacert. No need to ship a cacert.pem file with your app.
2020-04-04 18:33:01 -07:00
Benjamin Sergeant
f3b97097cd
(windows) ci: windows build with TLS (mbedtls) + verify that we can be build with OpenSSL
2020-04-04 17:49:52 -07:00
Benjamin Sergeant
1d3db5f75b
(cobra to statsd bot) add ability to extract a numerical value and send a timer event to statsd, with the --timer option
2020-03-30 16:08:47 -07:00
Benjamin Sergeant
e465f7af52
(cobra to statsd bot) bot init was missing + capture socket error
2020-03-29 22:03:27 -07:00
Benjamin Sergeant
f8bf1fe7cd
(cobra to statsd bot) add ability to extract a numerical value and send a gauge event to statsd
2020-03-29 19:32:43 -07:00
Benjamin Sergeant
cfa5718e40
(ws cobra subscriber) use a Json::StreamWriter to write to std::cout, and save one std::string allocation for each message printed
2020-03-29 15:24:46 -07:00
Benjamin Sergeant
40c619c1ec
(docker) trim down docker image (300M -> 12M) / binary built without symbol and size optimization, and source code not copied over
2020-03-29 13:06:44 -07:00
Benjamin Sergeant
22b02e0e5c
update doc
2020-03-28 10:46:42 -07:00
Benjamin Sergeant
686aface26
bump version to 9.1.3
2020-03-28 10:33:05 -07:00
Benjamin Sergeant
771ebb2a4c
(mac ssl) rename DarwinSSL -> SecureTransport (see this too -> https://github.com/curl/curl/issues/3733 )
2020-03-26 19:40:52 -07:00
Benjamin Sergeant
0fffb1e894
(websocket) fix data race accessing _socket object without mutex protection when calling wakeUpFromPoll in WebSocketTransport.cpp
2020-03-26 19:31:59 -07:00
Benjamin Sergeant
d2db7310ff
(ixcobra) add explicit event types for handshake, authentication and subscription failure, and handle those by exiting in ws_cobra_subcribe and friends
2020-03-26 18:54:28 -07:00
Benjamin Sergeant
dffa759f71
move IXBench code under ixwebsocker folder
2020-03-24 20:53:25 -07:00
Benjamin Sergeant
61e789d6a4
formatting
2020-03-24 20:37:55 -07:00
Benjamin Sergeant
37cb2cc266
(ws connect) display statistics about how much time it takes to stop the connection / cf #168
2020-03-24 20:29:09 -07:00
Benjamin Sergeant
179e17895d
unique_ptr for sockets
2020-03-24 12:48:55 -07:00
Benjamin Sergeant
9f818c7acf
(socket) selectInterrupt member is an unique_ptr instead of being a shared_ptr
2020-03-24 10:00:41 -07:00
Benjamin Sergeant
9dcc2538ae
(websocket) reset per-message deflate codec everytime we connect to a server/client
2020-03-23 18:46:30 -07:00
Benjamin Sergeant
f41a54186c
(websocket) fix #167 , a long standing issue with sending empty messages with per-message deflate extension (and hopefully other zlib bug)
2020-03-23 15:21:53 -07:00
Benjamin Sergeant
e0733d205c
fix linux linker error
2020-03-22 21:59:30 -07:00
Benjamin Sergeant
f72f845ad2
trim headers and unused code in IXUdpSocket
2020-03-22 21:51:41 -07:00
Benjamin Sergeant
a0ffb2ba53
cobra to statsd bot ported to windows + add unittest
2020-03-22 19:37:04 -07:00
Benjamin Sergeant
5ce846f48b
indent files
2020-03-20 17:00:18 -07:00
Benjamin Sergeant
1d6373335c
(websocket+tls) fix hang in tls handshake which could lead to ANR, discovered through unittesting.
2020-03-20 16:57:27 -07:00
Benjamin Sergeant
829751b7af
(cobra) CobraMetricsPublisher can be configure with an ix::CobraConfig + more unittest use SSL in server + client
2020-03-20 12:22:00 -07:00
Benjamin Sergeant
6085839ef7
minor refactoring
2020-03-18 11:45:28 -07:00
Benjamin Sergeant
696d802703
bump version
2020-03-18 01:15:15 -07:00
Benjamin Sergeant
b287730c19
Simplify ping/pong based heartbeat implementation
2020-03-18 01:14:08 -07:00
Benjamin Sergeant
d6f534de06
(ws) ws echo_server gains a new option (-p) to disable responding to pings with pongs
2020-03-18 00:01:57 -07:00
Benjamin Sergeant
e8f81776f9
(cobra to sentry bot + docker) default docker file uses mbedtls + ws cobra_to_sentry pass tls options to sentryClient.
2020-03-16 10:05:21 -07:00
Benjamin Sergeant
44f599747e
(cobra client) ws cobra subscribe resubscribe at latest position after being disconnected
2020-03-13 17:30:31 -07:00
Benjamin Sergeant
9801ebdb36
(cobra client) can subscribe with a position
2020-03-13 16:06:13 -07:00
Benjamin Sergeant
332ffb0603
(cobra client) pass the message position to the subscription data callback
2020-03-13 12:49:37 -07:00
Benjamin Sergeant
90df3d1805
(openssl tls backend) Fix a hand in OpenSSL when using TLS v1.3 ... by disabling TLS v1.3
2020-03-12 16:27:25 -07:00
Benjamin Sergeant
6a4d69afc5
(cobra) IXCobraConfig struct has tlsOptions and per message deflate options
2020-03-11 12:40:32 -07:00
Benjamin Sergeant
0a11132b07
(cobra) add IXCobraConfig struct to pass cobra config around
2020-03-11 10:48:41 -07:00
Benjamin Sergeant
b1f30bb40f
(ws cobra_subscribe) add a --fluentd option to wrap a message in an enveloppe so that fluentd can recognize it
2020-03-09 15:25:43 -07:00
Benjamin Sergeant
4ef04b8339
(websocket server) fix regression with disabling zlib extension on the server side. If a client does not support this extension the server will handle it fine. We still need to figure out how to disable the option. cc #160
2020-03-02 16:53:08 -08:00
Benjamin Sergeant
e15a2900e7
(websocket) traffic tracker received bytes is message size while it should be wire size
2020-02-26 11:24:41 -08:00
Benjamin Sergeant
140a21c8b3
(ws_connect) display sent/received bytes statistics on exit
2020-02-26 11:23:36 -08:00
Benjamin Sergeant
6d0c568aaa
update doc / fix incorrect comment about sending defaultint to binary mode
2020-02-24 16:24:32 -08:00
Benjamin Sergeant
4a9b0b9dfd
(server) give thread name to some usual worker threads / unittest is broken !!
2020-02-23 09:44:58 -08:00
Benjamin Sergeant
8837d5e784
(websocket server) fix regression from 8.1.2, where per-deflate message compression was always disabled
2020-02-22 10:15:43 -08:00
Benjamin Sergeant
242c945400
(client + server) Fix #155 / http header parser should treat the space(s) after the : delimiter as optional. Fixing this bug made us discover that websocket sub-protocols are not properly serialiazed, but start with a ,
2020-02-21 14:05:38 -08:00
Benjamin Sergeant
4c66a7561e
(WebSocketServer) add option to disable deflate compression, exposed with the -x option to ws echo_server
2020-02-18 21:38:28 -08:00
Benjamin Sergeant
111475e65c
(ws cobra to statsd and sentry sender) exit if no messages are received for one minute, which is a sign that something goes wrong on the server side. That should be changed to be configurable in the future
2020-02-18 12:43:07 -08:00
Benjamin Sergeant
45061b0b14
(http client + sentry minidump upload) Multipart stream closing boundary is invalid + mark some options as mandatory in the command line toolsj
2020-02-13 12:25:18 -08:00
Benjamin Sergeant
1bb847a51c
bump version for #154 fix which was about removing the unused subtree which was causing some way of installing to break
2020-02-12 11:21:46 -08:00
Benjamin Sergeant
f994a41845
(IXCobraConnection) set a ping timeout of 90 seconds. If no pong messages are received as responses to ping for a while, give up and close the connection
2020-01-31 16:25:45 -08:00
Benjamin Sergeant
f3760318b7
(cobra to sentry) remove noisy logging
2020-01-31 16:07:36 -08:00
Benjamin Sergeant
c2362e6875
(ixcobra) check if we are authenticated in publishNext before trying to publish a message
2020-01-30 20:52:11 -08:00
johnfoconnor
d91b24723d
version 8.0.2: add severity level for log sentry events ( #152 )
...
* script to update version
* version 8.0.2: add severity level for log sentry events
2020-01-28 14:04:18 -08:00
Benjamin Sergeant
2d28b7d4ff
bump version and update changelog
2020-01-28 10:50:03 -08:00
Benjamin Sergeant
86d3fc8621
quit checkConnection after sleeping if requested to stop (iterate on #151 )
2020-01-28 10:46:04 -08:00
Benjamin Sergeant
422c7ff855
wait with a condition variable instead of a this_thread::sleep_for so that waiting can be cancelled when we stop/shutdown the data thread (see #151 )
2020-01-28 10:04:32 -08:00
Benjamin Sergeant
1c7ccbae12
bump version
2020-01-27 17:41:27 -08:00
Benjamin Sergeant
ed2a81f115
Fix #148
2020-01-27 17:29:44 -08:00
Seth Alves
7ed8ac208a
bind returns zero on success ( #149 )
2020-01-27 17:15:44 -08:00
Benjamin Sergeant
aa12098cb5
add -6 option to ws echo_server / cf #148
2020-01-26 16:44:44 -08:00
Benjamin Sergeant
5d4bb90703
(SocketServer) add ability to bind on an ipv6 address
2020-01-26 16:21:56 -08:00
Benjamin Sergeant
fad9f89846
(ws) add a dnslookup sub-command, to get the ip address of a remote host
2020-01-26 16:21:56 -08:00
ronen barzel
527308a049
Remove 'handleConnect() done' info message ( #147 )
2020-01-26 10:03:17 -08:00
Benjamin Sergeant
65bae2736d
fix #144 - get rid of stubbed windows ssl schannel backend
2020-01-14 13:39:48 -08:00
Benjamin Sergeant
a923caec0b
install gdb in the alpine dockerfile
2020-01-14 13:37:28 -08:00
Benjamin Sergeant
4d7332c4ee
activate chat test on Windows
2020-01-13 16:44:10 -08:00
Benjamin Sergeant
4f3f1f3e4c
simplify socket interface
2020-01-12 22:30:16 -08:00
Benjamin Sergeant
2a954b5b5b
use curl code for large apple ssl send
2020-01-12 22:04:06 -08:00
Benjamin Sergeant
d2c5ab1cc4
(openssl + mbedssl) fix #140 , can send large files with ws send over ssl / still broken with apple ssl
2020-01-12 11:08:44 -08:00
Benjamin Sergeant
9651f3823d
(apple ssl) model write method after the OpenSSL one for consistency
...
More test code for #140 .
2020-01-10 18:32:34 -08:00
Benjamin Sergeant
df0239ae68
poll: handle POLLNVAL
2020-01-09 13:45:58 -08:00
Benjamin Sergeant
ce9db42c23
socket polling / handle more error case such as hanged socket
2020-01-09 12:26:57 -08:00
Benjamin Sergeant
a844dbc587
websocket closing / handle failure to flush send buffer as an error case
2020-01-09 12:17:37 -08:00
Benjamin Sergeant
fe29579755
refactor receiving socket code in its own method
2020-01-09 12:00:42 -08:00
Matthew Albrecht
b816f1fbda
Allow custom OpenSSL lib, only include openssl/x509v3.h when used. ( #143 )
...
* Allow custom OpenSSL lib, only include openssl/x509v3.h when used.
Using fnmatch on Unix systems, PathMatchSpecA is the best WINAPI equivalent.
* Moved shlwapi into WIN32 block.
2020-01-08 13:57:57 -08:00
Matthew Albrecht
d72d516a92
Fixed build error with vcpkg installed. ( #141 )
2020-01-07 10:40:36 -08:00
Benjamin Sergeant
f6c482c65d
(apple ssl) unify read and write ssl utility code
2020-01-06 15:19:14 -08:00
Benjamin Sergeant
dec8a2b9ab
apple ssl: aesthetic change (get rid of yoda comparisons/conditionals)
2020-01-06 14:45:05 -08:00
Benjamin Sergeant
a5bc39be55
(websocket client) better error propagation when errors are detected while sending data + (ws send) detect failures to send big files, terminate in those cases and report error (troubleshooting #140 )
2020-01-06 14:34:43 -08:00
Benjamin Sergeant
f56098dd4c
(ws send) add option (-x) to disable per message deflate compression
2020-01-04 15:08:36 -08:00
Benjamin Sergeant
31682f5f2d
(ws send + receive) handle all message types (ping + pong + fragment) / investigate #140
2020-01-04 13:45:07 -08:00
Benjamin Sergeant
2eece1d11a
correct version number
2019-12-30 22:14:53 -08:00
Benjamin Sergeant
5ba05212ec
tag version
2019-12-30 17:17:28 -08:00
James Tyra
9e457871b4
Update IXSocketMbedTLS.cpp ( #139 )
...
fix bug with mbedtls server certificate loading.
2019-12-30 16:11:34 -08:00
James Tyra
b5481262fb
Update IXSocketMbedTLS.cpp ( #138 )
...
fix bug just introduced.
mbedstl_pk_setup() gets automatically called later.
2019-12-30 15:14:50 -08:00
James Tyra
98e98f083e
[2nd try] Update IXSocketMbedTLS.cpp ( #137 )
...
* Update IXSocketMbedTLS.cpp
fix initialization of mbedtls context.
without this, crashes under certain conditions.
* Update IXSocketMbedTLS.cpp
removed newline on 46
2019-12-30 14:38:25 -08:00
Benjamin Sergeant
d60777b9cc
clang-format
2019-12-30 08:46:18 -08:00
Benjamin Sergeant
8b5e42fe84
(ws cobra to sentry/statsd) fix for handling null events properly for empty queues + use queue to send data to statsd
2019-12-28 17:28:05 -08:00
Benjamin Sergeant
d89d152ad7
(ws cobra to sentry) handle null events for empty queues
2019-12-28 10:16:18 -08:00
Benjamin Sergeant
47a3736b24
(ws cobra to sentry) game is picked in a fair manner, so that all games get the same share of sent events
2019-12-27 19:10:15 -08:00
Benjamin Sergeant
1cd7cf340a
(ws cobra to sentry) refactor queue related code into a class
2019-12-27 18:24:45 -08:00
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