Age | Commit message (Collapse) | Author |
|
It maybe doesn't look as nice with the border, but at least scrolling works.
|
|
isn't using them
This adds a third parameter to interrupt(time,iid,lightweight) - if "lightweight" is true, then the interrupt will be lightweight even if the server's configuration doesn't force it to be.
|
|
|
|
For now this does cause a minimum delay of one second to be enforced in lightweight mode.
|
|
Fixes upstream #566
|
|
Fixes upstream #557
|
|
|
|
* Deprecate non-string IIDs
* Restrict tabular IIDs to proper trees
Fixes crash on recursive interrupt ID (#473)
|
|
|
|
Recompress losslessly using `optipng` and `advpng`
|
|
|
|
|
|
|
|
Saves on bandwidth, however the code is still accessible via the formspec.
|
|
If LuaControllers handle sensitive information, hacked clients could get this information from the LuaController. Marking the memory as private fixes this and saves a small amount of bandwidth.
|
|
Because of working inside the sandbox, it was unable to print tables.
|
|
|
|
Fixes:
1. Lack of 'safe' on minetest.deserialize usage
2. String sandbox bypass via (""):evil()
3. Loss of upcoming digilines messages on server shutdown
4. LCs failing to show information on some errors
5. Interrupt IDs as infinite data storage
|
|
* 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.
|
|
|
|
|
|
|
|
See #337 for details.
|
|
|
|
New overheating system that doesn’t use the meta.
|
|
* Fix inconsistent insulated mesecon names
* Clarify lightstone names
* Rename meselamp to "Mesecon Lamp"
* Use capitalization "Luacontroller" consistently
* Cleanup / improvements for logic gate naming
|
|
|
|
Restrict maximum length of messages to 50.000 characters and disable sending functions or table references over the wire. Restrict types of channel variable to string, number or boolean.
The missing length restriction made DoS-like attacks possible by overflowing memory using string concatenation. Thanks to gamemanj for disclosing this issue.
|
|
|
|
protection is ignored with protection_bypass_priv
|
|
|
|
Disabling LuaJIT for user code enables normal working of debug.sethook() even for loops. The drawback is that that code will run more slowly.
The fourth parameter of string.find indicates whether the second parameter should be interpreted literally (true) or as a pattern (false). Allowing patterns enables DoS attacks, but it's possible to
allow literal matching with little effort, by disallowing the function only if the fourth parameter (plain mode) is not `true`.
|
|
|
|
fixes #255
|
|
prohibited, remove pcall and xpcall, fix global lookup of "jit"
variable, correct error locations
Thanks to @ShadowNinja and @gamemanj for fixing this in #241
|
|
|
|
extracts the documentation in a more readable format
This makes development of new features easier, as documentation can automatically be updated on the website without modifying the website's code!
Every mod that has nodes in the mesecons modpack has a "doc" folder that contains subfolders with recipe, description and preview of the block. The website will discover which documentation is available
by reading the documentation.json file.
|
|
default, fixes #240
If size limit is exceeded, the luacontroller overheats. Overheating will cause the memory
to be erased.
|
|
|
|
|
|
I hope this doesn't break anyone's setup.
|
|
nil value)
|
|
However, without the print_count limiting functionality
Conflicts:
mesecons_luacontroller/init.lua
|
|
|
|
|
|
https://github.com/ShadowNinja/minetest-mod-mesecons into ShadowNinja-improve-luacontroller
Conflicts:
mesecons/legacy.lua
mesecons_luacontroller/init.lua
mesecons_microcontroller/init.lua
|
|
Settings can now be retrieved by mesecon.setting(<name>, <default>) and can be modified without
editing the source code by adding the setting to minetest.conf
For instance, you can add mesecon.blinky_plant_interval = 0.5 to minetest.conf in order to
increase the blinking speed.
Rewrite the blinky plant with nodetimers.
Fixes #161
|
|
flexibility and because it was never inteded to be OOP in the first
place.
mesecon.receptor_on and mesecon.receptor_off are provided by wrappers
(mesecon:receptor_on/off) for compatibility, but will be removed. Mod
programmers that use mesecons: Please update!
Also, fix microcontroller polluting the global namespace and remove some
deprecated stuff.
|
|
This may also bring some performance benefit.
|
|
Just some minor issues like dead code.
|