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 Sergeant and GitHub
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 Sergeant and GitHub
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 Sergeant and GitHub
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 Sergeant and GitHub
ae3856c10f
Fix Windows CI with appveyor ( #110 )
...
Fix windows CI with appveyor + minor tweaks.
2019-09-07 14:07:00 -07:00
Benjamin Sergeant and GitHub
308fda0b37
Update README.md
2019-09-05 14:30:51 -07:00
Benjamin Sergeant and GitHub
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 Sergeant and GitHub
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