summaryrefslogtreecommitdiff
path: root/modules/websocket
AgeCommit message (Collapse)Author
2019-08-20Merge pull request #31483 from Faless/ws/fix_double_relayRémi Verschelde
Fix WebSocketServer relaying message twice.
2019-08-19Fix WebSocketServer relaying message 2 times.Fabio Alessandrelli
The WebSocketMultiplayerPeer was relaying the same message two times, both in _server_relay and _process_multiplayer (which was only supposed to store the packet, given the server was one of the destination). _process_multiplayer now only store the packet, and calls _server_relay which will relay the message to other clients if needed.
2019-08-19WebSocketServer now sanitize destination peers.Fabio Alessandrelli
When relaying messages in multiplayer mode. Could cause a crash in case a malicious client sends a bogus packet and for those cases where a peer has just disconnected and a message arrive from another peer with the disconnected one as destination.
2019-08-17Replace last occurrences of 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG'Rémi Verschelde
The last remaining ERR_EXPLAIN call is in FreeType code and makes sense as is (conditionally defines the error message). There are a few ERR_EXPLAINC calls for C-strings where String is not included which can stay as is to avoid adding additional _MSGC macros just for that. Part of #31244.
2019-08-12Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in rest of 'modules/'Robin Hübner
2019-07-28Fix WebSocketClient crash when unref during signalFabio Alessandrelli
Always call disconnect before emitting signals, to avoid calling it on a freed object if the user decides to unreference it in a signal.
2019-07-08Fix WebSocketClient consuming data during hanshakeFabio Alessandrelli
Was missing a break of the while loop on connection. This potentially caused early data frames to be trashed.
2019-07-08Merge pull request #30419 from Faless/ws/wslay_server_protoRémi Verschelde
(Re-)Implement subprotocols in websocket server.
2019-07-08(Re-)Implement subprotocols in websocket server.Fabio Alessandrelli
2019-07-07Fixes minor issues found by static analyzerqarmin
2019-07-04Optimize header reads (avoid extra allocs)Fabio Alessandrelli
2019-07-04Remove libwebsocket. No longer used, yay!Fabio Alessandrelli
2019-07-04WebSocket module now uses wslay library.Fabio Alessandrelli
Both client and server are supported on native builds (as usual). SSL server is still not supported, but will soon be possible with this new library. The API stays the same, we just need to work out potential issues due to this big library switch.
2019-07-03SCons: Use CPPDEFINES instead of CPPFLAGS for pre-processor definesRémi Verschelde
It's the recommended way to set those, and is more portable (automatically prepends -D for GCC/Clang and /D for MSVC). We still use CPPFLAGS for some pre-processor flags which are not defines.
2019-06-27Proofread and improve the whole class referenceHugo Locurcio
- Document a few more properties and methods - Add more information to many classes - Fix lots of typos and gramar mistakes - Use [code] tags for parameters consistently - Use [b] and [i] tags consistently - Put "Warning:" and "Note:" on their own line to be more visible, and make them always bold - Tweak formatting in code examples to be more readable - Use double quotes consistently - Add more links to third-party technologies
2019-06-27doc: Replace all [code]CONSTANT[/code] by new [constant CONSTANT] hyperlinksRémi Verschelde
2019-06-26Some code changed with Clang-Tidyqarmin
2019-06-15Expose WebSocket set_buffers and document it.Fabio Alessandrelli
2019-06-15Allow setting websocket buffers sizes internally.Fabio Alessandrelli
Needed by LSP.
2019-05-01Revert "Update libwebsockets to 3.1 (plus UWP patch)"Fabio Alessandrelli
This reverts commit 90210c48627692d281554d6185b5db17a86c852a.
2019-04-30SCons: Always use env.Prepend for CPPPATHRémi Verschelde
Include paths are processed from left to right, so we use Prepend to ensure that paths to bundled thirdparty files will have precedence over system paths (e.g. `/usr/include` should have lowest priority).
2019-04-24SCons: Review uses of CCFLAGS, CXXFLAGS and CPPFLAGSRémi Verschelde
Many contributors (me included) did not fully understand what CCFLAGS, CXXFLAGS and CPPFLAGS refer to exactly, and were thus not using them in the way they are intended to be. As per the SCons manual: https://www.scons.org/doc/HTML/scons-user/apa.html - CCFLAGS: General options that are passed to the C and C++ compilers. - CFLAGS: General options that are passed to the C compiler (C only; not C++). - CXXFLAGS: General options that are passed to the C++ compiler. By default, this includes the value of $CCFLAGS, so that setting $CCFLAGS affects both C and C++ compilation. - CPPFLAGS: User-specified C preprocessor options. These will be included in any command that uses the C preprocessor, including not just compilation of C and C++ source files [...], but also [...] Fortran [...] and [...] assembly language source file[s]. TL;DR: Compiler options go to CCFLAGS, unless they must be restricted to either C (CFLAGS) or C++ (CXXFLAGS). Preprocessor defines go to CPPFLAGS.
2019-04-19doc: Drop unused <demos> tagRémi Verschelde
2019-04-12Move IDHandler JS module to platform from WebsockFabio Alessandrelli
2019-04-02Enable warnings=extra on clang and GCC testers.marxin
And remove 2 warnings from warnings=extra.
2019-04-01doc: Bump version to 3.2Rémi Verschelde
2019-03-06Update libwebsockets to 3.1 (plus UWP patch)Fabio Alessandrelli
2019-02-27Fix -Wsign-compare warnings.marxin
I decided to modify code in a defensive way. Ideally functions like size() or length() should return an unsigned type.
2019-02-20Add -Wshadow=local to warnings and fix reported issues.marxin
Fixes #25316.
2019-02-18Fix warnings seen with warnings=all and recent GCC 8.2.marxin
2019-02-12Modules: Ensure classes match their header filenameRémi Verschelde
Renamed: - `modules/mono/mono_gd/gd_mono_class_member.h` -> `i_mono_class_member.h` - `modules/upnp/upnpdevice.h` -> `upnp_device.h` - `modules/websocket/websocket_multiplayer.h` -> `websocket_multiplayer_peer.h`
2019-01-28Update docs and errors for WebSocket moduleFabio Alessandrelli
2019-01-07doc: Fix wrong references found by new makerst.pyRémi Verschelde
Thanks @PJB3005
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2019-01-01Fix missing/malformed license headersRémi Verschelde
2018-12-26Fix HTML5 WebSocket client buffers size.Fabio Alessandrelli
2018-12-20doc: Add missing commas after "If true/false"Rémi Verschelde
2018-11-25Websocket LWS keep servicing till no CB are leftFabio Alessandrelli
Apparently, only a single WRITABLE/READABLE callback is called at each servicing. For this reason, we want to keep servicing until we end up not receiving any callback. When that happens, we can assume that we can't (or don't want to) write more, and that there is nothing left to read in the socket buffer.
2018-11-12Convert WebSocket module to use PacketBuffer classFabio Alessandrelli
2018-11-12Add new PacketBuffer class for buffered peersFabio Alessandrelli
2018-11-10Merge pull request #23490 from Faless/lws_client_memfixRémi Verschelde
Fix access to freed mem in WS client after #23241
2018-11-08-Moved EditorDefaultValue to ClassDB, made it coreJuan Linietsky
-Removed one and zero hints for properties, replaced by default value
2018-11-03Fix access to freed mem in WS client after #23241Fabio Alessandrelli
I was wrong in assuming that String had to survive long enough to avoid it, what actually needed to survive was the CharString obtained from the acsii() or utf8() function. At least according to valgrind
2018-10-23Add missing EMWSServer::poll function.Fabio Alessandrelli
Empty of course as server is not supported in HTML5, but the symbol must be defined.
2018-10-23Remove unneeded strncpy in lws_client.Fabio Alessandrelli
Pass the String buffer directly, lws_client_connect_via_info will copy them for us.
2018-10-19Fixing warnings generated by MSVCDualtagh Murray
Fixes #22684.
2018-10-07Fix LWSClient connect_to_host string termination.Fabio Alessandrelli
Coming from strncpy might get you a non-NULL terminated buffer. The solution, if you accept trunction, is to give one less byte to strncpy and manually set the last char in the buffer to '\0'. If the source string is shorter, than the buffer is padded with '\0' automatically.
2018-09-29Fix -Wunused-function in websocket moduleFabio Alessandrelli
2018-09-28SCons: Build thirdparty code in own env, disable warningsRémi Verschelde
Also remove unnecessary `Export('env')` in other SCsubs, Export should only be used when exporting *new* objects.
2018-09-28Remove socket_helper.h after NetSocket refactorFabio Alessandrelli