[Mailman-Users] bin/upgrade has been broken since 2.1.5 (or possibly longer)

Knut Auvor Grythe knut at auvor.no
Thu Sep 18 12:18:50 CEST 2008


The _UpdateRecords function in ListAdmin.py is completely broken, and
has been since 2.1.5. There is a bugreport filed in 2004 at
https://bugs.launchpad.net/mailman/+bug/266106, and a patch for the
issue was included in march 2005. It seems the issue has gone unnoticed,
though. Possibly because the title of the bug report is "Tend to Pending
Moderator Requests breaks on a few lists", which doesn't seem all that
bad.

The _UpdateRecords function in ListAdmin.py reads the two-element tuple
(op, info). It then checks if info has all necessary fields. If it has,
nothing is done. If info _doesn't_ have all necessary fields (e.g. comes
from an old version of mailman), the missing fields are added and info
saved back. Notice how "info" is different from "(op, info)".

This causes all subsequent access to subscription and held message
records to fail with a ValueError, since an info typle is not 2 elements
long.

I think it would be very nice to have this fixed in 2.1.11. But even if
that doesn't happen I thought I should notify people about the problem,
so they know what to do if their upgrade causes trouble.

-- 
Knut Auvor Grythe


More information about the Mailman-Users mailing list