Commit Graph
1361 Commits
Author SHA1 Message Date
Benjamin Sergeant eb9a7bed76 fix warning about member variable initialization order + minor makefile build fix 2023-04-01 09:03:39 -07:00
NumendacilandGitHub d20864d7d1 Replace CMAKE_BINARY_DIR with CMAKE_CURRENT_BINARY_DIR (#454) 2023-03-29 20:59:39 -07:00
ouwouandGitHub f184a7adef fix incorrect closures with code 1011 Internal error (#450)
* fix incorrect closures with code 1011 Internal error

* enable IXWebSocketCloseTest
2023-03-29 20:45:29 -07:00
ThefrankandGitHub dc7b986e10 Build fix for FreeBSD (#449) 2023-03-13 09:36:25 -07:00
itytophileandGitHub 1e3560014f Prevent deadlock when server is stopping (#426) 2023-02-25 14:41:05 -08:00
Azamat H. HackimovandGitHub 9157873f5b Fix compilation on GCC-13 (#443)
* Fix compilation on GCC-13

GCC-13 changes internal cstdint includes, and now files that uses
standart integer types should directly include cstdint header.

See: https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
Bug: https://bugs.gentoo.org/865117
Bug: https://bugs.gentoo.org/895440

* Convert line endings to Unix format
2023-02-25 13:50:35 -08:00
aa2ca19895 Added support for setting custom ping messages with support for any 'ping' message type (binary ping message, text ping message) (#438)
* Added support for setting custom ping messages with support for any 'ping' message type (binary ping message, text ping message)

* Add default value

---------

Co-authored-by: YuHuanTin <2@>
2023-02-23 08:29:07 -08:00
Vol-AlexandGitHub 6cc21f3658 HTTP should contain port in 'Host' header (#427) 2023-02-11 15:27:40 -08:00
itytophileandGitHub 679ce519dd Fix DNSLookup memory leak (#422)
* Fix memory leak with shared_ptr and -fsanitize=address

* Replace addrinfo* by shared_ptr

* fsanitize=address only on Linux

* Add USE_WS Linux CI test

* Remove fsanitize from the cmake files

* Remove USE_WS in linux test suite
2022-12-22 17:13:51 -08:00
crjcandGitHub a5d4911a16 Fix macos link error (#423)
* Fix macos link error

* Update CMakeLists.txt

* Update CMakeLists.txt
2022-12-22 09:16:10 -08:00
b0fd119d14 Host HTTP and WS on the same port (#414)
* Quick hack to host HTTP and WS on the same port #373

* Quick hack to host HTTP and WS on the same port #373 - simplify code

* ran clang-format

Co-authored-by: En Shih <seanstone5923@gmail.com>
Co-authored-by: The Artful Bodger <TheArtfulBodger@users.noreply.github.com>
2022-11-05 18:53:11 -07:00
李浩能andGitHub 472cf68c31 add Content-Type support (#405) 2022-10-12 06:43:05 -07:00
Robin SommerandGitHub 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
bsergeanandGitHub 0b8b5608dc Update doc to talk about binding to 0.0.0.0 2022-09-08 14:58:19 -07:00
Seizure SaladandGitHub 20a028e2ae Fix spelling mistake (#401) 2022-08-02 13:28:59 -07:00
Benjamin SergeantandGitHub 8d7b557be6 Delete stale.yml
Remove the stale github action.
2022-06-30 10:41:08 +02:00
Benjamin SergeantandGitHub e417e63605 Update CHANGELOG.md v11.4.3 2022-05-13 10:45:46 -07:00
Benjamin SergeantandGitHub 7b1524d7ec Update IXWebSocketVersion.h 2022-05-13 10:43:32 -07:00
Max WeiselandGitHub e8048ad826 BoringSSL does not allow setting the hostname with a null-terminated string. The length is always required: https://boringssl.googlesource.com/boringssl/+/master/crypto/x509/x509_vpm.c#93 (#391) 2022-05-05 08:11:18 -07:00
Benjamin SergeantandGitHub 2b40a30c8f Update README.md 2022-05-02 09:34:43 -07:00
Benjamin SergeantandGitHub d7bfe89e43 Set shorter thread names (#379) 2022-04-30 10:18:20 -07:00
Benjamin SergeantandGitHub 84aa652846 Set shorter thread names (#379) 2022-04-30 10:16:53 -07:00
Robin SommerandGitHub edb6ded99f Fix Sec-WebSocket-Key to contain valid Base64. (#389)
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
Benjamin SergeantandGitHub 2f560ff4c0 Update IXWebSocketVersion.h v11.4.2 2022-04-28 23:56:40 -07:00
Benjamin SergeantandGitHub 002d9c8985 Update ixwebsocket-config.cmake.in (#390) 2022-04-28 23:56:00 -07:00
Benjamin SergeantandGitHub 6d8495bd73 Update CHANGELOG.md v11.4.1 2022-04-23 22:53:36 -07:00
Benjamin SergeantandGitHub b8563eddd1 11.4.1 2022-04-23 22:52:32 -07:00
46bd2aa4a1 vcpkg zlib dep fix (#385)
* 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 SergeantandGitHub 4420bc70b5 Revert "Export static symbols when building ws with shared library (#370)" (#383)
This reverts commit a3d2fa4b7e.
2022-04-12 08:55:43 -07:00
Benjamin SergeantandGitHub 20921f341a Update README.md 2022-03-28 22:04:27 -07:00
Benjamin SergeantandGitHub 2829c62ef9 Fix error handling after calling X509_NAME_get_index_by_NID
This should fix #376
2022-03-27 19:14:40 -07:00
Anton IvlevandGitHub a3d2fa4b7e Export static symbols when building ws with shared library (#370) 2022-03-19 11:41:40 -07:00
Benjamin SergeantandGitHub f7eb3688dd Update IXExponentialBackoffTest.cpp v11.3.3 2022-02-17 09:17:47 -08:00
Benjamin SergeantandGitHub 7360333aca Handle overflow in IXExponentialBackoff.cpp 2022-02-17 09:17:02 -08:00
Benjamin SergeantandGitHub 90f19e0280 Reference new IXExponentialBackoffTest test in CMakeLists.txt 2022-02-17 09:08:49 -08:00
Benjamin SergeantandGitHub b72f81540b Create IXExponentialBackoffTest.cpp 2022-02-17 09:07:46 -08:00
Benjamin SergeantandGitHub a77fd2d698 Update catch to v2.13.8 (#365) 2022-02-17 08:38:46 -08:00
flagardeandGitHub e12a6ddbdd Update IXSocketConnect.cpp (#356)
Part of the code is never executed
warning raised by clang
2022-02-10 20:50:55 -08:00
flagardeandGitHub 127cc4a023 Fix for MINGW32 and clang on windows (#352) (#357)
* Update IXSocket.h

Avoid "conflicting declaration 'typedef SSIZE_T ssize_t'"

* Update IXUdpSocket.h

* Update IXNetSystem.cpp

ENOSPC and EAFNOSUPPORT are not defined for clang on windows
2022-02-10 20:49:33 -08:00
Benjamin SergeantandGitHub 7711cb1ae7 Feature/no libdeflate (#360)
remove libdeflate code in gzip codec
2022-02-10 20:47:32 -08:00
Martin NatanoandGitHub 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 SergeantandGitHub c28b569535 Edit doc about thread safety, fix #350 2022-01-28 16:27:45 -08:00
flagardeandGitHub 8d661b8e81 Use Threads::Threads target (#349) 2022-01-16 17:39:21 -08:00
flagardeandGitHub a951bc9cae Add an alias for ixwebsocket (#348) 2022-01-16 17:36:38 -08:00
Andreas HausladenandGitHub 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
Andreas HausladenandGitHub 2bc3afcf6c Fixed missing header for gcc (9.3.0) compilation (#346) 2022-01-06 19:27:00 -08:00
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
Andreas HausladenandGitHub 1f2895a469 Win wsa select event (#342)
* Fix #323: 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
Andreas HausladenandGitHub 9f00428d57 Fix "HTTP/1.1 400 Illegal character CNTL=0xf" caused by serverMaxWindowBits/clientMaxWindowBits being uint8_t (signed char). (#341) 2022-01-04 12:25:18 -08:00
CryptoManiacandGitHub f53b2f8878 Export symbols into .def files on MSVC (#339)
Fix #335
2022-01-04 12:13:38 -08:00