Benjamin Sergeant
cc72494b63
Add reference to DisCPP to the README ( fix #198 )
2020-05-09 21:08:34 -07:00
Benjamin Sergeant
fa9a4660c6
bump some test timeout
2020-05-08 10:03:18 -07:00
Benjamin Sergeant
4773af8f2f
(openssl tls) (openssl < 1.1) logic inversion - crypto locking callback are not registered properly
2020-05-08 09:54:42 -07:00
Benjamin Sergeant
c1403df74a
(cmake) default TLS back to mbedtls on Windows Universal Platform
2020-05-08 09:31:53 -07:00
Benjamin Sergeant
3912e22b28
give websocket_subprotocol test more time to establish a connection
2020-05-08 09:26:05 -07:00
Benjamin Sergeant
9f8643032d
fix dumb compile error
2020-05-06 22:07:47 -07:00
Benjamin Sergeant
0772ef7ef5
(cobra bots) add a --heartbeat_timeout option to specify when the bot should terminate because no events are received
2020-05-06 22:01:48 -07:00
Benjamin Sergeant
c030a62c8b
openSSLLockingCallback should be static
2020-05-06 16:57:53 -07:00
Benjamin Sergeant
931530b101
only register the crypto lock callback if no-one has registered them before us
2020-05-06 16:49:04 -07:00
Benjamin Sergeant
6c205b983e
(openssl tls) when OpenSSL is older than 1.1, register the crypto locking callback to be thread safe. Should fix lots of CI failures
2020-05-06 16:26:30 -07:00
Benjamin Sergeant
a65b334961
assert that the timeout is non zero in makeCancellationRequestWithTimeout
2020-05-06 15:53:27 -07:00
Benjamin Sergeant
2de8aafcbc
another windows build error in IXUdpSocket ...
2020-05-05 08:29:39 -07:00
Benjamin Sergeant
f075f586e1
fix windows compile error with UdpSocket::recvfrom
2020-05-05 08:15:01 -07:00
Benjamin Sergeant
93cb898989
fix compile error with UdpSocket::recvfrom
2020-05-05 08:03:04 -07:00
Benjamin Sergeant
e4da62547b
add reference to multiple projects using IXWebSocket
2020-05-05 07:52:02 -07:00
Benjamin Sergeant
2b4c06e6d2
UdpSocket::recvfrom last argument does not have to be a uint32_t
2020-05-05 07:49:07 -07:00
Benjamin Sergeant
15355188d5
(http client) rework a bit PATCH pull request, fix compile error with setForceBody and initialize _forceBody to false
2020-05-05 07:43:55 -07:00
Benjamin Sergeant
2786631e3b
clang-format
2020-05-04 17:19:25 -07:00
Benjamin Sergeant
1b30061a4d
remove unused variable
2020-05-04 17:18:21 -07:00
Benjamin Sergeant
af003fc79b
(ixbots) fix tsan data race error when accessing verbose parameter
2020-05-04 17:15:35 -07:00
Benjamin Sergeant
4f17cd5e74
(cobra bots) do not use a queue to store messages pending processing, let the bot handle queuing
2020-05-04 15:45:11 -07:00
Benjamin Sergeant
b04764489c
(doc) add link to a project using ixwebsocket #187
2020-05-04 09:21:39 -07:00
Benjamin Sergeant
c3238b7e02
build fixes
2019-09-10 14:05:07 -07:00
Benjamin Sergeant
b11640b477
update appveyor file to new directory structure
2019-09-10 12:33:47 -07:00
Benjamin Sergeant
2453f5b717
restructure project
2019-09-10 12:19:22 -07:00
Benjamin Sergeant
65c5c5f894
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
64d3c99f99
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
6c0890594b
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
fb271953f7
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
7080c5679f
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
c09eac49c9
README: update link to the doc
2019-09-06 10:42:48 -07:00
Benjamin Sergeant
ae6f87eb42
ci
2019-09-05 22:32:54 -07:00
Benjamin Sergeant
82b3c5e2f3
travis linux
2019-09-05 22:29:00 -07:00
Benjamin Sergeant
e41ba279e9
ci tweak / install redis
2019-09-05 22:14:55 -07:00
Benjamin Sergeant
c259c918ac
cobra metrics publisher test uses random free port
2019-09-05 22:05:00 -07:00
Benjamin Sergeant
2f7438f0d5
cobra chat test uses random free port
2019-09-05 22:02:10 -07:00
Benjamin Sergeant
37a7b362d8
add cobra metrics publisher + server unittest
2019-09-05 21:57:05 -07:00
Benjamin Sergeant
c0f098a578
Add new cobra unittest, using server and client
2019-09-05 20:49:58 -07:00
Benjamin Sergeant
21404c23dd
snake unsubscription fixes
2019-09-05 20:47:15 -07:00
Benjamin Sergeant
eeefc9cf4b
Fix compiler warning
2019-09-05 20:29:14 -07:00
Benjamin Sergeant
24b2475b11
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
2defe6f597
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
f9dc460325
cobra publish fix
2019-09-05 14:31:28 -07:00
Benjamin Sergeant
003afc8b56
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
95a97a197a
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
eccd8b3c0e
ws autobahn / use condition variables for stopping test case + add more logging on errors
2019-09-04 12:21:54 -07:00
Benjamin Sergeant
a43046c921
ws autobahn / report progress with spdlog::info to get timing info
2019-09-04 10:16:32 -07:00
Benjamin Sergeant
b360fb9ca0
truncate module
2019-09-03 20:14:35 -07:00
Benjamin Sergeant
0bf185e143
Per message deflate/compression: handle fragmented messages (fix autobahn test: 12.1.X and probably others)
2019-09-03 17:42:48 -07:00
Benjamin Sergeant
da3d134be0
Receiving invalid UTF-8 TEXT message should fail and close the connection (fix remaining autobahn test: 6.X UTF-8 Handling)
2019-09-03 16:07:48 -07:00
Benjamin Sergeant
b4c4746d43
IXWebSocketTransport message processing refactoring
2019-09-03 15:48:55 -07:00
Benjamin Sergeant
fdd1ad9b17
Validate close codes. Autobahn 7.9.*
2019-09-03 15:43:16 -07:00
Benjamin Sergeant
1be8d9d46f
Validate that the close reason is proper utf-8. Autobahn 7.5.1
2019-09-03 14:35:40 -07:00
Benjamin Sergeant
51799353a6
Sending invalid UTF-8 TEXT message should fail and close the connection (fix remaining autobahn test: 6.X UTF-8 Handling)
2019-09-03 14:12:40 -07:00
Benjamin Sergeant
3ad13a592d
Framentation: data and continuation blocks received out of order (fix autobahn test: 5.9 through 5.20 Fragmentation)
2019-09-03 12:02:56 -07:00
Benjamin Sergeant
55934918ff
Sending invalid UTF-8 TEXT message should fail and close the connection (fix **tons** of autobahn test: 6.X UTF-8 Handling)
2019-09-03 10:30:22 -07:00
Benjamin Sergeant
ab93e4f168
Message type (TEXT or BINARY) is invalid for received fragmented messages (fix autobahn test: 5.3 through 5.8 Fragmentation)
2019-09-03 09:13:38 -07:00
Benjamin Sergeant
e1ad0b0889
bump version
2019-09-02 10:14:15 -07:00
Benjamin Sergeant
cbe3e7617c
Ping and Pong messages cannot be fragmented (autobahn test: 5.1 and 5.2 Fragmentation)
2019-09-02 10:13:40 -07:00
Benjamin Sergeant
94c8966e86
Close connections when reserved bits are used (autobahn test: 3 Reserved Bits)
2019-09-01 16:23:00 -07:00
Benjamin Sergeant
d973a062c2
changelog
2019-09-01 11:39:00 -07:00
Benjamin Sergeant
ba41dbc69a
readme
2019-09-01 11:38:39 -07:00
Benjamin Sergeant
96380dd462
doc
2019-09-01 11:28:27 -07:00
Benjamin Sergeant
61bd765784
compute test case count properly
2019-09-01 11:17:28 -07:00
Benjamin Sergeant
4a0f06193b
refactoring
2019-09-01 11:10:27 -07:00
Benjamin Sergeant
826917ef17
condition variable instead of busy looping
2019-09-01 10:50:16 -07:00
Benjamin Sergeant
4e1dbbbecf
quiet mode
2019-09-01 10:45:51 -07:00
Benjamin Sergeant
b5b0de2083
+add utf-8 validation code, not hooked up properly yet
...
+ws autobahn / Add code to test websocket client compliance with the autobahn test-suite
+Ping received with a payload too large (> 125 bytes) trigger a connection closure
+cobra / add tracking about published messages
+cobra / publish returns a message id, that can be used when
+cobra / new message type in the message received handler when publish/ok is received (can be used to implement an ack system).
2019-08-31 16:47:10 -07:00
Benjamin Sergeant
a95fcbbdbf
user agent
2019-08-30 12:50:56 -07:00
Benjamin Sergeant
0c1f2252a1
readme
2019-08-26 22:49:40 -07:00
Benjamin Sergeant
98a397696c
readme
2019-08-26 22:29:10 -07:00
Benjamin Sergeant
225b7d7db7
doc / bring back detailed APIs
2019-08-26 22:11:35 -07:00
Benjamin Sergeant
f968d4c333
one last tweak
2019-08-26 22:02:24 -07:00
Benjamin Sergeant
59e15be524
readme tweaks
2019-08-26 21:57:05 -07:00
Benjamin Sergeant
ccabe93ae8
new simple readme
2019-08-26 21:55:00 -07:00
Benjamin Sergeant
56def6def4
Add md doc made with mkdocs
2019-08-26 21:25:45 -07:00
Benjamin Sergeant
3b1a1efed2
fix #104 - change ZLIB find_package to be optional
2019-08-26 14:51:33 -07:00
Benjamin Sergeant
185869e628
tentative gcc build fix
2019-08-26 14:29:16 -07:00
Benjamin Sergeant
108f6238e3
bump version
2019-08-26 10:20:01 -07:00
Benjamin Sergeant
d3e5a63fa2
ws connect has a new option to send HTTP headers + use WebSocketHttpHeaders instead of unordered_map<string, string>
2019-08-26 10:19:09 -07:00
Benjamin Sergeant
0847e60d2a
CobraConnection: sets a unique id field for all messages sent to [cobra]( https://github.com/machinezone/cobra ).
...
CobraConnection: sets a counter as a field for each event published.
2019-08-26 09:51:37 -07:00
Benjamin Sergeant
ac60ec4320
put windows poll in the global namespace, not ix namespace
2019-08-26 09:51:37 -07:00
Benjamin Sergeant
ff75846d2d
Windows: use select instead of WSAPoll, through a poll wrapper
2019-08-22 10:34:17 -07:00
Benjamin Sergeant
53c767140d
add new makefile target to make git tags
2019-08-20 09:21:30 -07:00
Benjamin Sergeant
839a747ce8
bump version + talk about Windows fix in the changelog
2019-08-20 09:20:02 -07:00
Benjamin Sergeant
f78a3f88ff
add poll alias to WSAPoll on Windows
2019-08-19 22:26:25 -07:00
Benjamin Sergeant
142987259c
fix #101 / wrong include in IXSocket.cpp on Windows
2019-08-19 22:19:39 -07:00
Benjamin Sergeant
c8d41f987f
README tweaks
2019-08-19 20:35:26 -07:00
Benjamin Sergeant
d139dd88e8
README / formatting
2019-08-19 20:33:56 -07:00
Benjamin Sergeant
7898a5f4eb
README.md: add reference to WSAStartup to initialize the networking system
2019-08-19 09:47:59 -07:00
Benjamin Sergeant
53efbf3ca9
(CI) linux: install libmbedtls
2019-08-14 21:49:43 -07:00
Benjamin Sergeant
b6e5ff2f3d
(CI) try to build Linux on Ubuntu Bionic
2019-08-14 21:44:49 -07:00
Benjamin Sergeant
ae1386a1d7
bump version
2019-08-14 21:36:20 -07:00
Benjamin Sergeant
2f730303c2
CobraMetricThreadedPublisher _enable flag is an atomic, and CobraMetricsPublisher is enabled by default
2019-08-14 19:54:30 -07:00
Benjamin Sergeant
e98ec9ec75
clang format
2019-08-13 10:59:18 -07:00
Benjamin Sergeant
ffecef901a
fix #99 / Connect error descriptions are invalid
2019-08-13 10:49:11 -07:00
Benjamin Sergeant
5c13cbb08f
update readme
2019-08-06 20:55:44 -07:00
Benjamin Sergeant
64cfbe9514
fix #98
2019-08-02 17:11:53 -07:00
Benjamin Sergeant
5cc21c87fb
new options for cobra commands
...
- ws cobra_subscribe has a new -q (quiet) option
- ws cobra_subscribe knows to and display msg stats (count and # of messages received per second)
- ws cobra_subscribe, cobra_to_statsd and cobra_to_sentry commands have a new option, --filter to restrict the events they want to receive
2019-08-01 15:22:24 -07:00
Benjamin Sergeant
505e0c79d9
ws connect command has a new option to send in binary mode (still default to text)
2019-07-25 15:48:45 -07:00