summaryrefslogtreecommitdiff
path: root/mesecons_luacontroller
AgeCommit message (Collapse)Author
2022-01-07Luacontroller terminal improvementsHEADmastercheapie
* Adds a second argument to print() - if true, no line feed is prepended * Adds a clearterm() function in the Luacontroller environment to clear the terminal screen
2022-01-06Avoid crashing on a nil error messagecheapie
2022-01-02Add Luacontroller examples/help systemcheapie
2022-01-02Fix migration of old LuaCscheapie
2022-01-02Add Luacontroller terminalcheapie
This adds a "terminal" tab to the Luacontroller, which: * Shows errors, warnings, and print() output (fixing upstream #388) * Allows text to be entered, which is sent as event.text with an event.type of "terminal" The Luacontroller formspec has also been converted to version 4 in the process.
2022-01-01Fix LuaC code scrolling with Dreambuildercheapie
It maybe doesn't look as nice with the border, but at least scrolling works.
2022-01-01Allow LuaC programs to opt into lightweight interrupts even if the server ↵cheapie
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.
2022-01-01Detect dreambuilder and use its theme settings for the Luacontrollercheapie
2022-01-01Allow IIDs to be used with lightweight interruptscheapie
For now this does cause a minimum delay of one second to be enforced in lightweight mode.
2022-01-01Fix crash when removing a Luacontroller with actions pendingcheapie
Fixes upstream #566
2022-01-01Add Luacontroller library supportcheapie
Fixes upstream #557
2020-10-09Make Lua code area and error label use monospaced font (#541)Johannes Lundberg
2020-09-21Restrict Lua controller interrupt IDs (#534)Vitaliy
* Deprecate non-string IIDs * Restrict tabular IIDs to proper trees Fixes crash on recursive interrupt ID (#473)
2020-06-27Use mod.conf for dependencies (#492)David Leal
2019-06-27Optimize images (#464)Hugo Locurcio
Recompress losslessly using `optipng` and `advpng`
2018-12-29LuaC: add lightweight interrupts (#449)Thomas Rudin
2018-12-21Document inactive block behaviour (#447)Christopher Head
2018-12-09Prevent long error message from covering the buttonnumber Zero
2018-09-18Mark 'code' as private as wellluk3yx
Saves on bandwidth, however the code is still accessible via the formspec.
2018-09-18Mark LuaController memory as privateluk3yx
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.
2018-07-23Fix Luacontroller’s print() (#422)Vitaliy
Because of working inside the sandbox, it was unable to print tables.
2018-07-18Fix crash when error()ing an invalid value on programming (#418)beyondlimits
2018-01-22Improve LuaController security (#393)20kdc
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
2018-01-13Limit and optimize digiline_send (#379)Christopher Head
* 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.
2017-11-01Set is_ground_content to false (#386)DS
2017-10-18Publish some LuaC API (#348)Vitaliy
2017-10-07Handle blasts (#356)DS
2017-05-08Fix crash when error()ing an invalid valuenumber Zero
See #337 for details.
2017-05-08Make LuaC formspec bigger (#338)DS
2017-04-14Improve overheating (#334)numberZero
New overheating system that doesn’t use the meta.
2017-03-07Spell-check and clarify item namesWuzzy
* Fix inconsistent insulated mesecon names * Clarify lightstone names * Rename meselamp to "Mesecon Lamp" * Use capitalization "Luacontroller" consistently * Cleanup / improvements for logic gate naming
2017-01-15Luacontroller: Revert function stripping from digiline messagesJeija
2016-12-28Luacontroller: Restrict digiline messagesJeija
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.
2016-08-16Remove an obsolete comment.Christopher Head
2016-05-17Add protection support to Luacontrollers,Carter Kolwey
protection is ignored with protection_bypass_priv
2016-04-26Luacontroller: Fix `remove_functions` stack overflow bugelectrodude
2016-04-02Disable JIT optimization for user code and allow string.find in plain modePedro Gimeno
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`.
2016-03-14Luacontroller: Put clearing debug hook before throwing error back inJeija
2016-03-13Luacontroller: Add safe version of string.rep and remove string.gsub,Jeija
fixes #255
2016-03-13Luacontroller: Fix function usage in LuaJIT, make 'do' no longerJeija
prohibited, remove pcall and xpcall, fix global lookup of "jit" variable, correct error locations Thanks to @ShadowNinja and @gamemanj for fixing this in #241
2016-01-02Add os.datetable(), a (very) limited wrapper for os.date(). Fixes #246.Carter Kolwey
2015-11-20Major change: Documentation is now included with mesecons, the website just ↵Jeija
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.
2015-10-18Luacontroller: Add configurable size limit for mem table, 100kBytes by ↵Jeija
default, fixes #240 If size limit is exceeded, the luacontroller overheats. Overheating will cause the memory to be erased.
2015-10-04Remove trailing whitespaceJeija
2014-12-20Fix #196, removes soft-depend on commonlibJeija
2014-11-29Don't trigger an "off" event to itself when luacontroller turns a port offJeija
I hope this doesn't break anyone's setup.
2014-11-25Fix luacontroller: attempt to perform arithmetic on global 'print_count' (a ↵Jeija
nil value)
2014-11-25Merge branch 'improve-luacontroller'Jeija
However, without the print_count limiting functionality Conflicts: mesecons_luacontroller/init.lua
2014-11-23Fix luacontroller interrupts not working if no iid is suppliedJeija
2014-11-22Fix burnt luacontroller, nodebox + crashJeija