Project

General

Profile

Bug #1232

receives and displays PONG from rusnet server every 30 seconds

Added by gry over 4 years ago. Updated almost 2 years ago.

Status:
Confirmed
Priority:
Normal
Assignee:
Category:
-
Target version:
Start date:
06/17/2013
Due date:
% Done:

0%

Version:
0.9-pre
OS:
Any

Description

STR:
1) Connect to irc.rusnet.org.ru:6667
2) wait 60 seconds
3) see at least one "PONG <server name> <your nick>" in the status buffer for the network
4) sit for a bit longer, like an IRC user usually does
5) see a screenful of PONG lines in the status buffer

While other networks (freenode, efnet, unrealircd.com, ...) don't have this issue, I can't reproduce it in telnet to rusnet.

I can try adding an ignore list entry, but it should be interesting to figure out what exactly causes the server to pong.

History

#1 Updated by Anonymous over 4 years ago

Without actually checking this, I think the following happens: quassel pings actively, and expects the ircd to pong whatever the ping message contained (i.e. the timestamp); the ircd responds with what you see, so quassel thinks it was a manual ping and sends it to the status buffer.
I'm somewhat surprised by quassel not disconnecting (not sure if it sends those pings even when that feature is disabled).

What ircd does that network use?

#2 Updated by gry about 4 years ago

I think Quassel might be failing to disconnect as any activity from server lets it know that the connection is active (including broken pongs). However it stays unclear why it keeps pinging that often (pongs are displayed 2-3 times every minute).

It is a customised server with full name and version string being "2.0.5/uk_UA.KOI8-U with SSL support".

I would appreciate someone playing with the mentioned network and figuring out how to manually ignore the pongs as a workaround, no ignore rules I tried work.

#3 Updated by gry about 4 years ago

I talked to rusnet folks and it appears that they are compliant with the RFC, while majority of networks are not. The modern popular way of ponging is "PONG :<whatever the client sent in ping>" (not documented as a standard anywhere), while they do "PONG :<client nickname>" (documented in good ol' RFC). Proper handling of the latter would require the client to count the PONGs it receives, to have a clear idea of current lag to server. Relevant old discussion is at http://web.irc.org/mla/ircd-users/1999/msg00098.html

A next step could be to decide on one of the two:
1) this is easy to fix with existing code-base without too much effort
2) the standard is out of date and should be ignored like majority of networks do

(Any other IRC client I tried copes with rusnet just fine.)

#4 Updated by Sputnick almost 4 years ago

  • Status changed from New to Confirmed
  • Assignee set to Sputnick
  • Target version set to 0.10.0

Would love to blame Rusnet for violating common sense, but as discussed in IRC, they're RFC-compliant.

So I guess we would like to handle that case sanely.

By the way, the reason Quassel sends those pings is that they're the only way to determine network latency, as normal messages don't carry a timestamp. I'll have a look at what other clients do, I guess.

#5 Updated by romibi almost 2 years ago

Still the case in 0.12.2

In my case it was this Server:

fakecake.org, port 9670, UTF-8, SSL, (#tt-rss)

Also available in: Atom PDF