Distribution list members that refer to other contacts are de-referenced dynamically with the new contact service implementation. This is done using the entry ID of the distributionlist member (intfield02 in prg_dlist), that links to the object ID of the actual contact (intfield01 in prg_contacts).
The user- and object-IDs are mixed up here. Before the fix for bug #15976, the web frontend preferred to set the internal user ID in the referencing field of the distribution list member, after the bugfix this was changed to the referenced contact's object ID (which is correct).
The problem now exists for distribution list members that were created from the global addressbook before the bugfix. We'll need a database update task to correct that.
To fix the wrong references, a database update task was added that first tries to correct the wrong references to the user ID, then changes those references that can't be auto-corrected to independant distribution list entries.
The user- and object-IDs are mixed up here. Before the fix for bug #15976, the web frontend preferred to set the internal user ID in the referencing field of the distribution list member, after the bugfix this was changed to the referenced contact's object ID (which is correct).
The problem now exists for distribution list members that were created from the global addressbook before the bugfix. We'll need a database update task to correct that.
To fix the wrong references, a database update task was added that first tries to correct the wrong references to the user ID, then changes those references that can't be auto-corrected to independant distribution list entries.