145 Commits

Author SHA1 Message Date
Benjamin Sergeant
688af99747 bump version 2023-06-05 10:06:53 -07:00
lanthora
397bb5d18a
Fix version in CMakeLists.txt ()
* Fix version in CMakeLists.txt

* Disable IXHttpClientTest
2023-06-05 10:03:17 -07:00
lanthora
bc765e73a3
Add pkgconfig file () 2023-04-25 11:54:25 -07:00
Numendacil
d20864d7d1
Replace CMAKE_BINARY_DIR with CMAKE_CURRENT_BINARY_DIR () 2023-03-29 20:59:39 -07:00
crjc
a5d4911a16
Fix macos link error ()
* Fix macos link error

* Update CMakeLists.txt

* Update CMakeLists.txt
2022-12-22 09:16:10 -08:00
Robin Sommer
1e46466114
Add option to disable hostname check ()
* 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
Robin Sommer
edb6ded99f
Fix Sec-WebSocket-Key to contain valid Base64. ()
The generated header only "looked like" Base64, but if the other side
actually tried to decode it as such, it could fail. This change fixes
that to always generate a valid Base64 value.

The Base64 code is copied from
https://gist.github.com/tomykaira/f0fd86b6c73063283afe550bc5d77594.
2022-04-29 00:05:06 -07:00
Cheney Wang
46bd2aa4a1
vcpkg zlib dep fix ()
* vcpkg zlib dep fix

* Use cmake.in file instead of write file directly

Co-authored-by: Cheney-Wang <v-xincwa@microsoft.com>
2022-04-23 18:16:13 -07:00
Benjamin Sergeant
4420bc70b5
Revert "Export static symbols when building ws with shared library ()" ()
This reverts commit a3d2fa4b7ee65a40cdabbe6258db75c3866d5908.
2022-04-12 08:55:43 -07:00
Anton Ivlev
a3d2fa4b7e
Export static symbols when building ws with shared library () 2022-03-19 11:41:40 -07:00
Benjamin Sergeant
7711cb1ae7
Feature/no libdeflate ()
remove libdeflate code in gzip codec
2022-02-10 20:47:32 -08:00
flagarde
8d661b8e81
Use Threads::Threads target () 2022-01-16 17:39:21 -08:00
flagarde
a951bc9cae
Add an alias for ixwebsocket () 2022-01-16 17:36:38 -08:00
Andreas Hausladen
b5cf33a582
Introduction of IXWebSocketSendData ()
* 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
Andreas Hausladen
1f2895a469
Win wsa select event ()
* Fix : Missing SelectInterrupt implementation for Windows

Using WSAEventSelect, WSAWaitForMultipleEvents and WSAEnumNetworkEvents to emulate poll() with an interrupt-event.

* Cleanup

* Fixed incomplete comment.

* Switched ifdefs to support other Unixes with pipe file descriptors

* Fixed: SelectInterrupt fallback code for getFd()==-1 && getEvent()==nullptr converted a PollResultType::Timeout into a ReadyForRead causing the HttpClient to fail because it uses a hard-coded "SelectInterrupt" instance that doesn't implement getFd() and getEvent().

* Fixed gcc compile errors

* - HttpClient now uses the SelectInterruptFactory
- Fixed wrong ix::poll result when using Windows WSA functions

* We must deselect the networkevents from the socket event. Otherwise the socket will report states that aren't there.
2022-01-05 10:21:33 -08:00
CryptoManiac
f53b2f8878
Export symbols into .def files on MSVC ()
Fix 
2022-01-04 12:13:38 -08:00
Benjamin Sergeant
97aa1f956a
Fix mbedtls-3.0 problem ()
* 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
Matthew Albrecht
e7f89ae529
Only find OpenSSL, MbedTLS, zlib if they have not already been found, make CMake install optional. ()
Co-authored-by: Benjamin Sergeant <bsergean@gmail.com>
2021-09-20 18:15:37 -07:00
Adrian Schollmeyer
cdeaf8e2be
use GNUInstallDirs in cmake ()
Signed-off-by: NexAdn <git@nexadn.de>

Co-authored-by: NexAdn <git@nexadn.de>
2021-09-20 18:11:46 -07:00
Benjamin Sergeant
d932af8568 (cmake) install IXUniquePtr.h 2021-03-25 10:55:59 -07:00
inull
2670187fe0
Adds demo building option. () 2021-03-22 08:47:10 -07:00
Benjamin Sergeant
d706a4a73e doc: document BUILD_SHARED_LIBS 2021-03-20 09:50:21 -07:00
Laurent Amat
e7f7e470e2
Case sensitive link () 2021-03-04 23:04:04 -08:00
Benjamin Sergeant
e9dc7f7aed case sensitive file name 2020-12-25 16:29:47 -08:00
Benjamin Sergeant
cd82eed4ec simple cmake build error 2020-12-25 16:28:15 -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
6122154f74 test only depend on ixcore and ixcrypto 2020-12-25 15:27:11 -08:00
Benjamin Sergeant
23606b45c7 C++11 compatible 2020-11-15 21:09:58 -08:00
Benjamin Sergeant
f60485d9c2 use ctest for testing 2020-11-11 11:11:34 -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
730fbc5b31 unity build fixes 2020-10-26 19:18:55 -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
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
93167e3917 cmake / move FetchContent spdlog to a single place 2020-09-26 13:55:03 -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
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
6f0307fb35 (build) make using zlib optional, with the caveat that some http and websocket features are not available when zlib is absent 2020-07-31 22:54:57 -07:00
Benjamin Sergeant
4f41f209a2 (socket utility) move ix::getFreePort to ixwebsocket library 2020-07-27 18:17:13 -07:00
Benjamin Sergeant
0388459bd0 (ixwebsocket) add WebSocketProxyServer, from ws. Still need to make the interface better. 2020-07-25 11:26:06 -07:00
Benjamin Sergeant
f7031d0d3e set thread name in only one file 2020-07-17 11:43:50 -07:00
Benjamin Sergeant
595e6c57df IXSelectInterruptPipe.h included in cmake on windows but compiled out 2020-07-17 11:33:02 -07:00
Benjamin Sergeant
fbd17685a1 (socket+websocket+http+redis+snake servers) expose the remote ip and remote port when a new connection is made (see ) / only ipv4 is handled 2020-07-08 12:10:35 -07:00
Benjamin Sergeant
89e7a35a81 add cmake comment about using a custom zlib 2020-07-06 18:34:14 -07:00
flagarde
789e620451 Update CMakeLists.txt
just have to provide OPENSSL_ROOT_DIR to cmake
2020-07-06 18:30:44 -07:00
Benjamin Sergeant
4789e190a0 zlib needs to be found (with vcpkg in CI), do not use our bundled copy 2020-07-06 18:09:45 -07:00
Xu Zhipei
2fbb1a846f
feat(cmake): add cmake find config support () 2020-06-13 21:04:43 -07:00
Benjamin Sergeant
c5aadffa08 (redis cobra bots) update the cobra to redis bot to use the bot framework, and change it to report fps metrics into redis streams. 2020-06-10 22:30:55 -07:00
flagarde
e0aace33ea
Update CMakeLists.txt () 2020-05-21 08:46:06 -07:00