Project

General

Profile

Bug #1612

quasselcore attempts to connect to irc.rizon.net multiple times in a row causing temporary ban

Added by samulus about 2 months ago. Updated about 1 month ago.

Status:
New
Priority:
High
Assignee:
-
Category:
-
Target version:
-
Start date:
10/16/2020
Due date:
% Done:

0%

Estimated time:
Version:
0.13.0
OS:
Any

Description

My quasselcore instance randomly gets kicked from rizon and banned temporarily with the following error message:

irssi / weechat can stay connected for a week straight without this ban occuring, it happens randomly on Quassel. I disabled automatic reconnections and have custom rate limits set to 1 message at once, 5s between future messages.

I am using v0.13.1 with 2 connected clients (Quasseldroid v1.3.3, v.0.13.1), but this bug occurs even when only one Quassel client is connected (the desktop or mobile client alone)

I am trying to connect to irc.rizon.net:6697 (SSL)

[3:04:43 pm] * You are banned from this server- Temporary ban until Fri Oct 16 19:34:43 2020. - Too many connections from your host: please visit http://www.rizon.net/vbulletin/showthread.php?t=29 for help (2020/10/16 19.04)
[3:04:43 pm] * Error from server: Closing Link: 2600:3c00::f03c:91ff:fef8:4b8c (Connection closed)
[3:04:43 pm] * Connection failure: The TLS/SSL connection has been closed
[3:04:43 pm] * Connection failure: The remote host closed the connection
[3:23:08 pm] * Connection failed. Cycling to next Server
[3:23:08 pm] * Connecting to irc.rizon.net:6697...
[3:23:08 pm] * Requesting capability list...
[3:23:08 pm] [irc.rizon.io] *** Looking up your hostname...
[3:23:08 pm] [irc.rizon.io] *** Checking Ident
[3:23:08 pm] [irc.rizon.io] *** No Ident response
[3:23:08 pm] * Ready to negotiate (found: multi-prefix, sasl, invite-notify, userhost-in-names, away-notify, chghost)
[3:23:08 pm] * Negotiating capabilities (requesting: away-notify, chghost, multi-prefix, userhost-in-names)...
[3:23:08 pm] [irc.rizon.io] *** Couldn't look up your hostname
[3:23:08 pm] * Capability negotiation finished (enabled: away-notify, chghost, multi-prefix, userhost-in-names)
[3:23:12 pm] * Error from server: Closing Link: 2600:3c00::f03c:91ff:fef8:4b8c (Banned)
[3:23:12 pm] * Connection failure: The TLS/SSL connection has been closed
[3:23:12 pm] [irc.rizon.io] *** Banned until Fri Oct 16 19:34:43 2020: Too many connections from your host: please visit http://www.rizon.net/vbulletin/showthread.php?t=29 for help (2020/10/16 19.04)
[3:23:12 pm] * Connection failure: The remote host closed the connection
[3:25:57 pm] * Connection failed. Cycling to next Server
[3:25:57 pm] * Connecting to irc.rizon.net:6697...
[3:25:57 pm] * Requesting capability list...

History

#1 Updated by digitalcircuit about 1 month ago

From reading the server's message, this looks like it might be an issue with having too many open connections at once:
Too many connections from your host: please visit http://www.rizon.net/vbulletin/showthread.php?t=29 for help

You can have as many Quassel clients connected to your Quassel core as you want, the IRC server (Rizon in this case) won't notice a difference. However, any additional connected IRC clients (not the same as Quassel clients) on the server running your Quassel core (e.g. irssi / weechat) would count against this simultaneous open connection limit.

I'd double-check to make sure you don't have multiple connections open to Rizon inside Quassel (e.g. duplicate networks), and don't have multiple other IRC clients connecting via the same IP/connection as your Quassel core connects. If not, then you may need to request a session limit exemption as shown in the forum thread, http://www.rizon.net/vbulletin/showthread.php?t=29 .

If this resolves your issue, I can close the bug, and if not, we can investigate this further. Thank you for your time!

#2 Updated by digitalcircuit about 1 month ago

Pardon, I forgot to add this - if Quassel is dropping the connection, it doesn't show in the status logs you pasted above. I'd need to see the messages of the multiple connection attempts before a temporary ban is triggered. This only shows after the ban is triggered, which isn't something Quassel can really do anything about.

If you need extra debugging information, the Quassel core can be launched with --debug-irc --loglevel Debug to dump the raw IRC messages to the Quassel logs (including passwords, be careful). This may involve editing the init service script/systemd service/etc with your changes, e.g. systemctl edit quasselcore.service and copy the ExecStart line from the original service, adding in the arguments you want.

#3 Updated by samulus about 1 month ago

digitalcircuit wrote:

Pardon, I forgot to add this - if Quassel is dropping the connection, it doesn't show in the status logs you pasted above. I'd need to see the messages of the multiple connection attempts before a temporary ban is triggered. This only shows after the ban is triggered, which isn't something Quassel can really do anything about.

If you need extra debugging information, the Quassel core can be launched with --debug-irc --loglevel Debug to dump the raw IRC messages to the Quassel logs (including passwords, be careful). This may involve editing the init service script/systemd service/etc with your changes, e.g. systemctl edit quasselcore.service and copy the ExecStart line from the original service, adding in the arguments you want.

I'll try rerunning it with additional debug information in case it happens again. I can confirm that I don't have any duplicate rizon networks on Quassel, or multiple quaselcore instances running. Or other irc clients connected to this network. I haven't been kick banned in 72hr now after changing the custom rate limit to a maximum of 1 message at a time and 5s between future messages (it's enough for my purposes but not sure if it's a placebo setting with respect to this bug.)

#4 Updated by digitalcircuit about 1 month ago

samulus wrote:

I'll try rerunning it with additional debug information in case it happens again. I can confirm that I don't have any duplicate rizon networks on Quassel, or multiple quaselcore instances running. Or other irc clients connected to this network. I haven't been kick banned in 72hr now after changing the custom rate limit to a maximum of 1 message at a time and 5s between future messages (it's enough for my purposes but not sure if it's a placebo setting with respect to this bug.)

That's strange... Hopefully we can catch the original disconnect cause or message if it happens again. Thanks for continuing to look into this!

I've run into IRC server kicks due to Quassel's rate-limiting allowing too many large messages close together in the past, but it never led to a reconnect loop and ban. Separately, I've wound up in a ban due to the default settings for InspIRCd's connectban module combined with an invalid TLS certificate, which led Quassel to keep retrying just often enough to get banned. I'm not sure what Rizon has configured, though.

(Eventually I want to put in backoff logic into Quassel's connection retrying, so instead of a fixed e.g. 60 seconds, it'd be 5s, 15s, 45s, etc up to an upper limit. Not had the time/energy to do that though.)

Also available in: Atom PDF