diff options
author | Jeija <norrepli@gmail.com> | 2016-02-18 11:38:47 +0100 |
---|---|---|
committer | est31 <MTest31@outlook.com> | 2016-02-22 15:39:41 +0100 |
commit | 31e0667a4a53a238d0321194b57b083bd74c0a5b (patch) | |
tree | 24c049c95a08b82f45dcde77419f50ee3a00639f /src/script/common | |
parent | a3892f5a6632550bf0c14c18e6902f6ae06bb567 (diff) | |
download | minetest-31e0667a4a53a238d0321194b57b083bd74c0a5b.tar.gz minetest-31e0667a4a53a238d0321194b57b083bd74c0a5b.tar.bz2 minetest-31e0667a4a53a238d0321194b57b083bd74c0a5b.zip |
Add Lua interface to HTTPFetchRequest
This allows mods to perform both asynchronous and synchronous HTTP
requests. Mods are only granted access to HTTP APIs if either mod
security is disabled or if they are whitelisted in any of the
the secure.http_mods and secure.trusted_mods settings.
Adds httpfetch_caller_alloc_secure to generate random, non-predictable
caller IDs so that lua mods cannot spy on each others HTTP queries.
Diffstat (limited to 'src/script/common')
-rw-r--r-- | src/script/common/c_converter.cpp | 9 | ||||
-rw-r--r-- | src/script/common/c_converter.h | 2 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/script/common/c_converter.cpp b/src/script/common/c_converter.cpp index f1d3cc421..55c4a5f5a 100644 --- a/src/script/common/c_converter.cpp +++ b/src/script/common/c_converter.cpp @@ -517,6 +517,15 @@ bool getboolfield_default(lua_State *L, int table, return result; } +void setstringfield(lua_State *L, int table, + const char *fieldname, const char *value) +{ + lua_pushstring(L, value); + if(table < 0) + table -= 1; + lua_setfield(L, table, fieldname); +} + void setintfield(lua_State *L, int table, const char *fieldname, int value) { diff --git a/src/script/common/c_converter.h b/src/script/common/c_converter.h index 18a045d2a..eefac0ed7 100644 --- a/src/script/common/c_converter.h +++ b/src/script/common/c_converter.h @@ -69,6 +69,8 @@ bool getfloatfield(lua_State *L, int table, std::string checkstringfield(lua_State *L, int table, const char *fieldname); +void setstringfield(lua_State *L, int table, + const char *fieldname, const char *value); void setintfield(lua_State *L, int table, const char *fieldname, int value); void setfloatfield(lua_State *L, int table, |