summaryrefslogtreecommitdiff
path: root/core/io
AgeCommit message (Collapse)Author
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
2018-05-22Allow body-up-to-EOF HTTP responsesPedro J. Estébanez
Implements the same heuristic as Curl (and web browsers): if no `Content-Length`, no `Connection: keep-alive` and no chunked transfer encoding, assume th rest of the data until EOF is the body, gracefully setting the HTTP client back to the disconnected state. Theoretically, this is not compliant with HTTP 1.1, by which `keep-alive` is the default, but in practice, an explicit header is sent by servers.
2018-05-16Add missing copyright headersGuilherme Felipe
2018-05-12Allow sending raw bytes through MultiplayerAPIFabio Alessandrelli
2018-05-09Merge pull request #18709 from Faless/multiplayer_docsMax Hilbrunner
Rename multiplayer_api to multiplayer, add docs
2018-05-08Merge pull request #15305 from poke1024/checks-peerJuan Linietsky
Checks on input_buffer in PacketPeerStream
2018-05-08Internal methods in MultiplayerAPI start with _Fabio Alessandrelli
2018-05-07Merge pull request #16033 from poke1024/marshalls-dictJuan Linietsky
Detects crash-related marshalling errors due to NAN values
2018-05-02Merge pull request #18520 from paulloz/gdscript-api-string-pathRémi Verschelde
fix API string path
2018-04-30fix API string pathPaul Joannon
2018-04-19PCKPacker:pck_start(): Update versionMax Hilbrunner
2018-04-12Revert "Unify http- and percent- encode/decode"Pedro J. Estébanez
This reverts commit b76ee30917c63211ac9e94a21bebbddf518d169f.
2018-04-08Merge pull request #17227 from Faless/multiplayer_apiJuan Linietsky
[RFC] MultiplayerAPI refactor
2018-04-07Merge pull request #17583 from RandomShaper/enhance-uri-utilsJuan Linietsky
Enhance uri utils
2018-04-07Merge pull request #17636 from rainerdeyke/fix_issue_17585Juan Linietsky
Fixes moving files causes scene corruption
2018-04-03Generalize SSL cert reading from fileFabio Alessandrelli
2018-03-27Enhance HTTPClient.query_string_from_dict()Pedro J. Estébanez
2018-03-27Unify http- and percent- encode/decodePedro J. Estébanez
There was a percent-prefixed version, which was exposed, and a http-prefixed version which was not (only to GDNative). This commit keeps the percent-prefixed versions, but with the http-prefixed implementations.
2018-03-24Fixes scene corruption when updating dependencies.Rainer Deyke
This commit fixes issue #17585: renaming/moving resources can corrupt scene files. The corruption was caused by 'ResourceFormatLoaderBinary::rename_dependencies' updating the file format version field of the affected scene file to the latest version without actually updating the content of the file to that version, resulting in a file whose content does not match its file format version field. The fix preserves the file format version field and the engine version fields when renaming dependencies.
2018-03-18Fix listing files inside directory in pack filePedro J. Estébanez
When adding a directory path to the inventory of the pack, an empty file name was being added to the file list. That made `Directory.get_ntext()` signal end-of-list too early so that files in a subdirectory were missed. Fixes #15801. Helps with #16798.
2018-03-15Merge pull request #17237 from RandomShaper/fix-ssl-handshakeFabio Alessandrelli
Fix HTTPClient SNI support when verify is off
2018-03-04Fix garbage in string padding.Andrew Dunai
2018-03-04Fix wrong SSL handshakePedro J. Estébanez
The name of the remote host is passed to mbed TLS in all cases so the client hello message is correctly formed.
2018-03-03Add new MultiplayerAPI classFabio Alessandrelli
Handles all the high level networking stuff
2018-02-21Fix typos with codespellluz.paz
Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt` Whitelist consists of: ``` ang doubleclick lod nd que te unselect ```
2018-02-17Clean up some bad words from code commentsArtem Varaksa
2018-02-14Merge pull request #16169 from hungrymonkey/issue_16160Rémi Verschelde
Change function signature from float to double to match type get_doub…
2018-02-14Add mbedtls moduleFabio Alessandrelli
2018-01-30Display set_nodelay to GDScriptMarlon Henry Schweigert
Pass enabled arg Rename set_nodelay to set_no_delay Add description to the method Change description
2018-01-29Change function signature from float to double to match type ↵hungrymonkey
get_doubleCloses #16160
2018-01-24Detects crash-related marshalling errors due to NAN valuesBernhard Liebl
2018-01-18Fix typos in code and docs with codespellRémi Verschelde
Using v1.11.0 from https://github.com/lucasdemarchi/codespell