Compare commits

..

4 Commits

Author SHA1 Message Date
Benjamin Sergeant
351b86e266 v7.6.4 2019-12-22 20:32:10 -08:00
Benjamin Sergeant
d0cbff4f4e (client) error handling, quote url in error case when failing to parse on 2019-12-22 20:30:29 -08:00
Benjamin Sergeant
cbfc9b9f94 (ws) ws_cobra_publish: register callbacks before connecting 2019-12-22 20:29:37 -08:00
Benjamin Sergeant
ca816d801f (doc) mention mbedtls in supported ssl server backend 2019-12-22 20:28:44 -08:00
5 changed files with 16 additions and 6 deletions

View File

@@ -1,5 +1,12 @@
# Changelog # Changelog
All notable changes to this project will be documented in this file. All changes to this project will be documented in this file.
## [7.6.4] - 2019-12-22
(client) error handling, quote url in error case when failing to parse on
(ws) ws_cobra_publish: register callbacks before connecting
(doc) mention mbedtls in supported ssl server backend
## [7.6.3] - 2019-12-20 ## [7.6.3] - 2019-12-20

View File

@@ -247,7 +247,7 @@ Options:
[cobra](https://github.com/machinezone/cobra) is a real time messenging server. ws has several sub-command to interact with cobra. There is also a minimal cobra compatible server named snake available. [cobra](https://github.com/machinezone/cobra) is a real time messenging server. ws has several sub-command to interact with cobra. There is also a minimal cobra compatible server named snake available.
Below are examples on running a snake server and clients with TLS enabled (the server only works with the OpenSSL backend for now). Below are examples on running a snake server and clients with TLS enabled (the server only works with the OpenSSL and the Mbed TLS backend for now).
First, generate certificates. First, generate certificates.
@@ -366,4 +366,4 @@ $ ws cobra_publish --endpoint wss://127.0.0.1:8765 --appkey FC2F10139A2BAc53BB72
[2019-12-19 20:46:42.659] [info] Published message id 3 acked [2019-12-19 20:46:42.659] [info] Published message id 3 acked
``` ```
To use OpenSSL on macOS, compile with `make ws_openssl`. First you will have to install OpenSSL libraries, which can be done with Homebrew. To use OpenSSL on macOS, compile with `make ws_openssl`. First you will have to install OpenSSL libraries, which can be done with Homebrew. Use `make ws_mbedtls` accordingly to use MbedTLS.

View File

@@ -144,7 +144,9 @@ namespace ix
if (!UrlParser::parse(url, protocol, host, path, query, port)) if (!UrlParser::parse(url, protocol, host, path, query, port))
{ {
return WebSocketInitResult(false, 0, std::string("Could not parse URL ") + url); std::stringstream ss;
ss << "Could not parse url: '" << url << "'";
return WebSocketInitResult(false, 0, ss.str());
} }
std::string errorMsg; std::string errorMsg;

View File

@@ -6,4 +6,4 @@
#pragma once #pragma once
#define IX_WEBSOCKET_VERSION "7.6.3" #define IX_WEBSOCKET_VERSION "7.6.4"

View File

@@ -43,7 +43,6 @@ namespace ix
rolesecret, rolesecret,
ix::WebSocketPerMessageDeflateOptions(true), ix::WebSocketPerMessageDeflateOptions(true),
tlsOptions); tlsOptions);
conn.connect();
// Display incoming messages // Display incoming messages
std::atomic<bool> authenticated(false); std::atomic<bool> authenticated(false);
@@ -94,6 +93,8 @@ namespace ix
} }
}); });
conn.connect();
while (!authenticated) while (!authenticated)
; ;
while (!messageAcked) while (!messageAcked)