summaryrefslogtreecommitdiff
path: root/mesecons_detector/init.lua
diff options
context:
space:
mode:
authorChristopher Head <chead@chead.ca>2018-01-13 11:27:01 -0800
committerVitaliy <silverunicorn2011@yandex.ru>2018-01-13 22:27:00 +0300
commit2b096f050d8ef46ec0a669ea4e125ae79745090e (patch)
tree003bb80df11d01c7eda1b0146d13d5e82bd6be30 /mesecons_detector/init.lua
parent993fdedd8ccc21610efee00a08e102b38aa34b7e (diff)
downloadmesecons-2b096f050d8ef46ec0a669ea4e125ae79745090e.tar
mesecons-2b096f050d8ef46ec0a669ea4e125ae79745090e.tar.gz
mesecons-2b096f050d8ef46ec0a669ea4e125ae79745090e.tar.bz2
mesecons-2b096f050d8ef46ec0a669ea4e125ae79745090e.tar.xz
mesecons-2b096f050d8ef46ec0a669ea4e125ae79745090e.zip
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.
Diffstat (limited to 'mesecons_detector/init.lua')
0 files changed, 0 insertions, 0 deletions