[11:00:20]
<Maranda> @ping isode.com
[11:00:21]
<Echo1> Maranda: Ping failed (remote-server-not-found): Server-to-server connection failed: received a response of type invalid while authenticating with the authoritative server
[11:00:22]
<Maranda> @ping isode.com
[11:00:22]
<Echo1> Maranda: Ping failed (remote-server-not-found): Server-to-server connection failed: received a response of type invalid while authenticating with the authoritative server
[11:00:24]
<Maranda> @ping isode.com
[11:00:24]
<Echo1> Maranda: Ping failed (remote-server-not-found): Server-to-server connection failed: received a response of type invalid while authenticating with the authoritative server
[11:00:26]
<Maranda> @ping isode.com
[11:00:26]
<Echo1> Maranda: Ping failed (remote-server-not-found): Server-to-server connection failed: received a response of type invalid while authenticating with the authoritative server
[11:00:28]
<Maranda> @ping isode.com
[11:00:28]
<Echo1> Maranda: Ping failed (remote-server-not-found): Server-to-server connection failed: received a response of type invalid while authenticating with the authoritative server
[11:00:30]
<Maranda> @ping isode.com
[11:00:30]
<Echo1> Maranda: Ping failed (remote-server-not-found): Server-to-server connection failed: received a response of type invalid while authenticating with the authoritative server
[11:00:31]
<Maranda> @ping isode.com
[11:00:31]
<Echo1> Maranda: Ping failed (remote-server-not-found): Server-to-server connection failed: received a response of type invalid while authenticating with the authoritative server
[11:00:33]
<Maranda> @ping isode.com
[11:00:33]
<Echo1> Maranda: Ping failed (remote-server-not-found): Server-to-server connection failed: received a response of type invalid while authenticating with the authoritative server
[11:00:35]
<Maranda> @ping isode.com
[11:00:35]
<Echo1> Maranda: Ping failed (remote-server-not-found): Server-to-server connection failed: received a response of type invalid while authenticating with the authoritative server
[11:00:38]
<Maranda> @ping isode.com
[11:00:38]
<Echo1> Maranda: Ping failed (remote-server-not-found): Server-to-server connection failed: stream failure
[11:01:20]
<Maranda> Ooook.
[11:01:22]
<Maranda> Feb 25 11:00:38 lightwitch.org:dialback debug Attempting to perform dialback again... as more stanzas are being queued.
Feb 25 11:00:38 s2sout3a63250 debug sending: <db:result to='isode.com' from='lightwitch.org'>
Feb 25 11:00:38 s2sout3a63250 info sent dialback key on outgoing s2s stream
Feb 25 11:00:38 s2sout3a63250 debug Received[s2sout_unauthed]: <result xmlns='jabber:server:dialback' type='error' to='lightwitch.org' from='isode.com'><error type='auth' xmlns='j
abber:server' code='403'><forbidden xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></result>
Feb 25 11:00:38 s2sout3a63250 debug Disconnecting lightwitch.org[s2sout_unauthed], <stream:error> is: <stream:error><policy-violation xmlns='urn:ietf:params:xml:ns:xmpp-streams'/>
<text xmlns='urn:ietf:params:xml:ns:xmpp-streams'>Number of max allowed dialback failures exceeded, good bye</text></stream:error>
Feb 25 11:00:38 s2sout3a63250 debug sending: <stream:error>
Feb 25 11:00:38 s2sout3a63250 debug sending: </stream:stream>
[12:35:43]
<Maranda> time to update https://metronome.im/changelogs/3_8
[12:54:54]
<Maranda> hmmm interesting movim is attempting to retrieve the whole archive even when I'm not logged?
[12:55:30]
<Maranda> 🤔 🤔 🤔
[12:55:40]
<Maranda> it's keeping to send mam queries
[12:56:15]
<Maranda> me thinks it bugged
[13:36:22]
<Maranda> Over 400 queries for like 5000 messages sounds over-kill to me O.o
[13:36:39]
<Maranda> it's trying to sync 10 messages at a time?
[13:36:59]
<jonasw> hm, seems okay to me.
[13:37:49]
<Maranda> jonasw, it could really just sync the defacto 50 I mean, that's 100 queries.
[13:38:06]
<Maranda> but I have the doubt it's just looping on something without reason.
[13:40:25]
<Maranda> it continues to poll every 15 seconds or so.
[13:47:51]
<Maranda> @version paranoid.scarab.name
[13:47:55]
<Echo1> Maranda: paranoid.scarab.name is running Openfire version 4.1.5 on Linux 4.9.0-3-amd64 (amd64) - Java 1.8.0_141
[13:56:00]
<Maranda> @version goonfleet.com
[13:56:20]
<Echo1> Maranda: goonfleet.com can't be reached via XMPP (Server-to-server connection failed: Connecting failed: connection timeout)
[14:04:00]
<Maranda> jonasw, if you get the chance to retest that anonymous stuff let me know if it works as it should now.
[14:05:12]
<jonasw> I now get internal-server-error
[14:05:21]
<jonasw> [Client] Juliet
jid: 68217c2d6dfebcaf5809faccbdf7bb018539e65f@localhost/24df1b57-9f29-4596-8b60-3a57c858062c
password: password
---------
Juliet connects
Juliet sends:
<presence xmlns:stream="http://etherx.jabber.org/streams" id="xshWZs96Vnv/fLY7q0PzZ"/>
Juliet receives:
<presence xmlns:stream="http://etherx.jabber.org/streams" id="xshWZs96Vnv/fLY7q0PzZ" from="68217c2d6dfebcaf5809faccbdf7bb018539e65f@localhost/24df1b57-9f29-4596-8b60-3a57c858062c"/>
Juliet sends:
<iq xmlns:stream="http://etherx.jabber.org/streams" id="xuHIUoNsX0O2UJSjY1jDo" type="set">
<query xmlns="jabber:iq:private">
<example xmlns="urn:example:registered">foobar</example>
</query>
</iq>
Juliet receives:
<iq xmlns:stream="http://etherx.jabber.org/streams" id="xuHIUoNsX0O2UJSjY1jDo" type="error" to="68217c2d6dfebcaf5809faccbdf7bb018539e65f@localhost/24df1b57-9f29-4596-8b60-3a57c858062c">
<error type="wait">
<internal-server-error xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
</error>
</iq>
[14:05:54]
<Maranda> jonasw, that's ok
[14:06:02]
<jonasw> no
[14:06:06]
<jonasw> use service-unavailable please
[14:06:08]
<Maranda> but... hmm it should add also the disabled storage error
[14:06:19]
<jonasw> service-unavailable is the go-to error to let entities know that something is not supported
[14:06:46]
<Maranda> jonasw, I don't agree it's supported, because it's advertised in features
[14:07:00]
<jonasw> private xml doesn’t have a standardized thing to advertise
[14:07:03]
<Maranda> Infact that module shouldn't be loaded on anonymous hosts XD
[14:07:06]
<jonasw> and you shouldn’t advertise it if it doesn’t work
[14:08:02]
<Maranda> <!-- Incoming 25/02/2018 15:07:46 -->
<iq id='c4edb3ff-9bb6-4c4a-801f-6d3549b357de' type='result' to='imadmin@lightwitch.org/gajim.0VW18RRJ' from='lightwitch.org'>
<query xmlns='http://jabber.org/protocol/disco#info'>
<identity type='pep' name='Metronome' category='pubsub'/>
<identity type='im' name='Metronome' category='server'/>
<feature var='http://jabber.org/protocol/commands'/>
<feature var='urn:xmpp:ping'/>
<feature var='msgoffline'/>
<feature var='jabber:iq:version'/>
<feature var='urn:xmpp:jidprep:0'/>
<feature var='http://jabber.org/protocol/pubsub#access-presence'/>
<feature var='http://jabber.org/protocol/pubsub#auto-create'/>
<feature var='http://jabber.org/protocol/pubsub#create-and-configure'/>
<feature var='http://jabber.org/protocol/pubsub#create-nodes'/>
<feature var='http://jabber.org/protocol/pubsub#config-node'/>
<feature var='http://jabber.org/protocol/pubsub#delete-items'/>
<feature var='http://jabber.org/protocol/pubsub#delete-nodes'/>
<feature var='http://jabber.org/protocol/pubsub#filtered-notifications'/>
<feature var='http://jabber.org/protocol/pubsub#meta-data'/>
<feature var='http://jabber.org/protocol/pubsub#persistent-items'/>
<feature var='http://jabber.org/protocol/pubsub#publish'/>
<feature var='http://jabber.org/protocol/pubsub#publish-options'/>
<feature var='http://jabber.org/protocol/pubsub#purge-nodes'/>
<feature var='http://jabber.org/protocol/pubsub#retrieve-items'/>
<feature var='jabber:iq:register'/>
<feature var='vcard-temp'/>
<feature var='jabber:iq:privacy'/>
<feature var='urn:xmpp:blocking'/>
<feature var='urn:xmpp:server-presence'/>
<feature var='jabber:iq:roster'/>
<feature var='urn:xmpp:time'/>
<feature var='urn:xmpp:public-server'/>
<feature var='jabber:iq:private'/>
<feature var='urn:xmpp:sic:1'/>
<feature var='jabber:iq:last'/>
<feature var='http://jabber.org/protocol/disco#info'/>
<feature var='http://jabber.org/protocol/disco#items'/>
<feature var='urn:xmpp:carbons:2'/>
<feature var='urn:xmpp:csi:0'/>
<feature var='urn:xmpp:sift:2'/>
<feature var='urn:xmpp:sift:stanzas:presence'/>
<feature var='http://metronome.im/protocol/mam-purge'/>
<x type='result' xmlns='jabber:x:data'>
<field var='FORM_TYPE' type='hidden'>
<value>http://jabber.org/network/serverinfo</value>
</field>
<field var='support-addresses'>
<value>https://lightwitch.org/im-service/support</value>
<value>xmpp:support@conference.lightwitch.org?join</value>
</field>
<field var='admin-addresses'>
<value>https://lightwitch.org/contact</value>
</field>
<field var='abuse-addresses'>
<value>mailto:abuse@lightwitch.org</value>
</field>
</x>
</query>
</iq>
[14:08:05]
<jonasw> it’s nothing under control of the client. return service-unavailable and possibly log a warning
[14:08:13]
*Maranda points features.
[14:08:14]
<jonasw> sure, but that’s not specified
[14:08:32]
<jonasw> or do you find that here? https://xmpp.org/extensions/xep-0049.html
[14:08:35]
<jonasw> also, please don’t advertise this
[14:08:41]
<jonasw> if it won’t work anyways
[14:08:55]
<jonasw> log a warning when the module is loaded on anonymous hosts, but don’t pretend to clients that there’s something they can use if they can’t
[14:09:45]
*Maranda ponders
[14:09:46]
<Maranda> <!-- Outgoing 25/02/2018 15:09:26 -->
<iq xmlns="jabber:client" to="prosody.im" type="get" id="c4edb3ff-9bb6-4c4a-801f-6d3549b357de" from="imadmin@lightwitch.org/gajim.0VW18RRJ">
<query xmlns="http://jabber.org/protocol/disco#info" />
</iq>
<!-- Incoming 25/02/2018 15:09:28 -->
<iq id='c4edb3ff-9bb6-4c4a-801f-6d3549b357de' type='result' to='imadmin@lightwitch.org/gajim.0VW18RRJ' from='prosody.im'>
<query xmlns='http://jabber.org/protocol/disco#info'>
<identity type='pep' name='Prosody' category='pubsub'/>
<identity type='im' name='Prosody' category='server'/>
<feature var='urn:xmpp:carbons:2'/>
<feature var='urn:xmpp:carbons:1'/>
<feature var='jabber:iq:register'/>
<feature var='vcard-temp'/>
<feature var='http://jabber.org/protocol/commands'/>
<feature var='jabber:iq:roster'/>
<feature var='urn:xmpp:time'/>
<feature var='jabber:iq:time'/>
<feature var='jabber:iq:private'/>
<feature var='http://jabber.org/protocol/pubsub#publish'/>
<feature var='urn:xmpp:ping'/>
<feature var='jabber:iq:version'/>
<feature var='msgoffline'/>
<feature var='jabber:iq:last'/>
<feature var='http://jabber.org/protocol/disco#info'/>
<feature var='http://jabber.org/protocol/disco#items'/>
<feature var='jabber:iq:auth'/>
</query>
</iq>
[14:10:00]
<Maranda> 🤔 🤔 🤔 Don't advertise in features??
[14:10:11]
<jonasw> don’t advertise something which doesn’t work
[14:10:49]
<Maranda> jonasw, it shouldn't be loaded in the first place that's the problem.
[14:11:13]
<Maranda> so you should disable it on anon hosts.
[14:11:19]
<Maranda> (the module)
[14:11:58]
<Maranda> jonasw, I'm not sure how good is it to add code to prevent it loading on anonymous hosts.
[14:12:27]
<Maranda> jonasw, if I did I should then do it for every other module using storage.
[14:13:19]
<jonasw> Maranda, okay, if you want to argue that way... but that breaks my test suite
[14:13:37]
<jonasw> I’d aruge that a server which doesn’t let me know I’m doing a stupid thing is rather hard to sue
[14:13:39]
<jonasw> *use
[14:14:30]
<Maranda> jonasw, I'm not really arguing just saying that on anon host you should do modules_disabled = { "private" } if it's loaded globally
[14:14:51]
<Maranda> so yes I could add a warning telling to disable the module
[14:19:50]
<Maranda> jonasw, actually I'll forbid loading.
[14:19:59]
<Maranda> hmm at least for some modules.
[14:20:35]
<Maranda> I'm not sure it's the right way but hmm...
[14:39:09]
<Echo1> maranda committed --
mod_{privacy/private/roster/vcard}: unallow loading on anon hosts. (B…
-> https://github.com/maranda/metronome/commit/6d95d9fbb2f795b5489659b8bedde2ed680cd23a
[14:39:10]
<Echo1> maranda committed --
mod_{groups/mam/pep/private}: unallow loading on anon hosts. (Better …
-> https://github.com/maranda/metronome/commit/f42def56540e392e0838d5e29ee605b07b985a9e
[14:39:34]
<Maranda> jonasw, there you go.
[14:54:09]
<Echo1> maranda committed --
mod_{privacy/roster/vcard}: remove trailing dot from log error.
-> https://github.com/maranda/metronome/commit/f7f012fc78dab8e8a97d090019a013f1ee34e4e8
[14:54:10]
<Echo1> maranda committed --
mod_{groups/mam/pep/private}: remove trailing dot from log error.
-> https://github.com/maranda/metronome/commit/1cb35e4f7b53a59d6f5b51eb83684b6e96f89924
[14:56:15]
<Maranda> jonasw, hmm and Prosody still returns internal-server-error on storage failures for private storage as well, so you say that in the case there's a fail I should just return service available?
[14:56:25]
<Maranda> I suppose.
[14:56:37]
<jonasw> but prosody has mod_storage_memory :)
[14:56:43]
*Maranda never really touched that plugin.
[14:56:49]
<jonasw> if there’s a *fail*, internal-server-error is appropriate
[14:57:00]
<jonasw> if it is never going to work, service-unavailable and not announcing the feature is more appropriate
[14:57:37]
<Maranda> jonasw, well it now will prevent loading the module.
[14:57:47]
<Maranda> so I guess that sorts it anyways
[14:58:10]
<jonasw> yah
[15:05:52]
<jonasw> does metronome have something like mod_auth_any?
[15:06:56]
<Maranda> jonasw, it does have internal, hashed and anonymous backends
[15:07:49]
<Maranda> jonasw, just that authentication plugins will use the same format as pre-0.9
[15:08:09]
<jonasw> meh
[15:08:14]
<jonasw> then testing will be quite pointless
[15:08:24]
<jonasw> or I have to pre-configure accounts, but that’s too much hassle
[15:10:48]
<Maranda> 🤔 🤷♂
[15:15:33]
<Maranda> jonasw, I guess you could use metronomectl to create the accounts portably as well but that's up to you.
[15:55:38]
<Maranda> jonasw the other choice is commenting this if statement https://github.com/maranda/metronome/blob/master/plugins/mod_auth_anonymous.lua#L78
[15:56:54]
<Maranda> Then commenting all the if statements at start in the modules I changed in this last commits
[15:57:53]
<Maranda> Then mod_auth_anonymous will save data to the datastore normally
[15:59:22]
<Maranda> Rather will allow to save*
[16:30:28]
<Maranda> Actually...
[16:32:22]
<Maranda> jonasw, https://github.com/maranda/metronome/blob/master/plugins/mod_auth_anonymous.lua#L78 if statement starting here. Then comment line 98 and 102
[16:32:40]
<Maranda> There you go
[16:33:20]
<Maranda> (comment the if statement starting at 78)
[16:33:48]
<Maranda> Then everything will work like your tests need to.
[16:54:57]
<Maranda> and maybe it's faster if I add a test mode..., lessens the headaches.
[16:58:45]
<jonasw> don’t worry
[16:58:47]
<jonasw> that’s not worth it
[16:58:54]
<jonasw> I’m not going to add the test at this point, it’s too much trouble
[16:59:05]
<Maranda> jonasw, pushed, anonymous_test_mode = true in the config will enable random jids and storage
[16:59:33]
<Maranda> jonasw, and *DO EXACTLY WHAT YOUR TESTS SUITES NEED*
[17:00:13]
<Maranda> jonasw, maybe if you said what the requirements were it would be easier ;)
[17:00:21]
<Maranda> just saying
[17:00:46]
<jonasw> "behave like any other XMPP server, except that I need ANONYMOUS login and/or login with any JID/Password"
[17:00:58]
<jonasw> (even though I haven’t written code for the last mode yet; it’d be trivial to add though)
[17:01:02]
<Maranda> jonasw, good it does that
[17:01:11]
<Maranda> for anonymous
[17:01:40]
<Maranda> it's pushed in master
[17:03:23]
<Maranda> jonasw, all it needs now is the above configuration directive.
[17:04:27]
<jonasw> except that it doesn’t work
[17:04:32]
<jonasw> or is that setting global?
[17:04:54]
<jonasw> [Client] Juliet
jid: 9b6002fa-9572-46cd-876a-81124b579629@localhost/1016ba26-bf7c-421f-9d3e-a4dd99cd6eb8
password: password
---------
Juliet connects
Juliet sends:
<presence xmlns:stream="http://etherx.jabber.org/streams" id="xubqBO1nr/wjmc+o+SivA"/>
Juliet receives:
<presence xmlns:stream="http://etherx.jabber.org/streams" id="xubqBO1nr/wjmc+o+SivA" from="9b6002fa-9572-46cd-876a-81124b579629@localhost/1016ba26-bf7c-421f-9d3e-a4dd99cd6eb8"/>
Juliet sends:
<iq xmlns:stream="http://etherx.jabber.org/streams" id="xOTwboYsA7JJ/MHFvDmiJ" type="set">
<query xmlns="jabber:iq:private">
<example xmlns="urn:example:registered">foobar</example>
</query>
</iq>
Juliet receives:
<iq xmlns:stream="http://etherx.jabber.org/streams" id="xOTwboYsA7JJ/MHFvDmiJ" type="error" to="9b6002fa-9572-46cd-876a-81124b579629@localhost/1016ba26-bf7c-421f-9d3e-a4dd99cd6eb8">
<error type="wait">
<internal-server-error xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
<text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">Storage is disabled</text>
</error>
</iq>
[17:05:05]
<jonasw> config is here: http://paste.debian.net/hidden/45f77395/
[17:07:34]
<Maranda> jonasw, yeah spotted the problem forgot to remove the callback.
[17:08:33]
<Maranda> jonasw, commited
[17:09:09]
<Echo1> maranda committed --
mod_auth_anonymous: remove the callback also.
-> https://github.com/maranda/metronome/commit/b1c99128002d651e8b9650780236c3b8c3e1cd41
[17:09:10]
<Echo1> maranda committed --
mod_auth_anonymous: add test mode for test suites.
-> https://github.com/maranda/metronome/commit/984743a4e45d9544607ac42016bf4d497ed7facd
[17:09:52]
<Maranda> jonasw, now it should work. And I need to have my Sunday lol
[17:10:29]
<Maranda> brain is starting to smoke :)
[17:14:14]
<Maranda> jonasw, no the setting is non zone relevant the only directives that are per host are storage/authentication and such (it looked logic to be that way)
[17:14:36]
<jonasw> go have your sunday
[17:14:37]
<jonasw> :-)
[17:14:56]
<Maranda> 🖖
[17:14:57]
<jonasw> some tests still do fail, but I can’t report those right away (gonna have my own sunday now :))
[17:15:38]
<Maranda> ok
[17:18:11]
<Maranda> have a good one!
[17:19:06]
<jonasw> same to you
[23:51:46]
<Echo1> maranda committed --
mod_{...}: add auto unload on starting preconditions not being met.
-> https://github.com/maranda/metronome/commit/5b19f3c3e82118ce8830c14f1dc1284771565ce8