Logs for jdev

Show join/part/nick changes:

[00:15:28] * jcea joined the chat.
[00:38:01] * Tobias_ joined the chat.
[00:38:57] * Tobias left the chat.
[03:20:19] * jcea left the chat.
[05:23:48] * vorner joined the chat.
[05:25:03] * jabberjocke left the chat.
[05:40:13] * vorner left the chat.
[06:08:27] * kevin joined the chat.
[06:21:29] * kevin left the chat.
[06:23:13] * vorner joined the chat.
[06:27:08] * Alex joined the chat.
[06:38:05] * Tobias_ left the chat.
[06:38:05] * Tobias joined the chat.
[06:38:55] * ermine joined the chat.
[06:53:09] * 0xAFFE joined the chat.
[07:09:06] * Tobias left the chat.
[07:18:29] * Alex left the chat.
[07:21:15] * Alex joined the chat.
[07:32:12] * Tobias joined the chat.
[07:36:12] * Asterix joined the chat.
[07:37:15] * luca tagliaferri joined the chat.
[07:38:08] * Steven Lloyd Watkin joined the chat.
[07:46:23] * ThurahT joined the chat.
[07:57:56] * Beanow joined the chat.
[08:01:09] * Guus joined the chat.
[08:21:17] * luca tagliaferri left the chat.
[08:21:17] * luca tagliaferri joined the chat.
[08:21:17] * luca tagliaferri left the chat.
[08:41:49] * Neustradamus left the chat.
[08:46:05] * Neustradamus joined the chat.
[09:20:56] * Neustradamus left the chat.
[09:25:05] * Neustradamus joined the chat.
[09:31:07] * Kev_ joined the chat.
[09:33:24] * Tobias left the chat.
[09:49:00] * Flow joined the chat.
[10:20:38] * Kev__ joined the chat.
[10:21:28] * Kev_ left the chat.
[10:21:59] * luca tagliaferri joined the chat.
[10:21:59] * luca tagliaferri left the chat.
[11:10:38] * Tobias joined the chat.
[11:22:23] * Flow left the chat.
[11:25:15] * Guus left the chat.
[11:27:34] * Guus joined the chat.
[11:55:48] * jmedev joined the chat.
[12:28:22] * kevin. joined the chat.
[12:30:30] * kevin joined the chat.
[12:38:15] * kevin left the chat.
[12:39:21] * kevin joined the chat.
[12:39:30] * kevin left the chat.
[12:40:20] * kevin joined the chat.
[12:40:25] * kevin left the chat.
[12:41:07] * kevin joined the chat.
[12:41:13] * kevin left the chat.
[12:41:36] * kevin joined the chat.
[12:41:43] * kevin left the chat.
[12:42:05] * kevin joined the chat.
[12:42:14] * kevin left the chat.
[12:43:05] * kevin joined the chat.
[12:43:15] * kevin left the chat.
[12:43:37] * kevin joined the chat.
[12:43:49] * kevin left the chat.
[12:44:10] * kevin joined the chat.
[12:44:14] * kevin left the chat.
[12:44:35] * kevin joined the chat.
[12:44:46] * kevin left the chat.
[12:45:11] * kevin joined the chat.
[12:45:18] * kevin left the chat.
[12:45:42] * kevin joined the chat.
[12:45:51] * kevin left the chat.
[12:46:18] * kevin joined the chat.
[12:52:54] * kevin left the chat.
[12:54:09] * kevin joined the chat.
[12:54:19] * kevin left the chat.
[12:54:43] * kevin joined the chat.
[12:55:43] * naw joined the chat.
[12:55:48] * kevin. left the chat.
[12:57:07] * Kev__ left the chat.
[13:03:36] * kevin left the chat.
[13:28:25] * tes joined the chat.
[13:29:10] * jcea joined the chat.
[13:30:56] * tes left the chat.
[13:36:40] * naw left the chat.
[13:46:46] <Beanow> Anyone know where I can get a proper PHP implementation of the nodeprep spec?
[13:50:41] <Beanow> Or otherwise a validator for the full JID spec or a bare JID.
[13:54:10] <Kev> Nathan Fritz had a PHP library a few years ago for XMPP. I wonder if that would have a stringprep lib you could use.
[13:54:32] * Neustradamus left the chat.
[13:55:20] <Beanow> Where abouts would I find it? I checked the ones on xmpp.org and the best that gave me was a split on @ and /
[13:56:27] <Kev> I don't remember what it's called, sorry.
[13:56:51] <Kev> Ah, but googling for xmpp fritzy php gives me https://code.google.com/p/xmpphp/
[13:57:26] <Beanow> Aaah,
[13:57:38] <Beanow> That's not in the list yet then :]
[13:58:00] <Beanow> no wait it is
[13:58:23] * Neustradamus joined the chat.
[14:01:24] <Beanow> Hehehe it pretty much lets the server do it for him.
[14:01:48] <Beanow> It does a bind, strips the resource and thats his fulljid.
[14:03:03] <Beanow> And any recipients you give are not validated by this library. Just passed on 1:1
[14:03:15] <Beanow> Which, for a library imho is a valid way to do it.
[14:03:56] <Beanow> But I want to use this for adding it to a public profile. So I'll have a go at implementing something basic.
[14:18:58] <Beanow> Even Jappix has none.
[14:18:58] <Beanow> o.0 quite surprised with that. I can try to make an account on https://me.jappix.com using "henk is cool@example.com" for an address.
[14:19:39] * Tobias left the chat.
[14:20:29] <Beanow> It really tries to connect till it finds example.com has no XMPP server.
[14:25:43] * Tobias joined the chat.
[14:26:52] * darkrain_ joined the chat.
[14:27:14] * MattJ joined the chat.
[14:31:01] * Alex left the chat.
[14:36:34] <Beanow> I'd expect when it involves saving server resources you'd at least implement some basic validation.
[14:49:18] * deryni joined the chat.
[15:07:05] * itisreal joined the chat.
[15:10:42] * vorner left the chat.
[15:24:55] <Beanow> Dirty solution. Works for my case: https://gist.github.com/Beanow/6ccdc3435902c82b50ac
[15:25:03] <Beanow> (PHP JID validation)
[15:25:38] <Kev> That looks wrong.
[15:25:47] <Kev> You need to split on / before you split on @
[15:27:08] <Beanow> Oh you're right. / is not allowed in node, not other way around.
[15:27:48] <Beanow> Actually, / is allowed in the resource isn't it?
[15:28:03] <Kev> Yes, you can have any number of / inside a resource.
[15:28:08] <Kev> And any number of @ as well.
[15:28:24] <Kev> me@example.com/me@example.com/me@example.com is quite legal.
[15:28:48] <Beanow> Hm, I'll split it differently
[15:28:51] <Beanow> Thanks
[15:33:11] * aaa joined the chat.
[15:34:16] * aaa left the chat.
[15:43:30] * Neustradamus left the chat.
[15:44:50] * Neustradamus joined the chat.
[15:45:53] <Beanow> This should do better. https://gist.github.com/Beanow/6ccdc3435902c82b50ac
[15:51:33] <Beanow> Hmm, the email filter even turns down IP's. That may be a bit too restrictive even for a dirty solution.
[16:02:01] * psa joined the chat.
[16:05:11] * vorner joined the chat.
[16:31:01] * itisreal left the chat.
[16:37:19] * jabberjocke joined the chat.
[16:40:25] * Steven Lloyd Watkin left the chat.
[16:45:25] <Beanow> Couple of revisions later: https://gist.github.com/Beanow/6ccdc3435902c82b50ac Seems to work fairly. Although one question.
[16:45:36] <Beanow> How should it handle a 'trailing slash' like test@domain.com/
[16:45:47] <Kev> Empty resource.
[16:46:00] <Beanow> Being a valid resource
[16:46:31] <Kev> Oh, I see what you mean. Please don't make me check the specs :(
[16:46:46] <Beanow> xD ok I'll look
[16:46:52] <psa> :P
[16:47:14] <Kev> No, an empty resource isn't valid.
[16:47:31] <Beanow> Great, much easier.
[16:47:49] <Beanow> However, should the / be stripped or throw an error?
[16:47:54] <MattJ> Beanow, we have some tests you might find useful as a reference: http://hg.prosody.im/trunk/file/tip/tests/test_util_jid.lua#l29
[16:48:16] * Tobias left the chat.
[16:48:18] <MattJ> Though we don't cover that one :)
[16:48:26] <Kev> Yes you do.
[16:48:34] <Kev> assert_equal(bare("user@host/"), nil, "invalid JID is nil");
[16:48:48] <MattJ> Ah yes, there
[16:49:02] <Kev> Just your resident Prosody expert, happy to help.
[16:49:10] <Beanow> But this is for a 'bare' one.
[16:49:37] <MattJ> Well a bare one certainly can't contain a /
[16:49:43] <Beanow> Exactly,
[16:49:51] <Beanow> What if it's allowed to be a resource but is empty.
[16:50:52] <MattJ> It can't be
[16:50:52] <Beanow> Eh, I mean. If it may optionally be a resource, but gives an empty resource.
[16:51:01] <Beanow> Since it may not be empty.
[16:51:32] <Beanow> Just ignore the /?
[16:51:56] <Beanow> Or does that count as malformatting?
[16:52:46] * Flow joined the chat.
[16:54:33] <Beanow> Ok my server ignores the /
[16:55:14] <psa> Beanow: what server are you using?
[16:55:23] <Beanow> <message to='beanow@domain.com/' type='chat'> <body>Hi</body> </message> Works fine on ejabberd.
[16:56:17] <MattJ> Prosody would reject it
[16:58:14] <Beanow> Rightfully so in my opinion. I'll see if I can find it in the specs.
[16:58:52] <Kev> http://tools.ietf.org/html/rfc6122#section-2.4
[16:58:53] <darkrain_> !xmpp-addr
[16:59:02] <darkrain_> oh, this isn't the room I thought it was
[16:59:22] <Kev> darkrain_: I pasted the link you wanted, before you'd even asked for it, and you're complaining? :p
[17:00:00] <psa> heh
[17:00:03] <darkrain_> I had started typing before you put the link in, of course. :)
[17:00:07] <darkrain_> (Yes, it's all just excuses)
[17:01:21] <Beanow> I don't believe that it explicitly says one or the other in this section.
[17:02:10] <Beanow> My assumption would be if you place the seperator, it results in a resource of 0 bytes which is not allowed.
[17:02:58] <Beanow> Though for the sake of fault tolerance I would have it be stripped.
[17:03:05] <Beanow> IF the resource is optional.
[17:04:53] <Beanow> jid = [ localpart "@" ] domainpart [ "/" resourcepart ] Does confirm it should be seen as 0 byte resource.
[17:05:06] <Beanow> Or it would be jid = [ localpart "@" ] domainpart [ "/" [resourcepart] ]
[17:05:16] * Guus left the chat.
[17:06:09] <Beanow> Ok that answers it for me :P
[17:16:12] * jmedev left the chat.
[17:16:58] * Lance joined the chat.
[17:20:50] <darkrain_> Beanow: "A resourcepart MUST NOT be zero bytes in length..."
[17:22:04] * Tobias joined the chat.
[17:22:17] <Beanow> Yes, for my last revision I concluded with that it should either sanitize the / off if it's optional or throw an error.
[17:23:12] <Beanow> In my case I don't sanitize but validate, so I should throw an error.
[17:23:36] <Beanow> But in the case of ejabberd it's acceptable to sanitize and assume you meant no resource when that's an option.
[17:32:40] * 0xAFFE left the chat.
[17:34:49] * Alex joined the chat.
[17:55:36] * Beanow left the chat.
[17:55:46] * Beanow joined the chat.
[17:57:21] * Tobias left the chat.
[18:06:19] * Lance_ joined the chat.
[18:14:14] * Lance left the chat.
[18:22:01] * Tobias joined the chat.
[18:32:07] * Lance_ left the chat.
[18:35:40] * Lance joined the chat.
[18:46:13] * luca tagliaferri joined the chat.
[18:48:39] * Beanow left the chat.
[19:07:08] * vorner left the chat.
[19:07:31] * vorner joined the chat.
[19:12:34] * vorner_ joined the chat.
[19:14:05] * vorner_ left the chat.
[19:18:40] * vorner left the chat.
[19:19:08] * vorner joined the chat.
[19:24:19] * vorner left the chat.
[19:24:45] * vorner joined the chat.
[19:30:39] * vorner left the chat.
[19:33:06] * vorner joined the chat.
[19:48:40] * Beanow joined the chat.
[19:49:16] * vorner left the chat.
[19:59:11] * mathieui joined the chat.
[20:07:26] * Lance left the chat.
[20:11:47] * naw joined the chat.
[20:13:32] * ermine left the chat.
[20:13:32] * luca tagliaferri left the chat.
[20:19:52] * Asterix left the chat.
[20:33:12] * kevin. joined the chat.
[20:45:07] * naw left the chat.
[20:49:00] * Flow left the chat.
[20:55:22] * jcea left the chat.
[20:58:49] * MattJ left the chat.
[20:58:51] * MattJ joined the chat.
[21:01:20] * jmedev joined the chat.
[21:03:52] * jmedev left the chat.
[21:11:05] * psa left the chat.
[21:22:23] * MattJ left the chat.
[21:22:29] * MattJ joined the chat.
[21:31:46] * deryni left the chat.
[21:45:03] * MattJ left the chat.
[21:45:17] * MattJ joined the chat.
[21:46:40] * MattJ left the chat.
[21:46:45] * MattJ joined the chat.
[21:50:26] * MattJ left the chat.
[21:51:06] * MattJ joined the chat.
[21:59:10] * MattJ left the chat.
[21:59:21] * MattJ joined the chat.
[21:59:51] * MattJ left the chat.
[21:59:53] * MattJ joined the chat.
[22:03:04] * Lance joined the chat.
[22:03:05] * kevin. left the chat.
[22:17:59] * deryni joined the chat.
[23:31:20] * Alex left the chat.
[23:31:23] * MattJ left the chat.