Commit Graph

324 Commits

Author SHA1 Message Date
Robin Sommer 1e46466114 Add option to disable hostname check (#399)
* Suppress compiler warnings about unused elements.

* Enable CMake's compilation database.

* Add TLS option to disable checking a certificate's host name.

* Add `--disable-hostname-validation` to `ws`.

* Add test for disabling hostname validation.
2022-10-12 06:41:32 -07:00
bsergean 0b8b5608dc Update doc to talk about binding to 0.0.0.0 2022-09-08 14:58:19 -07:00
Seizure Salad 20a028e2ae Fix spelling mistake (#401) 2022-08-02 13:28:59 -07:00
Benjamin Sergeant e417e63605 Update CHANGELOG.md 2022-05-13 10:45:46 -07:00
Benjamin Sergeant 6d8495bd73 Update CHANGELOG.md 2022-04-23 22:53:36 -07:00
Martin Natano db7057de69 Add support for streaming transfers (#353)
This change adds onChunkCallback to the request. If defined it will be
called repeatedly with the incoming data. This allows to process data on
the go or write it to disk instead of accumulating the data in memory.
2022-01-31 21:54:32 -08:00
Benjamin Sergeant c28b569535 Edit doc about thread safety, fix #350 2022-01-28 16:27:45 -08:00
Andreas Hausladen b5cf33a582 Introduction of IXWebSocketSendData (#347)
* Introduction of IXWebSocketSendData that makes it possible to not only send std::string but also std::vector<char/uint8_t> and char* without copying them to a std::string first.

Add a sendUtf8Text() method that doesn't check for invalid UTF-8 characters. The caller must guarantee that the string only contains valid UTF-8 characters.

* Updated usage.md: sendUtf8Text() and IXWebSocketSendData
2022-01-10 10:34:24 -08:00
Benjamin Sergeant 60563d88f2 Feature/11.4.0 (#344)
* mbedls system certs

* missing curly brace ...

* windows uwp for appveyor

* try again uwp

* update version and changelog

* revert odd change in test/IXSocketTest.cpp

Co-authored-by: Benjamin Sergeant <bsergeant@mz.com>
2022-01-05 10:43:18 -08:00
Martin Natano 66cd29e747 Allow to cancel asynchronous HTTP requests (#332)
Usage:

	auto args = this->httpClient.createRequest(url, method);
	httpClient.performRequest(args, ...);
	[...]
	// Oops, we don't actually want to complete the request!
	args->cancel = true;
2021-12-20 23:01:55 -08:00
Matthew Gordon 688f85fda6 Fix errors in example code. (#336) 2021-12-20 22:59:15 -08:00
Benjamin Sergeant 6cce066021 Update index.md 2021-11-24 09:02:42 -08:00
Benjamin Sergeant 05a27c89e3 Update design.md 2021-11-24 09:00:23 -08:00
Benjamin Sergeant 5f2955ef78 Feature/version 11.3.2 (#329)
* mbedls system certs

* missing curly brace ...

* windows uwp for appveyor

* try again uwp

* bump version

* keep using local cacert.pem in unittest

* appveyor back to normal

* remove appveyor file

Co-authored-by: Benjamin Sergeant <bsergeant@mz.com>
2021-11-24 08:45:04 -08:00
Benjamin Sergeant 97aa1f956a Fix mbedtls-3.0 problem (#322)
* Fix mbedtls-3.0 problem

This cause CI to fail on macOS.

See this migration guide => https://github.com/ARMmbed/mbedtls/blob/development/docs/3.0-migration-guide.md

* cmake change find header file

* define macro for mbedtls >= 3

* update api call

* Update IXWebSocketVersion.h

* Update CHANGELOG.md
2021-10-22 11:10:58 -07:00
Benjamin Sergeant 18c2b69633 Update build.md 2021-09-29 12:15:31 -07:00
Benjamin Sergeant 6a1aa27b5f Update CHANGELOG.md 2021-09-20 18:19:10 -07:00
Benjamin Sergeant 3baf59a031 (ws) bump CLI command line parsing library from 1.8 to 2.0 2021-07-27 20:48:25 +02:00
Benjamin Sergeant 30bcddb99f (ws) ws connect has a -g option to gzip decompress messages for API such as the websocket Huobi Global. 2021-06-08 09:49:27 -07:00
Benjamin Sergeant 47fd04e210 (websocket client + server) WebSocketMessage class tweak to fix unsafe patterns 2021-06-08 09:47:53 -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 3b19b0eeca http client: DEL is not a verb, but DELETE is, fix #281 2021-04-04 23:27:28 -07:00
Bart dbfe3104e8 Fixed example code for the new API of IXWebSocketServer (#279) 2021-03-26 23:55:34 -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 449c5fa138 (ixwebsocket) add getMinWaitBetweenReconnectionRetries 2021-03-23 08:29:50 -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 d706a4a73e doc: document BUILD_SHARED_LIBS 2021-03-20 09:50:21 -07:00
Benjamin Sergeant 0813eb1788 mention disablePerMessageDeflate in the doc 2021-03-16 09:56:08 -07:00
Benjamin Sergeant f090c7659b (ixwebsocket) Expose setHandshakeTimeout method 2021-03-07 19:29:28 -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 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 223cd41b3c (ixwebsocket) Handle EINTR return code in ix::poll and IXSelectInterrupt 2020-11-16 13:53:09 -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 8f5134528b (ixwebsocket) use a C++11 compatible make_unique shim 2020-11-15 09:56:54 -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 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 d0562664ad (http code) With zlib disabled, some code should not be reached 2020-10-19 13:37:42 -07:00