Skip to content

[bug][#11020] List admins changes not synchronized with admin_table

David Verdin requested to merge github/fork/salaun-urennes1/sympa-6.2 into sympa-6.2

Created by: salaun-urennes1

Bug description: For some lists we have noticed a synchronization issue with the admin_table: an owner gets added to the list config file (through list family instanciation) but never appears in the admin_table. As a consequence this new list owner is not listed in the list panel on the web interface and does not have the expected privileges.

After a bit of code analysis and debugging I found out that revision 9948 is the cause of the problem: https://sourcesup.renater.fr/scm/viewvc.php/branches/sympa-6.1-branch/src/lib/List.pm?root=sympa&r1=9947&r2=9948

It turns out that List::sync_include_admin() subroutine mights never been run for a list if that list includes members from an external datasource but owner/editors get defined "statically" in the config list. To be more precise:

  • List::add_list_admin is called from List::sync_include_admin only
  • List::sync_include_admin is called
  • from List::new, unless a sync_include() has been ran recently
  • from task_manager::sync_include, but only if the list defined editor_include or owner_include parameters

This bug has on impact on any list that includes members from an external datasource but has owner/editor defined inline in the list config file. In our situation most lists based on list families are impacted. For these lists, list owners/editors never get updated in the admin_table.

Revision 9948 should be fixed to check $list->{'last_sync_admin_user'} instead of $list->{'last_sync'}; attached is a patch proposal.

Merge request reports