Commit Graph

8 Commits

Author SHA1 Message Date
upsilon
7cf99da1a5
LuaBlock: Major changes in mod storage usage
Data associated to a LuaBlock is redundantly stored in both its metadata
and in the mod storage so that it is not possible to hack a LuaBlock by
changing its metadata or copying it using WorldEdit. This commit changes
how it is done:
* Store full code instead of storing MD5 checksum, which avoids bug
caused by serializing non-ASCII strings using minetest.serialize,
* Also store owner,
* Use `minetest.hash_node_position` instead of deprecated vector_extras
set_data_to_pos etc,
* Remove mod storage data associated with the LuaBlock when destroying
it,
* Create helper functions for manipulating the mod storage in
moremesecons_utils, I will soon update other parts of MoreMesecons as well to use them.

This commit breaks backwards compatibility: previously created LuaBlocks
will have to be reset by opening the formspec and pressing the `Submit`
button.

This commit also fixes an unrelated bug: code in the formspec was not
correctly escaped using minetest.formspec_escape.
2020-04-09 16:25:21 +02:00
upsilon
ce9544d2bf
Remove mod storage checks 2017-06-23 13:47:41 +02:00
upsilon
7839aefcdc Add 'moremesecons_luablock/md5_lua/' from commit 'e8cd75ce397da6dd75ddb37cb07eb31663743223'
git-subtree-dir: moremesecons_luablock/md5_lua
git-subtree-mainline: 79e856494a9960092f36e438d7e53524c3373501
git-subtree-split: e8cd75ce397da6dd75ddb37cb07eb31663743223
2017-06-03 15:32:33 +02:00
upsilon
79e856494a
Remove md5_lua submodule
This prepares re-adding it as a subtree.
2017-06-03 15:32:05 +02:00
upsilon
180167110f
LuaBlock: store md5 checksums
This avoids changing the LuaBlock code by setting its metadata.
2017-06-02 14:51:10 +02:00
upsilon
e1d2e84746
LuaBlock: don't set the function environment + remove created pos global 2017-05-02 18:26:09 +02:00
upsilon
8c267be40d
luablock: add a "pos" table in env containing the LuaBlock position 2017-05-01 12:52:05 +02:00
upsilon
8ac9b40cf6
Add the LuaBlock 2017-04-24 11:06:59 +02:00