Minetest logo

IRC log for #minetest-dev, 2018-08-05

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

All times shown according to UTC.

Time Nick Message
01:19 Ruslan1 joined #minetest-dev
01:21 luizrpgluiz joined #minetest-dev
01:21 luizrpgluiz hi
01:22 luizrpgluiz left #minetest-dev
01:25 rubenwardy lol
01:25 Icedream joined #minetest-dev
01:59 paramat this is not the channel for 'hi' :) dev talk only
02:18 Cornelia joined #minetest-dev
03:26 paramat joined #minetest-dev
03:41 YuGiOhJCJ joined #minetest-dev
06:36 RedTomato joined #minetest-dev
06:37 RedTomato joined #minetest-dev
07:26 ANAND joined #minetest-dev
07:30 ANAND Should #7557 introduce another protocol bump?
07:30 ShadowBot https://github.com/minetest/minetest/issues/7557 -- Expose player FOV to Lua API by ClobberXD
07:30 ANAND Backwards compat is retained; no existing packets are modified, and only a new one is added
07:51 AndroBuilder joined #minetest-dev
08:00 nerzhul if you are on 5.0.0 branch it's not important
08:54 Krock joined #minetest-dev
09:00 ElementW joined #minetest-dev
11:13 nerzhul merging #7279
11:13 ShadowBot https://github.com/minetest/minetest/issues/7279 -- Replace auth.txt with SQLite auth database by bendeutsch
11:13 nerzhul finally we got it
11:14 nerzhul when i get time i will add the postgresql backend :)
11:14 nerzhul and finally we will have shared auth in server networks
11:35 Krock joined #minetest-dev
11:39 rubenwardy Argh, the server sandbox is so insecure
11:49 nerzhul rubenwardy, it doesn't seems to be waited by server owners, they are focused on CSM security not their servers :p
11:49 rubenwardy :'(
11:50 rubenwardy Well, I'll need to fix it to readd require. But there is a different standard of security needed for server mods and client scripts
11:53 nerzhul yes
12:05 Krock joined #minetest-dev
12:21 Fixer joined #minetest-dev
13:05 lisac joined #minetest-dev
13:27 rubenwardy #7621
13:27 ShadowBot https://github.com/minetest/minetest/issues/7621 -- Add secure require() function by rubenwardy
13:29 sfan5 a description would be nice because i have no idea what this is or why it should be added
13:30 sfan5 also why should builtin libraries (string, table, ...) be protected from modification?
13:32 rubenwardy done
13:32 rubenwardy and remove
13:33 rubenwardy those changes shouldn't have been there
13:33 rubenwardy the issue is that you could effect unsandboxed Lua libraries by modifying string/table/etc, by making them do bad stuff
13:34 rubenwardy for example, a secure mod or lib could do this:      os.execute(("path/to/exe %s %d"):format(a, b))    which is a vulnerability
13:34 rubenwardy however I'll leave that to a later PR
13:34 rubenwardy or not at all
13:34 sfan5 hm, right
13:35 rubenwardy the same applies to `minetest`, but it's less practical to avoid modifications there
13:36 rubenwardy it would be nice to give each mod its own environment. This wouldn't actually break too many things providing that mods don't rely on globals exported by another mod which is not the name of the mod
13:36 rubenwardy but, low priority
13:36 rubenwardy it also wouldn't help to much, there's loads of ways of escaping environments :(
13:37 rubenwardy also, that PR has MIT licensed code from the Lua library. MIT is (L)GPL compatible, but you still need to keep copyright licenses
13:37 rubenwardy not sure how to handle that
13:53 red-001 joined #minetest-dev
13:59 rubenwardy I wonder if animations could be done efficiently with shaders in mt
13:59 rubenwardy wait
14:00 rubenwardy #6820
14:00 ShadowBot https://github.com/minetest/minetest/issues/6820 -- [Concept] Smooth shader-based animation by numberZero
14:09 rubenwardy another cool thing about that PR is you could do           require("mymod.api")        instead of         dofile(minetest.get_modpath("mymod") .. "/api.lua")
14:09 rubenwardy with some modifications, ie: adding mod dirs to package.path
14:09 rubenwardy oh noes, potential vulnerability
14:11 Krock rubenwardy: see CSM mod loading. dofile("modname:filename.lua"
14:11 Krock )
14:11 sfan5 https://github.com/minetest/minetest/blob/master/src/script/lua_api/l_server.cpp#L492
14:11 rubenwardy https://github.com/minetest/minetest/pull/7621#issuecomment-410522839
14:11 sfan5 why is this a no-op, I feel like this is not correct
14:13 Krock unless builtin localizes that function, it could be used for exploits in mods that rely on get_last_run_mod for security
14:13 rubenwardy huh?
14:14 sfan5 Krock: indeed, but then why do we even have this
14:14 rubenwardy I think that's to show which mod was running when an OOM happens
14:14 rubenwardy added by hmmmm
14:14 Krock yet another left-over from the Lua API dinosaur state
14:14 rubenwardy or generally which mod was runnign when a crash happens
14:14 Krock rubenwardy: but it's not helpful when it depends on a define
14:15 rubenwardy wait
14:15 rubenwardy oh right
14:15 rubenwardy strange
14:15 Krock and is a stack backtrace not possible there?
14:15 rubenwardy OOM causes an unravel, losing the backtrace
14:15 rubenwardy iirc
14:15 Krock hmm.. maybe the Lua instance already became unusable as soon the error occured
14:16 rubenwardy what's the better term than unravel?
14:17 sfan5 so basically, minetest has no idea at all which mod is running during e.g. a callback
14:17 sfan5 a callback registered by builtin will not have the privileges builtin usually has (that is: being able to write everywhere on the fs)
14:17 Krock yes, but as long Lua doesn't panic or throw an OOM, it's possible to figure that out by a stack backtrace
14:18 rubenwardy does builtin actually have elated privileges?
14:18 rubenwardy my tests show otherwise
14:18 sfan5 this is a actually a good thing because it would've been another possiblity of bypassing script security
14:18 sfan5 but still strange how this is leftover and essentially a no-op
14:18 rubenwardy unless there's some insecure env in a local
14:18 sfan5 rubenwardy: https://github.com/minetest/minetest/blob/master/src/script/cpp_api/s_security.cpp#L529
14:19 rubenwardy oh, gross
14:19 rubenwardy although, this guarantees it only happens at load time, right?
14:19 rubenwardy which means less chance of the insecure env table leaking
14:19 sfan5 these privileges only apply at load time yes
14:20 rubenwardy why are they needed?
14:20 sfan5 ¯\_(ツ)_/¯
14:20 rubenwardy lol
14:20 rubenwardy great
14:21 rubenwardy how about we remove Lua support and replace it with something secure, like JavaScript
14:22 sfan5 2/10 I chuckled
14:22 rubenwardy https://i.imgur.com/jWr67J8.png?1
14:23 Krock well, we have an issue for that :)
14:23 Krock most likely it's already closed
14:24 Krock also, builtin also needs to write to client/*, which might be the reason why simply all actions are allowed
14:24 Krock also deleting games/*, mods/* and textures/*
14:25 rubenwardy the main menu is completely unsandboxes though
14:26 rubenwardy so the elevated privileges only applies to server-side and client-side at load time
14:26 rubenwardy writing to client may be why
14:26 rubenwardy feels strange
14:36 Krock attached entities are weird. Tried to use that hat mod on the local player and in some cases the hat was glues onto the head (ok), and in the other it was behind by a server step (not ok)
14:36 Krock *was glued
14:37 Krock maybe the client didn't get the attachment packet and so it relies on the server sent data
14:38 rubenwardy ew
14:39 rubenwardy any chance of some love for #7469? ;)
14:39 ShadowBot https://github.com/minetest/minetest/issues/7469 -- Formspecs: Add tooltip element for area by rubenwardy
14:40 Krock rubenwardy: are the new changes tested?
14:40 rubenwardy yes
14:40 rubenwardy both with buttons and the new form
14:40 Krock tbh I thought this was already merged last night
14:40 rubenwardy I'll quickly double check
14:41 rubenwardy it's not trivial ;)
14:43 rubenwardy cool, will merge in ~10
14:48 Ruslan1 joined #minetest-dev
14:55 rubenwardy > MFW when clang-format passes first time
14:55 rubenwardy also, done
15:23 rubenwardy what's the easiest way to move all changes to a file in HEAD~1 to the commit HEAD?
15:23 rubenwardy git reset --soft? :'(
15:25 Krock git reset -i HEAD~(n+1)  and then specify what to do with the commits
15:25 Krock well, per-file isn't possible there
15:30 rubenwardy done
15:30 rubenwardy thanks#
15:36 Krock !next
15:36 ShadowBot Another satisfied customer. Next!
15:40 rubenwardy wondering what the best way to do        --crash-on-failed-tests     would be
15:41 rubenwardy argh
15:41 rubenwardy especially as tests may not all by done by load time
15:42 rubenwardy and os.exit isn't in the sandbox
15:50 rubenwardy wait
15:50 rubenwardy throwing a Lua error would cause a return of 1
16:03 rubenwardy argh, rebasing is such fun
16:19 paramat joined #minetest-dev
16:20 paramat i closed the auth.txt blocker issues. remaining blockers are https://github.com/minetest/minetest/issues?q=is%3Aopen+is%3Aissue+label%3ABlocker please add any missing blockers for 5.0.0
16:21 rubenwardy argh
16:21 paramat some issues labelled with the 5.0.0 milestone may need adding to blockers
16:21 rubenwardy why does the command line of MT perpetually suck
16:25 paramat oh and some android issues may deserve blocker if they're really bad
16:26 rubenwardy mkdir -p worlds/test && echo -e "gameid = minimal\nbackend = dummy" > worlds/test/world.mt && ./bin/minetest --worldname test --gameid minimal --name test --address '' --go
16:26 rubenwardy ew
16:26 rubenwardy there also doesn't appear to be a way to start a singleplayer game from the command line
16:27 rubenwardy also, in full mode there it doesn't return 1. Only does that in server mode :'(
16:28 rubenwardy the aim of this is to add a travis check that starts up a server and connects a headless client (null video driver)
16:31 rubenwardy sorry for the spam
16:31 rubenwardy time for Rimworld now
16:37 Beton joined #minetest-dev
17:08 paramat it looks like the most urgent work for 5.0.0 now is those mysterious crashes
17:09 Gael-de-Sailly joined #minetest-dev
17:12 paramat android still seems to have many issues but meh .. at least controls are done, i feel android issues shouldn't delay 5.0.0 release otherwise we'll never release
17:28 Krock Well, in the last few weeks I couldn't reproduce another one
17:28 Krock still wonder how they were arised
17:33 paramat i've asked our android usrs to check the open issues
17:33 paramat *users
17:34 paramat game#2184 works just not sure if implementation is optimal
17:34 ShadowBot https://github.com/minetest/minetest_game/issues/2184 -- Player_api: Give laying players a low selection/collisionbox by paramat
17:34 paramat i'll check your vehicle fix PR
18:37 Fixer joined #minetest-dev
19:05 reductum joined #minetest-dev
19:18 Cornelia joined #minetest-dev
19:19 rubenwardy Would people prefer that the library required by the testing PR be bundled with Minetest, or downloaded as part of CMake?
19:19 rubenwardy cmake allows you to download and extract files
19:19 rubenwardy s/files/zips
19:20 rubenwardy the former makes more sense to me, and is more reliable
19:20 rubenwardy the latter makes updating it easier
19:20 rubenwardy but heh
20:04 YuGiOhJCJ joined #minetest-dev
20:08 paramat Krock #7610 tests ok but i have a question in a line comment
20:08 ShadowBot https://github.com/minetest/minetest/issues/7610 -- Prevent from colliding with own children by SmallJoker
20:10 paramat apart from that +1
20:17 Krock comments addressed. thanks for reviewing
20:17 paramat ok fine +1
20:18 paramat will merge in5 mins
20:18 Krock hah yes.. other people might looks suspicious to the police by googling "How to destroy children as parent"
20:18 Krock (programming context)
20:20 Krock That collision distance issue might also be the reason for such a poor collision detection performance when there are some objects around
20:22 paramat the adding of 1.5 nodes of tolerance was necessary
20:22 paramat ?
20:23 paramat well anyway, merging
20:24 Krock yes, to ensure that larger collision boxes work about the same as before
20:29 paramat merged, excellent
20:51 paramat joined #minetest-dev
22:16 rubenwardy merging trivial bug fix ~10 minutes   https://github.com/rubenwardy/minetest/commit/8d68b2cd210fea3cd852c648464c8bdd9cac02a7
22:16 rubenwardy !title
22:16 ShadowBot Fix debug and info text being the wrong color · rubenwardy/minetest@8d68b2c · GitHub
22:21 paramat good
22:35 rubenwardy ooops
22:35 rubenwardy merging now
22:35 rubenwardy done

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