Biboumi forwarding XMPP ping to IRC from non-joined client
Description of the issue
I'm connected to the IRC server from two clients, /yaxim
and /poezio
. Both are joined into #otherchannel
using the same nickname, but only poezio is joined to #channel
.
Now, due to bad circumstances, yaxim thinks it is joined to #channel
too, and sends a self-ping.
The code in Bridge::send_irc_participant_ping_request()
verifies that the account is joined to #channel
and forwards the request from yaxim accordingly, despite yaxim the client not being joined to the channel. Eventually, yaxim receives a proper ping response and still thinks it is joined.
Please make ping requests from a non-joined client fail with not-acceptable
or item-not-found
(or whatever is most appropriate).
Relevant debug logs
[DEBUG]: src/xmpp/xmpp_component.cpp:160: XMPP RECEIVING: <iq from='georg@yax.im/yaxim' id='e36YP-808' to='#channel%irc.server@irc.transport/Ge0rG[m]' type='get' xmlns='jabber:component:accept'><ping xmlns='urn:xmpp:ping'/></iq>
[DEBUG]: src/irc/irc_client.cpp:380: IRC SENDING: (irc.server) IrcMessage[PRIVMSG]{Ge0rG[m]}{PING e36YP-808}
[DEBUG]: src/xmpp/xmpp_component.cpp:78: XMPP SENDING: <iq from='ge0rg[m]%irc.server@irc.transport' id='997-PY63e' to='georg@yax.im/poezio' type='get'><ping xmlns='urn:xmpp:ping'/></iq>
[DEBUG]: src/irc/irc_client.cpp:342: IRC RECEIVING: (irc.server) IrcMessage[PRIVMSG]{Ge0rG[m]}{PING e36YP-808}(from: Ge0rG[m]!~georg@irc.transport)
[DEBUG]: src/xmpp/xmpp_component.cpp:160: XMPP RECEIVING: <iq from='georg@yax.im/poezio' id='997-PY63e' to='ge0rg[m]%irc.server@irc.transport' type='result' xmlns='jabber:component:accept'/>
[DEBUG]: src/irc/irc_client.cpp:380: IRC SENDING: (irc.server) IrcMessage[NOTICE]{ge0rg[m]}{PING e36YP-808}
[DEBUG]: src/irc/irc_client.cpp:342: IRC RECEIVING: (irc.server) IrcMessage[NOTICE]{Ge0rG[m]}{PING e36YP-808}(from: Ge0rG[m]!~georg@irc.transport)
[DEBUG]: src/xmpp/xmpp_component.cpp:78: XMPP SENDING: <iq from='#channel%irc.server@irc.transport/Ge0rG[m]' id='e36YP-808' to='georg@yax.im/yaxim' type='result'/>
To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information