Time Nick Message 00:00 ShadowNinja hmmmm: You O.K. with me merging security right now? It was approved a while ago, but I got sidetracked by a small enhancement that didn't work out. 00:00 hmmmm wait didn't security break mods 00:01 ShadowNinja hmmmm: Yes, but they can all be fixed trivially. 00:01 hmmmm ehh.. 00:01 ShadowNinja You agreed to it IIRC. 00:01 hmmmm i don't think i would ever agree to mod breakage 00:01 ShadowNinja I'd have to look back a bit to find it though. 00:02 ShadowNinja hmmmm: Only one or two mods are really broken. 00:02 hmmmm you have no idea how much cruft there is in my lua apis that i keep there for reverse compat 00:02 ShadowNinja Well, actually none are broken. 00:02 ShadowNinja There are just one or two that need to be added to secure.trusted_mods. 00:03 hmmmm so what are these modifications exactly one would need to make 00:03 hmmmm in any case, you do realize this would be setting a precedent if it were to be merged, right? 00:03 hmmmm this is nothing to be taken lightly 00:04 ShadowNinja hmmmm: Mods that use os.execute("mkdir"..) need to swich to minetest.mkdir and mods like IRC that do thinks like load C libraries have to use request_insecure_environment(). 00:05 hmmmm so os.execute is completely disabled with this? 00:05 hmmmm good 00:05 ShadowNinja req_ins_env allows specific mods to bypass security if they're listed in secure.trusted_mods. 00:05 hmmmm but are there some mods that call wget? 00:05 hmmmm iirc there was at least one 00:05 ShadowNinja So you *could* use ins_env.os.execute("mkdir "...), but that would be stupid. 00:06 ShadowNinja hmmmm: If there is it can use req_ins_env, or the http API that's planned. 00:06 hmmmm you know, I don't think I would normally agree to this but 00:07 hmmmm breakage is acceptable to fix these sorts of things 00:07 hmmmm secure.trusted_mods isn't a foolproof solution though 00:08 ShadowNinja There's always secure.enable_security=false, as a last resort. 00:08 hmmmm it's easy to have a mod that innocently updates itself, for example, and then one day after it's gained acceptance throughout the minetest community, it installs malware 00:09 hmmmm mod security is false security 00:09 hmmmm a false sense of security rather 00:09 hmmmm i don't want people to be lulled into thinking this is making them safer 00:10 hmmmm maybe there should be a set of audit rules you could do on code in order to make them gain trusted status 00:11 hmmmm quality standards or so to speak. did you come up with anything along those lines already? 00:12 VanessaE BUT this breaks the ability to read from the mod's own directory, does it not? 00:13 hmmmm it doesn't 00:13 VanessaE ShadowNinja, what was http://sprunge.us/dKXa meant to solve then? 00:13 ShadowNinja VanessaE: Nope. You can't open any new fds after init in the mod dir if you aren't trusted though. 00:13 VanessaE (I know what mod it's for of course, but I don't remember why it was needed) 00:13 VanessaE that answers it. 00:14 ShadowNinja Dangit, my client segfaults every time I hover over a link. (probably a Qt5 bug) 00:15 VanessaE ShadowNinja: that was the paste you gave me a while back to essentially rewrite the player_textures mod 00:15 ShadowNinja VanessaE: It fixes two bugs. 00:15 ShadowNinja Well, one bug and one security incompatibility. 00:15 VanessaE also, see homedecor's wardrobe opject. it has the ability to change skins also now 00:16 ShadowNinja There are two ways to fix the security incompatibility, but the easiest way involves making it trusted. 00:16 * VanessaE grumbles 00:16 ShadowNinja Hmmm, minetest.dir should really be added. 00:17 VanessaE there is NO legit reason to prevent reading files in the mod's directory after init. 00:17 ShadowNinja VanessaE: Yes, it's an implementation limitation. 00:17 ShadowNinja The only way to solve it is to completely isolate every mod. 00:18 ShadowNinja *sigh* if it weren't for player_textures this would be so much less breaking. :-( 00:19 VanessaE ShadowNinja: https://github.com/VanessaE/homedecor_modpack/blob/master/homedecor/wardrobe.lua#L64 00:19 VanessaE and this. 00:19 ShadowNinja *SIGSEGV* 00:20 ShadowNinja VanessaE: Oh, that should still work fine. 00:21 VanessaE "should" 00:21 VanessaE ... 00:21 ShadowNinja The issue is the (flawed) io.open() existence check that player_textures uses. 00:21 Etzos ShadowNinja: Quassel? 00:22 ShadowNinja (flawed becuase the texture might exist but not be loaded if it was added after the server started, resulting in players with solid-color skins) 00:22 VanessaE ShadowNinja: wouldn't it make more sense to add a helper function that can just do a file-existence check then? 00:22 ShadowNinja Etzos: Yep. 00:23 Etzos ShadowNinja: Settings -> Configure Quassel... -> Chat View -> [Uncheck] Show previews of webpages on URL hover 00:23 VanessaE besides, no one really cares if the skin didn't load because it was added later. this happens *all the time* on servers when mods are updated - it isn't limited to skin textures of course. 00:23 ShadowNinja VanessaE: No, because that approach is flawed to begin with ^. The *right* (well, as close as possible without major engine changes) way to fix this is by scanning the directory for the list of player files. 00:23 VanessaE update mod -> some texture file chanegs -> next person who signs in gets the node shape with bad textures until the next server restart. 00:24 ShadowNinja Etzos: Thanks. 00:24 ShadowNinja I'll add something like LuaFileSystem.dir(). 02:35 kaeza_ 0 OK, 0:1 02:35 kaeza_ <_< 14:59 paramat hmmmm i'm thinking of adding 'if (param2 > 3) return;' to the start of rotateAlongYAxis() for speed and to avoid any unwanted change of param2 in that case 15:04 paramat or, i could work on adding support for 6d rotation to that 15:11 Zeno` what's 6d? 15:12 Zeno` two pairs of those red and blue glasses reversed and overlaid? :D 15:24 paramat heh 6 direction 15:25 paramat yes i will work on 6d rotation support, not just for Sokomine, it's needed for horizontal branches in tree schematics 15:26 VanessaE speaking of rotation, 15:26 VanessaE what's the status of https://github.com/minetest/minetest_game/issues/451 ? 15:26 VanessaE (short version: some way is needed to selectively stop the screwdriver from rotating nodes) 15:28 paramat nah, just don't rotate beds or doors, that'a obviously a silly thing to do :) 15:28 VanessaE what about other mods? 15:31 paramat i feel the complication of a fix is not worth it, if a player does something silly with a screwdriver they deserve the consequences heh 15:31 VanessaE what complication? add a new group i.e. no_rotate=1, check if the node has it, abort if so. 15:32 VanessaE (maybe print a message "this node can't be rotated" or something also) 15:32 paramat small but unnecessary bloat 15:32 VanessaE VERY necessary 15:33 VanessaE you forget about servers I guess 15:33 paramat yes i do probably 15:33 paramat =) 15:34 VanessaE I'd just code and submit a PR myself but there's too big of a tendency to ignore such things. :-/ 15:34 paramat so what's the important need for this? since i can't think of one 15:35 VanessaE any object that's composed of two or more nodes or which takes up more than one node space 15:35 VanessaE and any object that should never be rotated to a non-upright position 15:36 VanessaE homedecor has dozens of such nodes 15:36 VanessaE including a king-size bed that takes four node spaces, and a plasma display that takes 6. 15:39 VanessaE (to that end, I could perhaps see a need for no_rotate=2, which would mean the screwdriver should only be able to rotate that node around the Y axis) 15:39 VanessaE yes the user can do silly stuff, but sometimes it's better to prevent totally useless stuff in the first place... 15:40 paramat knowing that the screwdriver acts on single nodes, i would expect punishment using it on any of these. adding code to protect every idiot against the result of every silly action is unnecessary bloat hehe 15:41 VanessaE the problem is nodes that are a single object that's bigger than 1^3 m 15:42 VanessaE in that if you rotate one of these, the whole thing moves, but maybe you end up pointing part of it into a wall. 15:42 VanessaE (worse of course is nodes like mt_game's doors since you can end up with half a door flipped upside down) 15:42 VanessaE mesh nodes being the "single object" in this case. 15:43 paramat the worst outcome is just having to rotate it back to normal, no big deal (and idiot learns) 15:43 VanessaE no 15:43 VanessaE the worst outcome is having some mod now be unable to remove the un-rotated parts because the rotated parts no longer correspond. 15:44 VanessaE i.e. a mod checks the facedir of one part to figure out where the other part is 15:45 VanessaE users fuck stuff up, server admins have to come around to un-fuck is my point. 15:45 paramat aha 15:50 Zeno` what if there are 3 nodes? 15:50 Zeno` like my bed? 15:50 VanessaE exactly my point 15:51 Zeno` the way it should be done is there is a "parent" and each of the "children" rotate relative to the parent (and if that can't happen the rotation doesn't happen at all) 15:51 VanessaE rotate the "root" node, try to remove it, it'll end up removing part of a wall or something, because there's no way for the mod supplying the bed to know that the other node it deleted isn't part of the bed. 15:51 Zeno` talking about "6d" is like looking into a mirror with a mirror 15:51 VanessaE Zeno`: impossible to do, unfortunately. easier to just prevent rotation. 15:52 Zeno` it's not impossible. Just difficult with the current framework 15:52 Zeno` I mean where will it end? 9d, 12d, 15d? 15:52 Zeno` it's just broken 15:52 VanessaE heh 15:53 Zeno` there is no such thing as 6d :/ 15:53 VanessaE well string theorists would argue with that ;) 15:53 Zeno` lol 15:53 Zeno` fine :P 15:56 paramat support for 6d rotation will be no slower, as i'll do 'if (param2 <= 3) [do existing code] else [do more complex 6d code]' and nodes with param2 >3 are usually rare in a schematics 15:57 paramat btw hmmmm your membership of the minetest team is not public, it bothers my perfectionism when i go to the github page heh 15:58 Zeno` Seriously... WTF IS 6D? 15:58 Zeno` I makes no sense to add something that doesn't exist (yeah, yeah, string theorists) 16:01 VanessaE Zeno`: the ability to rotate a node's main axis to face any of the 6 directions of a node, and to rotate around the axis it points at. 16:02 VanessaE 6 directions, 4 positions around the axis when facing that direction. 16:04 VanessaE bbl 16:04 Zeno` rubiks cube 16:08 paramat so orientation used to be 0-3 only (y axis rotation) now it's 0-23 16:13 paramat hmmmmm to clarify the cloud radius issue, it's fine by me it not being another .conf setting, but somehow adjustable would be nice 16:19 paramat intersting that clouds are clipped at 2kn distance, i'm wondering if it's a hardcoded irrlicht view limit 16:21 kilbith https://cloud.githubusercontent.com/assets/7883281/7440877/f6dbf8b2-f0cd-11e4-8d9b-a3b1de0c4e7b.png 16:21 kilbith ^ like that 16:24 paramat yeah 16:24 paramat i seem to remember landscape will clip at 2 kn also, but not sure.. 16:37 paramat anyway 2kn is certainly enough 19:35 celeron55 this isn't even real, the server is down again 19:35 celeron55 don't get an OpenBSD VPS from edis.at; this absolutely sucks 19:37 sfan5 celeron55: in case you're looking for an alternative, ramnode looks pretty good http://www.ramnode.com/vps.php 19:38 celeron55 i used it once, but stopped because it's a US-based company 19:48 sfan5 i haven't found a good non US-based vps company yet 19:50 Calinou I'm at PulseHeberg, it's French but they have an English panel 19:50 Calinou using it for my site and servers 19:50 Calinou the Minetest server had 17 players once, no lag 19:51 sfan5 is the vps in france? 19:52 Calinou yes 19:52 Calinou might not be too good now 19:52 sfan5 aw 19:56 sofar my openvz server starts at 15$ a year and has colo's in the us and nl, maybe that's something to consider? 19:57 sofar even has ipv6 support... 20:11 sfan5 sofar: link? 20:11 sofar https://www.ramnode.com/vps.php 20:12 sfan5 oh 20:12 sfan5 i thought you meant a non US-based company 20:13 sofar I didn't ... 20:13 sofar ah lol, you mentioned ramnode already, I totally read over that 20:13 * sofar back to hacking crops 20:22 sfan5 this looks pretty ok: https://iniz.com/kvmvps.html 20:22 sfan5 based in UK 20:23 Calinou limited bandwidth… 20:23 sofar not allowed Minecraft 20:23 Calinou the price is a jok 20:23 Calinou +e 20:23 Calinou in comparison to PulseHeberg which delivers very low prices 20:24 Calinou “whats not allowed” and they can't even bother to spell properly 20:24 sfan5 limited bandwidth? 20:25 Calinou “Bandwidth: 500 GB” 20:25 Calinou it's a lot but still limited 20:25 Calinou 2 50GB 512MB 1TB €10.81 /mo 20:25 sfan5 yes the prices are high 20:25 Calinou for a lower price on PulseHeberg you get 4 cores 200 GB storage, 4 GB RAM, unlimited(-ish) bandwidth 20:26 sfan5 but there is not service that can offer truly unlimited bandwidth 20:26 sfan5 no* 20:26 Calinou the panel claims to limit me to 5 TB/month 20:26 Calinou in practice the bar doesn't fill up at all 22:17 ShadowNinja I've had a good experience with Linode. I think they're USA-based though. Is there a big issue with that? 23:20 hmmmm paramat: don't bother trying to add 6d rotation, it's much more complex than you probably think. your change sounds good though. 23:21 hmmmm or rather I'm not completely sure to be honest... I honestly forget whether rotateAlongYAxis() is meant to handle 6d figures 23:22 hmmmm it only modifies the bottom 2 bits, perhaps I assume that those bottom 2 bits are the same for Y axis rotation for all of the 24 facedirs 23:26 hmmmm just make sure that it actually works for both FACEDIR and WALLMOUNTED 23:55 sofar was 0.4.12 a bugfix on a 0.4.11 branch?