#1614 Prosody refuses to resolve A records if it boots before IPv4 is up

Reporter kousu
Owner Nobody
Created
Updated
Stars ★ (1)
Tags
  • Type-Defect
  • Priority-Medium
  • Status-New
  1. kousu on

    What steps will reproduce the problem? 1. Install Prosody 2. Configure the network by Writing this config file: ``` [root@comms2 ~]# cat /etc/netctl/eth0 Description='A basic dhcp ethernet connection' Interface=eth0 Connection=ethernet IP=dhcp ``` ``` systemctl enable netctl systemctl enable netctl@eth0 systemctl disable systemd-networkd # if relevant on your system ``` 3. Install prosody, configure certs, etc. My config file is attached, but I don't think there's anything special about it. ``` sudo pacman -S prosody systemctl enable prosody ``` 4. Reboot so that netctl kicks in ``` reboot ``` 5. Attempt to message remote servers. They will fail. This probably isn't enough to reproduce the issue reliably. I'm not sure if the fault lies with netctl being slow or with my host's DHCP servers being slow. If you can intentionally slow down DHCP on your network, that would probably help reproduction. What is the expected output? My stanzas should be sent. What do you see instead? "delivery failed" What version of the product are you using? On what operating system? 0.11.7 on ArchLinux. Please provide any additional information below. On my host I have the IPv4 address 51.75.23.88 and the IPv6 fe80::f816:3eff:fe08:2fa1/64. The IPv6 isn't real, it's just a link-local address. Like an appendix, I don't use it, it's just there getting in the way. I'm not even really sure what configures it; I assume it's just Linux doing Linux stuff. ``` [root@comms2 ~]# ip addr show dev eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether fa:16:3e:08:2f:a1 brd ff:ff:ff:ff:ff:ff inet 51.75.23.88/32 brd 51.75.23.88 scope global dynamic eth0 valid_lft 85877sec preferred_lft 75077sec inet6 fe80::f816:3eff:fe08:2fa1/64 scope link valid_lft forever preferred_lft forever ``` It's become a problem though. I don't know entirely why, but as of today prosody is now booting faster than its network. Maybe my hosts's DHCP servers are overloaded. It's not a big deal, the problem solves itself within a couple seconds, except that it gums prosody right up. Prosody seems to be deciding that, because at boot it doesn't have IPv4, that it should never try looking up IPv4 A records at all, so I was surprised when I woke up today to discover my server was effectively blocked from the network. Specifically, I am getting "delivery failed" whenever I try to message anyone. I receiving incoming <presence>es but cannot send my own, or my own messages. Looking at my logs, I see two causes of this error, depending on if the target server has an AAAA record or not: 1. DNS resolution failed: Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4c6a90: DNS lookup failed to get a response for im.sunshinegardens.org. Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4c6a90: Failed in all attempts to connect to sunshinegardens.org Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4c6a90: No other records to try for sunshinegardens.org - destroying Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4c6a90: Destroying outgoing session kousu.ca->sunshinegardens.org: DNS resolution failed Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4c6a90: Sending error replies for 1 queued stanzas because of failed outgoing connection to sunshinegardens.org Dec 13 16:16:38 comms2.kousu.ca prosody[374]: stanzarouter: Received[s2sin]: <presence to='test@kousu.ca/Conversations.GYbr' type='error' from='kousu@sunshinegardens.org'> 2. DNS AAAA resolution succeeeded, but IPv6 isn't routable: Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: DNS reply for nl.movim.eu. gives us 2a01:7c8:aab8:6b9:5054:ff:fec9:fd84 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: Beginning new connection attempt to movim.eu ([2a01:7c8:aab8:6b9:5054:ff:fec9:fd84]:5269) Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: s2s connect() to movim.eu (2a01:7c8:aab8:6b9:5054:ff:fec9:fd84:5269) failed: Network is unreachable Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: Out of IP addresses, trying next SRV record (if any) Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: Failed in all attempts to connect to movim.eu Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: No other records to try for movim.eu - destroying Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: Destroying outgoing session kousu.ca->movim.eu: Connecting failed: Network is unreachable Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: Sending error replies for 2 queued stanzas because of failed outgoing connection to movim.eu Dec 13 16:16:02 comms2.kousu.ca prosody[374]: stanzarouter: Received[s2sin]: <presence to='test@kousu.ca/Conversations.GYbr' type='error' from='kousu@movim.eu'> So I'm pretty sure what's happened is that prosody is only querying for AAAA records, because at boot time prosody sees it doesn't have an IPv4 address. Zash helped me come up with this theory. If I `systemctl restart prosody` the problem goes away. It only happens immediately after a reboot. --------- I have set up three accounts to demonstrate: test@kousu.ca (my server, with the glitches) kousu@movim.eu (has AAAA records) kousu@sunshinegardens.org (only has A records) To trigger it I: 1. Reboot my server (with all my clients disconnected) 2. Connect from my client (Conversations, on my phone) 3. Turn the screen off (this triggered a <presence type="unavailable"> sent to each contact) I've annotated the corresponding points in the prosody debug log: 0. Boot 1. Connection from my client (test@kousu.ca) 2. Attempting to contact a server with AAAA records 3. Attempting to contact a server with only A records (this is intermixed with the previous point) -------------------- [root@comms2 ~]# journalctl -b 4e1103910e8846e18d41b4579d037555 -u prosody | cat -- Journal begins at Sun 2020-12-13 12:10:24 EST, ends at Sun 2020-12-13 16:17:23 EST. -- 0. Boot Dec 13 16:12:58 comms2.kousu.ca systemd[1]: Starting XMPP (Jabber) Server... Dec 13 16:12:58 comms2.kousu.ca prosodyctl[277]: WARNING: Use of prosodyctl start/stop/restart/reload is not recommended Dec 13 16:12:58 comms2.kousu.ca prosodyctl[277]: if Prosody is managed by an init system - use that directly instead. Dec 13 16:12:58 comms2.kousu.ca prosodyctl[277]: e.g. systemctl start prosody Dec 13 16:12:58 comms2.kousu.ca prosody[299]: mod_posix: Prosody is about to detach from the console, disabling further console output Dec 13 16:12:58 comms2.kousu.ca prosody[374]: mod_posix: Successfully daemonized to PID 374 Dec 13 16:12:58 comms2.kousu.ca prosodyctl[277]: Started Dec 13 16:12:58 comms2.kousu.ca systemd[1]: Started XMPP (Jabber) Server. Dec 13 16:12:58 comms2.kousu.ca prosody[374]: kousu.ca:cloud_notify: Module loaded Dec 13 16:12:58 comms2.kousu.ca prosody[374]: mod_http: Serving 'websocket' at https://*:5281/xmpp-websocket Dec 13 16:12:58 comms2.kousu.ca prosody[374]: kousu.ca:websocket: cross_domain = https://comms2.kousu.ca:5281 Dec 13 16:12:58 comms2.kousu.ca prosody[374]: storagemanager: map storage driver unavailable, using shim on top of keyval store. Dec 13 16:12:58 comms2.kousu.ca prosody[374]: modulemanager: disco is already loaded for kousu.ca, so not loading again Dec 13 16:12:58 comms2.kousu.ca prosody[374]: portmanager: No active service for proxy65, activating... Dec 13 16:12:58 comms2.kousu.ca prosody[374]: socket: server.lua: new server listener on '[::]:5000' Dec 13 16:12:58 comms2.kousu.ca prosody[374]: portmanager: Added listening service proxy65 to [::]:5000 Dec 13 16:12:58 comms2.kousu.ca prosody[374]: socket: server.lua: new server listener on '[*]:5000' Dec 13 16:12:58 comms2.kousu.ca prosody[374]: portmanager: Added listening service proxy65 to [*]:5000 Dec 13 16:12:58 comms2.kousu.ca prosody[374]: portmanager: Activated service 'proxy65' on [::]:5000, [*]:5000 Dec 13 16:12:58 comms2.kousu.ca prosody[374]: storagemanager: map storage driver unavailable, using shim on top of keyval store. Dec 13 16:12:58 comms2.kousu.ca prosody[374]: hostmanager: Activated host: irc.kousu.ca Dec 13 16:12:58 comms2.kousu.ca prosody[374]: portmanager: No active service for component, activating... Dec 13 16:12:58 comms2.kousu.ca prosody[374]: socket: server.lua: new server listener on '[::1]:5347' Dec 13 16:12:58 comms2.kousu.ca prosody[374]: portmanager: Added listening service component to [::1]:5347 Dec 13 16:12:58 comms2.kousu.ca prosody[374]: socket: server.lua: new server listener on '[127.0.0.1]:5347' Dec 13 16:12:58 comms2.kousu.ca prosody[374]: portmanager: Added listening service component to [127.0.0.1]:5347 Dec 13 16:12:58 comms2.kousu.ca prosody[374]: portmanager: Activated service 'component' on [::1]:5347, [127.0.0.1]:5347 Dec 13 16:12:58 comms2.kousu.ca prosody[374]: irc.kousu.ca:tls: Creating context for c2s Dec 13 16:12:58 comms2.kousu.ca prosody[374]: certmanager: Searching /etc/letsencrypt/live for a key and certificate for irc.kousu.ca... Dec 13 16:12:58 comms2.kousu.ca prosody[374]: certmanager: No certificate/key found for irc.kousu.ca Dec 13 16:12:58 comms2.kousu.ca prosody[374]: certmanager: Searching /etc/letsencrypt/live for a key and certificate for kousu.ca... Dec 13 16:12:58 comms2.kousu.ca prosody[374]: certmanager: Selecting certificate /etc/letsencrypt/live/kousu.ca/fullchain.pem with key /etc/letsencrypt/live/kousu.ca/privkey.pem for kousu.ca Dec 13 16:12:58 comms2.kousu.ca prosody[374]: irc.kousu.ca:tls: Creating context for s2sout Dec 13 16:12:58 comms2.kousu.ca prosody[374]: certmanager: Searching /etc/letsencrypt/live for a key and certificate for irc.kousu.ca... Dec 13 16:12:58 comms2.kousu.ca prosody[374]: certmanager: No certificate/key found for irc.kousu.ca Dec 13 16:12:58 comms2.kousu.ca prosody[374]: certmanager: Searching /etc/letsencrypt/live for a key and certificate for kousu.ca... Dec 13 16:12:58 comms2.kousu.ca prosody[374]: certmanager: Selecting certificate /etc/letsencrypt/live/kousu.ca/fullchain.pem with key /etc/letsencrypt/live/kousu.ca/privkey.pem for kousu.ca Dec 13 16:12:58 comms2.kousu.ca prosody[374]: irc.kousu.ca:tls: Creating context for s2sin Dec 13 16:12:58 comms2.kousu.ca prosody[374]: certmanager: Searching /etc/letsencrypt/live for a key and certificate for irc.kousu.ca... Dec 13 16:12:58 comms2.kousu.ca prosody[374]: certmanager: No certificate/key found for irc.kousu.ca Dec 13 16:12:58 comms2.kousu.ca prosody[374]: certmanager: Searching /etc/letsencrypt/live for a key and certificate for kousu.ca... Dec 13 16:12:58 comms2.kousu.ca prosody[374]: certmanager: Selecting certificate /etc/letsencrypt/live/kousu.ca/fullchain.pem with key /etc/letsencrypt/live/kousu.ca/privkey.pem for kousu.ca Dec 13 16:12:58 comms2.kousu.ca prosody[374]: irc.kousu.ca:tls: Certificates loaded Dec 13 16:12:59 comms2.kousu.ca prosody[374]: runnerVbN5ZOWs: creating new coroutine Dec 13 16:12:59 comms2.kousu.ca prosody[374]: conference.kousu.ca:muc_mam: Deleted 0 expired messages for 0 rooms 1. Connection from my client (test@kousu.ca) Dec 13 16:16:01 comms2.kousu.ca prosody[374]: socket: server.lua: auto-starting ssl negotiation... Dec 13 16:16:01 comms2.kousu.ca prosody[374]: socket: server.lua: attempting to start tls on tcp{client}: 0x564efe39dc18 Dec 13 16:16:01 comms2.kousu.ca prosody[374]: socket: server.lua: accepted new client connection from 192.222.162.74:44306 to 5223 Dec 13 16:16:01 comms2.kousu.ca prosody[374]: socket: server.lua: ssl handshake done Dec 13 16:16:01 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Client connected Dec 13 16:16:01 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Client sent opening <stream:stream> to kousu.ca Dec 13 16:16:01 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s_unauthed]: <?xml version='1.0'?> Dec 13 16:16:01 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s_unauthed]: <stream:stream version='1.0' from='kousu.ca' xmlns:stream='http://etherx.jabber.org/streams' id='2d6ff28b-08d3-45b3-9a8d-2bcea467f422' xml:lang='en' xmlns='jabber:client'> Dec 13 16:16:01 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sent reply <stream:stream> to client Dec 13 16:16:01 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Offering mechanism PLAIN Dec 13 16:16:01 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Offering mechanism SCRAM-SHA-1 Dec 13 16:16:01 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Offering mechanism SCRAM-SHA-1-PLUS Dec 13 16:16:01 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s_unauthed]: <stream:features> Dec 13 16:16:01 comms2.kousu.ca prosody[374]: runnerWqsQpuwu: creating new coroutine Dec 13 16:16:01 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s_unauthed]: <auth mechanism='SCRAM-SHA-1' xmlns='urn:ietf:params:xml:ns:xmpp-sasl'> Dec 13 16:16:01 comms2.kousu.ca prosody[374]: kousu.ca:saslauth: sasl reply: <challenge xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>cj04ODBfc3JlOEwwZUFkc1BRYl91cXFuS1l2OURHdW1PbTF0azZYQkRYcWNPbWJqeHBDaElnU1VFZmJvZ256d1A3XzlIU05KQlJUR0lhUi1POVN2TWEyZ29DTXd3LTd5RWNzTW9aZndvRXJPRHZwRGlKYTQwNjVLb3daNHVKbW1QVTZEc244ZzMxMDQ5YjEyLTZjOWYtNGIxMy04MWYxLTZjNDgwOGI4NTRhZCxzPU9ETmpNR0ZoTmpFdE5XRXdNeTAwWmpjMkxXRXlZalV0WldJNFl6RmxNR0ZpTW1ReixpPTQwOTY=</challenge> Dec 13 16:16:01 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s_unauthed]: <challenge xmlns='urn:ietf:params:xml:ns:xmpp-sasl'> Dec 13 16:16:01 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s_unauthed]: <response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'> Dec 13 16:16:01 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Authenticated as test@kousu.ca Dec 13 16:16:01 comms2.kousu.ca prosody[374]: kousu.ca:saslauth: sasl reply: <success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>dj1pRW9yZXZRNzBzeVpZWDc3NEwrbFg3b1p5dnc9</success> Dec 13 16:16:01 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s_unbound]: <success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'> Dec 13 16:16:01 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Client sent opening <stream:stream> to kousu.ca Dec 13 16:16:01 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s_unbound]: <?xml version='1.0'?> Dec 13 16:16:01 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s_unbound]: <stream:stream version='1.0' from='kousu.ca' xmlns:stream='http://etherx.jabber.org/streams' id='2cce32fb-195f-45c7-8e53-d7ceb0c00016' xml:lang='en' xmlns='jabber:client'> Dec 13 16:16:01 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sent reply <stream:stream> to client Dec 13 16:16:01 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s_unbound]: <stream:features> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s_unbound]: <iq type='set' id='nsf8QC0mDEuN'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: rostermanager: load_roster: asked for: test@kousu.ca Dec 13 16:16:02 comms2.kousu.ca prosody[374]: rostermanager: load_roster: loading for new user: test@kousu.ca Dec 13 16:16:02 comms2.kousu.ca prosody[374]: rostermanager: load_roster: cache miss, loading from storage Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:pep: get_pep_service("test") Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:pep: Creating new persistent item store for user test, node "eu.siacs.conversations.axolotl.bundles:855152728" Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:pep: Creation of itemstore for node eu.siacs.conversations.axolotl.bundles:855152728 with config table: 0x564efe3c8f00 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:pep: Creating new persistent item store for user test, node "eu.siacs.conversations.axolotl.devicelist" Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:pep: Creation of itemstore for node eu.siacs.conversations.axolotl.devicelist with config table: 0x564efe3c99f0 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:pep: Restoring nodes for user test Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:pep: Restoring node "eu.siacs.conversations.axolotl.bundles:855152728" Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:pep: Restoring node "eu.siacs.conversations.axolotl.devicelist" Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:bookmarks: No existing Private XML bookmarks for test@kousu.ca, migration already done: <nil> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:bookmarks: Additionally, no PEP bookmarks were existing for test@kousu.ca Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: No legacy vCard to migrate or already migrated Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <iq id='nsf8QC0mDEuN' type='result'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Resource bound: test@kousu.ca/Conversations.GYbr Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <enable resume='true' xmlns='urn:xmpp:sm:3'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:smacks: Enabling stream management Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <enabled resume='true' id='3532fb27-226e-44a2-a7c9-43b304282056' max='600' xmlns='urn:xmpp:sm:3'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Handled 1 incoming stanzas Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <iq id='RBkMpqF3IU5r' type='get' from='test@kousu.ca/Conversations.GYbr'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <iq id='RBkMpqF3IU5r' to='test@kousu.ca/Conversations.GYbr' type='result'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Queuing <r> (in a moment) from outgoing_stanza_filter - #queue=1 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Handled 2 incoming stanzas Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <iq to='test@kousu.ca' id='Wi1zjlEPl_S_' type='get' from='test@kousu.ca/Conversations.GYbr'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:pep: get_pep_service("test") Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <iq id='Wi1zjlEPl_S_' to='test@kousu.ca/Conversations.GYbr' type='result' from='test@kousu.ca'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Handled 3 incoming stanzas Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <iq to='kousu.ca' id='Z1Z4XjewuAqv' type='get' from='test@kousu.ca/Conversations.GYbr'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <iq id='Z1Z4XjewuAqv' to='test@kousu.ca/Conversations.GYbr' type='result' from='kousu.ca'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending <r> (inside timer, before send) from outgoing_stanza_filter - #queue=3 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <r xmlns='urn:xmpp:sm:3'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending <r> (inside timer, after send) from outgoing_stanza_filter - #queue=3 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <r xmlns='urn:xmpp:sm:3'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:smacks: Received ack request, acking for 3 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <a h='3' xmlns='urn:xmpp:sm:3'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Handled 4 incoming stanzas Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <iq id='lASzSLcc34Ax' type='get' from='test@kousu.ca/Conversations.GYbr'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <iq id='lASzSLcc34Ax' to='test@kousu.ca/Conversations.GYbr' type='result'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Handled 5 incoming stanzas Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <iq to='test@kousu.ca' id='PIk9FlA5Yfxf' type='get' from='test@kousu.ca/Conversations.GYbr'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:pep: get_pep_service("test") Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:pep: Listed items function(mod_storage_internal.lua:140) Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <iq id='PIk9FlA5Yfxf' to='test@kousu.ca/Conversations.GYbr' type='result'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Handled 6 incoming stanzas Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <iq id='EGSRClsXAnbq' type='set' from='test@kousu.ca/Conversations.GYbr'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:carbons: test@kousu.ca/Conversations.GYbr enabled carbons Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <iq id='EGSRClsXAnbq' to='test@kousu.ca/Conversations.GYbr' type='result'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Handled 7 incoming stanzas Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <iq to='irc.kousu.ca' id='sznGkLn8gh3C' type='get' from='test@kousu.ca/Conversations.GYbr'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: irc.kousu.ca:component: Component not connected, bouncing error for: <iq to='irc.kousu.ca' id='sznGkLn8gh3C' type='get' from='test@kousu.ca/Conversations.GYbr'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <iq id='sznGkLn8gh3C' to='test@kousu.ca/Conversations.GYbr' type='error' from='irc.kousu.ca'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Handled 8 incoming stanzas Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <iq to='conference.kousu.ca' id='CtWABHy99LiH' type='get' from='test@kousu.ca/Conversations.GYbr'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <iq id='CtWABHy99LiH' to='test@kousu.ca/Conversations.GYbr' type='result' from='conference.kousu.ca'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <a xmlns='urn:xmpp:sm:3' h='3'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: #queue = 5 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Queuing <r> (in a moment) from handle_a - #queue=5 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending <r> (inside timer, before send) from handle_a - #queue=5 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <r xmlns='urn:xmpp:sm:3'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending <r> (inside timer, after send) from handle_a - #queue=5 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Handled 9 incoming stanzas Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <iq to='test@kousu.ca' id='KxWbB2lwpICY' type='get' from='test@kousu.ca/Conversations.GYbr'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:pep: get_pep_service("test") Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:pep: Listed items function(mod_storage_internal.lua:140) Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <iq id='KxWbB2lwpICY' to='test@kousu.ca/Conversations.GYbr' type='result'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Handled 10 incoming stanzas Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <iq id='Jqsn2HyC2CqU' type='get' from='test@kousu.ca/Conversations.GYbr'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <iq id='Jqsn2HyC2CqU' to='test@kousu.ca/Conversations.GYbr' type='result'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Handled 11 incoming stanzas Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <presence> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:pep: get_pep_service("test") Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <iq id='disco' to='test@kousu.ca/Conversations.GYbr' type='get' from='test@kousu.ca'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <presence from='test@kousu.ca/Conversations.GYbr'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:pep: get_pep_service("test") Dec 13 16:16:02 comms2.kousu.ca prosody[374]: mod_s2s: opening a new outgoing connection for this stanza Dec 13 16:16:02 comms2.kousu.ca prosody[374]: mod_s2s: stanza [presence] queued until connection complete Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe44cca0: First attempt to connect to sunshinegardens.org, starting with SRV lookup... Dec 13 16:16:02 comms2.kousu.ca prosody[374]: adns: Records for _xmpp-server._tcp.sunshinegardens.org. not in cache, sending query (thread: 0x564efe44e820)... Dec 13 16:16:02 comms2.kousu.ca prosody[374]: adns: Sending DNS query to 213.186.33.99 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:pep: get_pep_service("test") Dec 13 16:16:02 comms2.kousu.ca prosody[374]: mod_s2s: opening a new outgoing connection for this stanza Dec 13 16:16:02 comms2.kousu.ca prosody[374]: mod_s2s: stanza [presence] queued until connection complete 2. Attempting to contact a server with AAAA records Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: First attempt to connect to movim.eu, starting with SRV lookup... Dec 13 16:16:02 comms2.kousu.ca prosody[374]: adns: Records for _xmpp-server._tcp.movim.eu. not in cache, sending query (thread: 0x564efe4546d0)... Dec 13 16:16:02 comms2.kousu.ca prosody[374]: adns: Sending DNS query to 213.186.33.99 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:presence: outbound presence probe from test@kousu.ca for kousu@sunshinegardens.org Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe44cca0: trying to send over unauthed s2sout to sunshinegardens.org Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe44cca0: stanza [presence] queued Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:presence: outbound presence probe from test@kousu.ca for kousu@movim.eu Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: trying to send over unauthed s2sout to movim.eu Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: stanza [presence] queued Dec 13 16:16:02 comms2.kousu.ca prosody[374]: datamanager: Removing empty offline datastore for user test@kousu.ca Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Handled 12 incoming stanzas Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <iq id='_v3fMIx73pLb' type='set' from='test@kousu.ca/Conversations.GYbr'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:mam: Archive query, id muor9s172d with anyone from 1607893588 until now) Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:mam: Archive query muor9s172d completed Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <iq id='_v3fMIx73pLb' to='test@kousu.ca/Conversations.GYbr' type='result'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <a xmlns='urn:xmpp:sm:3' h='8'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: #queue = 5 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Queuing <r> (in a moment) from handle_a - #queue=5 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending <r> (inside timer, before send) from handle_a - #queue=5 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <r xmlns='urn:xmpp:sm:3'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending <r> (inside timer, after send) from handle_a - #queue=5 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: socket: server.lua: closed client handler and removed socket from list Dec 13 16:16:02 comms2.kousu.ca prosody[374]: adns: Reply for _xmpp-server._tcp.movim.eu. (thread: 0x564efe4546d0) Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: movim.eu has SRV records, handling... Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: Best record found, will connect to nl.movim.eu.:5269 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: adns: Records for nl.movim.eu. not in cache, sending query (thread: 0x564efe468150)... Dec 13 16:16:02 comms2.kousu.ca prosody[374]: adns: Sending DNS query to 213.186.33.99 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: socket: server.lua: closed client handler and removed socket from list Dec 13 16:16:02 comms2.kousu.ca prosody[374]: adns: Reply for nl.movim.eu. (thread: 0x564efe468150) Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: DNS reply for nl.movim.eu. gives us 2a01:7c8:aab8:6b9:5054:ff:fec9:fd84 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: Beginning new connection attempt to movim.eu ([2a01:7c8:aab8:6b9:5054:ff:fec9:fd84]:5269) Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: s2s connect() to movim.eu (2a01:7c8:aab8:6b9:5054:ff:fec9:fd84:5269) failed: Network is unreachable Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: Out of IP addresses, trying next SRV record (if any) Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: Failed in all attempts to connect to movim.eu Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: No other records to try for movim.eu - destroying Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: Destroying outgoing session kousu.ca->movim.eu: Connecting failed: Network is unreachable Dec 13 16:16:02 comms2.kousu.ca prosody[374]: s2sout564efe453100: Sending error replies for 2 queued stanzas because of failed outgoing connection to movim.eu Dec 13 16:16:02 comms2.kousu.ca prosody[374]: stanzarouter: Received[s2sin]: <presence to='test@kousu.ca/Conversations.GYbr' type='error' from='kousu@movim.eu'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <presence to='test@kousu.ca/Conversations.GYbr' type='error' from='kousu@movim.eu'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: stanzarouter: Received[s2sin]: <presence to='test@kousu.ca/Conversations.GYbr' type='error' from='kousu@movim.eu'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <presence to='test@kousu.ca/Conversations.GYbr' type='error' from='kousu@movim.eu'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Handled 13 incoming stanzas Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <iq id='disco' to='test@kousu.ca' type='result' from='test@kousu.ca/Conversations.GYbr'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:pep: get_pep_service("test") Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:pep: Get item current (published at 1607893425 by <nil>) Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:pep: Sending notification to test@kousu.ca/Conversations.GYbr from test@kousu.ca: <item id='current'><list xmlns='eu.siacs.conversations.axolotl'><device id='855152728'/></list></item> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: kousu.ca:mam: Not archiving stanza: <message to='test@kousu.ca/Conversations.GYbr' type='headline' from='test@kousu.ca'> (type) Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <message to='test@kousu.ca/Conversations.GYbr' type='headline' from='test@kousu.ca'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: stanzarouter: Discarding iq from c2s of type: result Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <a xmlns='urn:xmpp:sm:3' h='13'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: #queue = 3 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Queuing <r> (in a moment) from handle_a - #queue=3 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending <r> (inside timer, before send) from handle_a - #queue=3 Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <r xmlns='urn:xmpp:sm:3'> Dec 13 16:16:02 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending <r> (inside timer, after send) from handle_a - #queue=3 Dec 13 16:16:03 comms2.kousu.ca prosody[374]: socket: server.lua: closed client handler and removed socket from list 3. Attempting to contact a server with A records Dec 13 16:16:03 comms2.kousu.ca prosody[374]: adns: Reply for _xmpp-server._tcp.sunshinegardens.org. (thread: 0x564efe44e820) Dec 13 16:16:03 comms2.kousu.ca prosody[374]: s2sout564efe44cca0: sunshinegardens.org has SRV records, handling... Dec 13 16:16:03 comms2.kousu.ca prosody[374]: s2sout564efe44cca0: Best record found, will connect to im.sunshinegardens.org.:5269 Dec 13 16:16:03 comms2.kousu.ca prosody[374]: adns: Records for im.sunshinegardens.org. not in cache, sending query (thread: 0x564efe486d80)... Dec 13 16:16:03 comms2.kousu.ca prosody[374]: adns: Sending DNS query to 213.186.33.99 Dec 13 16:16:03 comms2.kousu.ca prosody[374]: socket: server.lua: closed client handler and removed socket from list Dec 13 16:16:03 comms2.kousu.ca prosody[374]: adns: Reply for im.sunshinegardens.org. (thread: 0x564efe486d80) Dec 13 16:16:03 comms2.kousu.ca prosody[374]: s2sout564efe44cca0: DNS lookup failed to get a response for im.sunshinegardens.org. Dec 13 16:16:03 comms2.kousu.ca prosody[374]: s2sout564efe44cca0: Failed in all attempts to connect to sunshinegardens.org Dec 13 16:16:03 comms2.kousu.ca prosody[374]: s2sout564efe44cca0: No other records to try for sunshinegardens.org - destroying Dec 13 16:16:03 comms2.kousu.ca prosody[374]: s2sout564efe44cca0: Destroying outgoing session kousu.ca->sunshinegardens.org: DNS resolution failed Dec 13 16:16:03 comms2.kousu.ca prosody[374]: s2sout564efe44cca0: Sending error replies for 2 queued stanzas because of failed outgoing connection to sunshinegardens.org Dec 13 16:16:03 comms2.kousu.ca prosody[374]: stanzarouter: Received[s2sin]: <presence to='test@kousu.ca/Conversations.GYbr' type='error' from='kousu@sunshinegardens.org'> Dec 13 16:16:03 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <presence to='test@kousu.ca/Conversations.GYbr' type='error' from='kousu@sunshinegardens.org'> Dec 13 16:16:03 comms2.kousu.ca prosody[374]: stanzarouter: Received[s2sin]: <presence to='test@kousu.ca/Conversations.GYbr' type='error' from='kousu@sunshinegardens.org'> Dec 13 16:16:03 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <presence to='test@kousu.ca/Conversations.GYbr' type='error' from='kousu@sunshinegardens.org'> Dec 13 16:16:03 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <a xmlns='urn:xmpp:sm:3' h='16'> Dec 13 16:16:03 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: #queue = 2 Dec 13 16:16:03 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Queuing <r> (in a moment) from handle_a - #queue=2 Dec 13 16:16:03 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending <r> (inside timer, before send) from handle_a - #queue=2 Dec 13 16:16:03 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <r xmlns='urn:xmpp:sm:3'> Dec 13 16:16:03 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending <r> (inside timer, after send) from handle_a - #queue=2 Dec 13 16:16:03 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <a xmlns='urn:xmpp:sm:3' h='18'> Dec 13 16:16:03 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: #queue = 0 Dec 13 16:16:31 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Handled 14 incoming stanzas Dec 13 16:16:31 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <presence> Dec 13 16:16:31 comms2.kousu.ca prosody[374]: kousu.ca:pep: get_pep_service("test") Dec 13 16:16:31 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <presence from='test@kousu.ca/Conversations.GYbr'> Dec 13 16:16:31 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Queuing <r> (in a moment) from outgoing_stanza_filter - #queue=1 Dec 13 16:16:31 comms2.kousu.ca prosody[374]: kousu.ca:pep: get_pep_service("test") Dec 13 16:16:31 comms2.kousu.ca prosody[374]: mod_s2s: opening a new outgoing connection for this stanza Dec 13 16:16:31 comms2.kousu.ca prosody[374]: mod_s2s: stanza [presence] queued until connection complete Dec 13 16:16:31 comms2.kousu.ca prosody[374]: s2sout564efe49c7b0: First attempt to connect to sunshinegardens.org, starting with SRV lookup... Dec 13 16:16:31 comms2.kousu.ca prosody[374]: adns: Records for _xmpp-server._tcp.sunshinegardens.org. not in cache, sending query (thread: 0x564efe49e1e0)... Dec 13 16:16:31 comms2.kousu.ca prosody[374]: adns: Sending DNS query to 213.186.33.99 Dec 13 16:16:31 comms2.kousu.ca prosody[374]: kousu.ca:pep: get_pep_service("test") Dec 13 16:16:31 comms2.kousu.ca prosody[374]: mod_s2s: opening a new outgoing connection for this stanza Dec 13 16:16:31 comms2.kousu.ca prosody[374]: mod_s2s: stanza [presence] queued until connection complete Dec 13 16:16:31 comms2.kousu.ca prosody[374]: s2sout564efe4a28f0: First attempt to connect to movim.eu, starting with SRV lookup... Dec 13 16:16:31 comms2.kousu.ca prosody[374]: adns: Records for _xmpp-server._tcp.movim.eu. not in cache, sending query (thread: 0x564efe4a3e00)... Dec 13 16:16:31 comms2.kousu.ca prosody[374]: adns: Sending DNS query to 213.186.33.99 Dec 13 16:16:31 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending <r> (inside timer, before send) from outgoing_stanza_filter - #queue=1 Dec 13 16:16:31 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <r xmlns='urn:xmpp:sm:3'> Dec 13 16:16:31 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending <r> (inside timer, after send) from outgoing_stanza_filter - #queue=1 Dec 13 16:16:31 comms2.kousu.ca prosody[374]: socket: server.lua: closed client handler and removed socket from list Dec 13 16:16:31 comms2.kousu.ca prosody[374]: adns: Reply for _xmpp-server._tcp.sunshinegardens.org. (thread: 0x564efe49e1e0) Dec 13 16:16:31 comms2.kousu.ca prosody[374]: s2sout564efe49c7b0: sunshinegardens.org has SRV records, handling... Dec 13 16:16:31 comms2.kousu.ca prosody[374]: s2sout564efe49c7b0: Best record found, will connect to im.sunshinegardens.org.:5269 Dec 13 16:16:31 comms2.kousu.ca prosody[374]: adns: Records for im.sunshinegardens.org. not in cache, sending query (thread: 0x564efe4aad70)... Dec 13 16:16:31 comms2.kousu.ca prosody[374]: adns: Sending DNS query to 213.186.33.99 Dec 13 16:16:31 comms2.kousu.ca prosody[374]: socket: server.lua: closed client handler and removed socket from list Dec 13 16:16:31 comms2.kousu.ca prosody[374]: adns: Reply for _xmpp-server._tcp.movim.eu. (thread: 0x564efe4a3e00) Dec 13 16:16:31 comms2.kousu.ca prosody[374]: s2sout564efe4a28f0: movim.eu has SRV records, handling... Dec 13 16:16:31 comms2.kousu.ca prosody[374]: s2sout564efe4a28f0: Best record found, will connect to nl.movim.eu.:5269 Dec 13 16:16:31 comms2.kousu.ca prosody[374]: adns: Records for nl.movim.eu. not in cache, sending query (thread: 0x564efe4b00d0)... Dec 13 16:16:31 comms2.kousu.ca prosody[374]: adns: Sending DNS query to 213.186.33.99 Dec 13 16:16:31 comms2.kousu.ca prosody[374]: socket: server.lua: found no handler and closed socket (writelist) Dec 13 16:16:31 comms2.kousu.ca prosody[374]: socket: server.lua: found no handler and closed socket (writelist) Dec 13 16:16:31 comms2.kousu.ca prosody[374]: socket: server.lua: closed client handler and removed socket from list Dec 13 16:16:31 comms2.kousu.ca prosody[374]: adns: Reply for im.sunshinegardens.org. (thread: 0x564efe4aad70) Dec 13 16:16:31 comms2.kousu.ca prosody[374]: s2sout564efe49c7b0: DNS lookup failed to get a response for im.sunshinegardens.org. Dec 13 16:16:31 comms2.kousu.ca prosody[374]: s2sout564efe49c7b0: Failed in all attempts to connect to sunshinegardens.org Dec 13 16:16:31 comms2.kousu.ca prosody[374]: s2sout564efe49c7b0: No other records to try for sunshinegardens.org - destroying Dec 13 16:16:31 comms2.kousu.ca prosody[374]: s2sout564efe49c7b0: Destroying outgoing session kousu.ca->sunshinegardens.org: DNS resolution failed Dec 13 16:16:31 comms2.kousu.ca prosody[374]: s2sout564efe49c7b0: Sending error replies for 1 queued stanzas because of failed outgoing connection to sunshinegardens.org Dec 13 16:16:31 comms2.kousu.ca prosody[374]: stanzarouter: Received[s2sin]: <presence to='test@kousu.ca/Conversations.GYbr' type='error' from='kousu@sunshinegardens.org'> Dec 13 16:16:31 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <presence to='test@kousu.ca/Conversations.GYbr' type='error' from='kousu@sunshinegardens.org'> Dec 13 16:16:31 comms2.kousu.ca prosody[374]: socket: server.lua: closed client handler and removed socket from list Dec 13 16:16:31 comms2.kousu.ca prosody[374]: adns: Reply for nl.movim.eu. (thread: 0x564efe4b00d0) Dec 13 16:16:31 comms2.kousu.ca prosody[374]: s2sout564efe4a28f0: DNS reply for nl.movim.eu. gives us 2a01:7c8:aab8:6b9:5054:ff:fec9:fd84 Dec 13 16:16:31 comms2.kousu.ca prosody[374]: s2sout564efe4a28f0: Beginning new connection attempt to movim.eu ([2a01:7c8:aab8:6b9:5054:ff:fec9:fd84]:5269) Dec 13 16:16:31 comms2.kousu.ca prosody[374]: s2sout564efe4a28f0: s2s connect() to movim.eu (2a01:7c8:aab8:6b9:5054:ff:fec9:fd84:5269) failed: Network is unreachable Dec 13 16:16:31 comms2.kousu.ca prosody[374]: s2sout564efe4a28f0: Out of IP addresses, trying next SRV record (if any) Dec 13 16:16:31 comms2.kousu.ca prosody[374]: s2sout564efe4a28f0: Failed in all attempts to connect to movim.eu Dec 13 16:16:31 comms2.kousu.ca prosody[374]: s2sout564efe4a28f0: No other records to try for movim.eu - destroying Dec 13 16:16:31 comms2.kousu.ca prosody[374]: s2sout564efe4a28f0: Destroying outgoing session kousu.ca->movim.eu: Connecting failed: Network is unreachable Dec 13 16:16:31 comms2.kousu.ca prosody[374]: s2sout564efe4a28f0: Sending error replies for 1 queued stanzas because of failed outgoing connection to movim.eu Dec 13 16:16:31 comms2.kousu.ca prosody[374]: stanzarouter: Received[s2sin]: <presence to='test@kousu.ca/Conversations.GYbr' type='error' from='kousu@movim.eu'> Dec 13 16:16:31 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <presence to='test@kousu.ca/Conversations.GYbr' type='error' from='kousu@movim.eu'> Dec 13 16:16:31 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <a xmlns='urn:xmpp:sm:3' h='19'> Dec 13 16:16:31 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: #queue = 2 Dec 13 16:16:31 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Queuing <r> (in a moment) from handle_a - #queue=2 Dec 13 16:16:31 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending <r> (inside timer, before send) from handle_a - #queue=2 Dec 13 16:16:31 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <r xmlns='urn:xmpp:sm:3'> Dec 13 16:16:31 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending <r> (inside timer, after send) from handle_a - #queue=2 Dec 13 16:16:31 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <a xmlns='urn:xmpp:sm:3' h='21'> Dec 13 16:16:31 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: #queue = 0 Dec 13 16:16:38 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Handled 15 incoming stanzas Dec 13 16:16:38 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Received[c2s]: <presence> Dec 13 16:16:38 comms2.kousu.ca prosody[374]: kousu.ca:pep: get_pep_service("test") Dec 13 16:16:38 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <presence from='test@kousu.ca/Conversations.GYbr'> Dec 13 16:16:38 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Queuing <r> (in a moment) from outgoing_stanza_filter - #queue=1 Dec 13 16:16:38 comms2.kousu.ca prosody[374]: kousu.ca:pep: get_pep_service("test") Dec 13 16:16:38 comms2.kousu.ca prosody[374]: mod_s2s: opening a new outgoing connection for this stanza Dec 13 16:16:38 comms2.kousu.ca prosody[374]: mod_s2s: stanza [presence] queued until connection complete Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4c6a90: First attempt to connect to sunshinegardens.org, starting with SRV lookup... Dec 13 16:16:38 comms2.kousu.ca prosody[374]: adns: Records for _xmpp-server._tcp.sunshinegardens.org. not in cache, sending query (thread: 0x564efe4c82b0)... Dec 13 16:16:38 comms2.kousu.ca prosody[374]: adns: Sending DNS query to 213.186.33.99 Dec 13 16:16:38 comms2.kousu.ca prosody[374]: kousu.ca:pep: get_pep_service("test") Dec 13 16:16:38 comms2.kousu.ca prosody[374]: mod_s2s: opening a new outgoing connection for this stanza Dec 13 16:16:38 comms2.kousu.ca prosody[374]: mod_s2s: stanza [presence] queued until connection complete Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4ccd30: First attempt to connect to movim.eu, starting with SRV lookup... Dec 13 16:16:38 comms2.kousu.ca prosody[374]: adns: Records for _xmpp-server._tcp.movim.eu. not in cache, sending query (thread: 0x564efe4ce2e0)... Dec 13 16:16:38 comms2.kousu.ca prosody[374]: adns: Sending DNS query to 213.186.33.99 Dec 13 16:16:38 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending <r> (inside timer, before send) from outgoing_stanza_filter - #queue=1 Dec 13 16:16:38 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <r xmlns='urn:xmpp:sm:3'> Dec 13 16:16:38 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending <r> (inside timer, after send) from outgoing_stanza_filter - #queue=1 Dec 13 16:16:38 comms2.kousu.ca prosody[374]: socket: server.lua: closed client handler and removed socket from list Dec 13 16:16:38 comms2.kousu.ca prosody[374]: adns: Reply for _xmpp-server._tcp.sunshinegardens.org. (thread: 0x564efe4c82b0) Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4c6a90: sunshinegardens.org has SRV records, handling... Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4c6a90: Best record found, will connect to im.sunshinegardens.org.:5269 Dec 13 16:16:38 comms2.kousu.ca prosody[374]: adns: Records for im.sunshinegardens.org. not in cache, sending query (thread: 0x564efe4d5550)... Dec 13 16:16:38 comms2.kousu.ca prosody[374]: adns: Sending DNS query to 213.186.33.99 Dec 13 16:16:38 comms2.kousu.ca prosody[374]: socket: server.lua: closed client handler and removed socket from list Dec 13 16:16:38 comms2.kousu.ca prosody[374]: adns: Reply for im.sunshinegardens.org. (thread: 0x564efe4d5550) Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4c6a90: DNS lookup failed to get a response for im.sunshinegardens.org. Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4c6a90: Failed in all attempts to connect to sunshinegardens.org Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4c6a90: No other records to try for sunshinegardens.org - destroying Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4c6a90: Destroying outgoing session kousu.ca->sunshinegardens.org: DNS resolution failed Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4c6a90: Sending error replies for 1 queued stanzas because of failed outgoing connection to sunshinegardens.org Dec 13 16:16:38 comms2.kousu.ca prosody[374]: stanzarouter: Received[s2sin]: <presence to='test@kousu.ca/Conversations.GYbr' type='error' from='kousu@sunshinegardens.org'> Dec 13 16:16:38 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <presence to='test@kousu.ca/Conversations.GYbr' type='error' from='kousu@sunshinegardens.org'> Dec 13 16:16:38 comms2.kousu.ca prosody[374]: socket: server.lua: closed client handler and removed socket from list Dec 13 16:16:38 comms2.kousu.ca prosody[374]: adns: Reply for _xmpp-server._tcp.movim.eu. (thread: 0x564efe4ce2e0) Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4ccd30: movim.eu has SRV records, handling... Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4ccd30: Best record found, will connect to nl.movim.eu.:5269 Dec 13 16:16:38 comms2.kousu.ca prosody[374]: adns: Records for nl.movim.eu. not in cache, sending query (thread: 0x564efe4df540)... Dec 13 16:16:38 comms2.kousu.ca prosody[374]: adns: Sending DNS query to 213.186.33.99 Dec 13 16:16:38 comms2.kousu.ca prosody[374]: socket: server.lua: closed client handler and removed socket from list Dec 13 16:16:38 comms2.kousu.ca prosody[374]: adns: Reply for nl.movim.eu. (thread: 0x564efe4df540) Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4ccd30: DNS reply for nl.movim.eu. gives us 2a01:7c8:aab8:6b9:5054:ff:fec9:fd84 Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4ccd30: Beginning new connection attempt to movim.eu ([2a01:7c8:aab8:6b9:5054:ff:fec9:fd84]:5269) Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4ccd30: s2s connect() to movim.eu (2a01:7c8:aab8:6b9:5054:ff:fec9:fd84:5269) failed: Network is unreachable Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4ccd30: Out of IP addresses, trying next SRV record (if any) Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4ccd30: Failed in all attempts to connect to movim.eu Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4ccd30: No other records to try for movim.eu - destroying Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4ccd30: Destroying outgoing session kousu.ca->movim.eu: Connecting failed: Network is unreachable Dec 13 16:16:38 comms2.kousu.ca prosody[374]: s2sout564efe4ccd30: Sending error replies for 1 queued stanzas because of failed outgoing connection to movim.eu Dec 13 16:16:38 comms2.kousu.ca prosody[374]: stanzarouter: Received[s2sin]: <presence to='test@kousu.ca/Conversations.GYbr' type='error' from='kousu@movim.eu'> Dec 13 16:16:38 comms2.kousu.ca prosody[374]: c2s564efe3ac2a0: Sending[c2s]: <presence to='test@kousu.ca/Conversations.GYbr' type='error' from='kousu@movim.eu'> ---------- Here are my version info. I'm on ArchLinux with these packages; one thing that is suspicious, though maybe a coincidence, is that BIND was updated just this morning, just before the problem started: ``` [root@comms2 ~]# pacman -Qi prosody Name : prosody Version : 1:0.11.7-1 Description : Lightweight and extensible Jabber/XMPP server written in Lua Architecture : x86_64 URL : https://prosody.im/ Licenses : MIT Groups : None Provides : prosody Depends On : lua52 lua52-socket lua52-expat lua52-filesystem libidn openssl Optional Deps : lua52-sec: TLS encryption support [installed] lua52-dbi: SQL storage support Required By : None Optional For : None Conflicts With : prosody Replaces : None Installed Size : 1475.10 KiB Packager : Sergej Pupykin <pupykin.s+arch@gmail.com> Build Date : Thu 01 Oct 2020 05:15:46 PM EDT Install Date : Sat 03 Oct 2020 06:05:56 PM EDT Install Reason : Explicitly installed Install Script : Yes Validated By : Signature [root@comms2 ~]# pacman -Qi prosody lua52 lua-sec openssl bind Name : prosody Version : 1:0.11.7-1 Description : Lightweight and extensible Jabber/XMPP server written in Lua Architecture : x86_64 URL : https://prosody.im/ Licenses : MIT Groups : None Provides : prosody Depends On : lua52 lua52-socket lua52-expat lua52-filesystem libidn openssl Optional Deps : lua52-sec: TLS encryption support [installed] lua52-dbi: SQL storage support Required By : None Optional For : None Conflicts With : prosody Replaces : None Installed Size : 1475.10 KiB Packager : Sergej Pupykin <pupykin.s+arch@gmail.com> Build Date : Thu 01 Oct 2020 05:15:46 PM EDT Install Date : Sat 03 Oct 2020 06:05:56 PM EDT Install Reason : Explicitly installed Install Script : Yes Validated By : Signature Name : lua52 Version : 5.2.4-5 Description : Powerful lightweight programming language designed for extending applications Architecture : x86_64 URL : https://www.lua.org/ Licenses : MIT Groups : None Provides : None Depends On : readline Optional Deps : None Required By : prosody Optional For : None Conflicts With : None Replaces : None Installed Size : 937.01 KiB Packager : Anatol Pomozov <anatol.pomozov@gmail.com> Build Date : Wed 19 Feb 2020 07:56:57 PM EST Install Date : Sat 29 Feb 2020 06:01:13 PM EST Install Reason : Installed as a dependency for another package Install Script : No Validated By : Signature Name : lua-sec Version : 2:0.9-2 Description : Lua bindings for OpenSSL library to provide TLS/SSL communication. Architecture : x86_64 URL : https://github.com/brunoos/luasec/wiki Licenses : MIT Groups : None Provides : None Depends On : openssl lua-socket Optional Deps : None Required By : None Optional For : None Conflicts With : None Replaces : None Installed Size : 84.72 KiB Packager : Daurnimator <daurnimator@archlinux.org> Build Date : Sun 05 Jul 2020 10:33:46 AM EDT Install Date : Sat 08 Aug 2020 06:03:58 PM EDT Install Reason : Explicitly installed Install Script : No Validated By : Signature Name : openssl Version : 1.1.1.h-1 Description : The Open Source toolkit for Secure Sockets Layer and Transport Layer Security Architecture : x86_64 URL : https://www.openssl.org Licenses : custom:BSD Groups : None Provides : None Depends On : perl Optional Deps : ca-certificates [installed] Required By : apache bind coreutils cryptsetup curl git kmod ldns libarchive libevent libsasl libssh libssh2 lua-sec lua51-sec lua52-sec mariadb-libs netdata nginx openssh postgresql-libs prosody python python-pyopenssl python2 rsync s-nail srt systemd tcpdump Optional For : apr-util Conflicts With : None Replaces : None Installed Size : 7.31 MiB Packager : Pierre Schmitz <pierre@archlinux.de> Build Date : Tue 22 Sep 2020 10:59:44 AM EDT Install Date : Sat 26 Sep 2020 06:02:22 PM EDT Install Reason : Installed as a dependency for another package Install Script : No Validated By : Signature Name : bind Version : 9.16.9-1 Description : A complete, highly portable implementation of the DNS protocol Architecture : x86_64 URL : https://www.isc.org/software/bind/ Licenses : MPL2 Groups : None Provides : bind-tools dnsutils dns-server Depends On : bash dnssec-anchors e2fsprogs glibc icu libedit json-c krb5 libcap libidn2 libmaxminddb libnsl libuv libxml2 lmdb openssl python python-ply readline xz zlib Optional Deps : None Required By : None Optional For : None Conflicts With : bind-tools dnsutils Replaces : bind-tools dnsutils host Installed Size : 6.66 MiB Packager : Sébastien Luttringer <seblu@seblu.net> Build Date : Mon 07 Dec 2020 05:44:17 AM EST Install Date : Sun 13 Dec 2020 12:01:18 AM EST Install Reason : Explicitly installed Install Script : Yes Validated By : Signature ``` Here is my prosody config: ``` [root@comms2 ~]# cat /etc/prosody/prosody.cfg.lua --Important for systemd -- daemonize is important for systemd. if you set this to false the systemd startup will freeze. daemonize = true pidfile = "/run/prosody/prosody.pid" -- Prosody Example Configuration File -- -- Information on configuring Prosody can be found on our -- website at https://prosody.im/doc/configure -- -- Tip: You can check that the syntax of this file is correct -- when you have finished by running this command: -- prosodyctl check config -- If there are any errors, it will let you know what and where -- they are, otherwise it will keep quiet. -- -- The only thing left to do is rename this file to remove the .dist ending, and fill in the -- blanks. Good luck, and happy Jabbering! ---------- Server-wide settings ---------- -- Settings in this section apply to the whole server and are the default settings -- for any virtual hosts -- This is a (by default, empty) list of accounts that are admins -- for the server. Note that you must create the accounts separately -- (see https://prosody.im/doc/creating_accounts for info) -- Example: admins = { "user1@example.com", "user2@example.net" } admins = { "nick@kousu.ca" } -- Enable use of libevent for better performance under high load -- For more information see: https://prosody.im/doc/libevent --use_libevent = true -- Prosody will always look in its source directory for modules, but -- this option allows you to specify additional locations where Prosody -- will look for modules first. For community modules, see https://modules.prosody.im/ plugin_paths = { "/usr/lib/prosody/community-modules" } -- This is the list of modules Prosody will load on startup. -- It looks for mod_modulename.lua in the plugins folder, so make sure that exists too. -- Documentation for bundled modules can be found at: https://prosody.im/doc/modules modules_enabled = { -- Generally required "roster"; -- Allow users to have a roster. Recommended ;) "saslauth"; -- Authentication for clients and servers. Recommended if you want to log in. "tls"; -- Add support for secure TLS on c2s/s2s connections "dialback"; -- s2s dialback support "disco"; -- Service discovery -- Not essential, but recommended "carbons"; -- Keep multiple clients in sync "pep"; -- Enables users to publish their avatar, mood, activity, playing music and more "private"; -- Private XML storage (for room bookmarks, etc.) "blocklist"; -- Allow users to block communications with other users "vcard4"; -- User profiles (stored in PEP) "vcard_legacy"; -- Conversion between legacy vCard and PEP Avatar, vcard -- Nice to have "version"; -- Replies to server version requests "uptime"; -- Report how long server has been running "time"; -- Let others know the time here on this server "ping"; -- Replies to XMPP pings with pongs "register"; -- Allow users to register on this server using a client and change passwords -- disabled june 2020 to avoid load problems "mam"; -- Store messages in an archive and allow users to access it --"csi_simple"; -- Simple Mobile optimizations -- Admin interfaces "admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc commands --"admin_telnet"; -- Opens telnet console interface on localhost port 5582 -- HTTP modules --"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP" "websocket"; -- XMPP over WebSockets --"http_files"; -- Serve static files from a directory over HTTP -- Other specific functionality --"limits"; -- Enable bandwidth limiting for XMPP connections --"groups"; -- Shared roster support --"server_contact_info"; -- Publish contact information for this service --"announce"; -- Send announcement to all online users --"welcome"; -- Welcome users who register accounts --"watchregistrations"; -- Alert admins of registrations --"motd"; -- Send a message to users when they log in --"legacyauth"; -- Legacy authentication. Only used by some old clients and bots. "http_upload"; --"s2s_whitelist"; "s2s_blacklist"; -- reduce bandwidth for mobile "smacks"; -- "csi_battery_saver"; "watchuntrusted"; "proxy65"; -- Enables a file transfer proxy service which clients behind NAT can use "turncredentials"; "bookmarks"; "server_contact_info"; "cloud_notify"; "migrate"; } -- These modules are auto-loaded, but should you want -- to disable them then uncomment them here: modules_disabled = { -- "offline"; -- Store offline messages -- "c2s"; -- Handle client connections -- "s2s"; -- Handle server-to-server connections -- "posix"; -- POSIX functionality, sends server to background, enables syslog, etc. } -- enable web clients, via nginx trusted_proxies = { "127.0.0.1", "::1" } -- Disable account creation by default, for security -- For more information see https://prosody.im/doc/creating_accounts allow_registration = false -- direct TLS connections, without going through STARTTLS -- the downside of this, of course, is that it can't do vhosting legacy_ssl_ssl = { certificate = "/etc/letsencrypt/live/kousu.ca/fullchain.pem"; key = "/etc/letsencrypt/live/kousu.ca/privkey.pem"; } legacy_ssl_ports = { 5223 } ssl = { protocol = "tlsv1_2+"; } -- Force clients to use encrypted connections? This option will -- prevent clients from authenticating unless they are using encryption. c2s_require_encryption = true -- Force servers to use encrypted connections? This option will -- prevent servers from authenticating unless they are using encryption. s2s_require_encryption = true -- Force certificate authentication for server-to-server connections? s2s_secure_auth = true -- Some servers have invalid or self-signed certificates. You can list -- remote domains here that will not be required to authenticate using -- certificates. They will be authenticated using DNS instead, even -- when s2s_secure_auth is enabled. s2s_insecure_domains = { "REDACTED" } -- Even if you disable s2s_secure_auth, you can still require valid -- certificates for some domains by specifying a list here. --s2s_secure_domains = { "jabber.org" } s2s_blacklist = { -- bad certs and the admins aren't taking care of them "REDACTED" } -- Select the authentication backend to use. The 'internal' providers -- use Prosody's configured data storage to store the authentication data. authentication = "internal_hashed" -- Select the storage backend to use. By default Prosody uses flat files -- in its configured data directory, but it also supports more backends -- through modules. An "sql" backend is included by default, but requires -- additional dependencies. See https://prosody.im/doc/storage for more info. --storage = "sql" -- Default is "internal" -- For the "sql" backend, you can uncomment *one* of the below to configure: --sql = { driver = "SQLite3", database = "prosody.sqlite" } -- Default. 'database' is the filename. --sql = { driver = "MySQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" } --sql = { driver = "PostgreSQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" } -- http_max_content_size = 3000*1024*1024 -- bad hack!! http_upload_file_size_limit = 3000*1024*1024 -- Archiving configuration -- If mod_mam is enabled, Prosody will store a copy of every message. This -- is used to synchronize conversations between multiple clients, even if -- they are offline. This setting controls how long Prosody will keep -- messages in the archive before removing them. archive_expires_after = "3y" default_archive_policy = "roster" -- archive_store = "archive2" -- the old data, todo: migrate to 'archive' -- You can also configure messages to be stored in-memory only. For more -- archiving options, see https://prosody.im/doc/modules/mod_mam turncredentials_secret = "REDACTED" turncredentials_host = "comms2.kousu.ca" -- France -- Logging configuration -- For advanced logging see https://prosody.im/doc/logging log = { -- info = "prosody.log"; -- Change 'info' to 'debug' for verbose logging -- error = "prosody.err"; debug = "*syslog"; -- Uncomment this for logging to syslog -- debug = "*console"; -- Log to the console, useful for debugging with daemonize=false } -- Uncomment to enable statistics -- For more info see https://prosody.im/doc/statistics -- statistics = "internal" -- Certificates -- Every virtual host and component needs a certificate so that clients and -- servers can securely verify its identity. Prosody will automatically load -- certificates/keys from the directory specified here. -- For more information, including how to use 'prosodyctl' to auto-import certificates -- (from e.g. Let's Encrypt) see https://prosody.im/doc/certificates -- Location of directory to find certificates in (relative to main config file): certificates = "/etc/letsencrypt/live" -- ugh awkward: setting up an HTTPS cert was tricky -- HTTPS currently only supports a single certificate, specify it here: --https_certificate = "/etc/prosody/certs/localhost.crt" -- XXX look into https://prosody.im/doc/port_multiplexing, it seems like maybe they made this better http_ports = { 5280 } -- disable unencrypted HTTP contact_info = { abuse = { "mailto:abuse@kousu.ca" }; admin = { "mailto:admin@kousu.ca", "xmpp:nick@kousu.ca" }; feedback = { "mailto:nick@kousu.ca", "xmpp:nick@kousu.ca" }; security = { "xmpp:nick@kousu.ca" }; support = { "xmpp:nick@kousu.ca" }; } ----------- Virtual hosts ----------- -- You need to add a VirtualHost entry for each domain you wish Prosody to serve. -- Settings under each VirtualHost entry apply *only* to that host. VirtualHost "kousu.ca" http_host = "comms2.kousu.ca" ------ Components ------ -- You can specify components to add hosts that provide special services, -- like multi-user conferences, and transports. -- For more information on components, see https://prosody.im/doc/components ---chatroom server ---note: this is *only* accessible from accounts *on this server* because DNS isn't set up correctly; dns has this domain pointed at my other server, comms.kousu.ca Component "conference.kousu.ca" "muc" modules_enabled = { -- Logos for chatrooms "vcard_muc"; -- Store MUC messages in an archive and allow users to access it "muc_mam"; } ``` --------------------------- In my particular case, where I'm using ArchLinux with systemd, I fixed this with two changes: Enable this systemd hack: ``` [root@comms2 ~]# systemctl enable --now netctl-wait-online ``` Add this setting to prosody's initscript: ``` [root@comms2 ~]# cat /etc/systemd/system/prosody.service.d/override.conf [Unit] After=network-online.target ``` Now prosody waits until there's an IPv4 address assigned, and everything is fine. Is there a way we can make prosody more resiliant to spotty connectivity?

  2. kousu on

    To be clear: my host *does* have IPv4 working fine. I don't know how to catch the state of the system between it getting IPv4. I assume the problem is this line: https://hg.prosody.im/0.11/file/tip/plugins/mod_s2s/s2sout.lib.lua#l341 > module:hook_global("service-added", function (event) > [...] > elseif sources[i].proto == "IPv4" then > has_ipv4 = true; Could this check happen more on every stanza, or on a timer, instead of at boot? sshd and nginx can come up without an immediately available network. Their strategies are probably good.

New comment

Not published. Used for spam prevention and optional update notifications.