Nikos Athanasiou
|
26897b2425
|
Fix unsafe calls and safeguard WebSocketMessage (#294)
* Fix unsafe calls and safeguard WebSocketMessage from being called w/
temporaries
* Use unnamed namespace to express internal linkage
|
2021-06-03 18:39:38 -07:00 |
|
Benjamin Sergeant
|
e3c98a03cc
|
(websocket server) Handle and accept firefox browser special upgrade value (keep-alive, Upgrade)
|
2021-05-27 10:54:21 -07:00 |
|
Benjamin Sergeant
|
97fedf9482
|
(Windows) move EINVAL (re)definition from IXSocket.h to IXNetSystem.h (fix #289)
|
2021-05-27 10:54:21 -07:00 |
|
Benjamin Sergeant
|
0f21a20fe3
|
Move errno windows definitions to IXNetSystem.h
|
2021-05-17 19:04:02 -07:00 |
|
flagarde
|
0e0a748037
|
Remove warnings (#284)
|
2021-04-19 09:25:06 -07:00 |
|
Benjamin Sergeant
|
3b19b0eeca
|
http client: DEL is not a verb, but DELETE is, fix #281
|
2021-04-04 23:27:28 -07:00 |
|
Benjamin Sergeant
|
d932af8568
|
(cmake) install IXUniquePtr.h
|
2021-03-25 10:55:59 -07:00 |
|
Benjamin Sergeant
|
3add6d4c2e
|
(ssl + windows) missing include for CertOpenStore function
|
2021-03-24 08:03:56 -07:00 |
|
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
|
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
|
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
|
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
|
b36a2d1faa
|
mingw compile fix / remove restrict in inet_* functions
|
2021-03-19 10:58:38 -07:00 |
|
Benjamin Sergeant
|
0813eb1788
|
mention disablePerMessageDeflate in the doc
|
2021-03-16 09:56:08 -07:00 |
|
Benjamin Sergeant
|
7fd782f72f
|
add WIN32_LEAN_AND_MEAN windows blip
|
2021-03-15 19:58:18 -07:00 |
|
Benjamin Sergeant
|
85bcdaaec3
|
stub inet_ntop and inet_pton function that mingw does not have
|
2021-03-14 14:25:40 -07:00 |
|
Benjamin Sergeant
|
6a7785d9d9
|
no set thread name on mingw
|
2021-03-13 19:02:20 -08:00 |
|
Benjamin Sergeant
|
78a670e0c8
|
more mingw quirks
|
2021-03-13 18:55:30 -08:00 |
|
Benjamin Sergeant
|
e63ac69ec6
|
mock poll struct and macro for mingw
|
2021-03-13 18:49:29 -08:00 |
|
Benjamin Sergeant
|
afa15d6dcf
|
mingw build problem fix attempt
|
2021-03-13 18:31:42 -08:00 |
|
Benjamin Sergeant
|
f090c7659b
|
(ixwebsocket) Expose setHandshakeTimeout method
|
2021-03-07 19:29:28 -08:00 |
|
Benjamin Sergeant
|
7c195219cd
|
reorder methods in IXWebSocket.h
|
2021-03-07 19:25:53 -08:00 |
|
Duncan Ogilvie
|
d739662a7c
|
Allow customizing the websocket handshake timeout (#264)
|
2021-03-07 19:23:43 -08:00 |
|
Benjamin Sergeant
|
39cc0ed32f
|
add comment in WebSocketServer::makeBroadcastServer
|
2021-01-28 21:04:18 -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
|
fabc07d598
|
(ws) trim ws dependencies no more ixcrypto and ixcore deps
|
2020-12-25 16:25:58 -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
|
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
|
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
|
866670a906
|
(ixwebsocket) Fix #252 / regression in 11.0.2 with string comparisons
|
2020-11-16 08:41:08 -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
|
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
|
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 |
|
jb-gcx
|
422febf15d
|
(openssl) Always set verify peer when it is not disabled (#250)
|
2020-11-11 09:12:39 -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
|
d0562664ad
|
(http code) With zlib disabled, some code should not be reached
|
2020-10-19 13:37:42 -07:00 |
|
SeanOMik
|
d9b4beff8b
|
Fix an issue with disabling zlib and getting linker errors from the http client. (#247)
* (http client) #ifdefs so we dont try to compress http requests with zlib
* (http client) Remove some #ifdefs for including zlib and removing fields
|
2020-10-19 13:36:04 -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
|
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 |
|
carr-7
|
39c84c7d51
|
Rename HttpResponse's payload to body (#245)
* rename payload to body
* Fixed ws cmd line tool to use the renamed body
Co-authored-by: Jay <jasoncarr@Jasons-MacBook-Pro.local>
|
2020-09-12 19:01:37 -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 |
|
carr-7
|
72d6651ded
|
Read body in parseRequest for HttpServer (#244)
Co-authored-by: Jay <jasoncarr@Jasons-MacBook-Pro.local>
|
2020-09-12 13:53:56 -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
|
a40003e85a
|
(ws) echo_client command renamed to autoroute. Command exit once the server close the connection. push_server commands exit once N messages have been sent.
|
2020-09-03 09:13:23 -07:00 |
|
Benjamin Sergeant
|
5896d3740f
|
(ws + cobra bots) add a cobra_to_cobra ws subcommand to subscribe to a channel and republish received events to a different channel
|
2020-08-31 13:45:00 -07:00 |
|
Benjamin Sergeant
|
73b9c0b89b
|
(socket servers) merge the ConnectionInfo class with the ConnectionState one, which simplify all the server apis
|
2020-08-28 14:55:40 -07:00 |
|
Benjamin Sergeant
|
08640d877f
|
(ws) set the main thread name, to help with debugging in XCode, gdb, lldb etc...
|
2020-08-26 13:38:45 -07:00 |
|
Benjamin Sergeant
|
ed5c63144e
|
(ws) cobra to python bot / take a module python name as argument foo.bar.baz instead of a path foo/bar/baz.py
|
2020-08-19 10:00:00 -07:00 |
|
Benjamin Sergeant
|
ee69aed2b0
|
(ws) on Linux with mbedtls, when the system ca certs are specified (the default) pick up sensible OS supplied paths (tested with CentOS and Alpine)
|
2020-08-19 09:31:57 -07:00 |
|
Benjamin Sergeant
|
fcb92f862d
|
(ws push_server) on the server side, stop sending and close the connection when the remote end has disconnected
|
2020-08-18 14:09:27 -07:00 |
|
Benjamin Sergeant
|
e1502017ce
|
(ixwebsocket) replace std::unique_ptr<unsigned char[]> with std::array for some fixed arrays (which are in C++11)
|
2020-08-17 16:48:26 -07:00 |
|
Benjamin Sergeant
|
72472f2899
|
IXWebSocketPerMessageDeflateCodec: use std::array instead of std::unique_ptr for a fixed size array
|
2020-08-17 16:36:24 -07:00 |
|
Benjamin Sergeant
|
42f71364ca
|
IXHttpClient.cpp: use std::array instead of std::unique_ptr for a fixed size array
|
2020-08-17 16:25:55 -07:00 |
|
Benjamin Sergeant
|
3dabd3a556
|
(ws) merge all ws_*.cpp files into a single one to speedup compilation
|
2020-08-15 19:30:17 -07:00 |
|
Benjamin Sergeant
|
0498e2fa98
|
IXBench.h is missing a pragma once
|
2020-08-15 18:58:46 -07:00 |
|
Benjamin Sergeant
|
2aaf59651e
|
(socket server) in the loop accepting connections, call select without a timeout on unix to avoid busy looping, and only wake up when a new connection happens
|
2020-08-15 18:32:59 -07:00 |
|
Benjamin Sergeant
|
cd4e51eacf
|
(socket server) instead of busy looping with a sleep, only wake up the GC thread when a new thread will have to be joined, (we know that thanks to the ConnectionState OnSetTerminated callback
|
2020-08-15 16:24:35 -07:00 |
|
Benjamin Sergeant
|
785842de03
|
(socket server) add a callback to the ConnectionState to be invoked when the connection is terminated. This will be used by the SocketServer in the future to know on time that the associated connection thread can be terminated.
|
2020-08-15 16:03:40 -07:00 |
|