Minetest logo

IRC log for #minetest-dev, 2020-06-01

| Channels | #minetest-dev index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:43 reductum joined #minetest-dev
00:51 reductum joined #minetest-dev
01:56 Miner_48er joined #minetest-dev
02:21 clavii joined #minetest-dev
02:39 kb1000 joined #minetest-dev
03:11 Qiangong2[m] joined #minetest-dev
03:18 texmex joined #minetest-dev
04:01 Taoki joined #minetest-dev
05:09 calcul0n joined #minetest-dev
05:55 reductum joined #minetest-dev
06:04 ANAND joined #minetest-dev
06:46 fluxflux joined #minetest-dev
06:52 NetherEran joined #minetest-dev
07:00 proller joined #minetest-dev
08:00 ShadowNinja joined #minetest-dev
08:19 erlehmann joined #minetest-dev
09:28 Beton joined #minetest-dev
10:01 mizux joined #minetest-dev
11:00 lisac_ joined #minetest-dev
11:32 Fixer joined #minetest-dev
11:34 Darcidride joined #minetest-dev
12:08 _Zaizen_ joined #minetest-dev
13:11 Krock will merge #9896 in 10 minutes
13:11 ShadowBot https://github.com/minetest/minetest/issues/9896 -- Potential fix for GUI scaling filter clipping animated images and 9slice backgrounds by Df458
13:19 gorbachev_pizza_ joined #minetest-dev
13:19 gorbachev_pizza joined #minetest-dev
13:21 Krock merging...
15:51 appguru joined #minetest-dev
16:23 oil_boi joined #minetest-dev
16:23 oil_boi Hello
16:24 appguru #9974 is on the table
16:24 ShadowBot https://github.com/minetest/minetest/issues/9974 -- Fix players being able to spam jump up nodes by oilboi
16:25 appguru I personally sort of agree with ANAND as a fellow CTF player :D
16:25 oil_boi I will have to look at the settings and learn how to implement this into the settings
16:39 Krock rubenwardy: any objections for the current state of #9954?
16:39 ShadowBot https://github.com/minetest/minetest/issues/9954 -- Lua API: Log incorrect parameter types as error by SmallJoker
16:40 rubenwardy haven't tested, but LGTM
16:40 Krock thanks
16:40 Krock will merge #9975 and #9954 in 10 minutes
16:40 ShadowBot https://github.com/minetest/minetest/issues/9975 -- ContentCAO: Update light all attached entities by SmallJoker
16:40 ShadowBot https://github.com/minetest/minetest/issues/9954 -- Lua API: Log incorrect parameter types as error by SmallJoker
16:45 oil_boi I see we have && itemgroup_get(f.groups, "bouncy") at line 1059, maybe I can rework the jump handling event to use that section instead to not break bouncy nodes
16:45 appguru How many weeks do I still have to open a new PR with any chances of it being merged in 5.3 ?
16:45 rubenwardy depends what it is and the size
16:46 rubenwardy anything that isn't prioritised or trivial, about -2 weeks
16:46 appguru Well, I have been planning on trying a get_objects_inside_radius speedup PR
16:46 rubenwardy I'd want that to be merged after the release, as the last attempt caused lots of bugs
16:47 appguru When can we expect 5.4?
16:47 appguru Is there a fixed release schedule?
16:47 rubenwardy it's usually twice a year
16:47 rubenwardy so 6 months
16:51 oil_boi rubenwardy, I just reverted the jump code and retested it, and trampolines are still broken, the player has to come to a halt on beds before they can bounce again, I'll try to fix this
17:01 Krock merging...
17:01 Krock (2x 10 min = 20 ofc)
17:03 fluxflux joined #minetest-dev
17:03 rubenwardy lol
17:14 Etxedey76188 joined #minetest-dev
17:17 Etxedey76188 left #minetest-dev
17:24 oil_boi rubenwardy, I'm trying a rebuild with the bouncy node section and the normal jump section
17:24 oil_boi Set to speedJ.Y >= -0.5f * BS && speedJ.Y <= 0.01f * BS
17:27 gorbachev_pizza_ joined #minetest-dev
17:27 gd___ joined #minetest-dev
17:27 oil_boi bouncing glitch is still there :L
17:27 oil_boi I'm going to test the output and see what the exact m_speed.Y is
17:28 sfan5 #9961 is ready
17:28 ShadowBot https://github.com/minetest/minetest/issues/9961 -- Server pushing media at runtime by sfan5
17:33 Krock how can they be freed from the memory?
17:33 Krock rejoin?
17:33 reductum joined #minetest-dev
17:34 sfan5 yes
17:44 sfan5 rubenwardy: one reason to allow disabling mod security: even with an insecure environment mods cannot use engine methods (e.g. minetest.mkdir) on "insecure" paths
17:45 rubenwardy you could bundle lfs in that case
17:45 rubenwardy meaning luafilesystem
17:45 appguru insecure environments don't contain a proper require IIRC
17:45 rubenwardy yes they do
17:45 rubenwardy ie.require
17:46 appguru and does it allow using luarocks?
17:46 rubenwardy yes
17:46 sfan5 that was just an example, imagine I said minetest_specific_function_that_somehow_accesses_the_fs instead
17:46 rubenwardy I think there should be a warning, but keeping the ability to use it for people who want to experiment without worrying about security isn't totally bad
17:46 appguru Some people can just trust their setups
17:47 appguru Mod security is pretty pointless anyways, as there's not a single function you can't override and therefore hijack in Lua
17:47 rubenwardy that's not what it's about
17:47 appguru If one mod is "trusted", malicious mods have pretty much already won
17:47 rubenwardy it's about protecting the system from mods, not mods from each other
17:47 appguru Yeah, but you can't protect the system from mods
17:48 appguru Not if you have trusted mods
17:48 sfan5 not really, there is no generic way to bypass security if you have another trusted mod
17:48 rubenwardy it is possible to craft a trusted mod and not leak the environment
17:48 sfan5 any security holes are ones opened up by the trusted mod itself
17:48 rubenwardy yeah
17:48 appguru "any security holes are ones opened up by the trusted mod itself"
17:48 appguru of course
17:48 rubenwardy which is easy to do, as shown by my examples
17:49 appguru not leaking the environment is hard if not impossible
17:49 sfan5 huh?
17:49 rubenwardy not leaking the environment is very very easy
17:49 rubenwardy not allowing malicious mods to give you fake data is harder, as you can't trust any inputs
17:49 rubenwardy or system functions
17:49 sfan5 it really depends on what exactly you do with it
17:50 rubenwardy see https://forum.minetest.net/viewtopic.php?t=24528
17:51 Krock rubenwardy: spoiler 3 should say "bad_string"  in metatable
17:52 rubenwardy how come?
17:52 rubenwardy so people don't run it?
17:52 rubenwardy oh right, set metatable
17:53 erlehmann_ joined #minetest-dev
18:05 appguru My point is, if all functions could be compromised, there's not much you can do to prevent some exploitation
18:08 sfan5 "some exploitation" does not necessary translate to compromise of the insecure env
18:54 Krock rubenwardy: does ContentDB have a search API?
18:55 appguru Yes
18:55 appguru https://content.minetest.net/help/api/
18:56 Krock > Package Queries
18:56 Krock aha.
18:58 rubenwardy looks like the anchor links have broken
19:00 appguru #9828 merge or close
19:00 ShadowBot https://github.com/minetest/minetest/issues/9828 -- Revert "Replace non-ASCII characters in gameui debug display code" by appgurueu
19:09 sfan5 just close it
19:17 sfan5 pushing http://sprunge.us/mEXtLA?diff in 5 minutes
19:17 appguru fine, may the codebase rot
19:18 kollaps[m] joined #minetest-dev
19:26 oil_boi joined #minetest-dev
19:33 kb1000 joined #minetest-dev
19:33 texmex joined #minetest-dev
19:33 Qiangong2[m] joined #minetest-dev
21:25 PGimeno hm, can debug.setmetatable be used by non-trusted mods?
21:26 sfan5 yes
21:26 PGimeno isn't that a security risk?
21:27 sfan5 perhaps, removing it would be a great hindrance
21:28 PGimeno what is it useful for in normal code?
21:30 sfan5 to implement classes
21:30 PGimeno isn't setmetatable enough for that?
21:31 sfan5 wait, is the debug one a different function?
21:31 PGimeno yes it is
21:31 PGimeno https://wiki.facepunch.com/gmod/debug.setmetatable
21:32 sfan5 oh interesting, this is not documented in the lua manual
21:32 PGimeno I know, but it works that way in both LuaJIT and PUC Lua 5.1
21:34 oiaohm joined #minetest-dev
21:34 PGimeno https://paste.scratchbook.ch/view/e7ee3c76
21:35 sfan5 https://github.com/minetest/minetest/blob/master/src/script/cpp_api/s_security.cpp#L108-L119
21:36 sfan5 the answer is still yes
21:36 oiaohm where would feature request to add recipe books as in books you use with crafting to change the recipes on offer.   Game or engine.   Mostly I am sick of running into the problem of install two mods and they have over lapping recipe to make items.
21:37 PGimeno sfan5: I'd consider removing debug.setmetatable and debug.getmetatable
21:37 PGimeno or maybe aliasing them to setmetatable and getmetatable resp.
21:39 PGimeno just checked, debug.getmetatable can also read protected metatables
21:43 sfan5 can you think of a way that setmetatable would reliably compromise mod security?
21:43 sfan5 (I mean debug.setmetatable of course)
21:44 PGimeno it makes the third exploit mentioned by rubenwardy here possible: https://forum.minetest.net/viewtopic.php?t=24528
21:45 PGimeno it also allows bypassing the protection of a protected metatable, which might be a further security risk if a trusted mod relies on it
21:48 PGimeno note that even if the metatable can't be set to a different one, the existing one can be altered, i.e. you can do: getmetatable("").__index = function...
21:50 sfan5 does getmetatable work on primitive types then?
21:51 PGimeno yes it does
21:51 PGimeno I know the Mesecons LuaController has protections explicitly for that
21:51 sfan5 how do you make that secure then?
21:52 rubenwardy setmetatable is required for classes though
21:52 PGimeno rubenwardy: setmetatable != debug.setmetatable
21:53 sfan5 it has this https://github.com/minetest-mods/mesecons/blob/737f366741f54659b17bd9c96e2232eedb9735ee/mesecons_luacontroller/init.lua#L601
21:53 sfan5 but that doesn't help with securing getmetatable if untrusted code can call it
21:53 PGimeno sfan5: you can make it secure by hiding the metatable: getmetatable("").__metatable = false
21:54 sfan5 and only debug.getmetatable can bypass that?
21:54 PGimeno yes
21:54 PGimeno sfan5: the LuaController has protections against the code inside the controller modifying the string metatable
21:55 sfan5 1) how would the luac code even get the metatable? 2) where?
21:57 PGimeno 1) the LuaC would need to be trusted and use debug.getmetatable to get the real thing, 2) in the same link you gave, some lines under that: onetruestring.__index = env.string
21:59 PGimeno sorry for the confusion, the luacontroller does not allow getmetatable in the first place
21:59 sfan5 yeah I imagine that'd be hard to sandbox
21:59 sfan5 anyway it sounds like a good idea for mod security to lock down the metatables of primitive types (except would that break the luac?)
22:00 PGimeno yes, the luac would need to be trusted, and probably the same goes for any other mod that allows running insecure Lua code
22:01 PGimeno and also it would need to be modified to use ie.debug.getmetatable instead
22:04 T4im joined #minetest-dev
22:04 sfan5 hm
22:41 oil_boi So that feature request I had on new_pos being part of the moveresult, I just finished it
22:48 oil_boi -ish
22:48 oil_boi still gotta divide by 10 on it
22:50 oil_boi Ooo it works very cool
23:41 oil_boi #9978
23:41 ShadowBot https://github.com/minetest/minetest/issues/9978 -- Add new_pos to moveresult output by oilboi
23:46 oil_boi I wonder if I can add in entity node friction

| Channels | #minetest-dev index | Today | | Google Search | Plaintext