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 under DIR/subscribers:
% 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