diff options
| author | SmallJoker <SmallJoker@users.noreply.github.com> | 2018-07-23 13:00:59 +0200 | 
|---|---|---|
| committer | Vitaliy <silverunicorn2011@yandex.ru> | 2018-07-23 14:00:59 +0300 | 
| commit | 5a0492b176fa6f01925c87a8ad22034a5ed66155 (patch) | |
| tree | c0b467db7a58d7bafc69202728cfe09ebfd3248e | |
| parent | f61b1affea744e2bb131b2e01bbc47b3a36b99f2 (diff) | |
Check protection on microcontroller programming (#420)
Also, fix globals assignment.
| -rw-r--r-- | mesecons_microcontroller/init.lua | 14 | 
1 files changed, 10 insertions, 4 deletions
| diff --git a/mesecons_microcontroller/init.lua b/mesecons_microcontroller/init.lua index 46272b9..9b1bf3b 100644 --- a/mesecons_microcontroller/init.lua +++ b/mesecons_microcontroller/init.lua @@ -103,6 +103,12 @@ minetest.register_node(nodename, {  		meta:set_string("eeprom", r)  	end,  	on_receive_fields = function(pos, formanme, fields, sender) +		local player_name = sender:get_player_name() +		if minetest.is_protected(pos, player_name) and +				not minetest.check_player_privs(player_name, {protection_bypass=true}) then +			minetest.record_protection_violation(pos, player_name) +			return +		end  		local meta = minetest.get_meta(pos)  		if fields.band then  			fields.code = "sbi(C, A&B) :A and B are inputs, C is output" @@ -272,7 +278,7 @@ yc.parsecode = function(code, pos)  end  yc.parse_get_command = function(code, starti) -	i = starti +	local i = starti  	local s  	while s ~= "" do  		s = string.sub(code, i, i) @@ -298,7 +304,7 @@ yc.parse_get_command = function(code, starti)  end  yc.parse_get_params = function(code, starti) -	i = starti +	local i = starti  	local s  	local params = {}  	local is_string = false @@ -321,7 +327,7 @@ yc.parse_get_params = function(code, starti)  end  yc.parse_get_eeprom_param = function(cond, starti) -	i = starti +	local i = starti  	local s  	local addr  	while s ~= "" do @@ -488,7 +494,7 @@ end  --Condition parsing  yc.command_if_getcondition = function(code, starti) -	i = starti +	local i = starti  	local s  	local brackets = 1 --1 Bracket to close  	while s ~= "" do | 
