#1868 mod_muc_mam sends status 170 or 171 even if the configuration hasn't changed
Reporter
John Livingston
Owner
Nobody
Created
Updated
Stars
★ (1)
Tags
Priority-Medium
Status-New
Compliance
Type-Defect
John Livingston
on
When submitting the room configuration form, the part of mod_muc_mam that handles "roomconfig_enablearchiving" changes always sends 170 or 171 status code, even if the value has not changed.
This is due to this part of the code:
```
module:hook("muc-config-submitted/"..muc_form_enable, function(event)
event.room._data.archiving = event.value;
event.status_codes[event.value and "170" or "171"] = true;
end);
```
If should test if value has changed, and just return if it has not.
The bug is visible with some clients, for exemple ConverseJS: it always displays "Groupchat logging is now enabled" when we save the room configuration.
> Please provide a snippet of the part of the specification which we violate
if possible:
"A room MUST send notification to all occupants when the room configuration changes in a way that has an impact on the privacy or security profile of the room."
It is not clearly written, but I assume that status code should not be sent if there is no modification (and usually, Prosody does check if there is a value change, and only sends 104 status code if there is any change).
> Please provide a link to the specification:
https://xmpp.org/extensions/xep-0045.html#roomconfig-notify
When submitting the room configuration form, the part of mod_muc_mam that handles "roomconfig_enablearchiving" changes always sends 170 or 171 status code, even if the value has not changed. This is due to this part of the code: ``` module:hook("muc-config-submitted/"..muc_form_enable, function(event) event.room._data.archiving = event.value; event.status_codes[event.value and "170" or "171"] = true; end); ``` If should test if value has changed, and just return if it has not. The bug is visible with some clients, for exemple ConverseJS: it always displays "Groupchat logging is now enabled" when we save the room configuration. > Please provide a snippet of the part of the specification which we violate if possible: "A room MUST send notification to all occupants when the room configuration changes in a way that has an impact on the privacy or security profile of the room." It is not clearly written, but I assume that status code should not be sent if there is no modification (and usually, Prosody does check if there is a value change, and only sends 104 status code if there is any change). > Please provide a link to the specification: https://xmpp.org/extensions/xep-0045.html#roomconfig-notify