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
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 Sergeant
e853d9ac60
build fixes
2019-09-10 14:05:07 -07:00
Benjamin Sergeant
4ec0d9b113
update appveyor file to new directory structure
2019-09-10 12:33:47 -07:00
Benjamin Sergeant
0fde169aa4
restructure project
2019-09-10 12:19:22 -07:00
Benjamin Sergeant
c09015e870
update ws CLI11 (our command line argument parsing library) to the latest, which fix a compiler bug about optional
2019-09-09 21:25:33 -07:00
Benjamin Sergeant
7bfa6e8478
improve some websocket error messages + add a utility function with unittest to parse status line and stop using scanf which triggers warnings on Windows
2019-09-09 21:23:57 -07:00
Benjamin Sergeant
983df2d8f9
improve some websocket error messages + add a utility function with unittest to parse status line and stop using scanf which triggers warnings on Windows
2019-09-09 17:34:36 -07:00
Benjamin Sergeant
6beba16ca7
websocket and http server: server does not close the bound client socket in many cases
2019-09-09 16:48:26 -07:00
Benjamin Sergeant
48cefe5525
move poll wrapper on top of select (only used on Windows) to the ix namespace
2019-09-08 11:15:08 -07:00
Benjamin Sergeant
ae3856c10f
Fix Windows CI with appveyor ( #110 )
...
Fix windows CI with appveyor + minor tweaks.
2019-09-07 14:07:00 -07:00
Benjamin Sergeant
260a94d3b0
README: update link to the doc
2019-09-06 10:42:48 -07:00
Benjamin Sergeant
88c6d6c4cb
ci
2019-09-05 22:32:54 -07:00
Benjamin Sergeant
d5a4931c92
travis linux
2019-09-05 22:29:00 -07:00
Benjamin Sergeant
11f4e90bc6
ci tweak / install redis
2019-09-05 22:14:55 -07:00
Benjamin Sergeant
2ce65e7a77
cobra metrics publisher test uses random free port
2019-09-05 22:05:00 -07:00
Benjamin Sergeant
e81c2c3e5c
cobra chat test uses random free port
2019-09-05 22:02:10 -07:00
Benjamin Sergeant
e40dda7549
add cobra metrics publisher + server unittest
2019-09-05 21:57:05 -07:00
Benjamin Sergeant
d959d73261
Add new cobra unittest, using server and client
2019-09-05 20:49:58 -07:00
Benjamin Sergeant
07b7e37a92
snake unsubscription fixes
2019-09-05 20:47:15 -07:00
Benjamin Sergeant
eb7888347a
Fix compiler warning
2019-09-05 20:29:14 -07:00
Benjamin Sergeant
d8664f4988
ws snake (cobra simple server) add basic support for unsubscription + subscribe send the proper subscription data + redis client subscription can be cancelled
2019-09-05 20:28:34 -07:00
Benjamin Sergeant
5e94791b13
IXCobraConnection / pdu handlers can crash if they receive json data which is not an object
2019-09-05 20:24:42 -07:00
Benjamin Sergeant
3e3f7171fc
cobra publish fix
2019-09-05 14:31:28 -07:00
Benjamin Sergeant
308fda0b37
Update README.md
2019-09-05 14:30:51 -07:00
Benjamin Sergeant
66ed7577b1
all client autobahn test should pass ! last failing one was ...
...
+- zlib/deflate has a bug with windowsbits == 8, so we silently upgrade it to 9/ (fix autobahn test 13.X which uses 8 for the windows size)
2019-09-04 21:01:30 -07:00
Benjamin Sergeant
cae23c764f
Fragmentation: for sent messages which are compressed, the continuation fragments should not have the rsv1 bit set (fix all autobahn tests for zlib compression 12.X)
...
Websocket Server / do a case insensitive string search when looking for an Upgrade header whose value is websocket. (some client use WebSocket with some upper-case characters)
2019-09-04 18:23:56 -07:00
Benjamin Sergeant
f25b2af6eb
ws autobahn / use condition variables for stopping test case + add more logging on errors
2019-09-04 12:21:54 -07:00
Benjamin Sergeant
508d372df1
ws autobahn / report progress with spdlog::info to get timing info
2019-09-04 10:16:32 -07:00