Commit Graph
100 Commits
Author SHA1 Message Date
Benjamin Sergeant 0d7fb05567 (ixwebsocket) version bump 2021-03-23 21:54:54 -07:00
Benjamin Sergeant bf1747ef18 (ixwebsocket) version bump 2021-03-23 21:54:15 -07:00
Benjamin Sergeant 5c9c05caff bump version 2021-03-23 21:52:49 -07:00
Benjamin Sergeant 2573ca151b CaseInsensitiveLess::NocaseCompare::operator mingw fix attempt 2021-03-23 21:21:36 -07:00
Benjamin Sergeant c5b5fa82be use inet_* wrapper only on mingw 2021-03-23 21:13:18 -07:00
Benjamin Sergeant 80dff08304 invoke ctest manually on ci for windows + gcc builder 2021-03-23 21:07:26 -07:00
Benjamin Sergeant 24c2eae3d7 use inet_ntop and inet_pton musl implementations on all platforms 2021-03-23 20:53:19 -07:00
Benjamin Sergeant 449c5fa138 (ixwebsocket) add getMinWaitBetweenReconnectionRetries 2021-03-23 08:29:50 -07:00
Benjamin Sergeant b6234ff908 compile errors due to missing changes for the introduction of setMinWaitBetweenReconnectionRetries and getMinWaitBetweenReconnectionRetries 2021-03-23 08:28:40 -07:00
Benjamin Sergeant d26664fccc (ixwebsocket) New option to set the min wait between reconnection attempts. Still default to 1ms. (setMinWaitBetweenReconnectionRetries). 2021-03-23 07:33:48 -07:00
Benjamin Sergeant def0243d6d (ws) initialize maxWaitBetweenReconnectionRetries to a non zero value ; a zero value was causing spurious reconnections attempts 2021-03-22 21:10:18 -07:00
Benjamin Sergeant 1410797d6f document -DBUILD_DEMO=ON 2021-03-22 08:51:58 -07:00
Benjamin Sergeant 95359461d7 enable test on windows + gcc 2021-03-21 10:22:44 -07:00
Benjamin Sergeant 4d7b149649 mingw: cast fixes 2021-03-21 10:16:06 -07:00
Benjamin Sergeant b29a37ce76 mingw: inet_ntop and inet_pton compilation fix, use correct parameter names 2021-03-21 09:50:15 -07:00
Benjamin Sergeant 9a4dfb40da mingw: add real implementation of inet_ntop and inet_pton taken from musl C library 2021-03-21 09:43:16 -07:00
Benjamin Sergeant c4c344518d disable shared-libs on windows where test does not work yet 2021-03-20 10:18:10 -07:00
Benjamin Sergeant d706a4a73e doc: document BUILD_SHARED_LIBS 2021-03-20 09:50:21 -07:00
Benjamin Sergeant 88970604e3 ixwebsocketserver::broadcast server to return a boolean to know whether the server could start/listen, and use that in ws 2021-03-19 11:52:41 -07:00
Benjamin Sergeant 7fee54464e WebSocketServer::listenAndStart: fix branch where we do not return an integer 2021-03-19 11:48:21 -07:00
Benjamin Sergeant 1c7634d075 ws: cannot use << with an std::vector 2021-03-19 11:43:29 -07:00
Benjamin Sergeant 99f9556aa9 ws + mingw: uses << operator to write file to disk in WebSocketReceiver::handleMessage 2021-03-19 11:39:14 -07:00
Benjamin Sergeant 39b2a3d6df ws curl -O mingw compile fix + detect when we cannot extract a filename from the url to save file to disk with -O option 2021-03-19 11:35:25 -07:00
Benjamin Sergeant 056b02a494 ws: WebSocketSender uses anonymous namespace load instead of its own method 2021-03-19 11:25:48 -07:00
Benjamin Sergeant 48166a9a72 mingw: fix compile errors with linenoise and fstream 2021-03-19 11:18:55 -07:00
Benjamin Sergeant b36a2d1faa mingw compile fix / remove restrict in inet_* functions 2021-03-19 10:58:38 -07:00
Benjamin Sergeant 968cc5c1c4 reference wslay as alternative C websocket library 2021-03-19 08:05:01 -07:00
Benjamin SergeantandGitHub 09d3520b66 Create windows_gcc.yml 2021-03-13 18:00:32 -08:00
Benjamin Sergeant 39cc0ed32f add comment in WebSocketServer::makeBroadcastServer 2021-01-28 21:04:18 -08:00
Benjamin Sergeant 22c3a7264e ws: document bug in ws dnslookup command 2021-01-21 15:07:47 -08:00
Benjamin Sergeant ee5a2eb46e mention C++11 compatibility in the readme 2021-01-03 11:48:10 -08:00
Benjamin Sergeant f6e34e4b34 stop using C++14 lambda capture init, code should be C++11 compatible 2021-01-03 11:44:05 -08:00
Benjamin Sergeant d0359a1764 new makeBroadcastServer websocket server method for classic servers, used by ws 2021-01-03 11:24:12 -08:00
Benjamin Sergeant 8910ebcc3c enable some unittests on windows 2020-12-26 12:44:06 -08:00
Benjamin Sergeant 1ea3bc3666 no unity build on Windows because of a problem with spdlog 2020-12-25 17:31:30 -08:00
Benjamin Sergeant fe92ad205d build with unity builds 2020-12-25 17:16:36 -08:00
Benjamin Sergeant e4a1ac80c2 more stale references to ixcore 2020-12-25 16:32:52 -08:00
Benjamin Sergeant e9dc7f7aed case sensitive file name 2020-12-25 16:29:47 -08:00
Benjamin Sergeant cd82eed4ec simple cmake build error 2020-12-25 16:28:15 -08:00
Benjamin Sergeant fabc07d598 (ws) trim ws dependencies no more ixcrypto and ixcore deps 2020-12-25 16:25:58 -08:00
Benjamin Sergeant b89621fa78 remove ixbots / ixsnake / ixcobra / ixredis (which should go in their own standalone project 2020-12-25 15:32:15 -08:00
Benjamin Sergeant 049d1eec63 remove some un-needed third party code 2020-12-25 15:28:39 -08:00
Benjamin Sergeant 6122154f74 test only depend on ixcore and ixcrypto 2020-12-25 15:27:11 -08:00
Benjamin Sergeant 0b7919834a (ws) trim ws dependencies, only depends on ixcrypto and ixcore 2020-12-25 15:17:46 -08:00
Benjamin Sergeant 6035dd4c11 fix ci 2020-12-22 21:45:26 -08:00
Benjamin Sergeant 1d0432c8c5 (build) rename makefile to makefile.dev to ease cmake BuildExternal (fix #261) 2020-12-22 21:42:39 -08:00
Benjamin Sergeant 461a645704 (ws) Implement simple header based websocket authorization technique to reject 2020-12-17 22:42:14 -08:00
Benjamin Sergeant 93ad709dfd fix ws curl error message + some Windows warnings 2020-12-12 11:01:22 -08:00
Benjamin Sergeant 2fac4bd9ef s/autobahn/autoroute 2020-11-25 10:00:35 -08:00
Benjamin Sergeant f566fb457b update readme 2020-11-25 09:59:27 -08:00
Benjamin Sergeant 75e9c84388 fix buggy message and remove un-needed include 2020-11-19 14:27:10 -08:00
Benjamin Sergeant 223cd41b3c (ixwebsocket) Handle EINTR return code in ix::poll and IXSelectInterrupt 2020-11-16 13:53:09 -08:00
Benjamin Sergeant 60aeaec734 hand EINTR in IXSelectInterruptPipe::notify and IXSelectInterruptPipe::read 2020-11-16 13:52:13 -08:00
Benjamin Sergeant fcf114e2b2 Handle EINTR in ix::poll on Unix 2020-11-16 10:14:59 -08:00
Benjamin Sergeant ea32c0e1ec fix ixsentry detection of std::regex 2020-11-16 09:19:08 -08:00
Benjamin Sergeant 866670a906 (ixwebsocket) Fix #252 / regression in 11.0.2 with string comparisons 2020-11-16 08:41:08 -08:00
Benjamin Sergeant 80432edbd0 add 2 new ubuntu docker files 2020-11-15 21:26:59 -08:00
Benjamin Sergeant 23606b45c7 C++11 compatible 2020-11-15 21:09:58 -08:00
Benjamin Sergeant 2aac0afca3 compile attempt 2 with old OpenSSL versions 2020-11-15 11:32:50 -08:00
Benjamin Sergeant 508d8c7253 compile attempt with old OpenSSL versions 2020-11-15 11:23:44 -08:00
Benjamin Sergeant 8f5134528b (ixwebsocket) use a C++11 compatible make_unique shim 2020-11-15 09:56:54 -08:00
Benjamin Sergeant 738c6040f7 fix memory leak in dns unittest 2020-11-12 13:07:31 -08:00
Benjamin Sergeant 1350e9b307 missing vector header 2020-11-11 21:47:07 -08:00
Benjamin Sergeant 4e2a40e031 (socket) replace a std::vector with an std::array used as a tmp buffer in Socket::readBytes 2020-11-11 21:39:31 -08:00
Benjamin Sergeant 594d2e194a linux asan / run test in verbose mode 2020-11-11 11:32:47 -08:00
Benjamin Sergeant 977a1ed7e1 link ordering fix for Linux 2020-11-11 19:23:51 +00:00
Benjamin Sergeant 8b3789af56 linux build fix attempt 2020-11-11 11:16:19 -08:00
Benjamin Sergeant f60485d9c2 use ctest for testing 2020-11-11 11:11:34 -08:00
Benjamin Sergeant b05b124cb3 update readme 2020-11-11 09:20:42 -08:00
Benjamin Sergeant 723c208f22 fix version 2020-11-11 09:18:03 -08:00
Benjamin Sergeant 21758f1183 (openssl security fix) in the client to server connection, peer verification is not done in all cases. See https://github.com/machinezone/IXWebSocket/pull/250 2020-11-11 09:16:14 -08:00
Benjamin Sergeant 51ec32405d (docker) build docker container with zlib disabled 2020-11-07 11:22:52 -08:00
Benjamin Sergeant 6a90dc7259 (cmake) DEFLATE -> Deflate in CMake to stop warnings about casing 2020-11-07 09:40:54 -08:00
Benjamin Sergeant 262f32857f (ws autoroute) Display result in compliant way (AUTOROUTE IXWebSocket :: N ms) so that result can be parsed easily 2020-11-07 09:34:54 -08:00
Benjamin Sergeant 91fb3992ac (ws gunzip + IXGZipCodec) Can decompress gziped data with libdeflate. ws gunzip computed output filename was incorrect (was the extension aka gz) instead of the file without the extension. Also check whether the output file is writeable. 2020-11-07 09:34:54 -08:00
Benjamin Sergeant 730fbc5b31 unity build fixes 2020-10-26 19:18:55 -07:00
Benjamin Sergeant d0562664ad (http code) With zlib disabled, some code should not be reached 2020-10-19 13:37:42 -07:00
Benjamin Sergeant b2f21840c6 (ws curl) Add support for --data-binary option, to set the request body. When present the request will be sent with the POST verb 2020-10-12 14:03:01 -07:00
Benjamin Sergeant 67cb48537a (http client + server + ws) Add support for compressing http client requests with gzip. --compress_request argument is used in ws to enable this. The Content-Encoding is set to gzip, and decoded on the server side if present. 2020-10-09 17:51:56 -07:00
Benjamin Sergeant fa0408e70b (http client + server + ws) Add support for uploading files with ws -F foo=@filename, new -D http server option to debug incoming client requests, internal api changed for http POST, PUT and PATCH to supply an HttpFormDataParameters 2020-10-08 12:43:18 -07:00
Benjamin Sergeant 032ed9af9c IXExponentialBackoff.cpp: fix typo in source code file name in the header block 2020-10-05 10:39:11 -07:00
Benjamin Sergeant dc84080401 Add support for gzip compression through libdeflate 2020-09-30 14:34:03 -07:00
Benjamin Sergeant 82e759732b (cmake) Stop using FetchContent cmake module to retrieve jsoncpp third party dependency 2020-09-30 14:24:04 -07:00
Benjamin Sergeant 61dbcc2b84 fix docker and linux build 2020-09-28 11:56:49 -07:00
Benjamin Sergeant e61680ff0f linux build fix about memset not being found 2020-09-28 11:01:59 -07:00
Benjamin Sergeant 6f188a5131 (ws) add gzip and gunzip ws sub commands 2020-09-28 10:19:27 -07:00
Benjamin Sergeant 6077f86af8 (cmake) use FetchContent cmake module to retrieve jsoncpp third party dependency 2020-09-26 14:11:40 -07:00
Benjamin Sergeant 93167e3917 cmake / move FetchContent spdlog to a single place 2020-09-26 13:55:03 -07:00
Benjamin Sergeant 2526a94454 (cmake) use FetchContent cmake module to retrieve spdlog third party dependency 2020-09-26 13:51:19 -07:00
Benjamin Sergeant 97cc543e53 (cobra connection) retrieve cobra server connection id from the cobra handshake message and display it in ws clients, metrics publisher and bots 2020-09-22 09:30:19 -07:00
Benjamin Sergeant 62d220f49a (cobra 2 cobra) specify as an HTTP header which channel we will republish to 2020-09-22 08:55:21 -07:00
Benjamin Sergeant 49995e32f0 (cobra bots) change an error log to a warning log when reconnecting because no messages were received for a minute 2020-09-18 15:25:10 -07:00
Benjamin Sergeant d525c28907 (cobra connection and bots) set an HTTP header when connecting to help with debugging bots 2020-09-18 15:11:20 -07:00
Benjamin Sergeant 128bc0afa9 (http server) read body request when the Content-Length is specified + set timeout to read the request to 30 seconds max by default, and make it configurable as a constructor parameter 2020-09-12 14:17:06 -07:00
Benjamin Sergeant b04e5c5529 http server: use socket->readBytes which reads in bulk instead of N calls to socket->readByte 2020-09-12 14:09:25 -07:00
Benjamin Sergeant 1e8c421d66 formatting 2020-09-12 13:55:27 -07:00
Benjamin Sergeant a4e5d1b47a (ws) autoroute command exit on its own once all messages have been received 2020-09-09 18:01:38 -07:00
Benjamin Sergeant 9f51a54a83 (docker) ws docker file installs strace 2020-09-04 13:47:12 -07:00
Benjamin Sergeant b74f7319c6 add a note to the readme about the fact that the MinGW compiler is not supported. close #242 2020-09-03 13:50:46 -07:00
Benjamin Sergeant 0ad66a27f2 Fix ws/ws.cpp:2875:10: warning: unused variable noSend [-Wunused-variable] 2020-09-03 09:17:52 -07:00