Overzealous deletion of child properties

Description

Openfire supports properties, which are hierarchical. For example:

  • root

  • root.child

  • root.child.grandchild

When a property is deleted, its children are too. Removing root.child would also cause root.child.grandchild to be removed. Removing root would cause all of these properties to be removed.

There is a nuance to this. The implementation removes all properties of which the name starts with the name of the property that is being deleted - no separation characters are taken into account. This means that in the example below, removing root would still remove all of the properties.

  • root

  • rootchild

  • rootchildgrandchild

As these properties do not clearly live in the same hierarchy, that can lead to unexpected issues. Openfire should take a separator character in account when removing properties.

Environment

None

Activity

Show:
Fixed

Details

Assignee

Reporter

Fix versions

Priority

Created November 4, 2022 at 3:00 PM
Updated May 15, 2023 at 7:24 PM
Resolved February 8, 2023 at 4:51 PM