DOWNGRADE.idx for ezmlm-idx-0.32
16 Mar 1999
This documents describes how to reverse the changes made by
patching ezmlm-idx-0.32 into ezmlm-0.53, or how to 'downgrade' from
ezmlm-idx back to a "virigin" ezmlm-0.53.
MODIFYING ezmlm-idx lists to work with "virgin" ezmlm-0.53
With ezmlm-idx-0.22, the routines issub.c and subscribe.c are modified to
store subscriber addresses using a hash based on the lower case address,
rather than a case sensitive hash. This was done to avoid the many problems
with subscribers using mixed case addresses (User@host and user@host) without
realizing that these are different.
These changes have no impact on lower case-only addresses. For mixed case
addresses, the case in the local part is retained. If not found, a second
lookup is done with a hash based on the mixed case address. This results in
backwards compatibility with ezmlm-0.53 subscriber list.
In the unlikely event that you use ezmlm-idx and then decide to go back to
ezmlm-0.53 alone, mixed case addresses stored in the new location
(case-insensitive hash) will not be found by the old ezmlm-0.53 programs.
To place them in the ezmlm-0.53 position, do the following with your lists
after installing the "virgin" ezmlm-0.53 binaries and backing up everything
% ezmlm-list DIR >tmp.tmp
% rm -rf DIR/subscribers/*
% xargs ezmlm-sub DIR <tmp.tmp
This just recreates the subscriber database with the old style hash.
This procedure can also be used to recover corrupted subscriber databases,
by editing tmp.tmp before resubscribing.
You can also identify the addresses that would be affected by:
% ezmlm-list DIR | grep -G '[A-Z]' >tmp.tmp