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 |