Missing RPL_TOPICWHOTIME from server results in incorrect RPL_TOPICWHOTIME sent to client #1034

Closed
opened 2026-10-05 04:59:35 +02:00 by adam · 0 comments
Owner

I got a report from a user of my server that sometimes, ZNC sends their client an invalid RPL_TOPICWHOTIME message.

The expected parameter list is: "<client> <channel> <nick> <setat>", but when the server omits RPL_TOPICWHOTIME, send ZNC sends a RPL_TOPICWHOTIME to the client with these parameters: `" 0".

Example log:

[2023-12-16 21:42:43.998187] (admin@odin/Matrix) ZNC -> CLI [:user:matrix.example.com!user@matrix.example.com JOIN #channel:matrix.example.com]
[2023-12-16 21:42:43.998265] (admin/Matrix) IRC -> ZNC [:server. 332 user:matrix.example.com #channel:matrix.example.com :[Alien4ports]]
[2023-12-16 21:42:43.998295] (admin@odin/Matrix) ZNC -> CLI [:server. 332 user:matrix.example.com #channel:matrix.example.com :[Alien4ports]]
[2023-12-16 21:42:43.998334] (admin/Matrix) IRC -> ZNC [:server. 353 user:matrix.example.com = #channel:matrix.example.com:user:matrix.example.com!abranson@matrix.example.com user:matrix.example.com!user@matrix.example.com user:matrix.example.com!djones@matrix.example.com user:matrix.example.com!frajo@matrix.example.com user:matrix.example.com!jpetrell@matrix.example.com user:matrix.example.com!pketolai@matrix.example.com]
[2023-12-16 21:42:43.998390] (admin@odin/Matrix) ZNC -> CLI [:server. 353 user:matrix.example.com = #channel:matrix.example.com:user:matrix.example.com user:matrix.example.com user:matrix.example.com user:matrix.example.com user:matrix.example.com user:matrix.example.com]
[2023-12-16 21:42:43.998416] (admin/Matrix) IRC -> ZNC [:server. 366 user:matrix.example.com #channel:matrix.example.com :End of /NAMES list]
[2023-12-16 21:42:43.998436] (admin@odin/Matrix) ZNC -> CLI [:server. 366 user:matrix.example.com #channel:matrix.example.com :End of /NAMES list]
[...]
[2023-12-16 21:44:54.504762] (admin@odin/Matrix) ZNC -> CLI [:user:matrix.example.com!user@matrix.example.com JOIN #channel:matrix.example.com]
[2023-12-16 21:44:54.504774] (admin@odin/Matrix) ZNC -> CLI [:server. 332 user:matrix.example.com #channel:matrix.example.com :[Alien4ports]]
[2023-12-16 21:44:54.504788] (admin@odin/Matrix) ZNC -> CLI [:server. 333 user:matrix.example.com #channel:matrix.example.com 0]
[2023-12-16 21:44:54.504820] (admin@odin/Matrix) ZNC -> CLI [:server. 353 user:matrix.example.com = #channel:matrix.example.com:user:matrix.example.com user:matrix.example.com user:matrix.example.com user:matrix.example.com user:matrix.example.com user:matrix.example.com] 
[2023-12-16 21:44:54.504838] (admin@odin/Matrix) ZNC -> CLI [:server. 366 user:matrix.example.com #channel:matrix.example.com :End of /NAMES list.]

ZNC version: 1.8.2

Loaded modules: webadmin, log, chansaver, adminlog, playback, lastseen

I got [a report](https://github.com/progval/matrix2051/issues/51) from a user of my server that sometimes, ZNC sends their client an invalid `RPL_TOPICWHOTIME` message. The [expected parameter list](https://modern.ircdocs.horse/#rpltopicwhotime-333) is: `"<client> <channel> <nick> <setat>"`, but when the server omits `RPL_TOPICWHOTIME`, send ZNC sends a `RPL_TOPICWHOTIME` to the client with these parameters: `"<client> <channel> 0". Example log: ``` [2023-12-16 21:42:43.998187] (admin@odin/Matrix) ZNC -> CLI [:user:matrix.example.com!user@matrix.example.com JOIN #channel:matrix.example.com] [2023-12-16 21:42:43.998265] (admin/Matrix) IRC -> ZNC [:server. 332 user:matrix.example.com #channel:matrix.example.com :[Alien4ports]] [2023-12-16 21:42:43.998295] (admin@odin/Matrix) ZNC -> CLI [:server. 332 user:matrix.example.com #channel:matrix.example.com :[Alien4ports]] [2023-12-16 21:42:43.998334] (admin/Matrix) IRC -> ZNC [:server. 353 user:matrix.example.com = #channel:matrix.example.com:user:matrix.example.com!abranson@matrix.example.com user:matrix.example.com!user@matrix.example.com user:matrix.example.com!djones@matrix.example.com user:matrix.example.com!frajo@matrix.example.com user:matrix.example.com!jpetrell@matrix.example.com user:matrix.example.com!pketolai@matrix.example.com] [2023-12-16 21:42:43.998390] (admin@odin/Matrix) ZNC -> CLI [:server. 353 user:matrix.example.com = #channel:matrix.example.com:user:matrix.example.com user:matrix.example.com user:matrix.example.com user:matrix.example.com user:matrix.example.com user:matrix.example.com] [2023-12-16 21:42:43.998416] (admin/Matrix) IRC -> ZNC [:server. 366 user:matrix.example.com #channel:matrix.example.com :End of /NAMES list] [2023-12-16 21:42:43.998436] (admin@odin/Matrix) ZNC -> CLI [:server. 366 user:matrix.example.com #channel:matrix.example.com :End of /NAMES list] [...] [2023-12-16 21:44:54.504762] (admin@odin/Matrix) ZNC -> CLI [:user:matrix.example.com!user@matrix.example.com JOIN #channel:matrix.example.com] [2023-12-16 21:44:54.504774] (admin@odin/Matrix) ZNC -> CLI [:server. 332 user:matrix.example.com #channel:matrix.example.com :[Alien4ports]] [2023-12-16 21:44:54.504788] (admin@odin/Matrix) ZNC -> CLI [:server. 333 user:matrix.example.com #channel:matrix.example.com 0] [2023-12-16 21:44:54.504820] (admin@odin/Matrix) ZNC -> CLI [:server. 353 user:matrix.example.com = #channel:matrix.example.com:user:matrix.example.com user:matrix.example.com user:matrix.example.com user:matrix.example.com user:matrix.example.com user:matrix.example.com] [2023-12-16 21:44:54.504838] (admin@odin/Matrix) ZNC -> CLI [:server. 366 user:matrix.example.com #channel:matrix.example.com :End of /NAMES list.] ``` ZNC version: 1.8.2 Loaded modules: webadmin, log, chansaver, adminlog, playback, lastseen <!-- github-sync-id:2044951318 -->
adam closed this issue 2026-10-05 04:59:35 +02:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/znc#1034