summaryrefslogtreecommitdiff
path: root/core/io
AgeCommit message (Collapse)Author
2018-09-22StreamPeer get[_utf8]_string with negative length.Fabio Alessandrelli
If the "bytes" parameter of get_string and get_utf8_string is negative, the length will be read from the stream instead. The bytes parameter has now a default (-1), allowing to use them directly as reverses of put_string and put_utf8_string . put_string was not implemented, so I implemented it to allow sending ASCII strings (which are much smaller than UTF8 ones).
2018-09-21Add checks for clean disconnect in HTTP/TCP/SSL.Fabio Alessandrelli
Half-open TCP connection can, of course, only be detected by writing the socket, or waiting for TCP timeout.
2018-09-16Merge pull request #22066 from Faless/bundle_certsRémi Verschelde
Bundle SSL certs with the templates
2018-09-15Fix HTTPClient _get_http_data bug after #21976.Fabio Alessandrelli
2018-09-15Allow system certs file to be used by Editor.Fabio Alessandrelli
Note, it will only used by the Editor, not when running the game. This allows package maintainer to compile Godot to use system installed certificates when accessing the AssetLib.
2018-09-15Bundle SSL certs with the templates.Fabio Alessandrelli
If this is undesired it can be avoided by specifying builtin_certs=no . Bundled SSL certs will be used unless you specify an override in: Project Settings -> SSL -> Certificates .
2018-09-15doc: Sync classref with current sourceRémi Verschelde
2018-09-15Clearly deprecate sync too in favor of remotesync.Fabio Alessandrelli
NOTE: This changes the RPC_MODE_* enum values. Games should be re-exported. GDNative rebuilt.
2018-09-15Rename slave keyword to puppetFabio Alessandrelli
The slave keyword will still be available as deprecated in 3.1 but will be dropped from future releases.
2018-09-13Fix FileAccessCompressed::get_8 returning 0 for the last byte of a fileelasota
2018-09-13Merge pull request #21976 from Faless/http_client_eof_fixRémi Verschelde
Fix non chunked HTTP reading till eof.
2018-09-13Merge pull request #22020 from Faless/tcp_fixRémi Verschelde
Fix TCP connecting state not set correctly
2018-09-13Merge pull request #21982 from luzpaz/misc-typosRémi Verschelde
Misc. typos
2018-09-13Fix TCP connecting state not set correctlyFabio Alessandrelli
2018-09-12Misc. typosluz.paz
Found via `codespell -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"`
2018-09-12Unify StreamPeerTCP/TCP_Server with NetSocket APIFabio Alessandrelli
2018-09-12Unify PacketPeerUDP using NetSocketFabio Alessandrelli
2018-09-12New NetSocket interface, BSD/Win implementationFabio Alessandrelli
Unified BSD and Winsock sockets into a single implementation of a generic NetSocket interface. This is some ground work for few network improvements: - Reuse as much code as possible between Posix and Windows. - Provide a single point of implementation for exotic sdks (consoles). - Provide platform agnostic StreamPeerTCP and PacketPeerUDP in core. - Implement connect for UDP allowing for DTLS implementation.
2018-09-12Fix non chunked HTTP reading till eof.Fabio Alessandrelli
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
2018-09-02Change ResourceLoader::load to make it more thread safe.Juan Linietsky
2018-08-28Fix DNS resolution when cache is invalid.Fabio Alessandrelli
Fix StreamPeerTCP.connect_to_host return value.
2018-08-27Removed fallback system and merged bptc into s3tcJuan Linietsky
2018-08-24Make some debug prints verbose-only, remove othersRémi Verschelde
2018-08-24Add print_verbose to print to stdout only in verbose modeRémi Verschelde
Equivalent of the cumbersome: if (OS::get_singleton()->is_stdout_verbose()) print_line(msg);
2018-08-21BPTC supportelasota
2018-08-12Fix ResourceLoader::exists() false negative and readd deprecated has()Rémi Verschelde
2018-08-10Added function ResourceLoader.exists(), to check if a resource exists. ↵Juan Linietsky
Closes #19140
2018-08-10Revert "added get_creation_time function for gdscript"Juan Linietsky
2018-08-10Merge pull request #18914 from notwarp/masterJuan Linietsky
added get_creation_time function for gdscript
2018-08-04ResourceFormatLoaderImage::get_resource_type now uses file pathwillnationsdev
2018-07-29It is now possible to import images as a separate resource, closes #5738 and ↵Juan Linietsky
likely many others
2018-07-29Fix marshalls size checks.Fabio Alessandrelli
Yesterday, when playing around with my network code, I realized there is a security issue in decode_variant, at least when decoding PoolArrays. Basically, the size of the PoolArray is encoded in a uint32_t, when decoding it, that value is cast to int when comparing if the packet is actually that size causing numbers with MSB=1 to be interpreted as negative thus always passing the check. That same value though, is used as uint32_t again to resize the output vector. For this reason, sending a malformed packet with declared type PoolByteArray and size of 2^31(+x) causes the engine to try to allocate 2+GB of pool memory, causing the engine to crash. (cherry picked from commit 5262d1bbcc81a06db66ac45c3f75535f231268bc)
2018-07-26doc: Sync classref with current sourceRémi Verschelde
Fix various missing arguments in bindings.
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
This commit makes operator[] on Vector const and adds a write proxy to it. From now on writes to Vectors need to happen through the .write proxy. So for instance: Vector<int> vec; vec.push_back(10); std::cout << vec[0] << std::endl; vec.write[0] = 20; Failing to use the .write proxy will cause a compilation error. In addition COWable datatypes can now embed a CowData pointer to their data. This means that String, CharString, and VMap no longer use or derive from Vector. _ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug builds. This is a lot faster for Vector in the editor and while running tests. The reason why this difference used to exist is because force-inlined methods used to give a bad debugging experience. After extensive testing with modern compilers this is no longer the case.
2018-07-24Fix loading PO files with missing newline after last msgstrRémi Verschelde
Fixes #20375.
2018-07-16HTTP client now uses non blocking handshakeFabio Alessandrelli
2018-07-16Implement non blocking-handshake for StreamPeerSSLFabio Alessandrelli
2018-07-08MultiplayerAPI::send_bytes transfer mode support.Fabio Alessandrelli
Added as extra parameter, allow you to specify which transfer mode to use for those specific bytes
2018-07-04Fix CORS problems due to added headers on JS targetGagaPete
Before this change, missing User-Agent and Accept headers were automatically added on all platforms. Setting the User-Agent header forces the browser to do a CORS preflight (see 1) which fails if the HTTP endpoint is not configured appropriate. It's not neccesary to set either header as the browser sets them and so this commit disables that functionality on the JS target. 1: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Simple_requests
2018-06-12Fixed regression making the logger not respect the max files limit.Michael Alexsander Silva Dias
2018-05-30Don't add a period to a log file name if it has no extension.Michael Alexsander Silva Dias
2018-05-29New sync RPC modes to match all combinationsFabio Alessandrelli
2018-05-29Refactor RPCMode enum and checksFabio Alessandrelli
2018-05-29Revert "RPCMode refactor, more sync modes"Max Hilbrunner
2018-05-29Merge pull request #19021 from Faless/rpc_sync_fixMax Hilbrunner
RPCMode refactor, more sync modes
2018-05-28Fix for not picking up locale of some .po translation filesFabian
2018-05-26Merge pull request #18279 from RandomShaper/allow-naive-httpMax Hilbrunner
Allow body-up-to-EOF HTTP responses
2018-05-26New sync RPC modes to match all combinationsFabio Alessandrelli
2018-05-26Refactor RPCMode enum and checksFabio Alessandrelli