#1630 MUC: do not make banned nicknames "reserved"
Reporter
ge0rg
Owner
Nobody
Created
Updated
Stars
★ (1)
Tags
Priority-Medium
Type-Defect
Status-Accepted
ge0rg
on
What steps will reproduce the problem?
1. Ban somebody from a MUC by nickname (this is not allowed by 0045, but maybe also works by banning nickname and JID?)
<iq id='81791c2da1654967ac2dd2671d07e1dc' type='set' xml:lang='en' from='georg@****' to='room@chat.yax.im'>
<query xmlns='http://jabber.org/protocol/muc#admin'>
<item nick='banned_nickname' affiliation='outcast'/>
</query>
</iq>
2. Have another user try to join the room using the nickname banned_nickname
What is the expected output?
The other user should be able to join.
What do you see instead?
The user is refused entry, because banned_nickname is reserved:
Feb 08 09:12:36 c2s55ccc3264750 info DEBUG-IN: <iq id='81791c2da1654967ac2dd2671d07e1dc'
type='set' xml:lang='en' from='georg@***' to='room@chat.yax.im'><query
xmlns='http://jabber.org/protocol/muc#admin'><item nick='banned_nickname'
affiliation='outcast'/></query></iq>
Feb 08 09:12:36 chat.yax.im:muc debug Reserving banned_nickname for evil_user@**** (outcast)
Feb 08 09:12:36 chat.yax.im:muc debug Updating affiliation data for evil_user@****
Feb 08 09:35:11 chat.yax.im:muc debug good_user@***** attempted to use nick banned_nickname reserved by evil_user@****
What version of the product are you using? On what operating system?
Prosody trunk nightly build 1322 (2020-08-21, cb5555443852)
Zash
on
Well well well, look what I found:
https://hg.prosody.im/trunk/rev/3c60081ca10a
still in there: https://hg.prosody.im/trunk/file/0.11.7/plugins/muc/muc.lib.lua#l928
> -- COMPAT Workaround for Miranda sending 'nick' instead of 'jid' when changing affiliation
So this is caused by compatibility behavior kicking in. I suppose we could drop this in trunk and see what breaks. We have after all been tightening up and making things stricter.
It'd be good if Someone™ could check if Miranda, or any other client, still requires this.
Changes
tags Status-Accepted
ge0rg
on
I really like compat behavior, as it also affects my unpatched poezio. My suggestion would be to add after the nickname->jid resolution a line that will unset the nickname if the affiliation is "outcast".
What steps will reproduce the problem? 1. Ban somebody from a MUC by nickname (this is not allowed by 0045, but maybe also works by banning nickname and JID?) <iq id='81791c2da1654967ac2dd2671d07e1dc' type='set' xml:lang='en' from='georg@****' to='room@chat.yax.im'> <query xmlns='http://jabber.org/protocol/muc#admin'> <item nick='banned_nickname' affiliation='outcast'/> </query> </iq> 2. Have another user try to join the room using the nickname banned_nickname What is the expected output? The other user should be able to join. What do you see instead? The user is refused entry, because banned_nickname is reserved: Feb 08 09:12:36 c2s55ccc3264750 info DEBUG-IN: <iq id='81791c2da1654967ac2dd2671d07e1dc' type='set' xml:lang='en' from='georg@***' to='room@chat.yax.im'><query xmlns='http://jabber.org/protocol/muc#admin'><item nick='banned_nickname' affiliation='outcast'/></query></iq> Feb 08 09:12:36 chat.yax.im:muc debug Reserving banned_nickname for evil_user@**** (outcast) Feb 08 09:12:36 chat.yax.im:muc debug Updating affiliation data for evil_user@**** Feb 08 09:35:11 chat.yax.im:muc debug good_user@***** attempted to use nick banned_nickname reserved by evil_user@**** What version of the product are you using? On what operating system? Prosody trunk nightly build 1322 (2020-08-21, cb5555443852)
Well well well, look what I found: https://hg.prosody.im/trunk/rev/3c60081ca10a still in there: https://hg.prosody.im/trunk/file/0.11.7/plugins/muc/muc.lib.lua#l928 > -- COMPAT Workaround for Miranda sending 'nick' instead of 'jid' when changing affiliation So this is caused by compatibility behavior kicking in. I suppose we could drop this in trunk and see what breaks. We have after all been tightening up and making things stricter. It'd be good if Someone™ could check if Miranda, or any other client, still requires this.
ChangesI really like compat behavior, as it also affects my unpatched poezio. My suggestion would be to add after the nickname->jid resolution a line that will unset the nickname if the affiliation is "outcast".