mesecons/mesecons_luacontroller
Christopher Head 2b096f050d Limit and optimize digiline_send (#379)
* Close vulnerability and optimize digiline_send

`digiline_send` as it previously existed was vulnerable to a
time-of-check-to-time-of-use vulnerability in which a table could be
sent, size-checked, and then modified after the send but before
delivery. This would allow larger tables to be sent. It was also slow
because it called `minetest.serialize`. Fix both of these by
implementing custom message cleanup logic which simultaneously computes
the message’s cost.

* Clean up interaction with Digilines

Use `minetest.global_exists` to avoid an undefined global variable
warning when operating a Luacontroller with Digilines not available. Use
the new `digilines` table in preference to the old `digiline` table.

* Copy received messages

When a Digiline message is received at a Luacontroller, copy it so that
local modifications made by the Luacontroller code will not modify
copies of the table that are being passed to other nodes on the Digiline
network.
2018-01-13 22:27:00 +03:00
..
doc/luacontroller Spell-check and clarify item names 2017-03-07 19:04:05 +01:00
textures Make LuaC formspec bigger (#338) 2017-05-08 02:59:57 +04:00
depends.txt Add luacontroller, a microcontroller that you can code in lua. 2013-01-13 00:18:25 +01:00
init.lua Limit and optimize digiline_send (#379) 2018-01-13 22:27:00 +03:00