Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						8a662b35e1 
					 
					
						
						
							
							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 
							
						 
					 
					
						
						
							
						
						3cd7c0194f 
					 
					
						
						
							
							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 
							
						 
					 
					
						
						
							
						
						d3cee46e93 
					 
					
						
						
							
							wrong mutex being used ...  
						
						
						
						
					 
					
						2019-09-24 14:10:41 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						94c589f696 
					 
					
						
						
							
							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 
							
						 
					 
					
						
						
							
						
						169e225ccd 
					 
					
						
						
							
							fix warning + add redis server logging  
						
						
						
						
					 
					
						2019-09-23 21:14:20 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						ceb0c602c9 
					 
					
						
						
							
							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 
							
						 
					 
					
						
						
							
						
						cd3c9d879c 
					 
					
						
						
							
							reformat everything with clang-format  
						
						
						
						
					 
					
						2019-09-23 10:25:23 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						398c4fbf99 
					 
					
						
						
							
							fix unittest  
						
						
						
						
					 
					
						2019-09-22 19:40:33 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						6f76fea188 
					 
					
						
						
							
							compile fixes  
						
						
						
						
					 
					
						2019-09-22 18:52:57 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						041fa3e340 
					 
					
						
						
							
							compiled fixes on mac and windows  
						
						
						
						
					 
					
						2019-09-22 18:43:57 -07:00 
						 
				 
			
				
					
						
							
							
								Matt DeBoer 
							
						 
					 
					
						
						
							
						
						408ee41990 
					 
					
						
						
							
							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 
							
						 
					 
					
						
						
							
						
						ed4be773a2 
					 
					
						
						
							
							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 
							
						 
					 
					
						
						
							
						
						47b3368f78 
					 
					
						
						
							
							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 
							
						 
					 
					
						
						
							
						
						20ce498d23 
					 
					
						
						
							
							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 
							
						 
					 
					
						
						
							
						
						e2121d809e 
					 
					
						
						
							
							fix unittest warnings + remove trailing spaces  
						
						
						
						
					 
					
						2019-09-12 11:43:52 -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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						a43046c921 
					 
					
						
						
							
							ws autobahn / report progress with spdlog::info to get timing info  
						
						
						
						
					 
					
						2019-09-04 10:16:32 -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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						7a73ec7c06 
					 
					
						
						
							
							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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						ac60ec4320 
					 
					
						
						
							
							put windows poll in the global namespace, not ix namespace  
						
						
						
						
					 
					
						2019-08-26 09:51:37 -07:00 
						 
				 
			
				
					
						
							
							
								ozychhi 
							
						 
					 
					
						
						
							
						
						93debc00dc 
					 
					
						
						
							
							Add client handshake extra headers ( #105 )  
						
						... 
						
						
						
						Even though 6455 defines all the necessary headers needed for
client/server handshake, in practice most of the cases websocket servers
expect few more headers. Therefore adding this functionality. 
						
						
					 
					
						2019-08-26 09:37:40 -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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						b1b6697c37 
					 
					
						
						
							
							fix typo in README  
						
						
						
						
					 
					
						2019-07-23 13:52:16 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						747746cba1 
					 
					
						
						
							
							dns / use cancellable instead of blocking  
						
						
						
						
					 
					
						2019-06-30 23:26:14 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						5b73edec8c 
					 
					
						
						
							
							make IXDNSLookup more robust  
						
						
						
						
					 
					
						2019-06-26 19:12:48 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						3750781bce 
					 
					
						
						
							
							simplify IXDNSLookup  
						
						
						
						
					 
					
						2019-06-26 16:25:07 -07:00 
						 
				 
			
				
					
						
							
							
								Benjamin Sergeant 
							
						 
					 
					
						
						
							
						
						e646e53dac 
					 
					
						
						
							
							use poll instead of select in SocketServer  
						
						
						
						
					 
					
						2019-06-25 17:18:24 -07:00