Minetest logo

IRC log for #minetest-dev, 2013-08-07

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

All times shown according to UTC.

Time Nick Message
00:00 kahrl ok, so I tried to construct an example where the bad check would make the algorithm fail, and I can't because it seems PathStartsWith works regardless of what this check returns
00:00 kahrl but it should be fixed anyway
00:04 kahrl another thing that valgrind (still) reports is the uninitialized sin6_flowinfo field in socket.cpp, though fixing it would break pull #862
00:29 VanessaE regarding the timeouts/unable-to-allocate issue, https://forum.minetest.net/viewtopic.php?pid=104309#p104309
00:44 salamanderrake joined #minetest-dev
00:47 Neological joined #minetest-dev
01:16 kahrl aside from bind/sendto (left out intentionally because of #862), this assortment of fixes removes a lot of valgrind warnings for me: https://gist.github.com/kahrl/6170401
01:53 kahrl btw, the console hasn't been working for me for the last few days -- the font can't be loaded, using a non-freetype build
01:53 kahrl "Unable to load font: /home/kahrl/minetest/bin/../textures/fontdejavusansmono.png"
01:54 kahrl PilzAdam: is it intentional that defaultsettings.cpp looks for textures/fontdejavusansmono.png instead of fonts/fontdejavusansmono.png?
01:55 VanessaE I don't think that was intentional, as we're told now to put those in fonts/
01:55 VanessaE but what do I know :P
01:55 kahrl I'll wait for him to come back
01:55 VanessaE you'll be waiting a while :)
01:56 kahrl I have years of youtube videos left to watch :P
01:56 VanessaE heh
01:56 VanessaE better:  tvtropes.org
01:56 kahrl oh god
01:56 kahrl I successfully managed to close that site a while ago
01:56 VanessaE LOL
03:35 BackupCoder joined #minetest-dev
04:53 neko259 joined #minetest-dev
05:14 proller joined #minetest-dev
05:17 RealBadAngel joined #minetest-dev
05:27 kaeza joined #minetest-dev
05:57 celeron55 kahrl: oh pilzadam didn't fix the path there? i noticed it and mentioned it here though
05:57 celeron55 you can fix it
06:08 darkrose joined #minetest-dev
06:15 celeron55 VanessaE: if it's not that reproducible on a test server, then you should try the changes
06:21 VanessaE mmh
06:21 VanessaE I guess if that's how it has to go
06:24 VanessaE ok, the first change (comment-out the three-line DenyAccess bit)
06:24 VanessaE is in place and server is running with it.
06:25 VanessaE I didn't figure so much that a test server couldn't reproduce it, only that a server on the same box probably won't, since that's the same situation I have - e.g. it never fails for *me*, but for remote clients.
06:25 VanessaE anyway, it's up with the first change, try to sign in
06:57 celeron55 oh at work? well i guess i can
06:58 VanessaE didn't realize you were at work (duh :) )
07:04 celeron55 it appears to work roughly like i'd have expected with that change; it just waits at "Connecting to server..." until the player is free
07:06 celeron55 a full log of what i did would be useful, maybe
07:07 VanessaE hm, log's too big to load, I'll have to delete it and have you try again
07:07 celeron55 just tail -n 100 it
07:07 VanessaE oh.  duh :D
07:07 celeron55 or 1000, whatever
07:08 VanessaE now I feel utterly stupid :P
07:08 VanessaE http://pastebin.ubuntu.com/5957924/
07:08 celeron55 on unix-like operating system one never has too large files 8)
07:09 celeron55 there isn't a single mention of me in there
07:09 VanessaE lemme expand the search
07:10 VanessaE *watches pastebin choke on a huge paste* :P
07:10 VanessaE http://pastebin.ubuntu.com/5957928/
07:10 VanessaE last 100,000 lines :-)
07:15 celeron55 well it appears to me that it just doesn't receive the disconnect packet from the disconnecting client properly
07:15 celeron55 and then waits for the timeout
07:15 VanessaE for some users, that timeout never seems to happen, even after waiting several hours (well, so they claim)
07:16 celeron55 that's the odd thing
07:17 celeron55 keep this change in for a while and ask on the forum for anyone who still has the problem to tell
07:17 celeron55 because the server doesn't really do anything differently currently
07:18 celeron55 unless there is some very weird interaction caused by the client getting told about the failure (that i added in the DoS patch)
07:19 VanessaE someone mentioned earlier that the DoS patch might be the cause
07:19 celeron55 of course it is
07:19 celeron55 but the question is, is this a bug or is this just people freaking out of changedbehavior
07:19 celeron55 +space
07:19 VanessaE definitely a bug - I've got seasoned users having the same problem, and it happens on multiple servers
07:19 celeron55 i haven't yet seen a bug
07:20 VanessaE so far only twoelk, bulldog1 and I have managed to avoid it on mine, and I'm not sure how those two managed
07:20 celeron55 anyway, let's collect this data now
07:21 VanessaE ook
07:21 VanessaE ok
07:21 * sfan5 is about to commit a small XSS fix for the masterserver list.js
07:21 celeron55 if the result of this is that it works as before, then that is a useful result
07:21 celeron55 but one thing: add a log message to the other thing that i suggested to comment out
07:21 VanessaE and this is just with that one DenyAccess call commented out
07:22 celeron55 it would be useful to see in logs whether that code gets ever called
07:22 celeron55 (instead of commenting it out)
07:22 VanessaE sure
07:27 VanessaE ok, with only that first DenyAccess() call commented out, and an extra log call (I stuck it in infostream) inside the if() block at line 4653.
07:27 VanessaE AND I nuked the old log.  server's up.
07:29 celeron55 then just wait for actual users 8)
07:29 VanessaE heh
07:40 jin_xi joined #minetest-dev
08:07 Akien joined #minetest-dev
08:11 ssieb joined #minetest-dev
08:30 Weedy joined #minetest-dev
08:31 Taoki Was looking at the new feature for seasons. Is this configurable via Lua? Like, do you specify temperatures and features for each time of year there, or is functionality all hard-coded?
08:42 Taoki Ugh. Not a month passes without some change in GIT breaking mods and requiring changes to them or moving them to a new folder
08:43 Taoki Fixed all of them though, server working again
08:52 Calinou joined #minetest-dev
09:15 darkrose joined #minetest-dev
09:35 iqualfragile joined #minetest-dev
09:44 Exio4 Taoki: weather? ask proller
09:44 Exio4 it is overly WIP and he wanted to merged it just for the lulz, even if it isn't finished and needs tweaks, etc
10:00 proller joined #minetest-dev
10:20 smoke_fumus joined #minetest-dev
10:43 Jordach joined #minetest-dev
10:46 EdB joined #minetest-dev
11:13 PilzAdam joined #minetest-dev
11:18 DemonRaiser joined #minetest-dev
11:29 EdB_ joined #minetest-dev
11:36 PilzAdam <kahrl> PilzAdam: is it intentional that defaultsettings.cpp looks for textures/fontdejavusansmono.png instead of fonts/fontdejavusansmono.png? <- oops, no
11:38 Calinou joined #minetest-dev
11:39 PilzAdam Ill fix that now
12:17 proller joined #minetest-dev
12:35 PilzAdam joined #minetest-dev
12:49 Akien joined #minetest-dev
13:03 Akien_ joined #minetest-dev
13:07 proller_ joined #minetest-dev
13:33 hmmmm joined #minetest-dev
13:59 proller_ update jsoncpp - https://github.com/proller/minetest/commit/ea346f43629c90301267176f2e0b1cde6231d18f
14:00 proller_ trivial
14:00 PilzAdam whats the benefit from this?
14:00 proller_ fixes some rare bugs
14:01 PilzAdam did any of these occur in Minetest?
14:02 proller_ maybe no
14:14 Calinou joined #minetest-dev
14:21 iqualfragile_ joined #minetest-dev
14:57 celeron55 at least you should add to the commit to which version it updates to
14:57 celeron55 there's no way to know otherwise
14:58 Jordach celeron55, i just dealt with the crevis team and cleared things up for you
15:00 proller_ celeron55, its latests version from svn
15:01 celeron55 proller_: i don't think we should update to those but rather to actual releases at most
15:02 celeron55 that way there are less meaningless commits and less chance of unstable library code
15:08 celeron55 that commit is just useless; you probably see it yourself too
15:09 celeron55 hmm, well, one line does something: the addition of allocated_ = false; to the else branch
15:09 celeron55 everything else does exactly nothing
15:11 celeron55 throw it in but don't waste your or anyone else's time on these library SVN updates in the future; it doesn't benefit anyone
15:28 proller_ commit or no ?
15:34 Exio4 ...
15:39 proller_ joined #minetest-dev
15:50 Akien joined #minetest-dev
16:14 tango_ joined #minetest-dev
16:25 kahrl should I push https://gist.github.com/kahrl/6170401?
16:33 NakedFury joined #minetest-dev
16:42 serengeor joined #minetest-dev
17:02 neko259 joined #minetest-dev
17:04 Calinou joined #minetest-dev
17:29 PilzAdam joined #minetest-dev
17:39 PilzAdam kahrl, seems good
19:08 EdB joined #minetest-dev
19:16 Miner_48er joined #minetest-dev
19:23 EdB joined #minetest-dev
19:31 EdB joined #minetest-dev
19:32 EdB joined #minetest-dev
19:40 proller joined #minetest-dev
19:44 EdB joined #minetest-dev
20:06 smoke_fumus joined #minetest-dev
20:31 proller joined #minetest-dev
20:33 Tesseract kahrl: I fixed #862.
20:42 kahrl Tesseract: let me see
20:43 Tesseract Hmmm, that might catch 0.0.0.0 for singleplayer if you use IPv6...
20:43 kahrl that works, but it might not be the best way of doing it
20:44 kahrl yeah and it would break a server that uses ipv6_server = true unless it also sets bind_address
20:45 kahrl perhaps delay the socket() call and decision about m_addr_family until Bind()?
20:45 kahrl but what to do with client sockets
20:46 kaeza joined #minetest-dev
20:47 Tesseract kahrl: The check IS done in UDPSocket::Bind().
20:48 kahrl My original "vision" for this was to allow setting a list of addresses to bind to. Then it would create a separate socket for each bind address, using an appropriate family. When binding to 0.0.0.0 the server automatically creates new sockets for each actual local address that someone connects to
20:49 kahrl The latter is to fix the case where the server has multiple interface (with IPs A and B), minetest bidns to 0.0.0.0, client connects to IP address A, but server sets the source address of its packets to the client to B
20:49 kahrl interfaces*
20:49 kahrl binds*
20:49 kahrl ... causing a timeout on the client side
20:51 kahrl If you want a purely ipv4 server, set bind_address = 0.0.0.0, if you want a purely ipv6 server set it to ::, if you want both set it to 0.0.0.0, ::
20:51 kahrl anyway, that was my vision and it's quite complicated so it never got anywhere
20:51 Tesseract Is the address family used before bind()?
20:52 proller kahrl, nono. :: for both must work
20:52 Tesseract proller: You mean :: == 0.0.0.0?
20:52 proller 0.0.0.0 for v4, :: for other
20:53 proller Tesseract, no, not == , but when listen :: with v6 - it can recieve v4 connections
20:53 Tesseract proller: That is how it is now, but the ipv6_server setting is also used...
20:53 kahrl proller: why must it?
20:54 Tesseract proller: That is what I meant, it doesn't work like that. (AFAIK)
20:54 proller kahrl, by v6 design
20:54 proller it creates v46 socket
20:54 proller possible to make pure v6, but no sense now
20:54 kahrl afaik socket implementation vary quite wildly in this area
20:54 kahrl +s
20:55 * Tesseract sees this spiraling out of his skill zone. ;-)
20:56 Tesseract Anyway, singleplayer with a IPv6 server should work now. proller: Do you have IPv6?
20:56 proller yes
20:57 proller v6 only - its my server
20:57 Tesseract proller: Can you test my pull with it?
20:57 proller not now
21:00 kahrl I know a bit about pure ipv6 including the router solicitation stuff etc. But then I wanted to know how it interacted with ipv4. Saw that there was seemingly at least a dozen competing ways, stopped caring.
21:02 proller most common way - dual 46 socket
21:02 proller it now works in minetest
21:02 proller you listen :: in v6 and it can revieve v4 connections and show it as :ffff:1.2.3.4
21:03 kahrl proller, yeah, it's good that it works
21:03 kahrl however I have reason to believe it doesn't work in windows
21:03 kahrl (I assume your server is running on some unixlike OS)
21:04 Tesseract man 7 ipv6 mentions something like that. The addresses are mapped to IPv6.
21:04 kahrl http://msdn.microsoft.com/en-us/library/windows/desktop/bb513665%28v=vs.85%29.aspx <-- says you need to set some socket options to get dual stack sockets
21:04 kahrl and that only works in vista or later
21:05 Tesseract Oh, right, windows compatibility. :-(
21:05 proller unixlike have sysctl for it, and usualy 46 enabled by default
21:07 Tesseract Looks like the only way is to use dual sockets, unless we drop XP support.
21:07 kahrl "an application has to create two sockets, one socket for use with IPv4 and one socket for use with IPv6"
21:07 kahrl ^ works on XP / Server 2003 and is kind of what I described above in my "vision"
21:08 kahrl but I agree, it's probably not worth to make such a complicated system
21:08 kahrl worth it*
21:15 RealBadAngel joined #minetest-dev
22:03 ecube joined #minetest-dev
22:09 kahrl what do you guys think of the download API for lua in #490?
22:10 kahrl it got kind of lost in the list of pull requests, but now I could add it easily to the httpfetch branch
22:10 kahrl (rebasing the scriptapi part and using httpfetch for the core implementation)
22:12 kahrl the practical difference between that and Jeija's implementation is that httpfetch has a limit on parallel fetches (media_fetch_threads), and uses only at most 1 thread
22:15 proller joined #minetest-dev
22:17 proller joined #minetest-dev
22:39 proller joined #minetest-dev
22:43 PilzAdam kahrl, there should be a setting that disables this function by default
23:10 kahrl why? I mean, mods can already do os.execute("wget ...") to upload information to some server
23:10 kahrl PilzAdam: ^
23:10 PilzAdam not on windows
23:10 Exio4 i guess a way for getting if "curl" is available should be there
23:11 kahrl isn't there some wget equivalent on windows?
23:11 Exio4 you can even use things like the irc mod
23:11 Exio4 for running C code
23:12 kahrl you could write some .vbs file and execute it
23:16 kahrl or even io.popen("ftp")
23:19 kahrl so my point is that it's not really worth it to restrict access to a single unsafe function where there are many more out there
23:19 kahrl restricting access to all unsafe functions might be worth considering (I bet sapier has something to say about this)
23:20 Exio4 in a dream world i would like to see a "permissions-like" system for mods
23:21 Exio4 where they could ask for "System access" and warn the user, and if it doesn't accept; it couldn't use os.xyz
23:21 Exio4 and so on
23:21 Exio4 :P
23:21 Exio4 but that would require one "lua stack" / mod, no?
23:22 kahrl yeah something like that ^ and what if mods call functions from each other?
23:22 Exio4 good question too
23:25 kahrl perhaps something like minetest.get_library("os") which would return the full os library which is invisible otherwise; only usable during the registration phase (when the modname is known)
23:25 kahrl then the mod would do local os = minetest.get_library("os")
23:26 Exio4 it could work too, but then you would need to protect it somehow
23:26 Exio4 and, how does serialize works?
23:26 kahrl it's the mod responsibility to protect it (e.g. by using local)
23:27 kahrl what about serialize?
23:27 Exio4 isn't there some usage of os. in builtin for files?
23:28 kahrl builtin can have full access to everything of course
23:28 kahrl they would be made invisible at the end of builtin
23:29 Exio4 does lua use some thing like closures? or would be probably to "avoid" all of this by replacing functions that will run under builtin functions, (like the one for checking if the pos is protected, or so)
23:30 Exio4 oh man, my english sucks
23:30 kahrl it has closures
23:30 Exio4 k
23:30 Exio4 nevermind then
23:31 kahrl maybe not in the completely same sense as in lisp/haskell/whatever, but the same concept
23:31 Exio4 yes, that is what i meant "some thing like"
23:31 Exio4 something*
23:40 kahrl I see that #490 returns the cURL error code to Lua. Would that be needed or would succeeded = true/false, timeout = true/false be enough?
23:41 kahrl I ask because the httpfetch module is designed in a way that cURL could (theoretically) replaced by another library
23:41 Exio4 i guess
23:41 kahrl so it doesn't expose cURL types or error codes or whatnot
23:45 kahrl wish Jeija was around so I could ask about his thoughts
23:46 PilzAdam he made this with it: http://youtu.be/jo_GT6a4M90
23:49 kahrl ah, I saw that back in the day when I came back
23:49 kahrl is there source code for it?
23:49 kahrl ah, it's in the video ;)
23:50 kahrl his callbacks just ignore response and error code
23:53 Exio4 wow, didn't know about it
23:53 PilzAdam he won the mesecon machine competition with that

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