Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • ci-test-master
  • master
  • release-2.1.4
3 results

Target

Select target project
  • minetest/advtrains_luaautomation_sync
1 result
Select Git revision
  • ci-test-master
  • master
  • release-2.1.4
3 results
Show changes

Commits on Source 1

diff -ruN advtrains/advtrains_luaautomation/chatcmds.lua patched/chatcmds.lua diff -ruN advtrains/advtrains_luaautomation/chatcmds.lua patched/chatcmds.lua
--- advtrains/advtrains_luaautomation/chatcmds.lua 2021-10-22 23:53:01.048355212 +0200 --- advtrains/advtrains_luaautomation/chatcmds.lua 2021-10-22 23:53:01.048355212 +0200
+++ patched/chatcmds.lua 2021-10-23 00:09:17.355062968 +0200 +++ patched/chatcmds.lua 2021-10-23 17:04:56.534525594 +0200
@@ -1,6 +1,13 @@ @@ -1,6 +1,13 @@
--chatcmds.lua --chatcmds.lua
--Registers commands to modify the init and step code for LuaAutomation --Registers commands to modify the init and step code for LuaAutomation
...@@ -38,7 +38,7 @@ diff -ruN advtrains/advtrains_luaautomation/chatcmds.lua patched/chatcmds.lua ...@@ -38,7 +38,7 @@ diff -ruN advtrains/advtrains_luaautomation/chatcmds.lua patched/chatcmds.lua
+ .."field[.5,.6;11.5,1;sync_url;URL;"..url.."]" + .."field[.5,.6;11.5,1;sync_url;URL;"..url.."]"
+ .."label[.5,1.2;"..minetest.formspec_escape("Be careful! This replaces the current init code for env "..env.name.." with the contents at the URL!").."]" + .."label[.5,1.2;"..minetest.formspec_escape("Be careful! This replaces the current init code for env "..env.name.." with the contents at the URL!").."]"
+ .."button[8.5,2;2.5,1;urlsave;Save URL only]" + .."button[8.5,2;2.5,1;urlsave;Save URL only]"
+ .."label[4,0;"..msg.."]" + .."label[2.5,0;"..msg.."]"
+ if http then + if http then
+ form = form.."button[1,2;3,1;replace;Replace init code] button[4.5,2;3.5,1;replacerun;Replace and Run init code]" + form = form.."button[1,2;3,1;replace;Replace init code] button[4.5,2;3.5,1;replacerun;Replace and Run init code]"
+ else + else
...@@ -47,7 +47,7 @@ diff -ruN advtrains/advtrains_luaautomation/chatcmds.lua patched/chatcmds.lua ...@@ -47,7 +47,7 @@ diff -ruN advtrains/advtrains_luaautomation/chatcmds.lua patched/chatcmds.lua
return form return form
end end
@@ -119,6 +151,44 @@ @@ -119,6 +151,53 @@
return return
end end
...@@ -58,8 +58,13 @@ diff -ruN advtrains/advtrains_luaautomation/chatcmds.lua patched/chatcmds.lua ...@@ -58,8 +58,13 @@ diff -ruN advtrains/advtrains_luaautomation/chatcmds.lua patched/chatcmds.lua
+ +
+ if fields.replace or fields.replacerun or fields.urlsave then + if fields.replace or fields.replacerun or fields.urlsave then
+ if fields.sync_url ~= env.sync_url then + if fields.sync_url ~= env.sync_url then
+ if minetest.check_player_privs(pname, {atlatc_sync_seturl=true}) then
+ env.sync_url = fields.sync_url + env.sync_url = fields.sync_url
+ env.sync_err = nil + env.sync_err = nil
+ else
+ minetest.show_formspec(pname, formname, get_sync_form(env, pname, "You don't have the privilege to set the URL for the init code. (atlatc_sync_seturl)"))
+ return
+ end
+ end + end
+ end + end
+ if env.syncing then return end + if env.syncing then return end
...@@ -81,9 +86,13 @@ diff -ruN advtrains/advtrains_luaautomation/chatcmds.lua patched/chatcmds.lua ...@@ -81,9 +86,13 @@ diff -ruN advtrains/advtrains_luaautomation/chatcmds.lua patched/chatcmds.lua
+ end + end
+ +
+ if fields.replace or fields.replacerun then + if fields.replace or fields.replacerun then
+ if minetest.check_player_privs(pname, {atlatc_sync=true}) then
+ env.syncing = true + env.syncing = true
+ env:sync_initcode(cb) + env:sync_initcode(cb)
+ else + else
+ minetest.show_formspec(pname, formname, get_sync_form(env, pname, "You don't have the privilege to sync the init code. (atlatc_sync)"))
+ end
+ else
+ cb() + cb()
+ end + end
+ return + return
...@@ -92,7 +101,7 @@ diff -ruN advtrains/advtrains_luaautomation/chatcmds.lua patched/chatcmds.lua ...@@ -92,7 +101,7 @@ diff -ruN advtrains/advtrains_luaautomation/chatcmds.lua patched/chatcmds.lua
envname=string.match(formname, "^atlatc_envsetup_(.+)$") envname=string.match(formname, "^atlatc_envsetup_(.+)$")
if not envname then return end if not envname then return end
@@ -138,4 +208,7 @@ @@ -138,4 +217,7 @@
env:run_initcode() env:run_initcode()
minetest.show_formspec(pname, formname, get_init_form(env, pname)) minetest.show_formspec(pname, formname, get_init_form(env, pname))
end end
...@@ -179,8 +188,8 @@ diff -ruN advtrains/advtrains_luaautomation/environment.lua patched/environment. ...@@ -179,8 +188,8 @@ diff -ruN advtrains/advtrains_luaautomation/environment.lua patched/environment.
diff -ruN advtrains/advtrains_luaautomation/init.lua patched/init.lua diff -ruN advtrains/advtrains_luaautomation/init.lua patched/init.lua
--- advtrains/advtrains_luaautomation/init.lua 2021-10-22 23:53:01.048355212 +0200 --- advtrains/advtrains_luaautomation/init.lua 2021-10-22 23:53:01.048355212 +0200
+++ patched/init.lua 2021-10-22 23:54:24.418074075 +0200 +++ patched/init.lua 2021-10-23 15:16:26.752563986 +0200
@@ -8,7 +8,7 @@ @@ -8,9 +8,11 @@
--Privilege --Privilege
--Only trusted players should be enabled to build stuff which can break the server. --Only trusted players should be enabled to build stuff which can break the server.
...@@ -188,8 +197,12 @@ diff -ruN advtrains/advtrains_luaautomation/init.lua patched/init.lua ...@@ -188,8 +197,12 @@ diff -ruN advtrains/advtrains_luaautomation/init.lua patched/init.lua
+atlatc = { envs = {}, setup_http = {} } +atlatc = { envs = {}, setup_http = {} }
minetest.register_privilege("atlatc", { description = "Player can place and modify LUA ATC components. Grant with care! Allows to execute bad LUA code.", give_to_singleplayer = false, default= false }) minetest.register_privilege("atlatc", { description = "Player can place and modify LUA ATC components. Grant with care! Allows to execute bad LUA code.", give_to_singleplayer = false, default= false })
+minetest.register_privilege("atlatc_sync", { description = "Player can overwrite init code of LUA ATC environments with content at a remote URL. GRANT WITH MUCH CARE! Allows to easily introduce and execute bad LUA code if able to influence the code the set URL is pointing to.", give_to_singleplayer = false, default= false })
+minetest.register_privilege("atlatc_sync_seturl", { description = "Player can set the sync URL of LUA ATC environments. GRANT WITH EXTREME CARE! Allows to immediately introduce and execute any bad LUA code. Best leave this to admins.", give_to_singleplayer = false, default= false })
@@ -22,9 +22,9 @@ --Size of code input forms in X,Y notation. Must be at least 10x10
atlatc.CODE_FORM_SIZE = "15,12"
@@ -22,9 +24,9 @@
end end
end end
...@@ -201,7 +214,7 @@ diff -ruN advtrains/advtrains_luaautomation/init.lua patched/init.lua ...@@ -201,7 +214,7 @@ diff -ruN advtrains/advtrains_luaautomation/init.lua patched/init.lua
end end
dofile(mp.."/environment.lua") dofile(mp.."/environment.lua")
dofile(mp.."/interrupt.lua") dofile(mp.."/interrupt.lua")
@@ -98,6 +98,17 @@ @@ -98,6 +100,17 @@
return save_tbl return save_tbl
end end
......