[Mimedefang] Woes following an OS upgrade

Philip Prindeville philipp_subx at redfish-solutions.com
Tue Nov 7 14:26:46 EST 2006


We were running FC3 on an x86_64 platform (good bang for the buck)
and decided to finally "upgrade" to FC5... except that the FC3 to FC4
upgrade path doesn't really work, so we had to backup our disks,
zap the system, install FC5 over it, and then copy back the content we
wanted to keep.  Hopefully, we did it right...

And it was a lesson to us to make /var and /home be their own filesystems...

Anyway, I botched the backup, as it happened.  Got a 300GB USB drive,
and did a "cpio -p" to it...  No, not a "cpio -pam", just "cpio -p"... 
grrr...
and zapped the modified times on the destination files, and reset the
access times on the source files...

Since we were running cyrus-imapd, that meant that when we copied the
files back... nothing happened...  So we had to run "reconstruct" for all
of the user.names to rebuild the .db of the mailbox names....  then I
noticed two things.

(1) all the messages were marked "new"
(2) and deleted messages (that hadn't been purged, just marked deleted)
   were appearing as duplicates...

Also noticed that all of the certificates broke... and then when we built
new ones, they didn't work... because the serial numbers had been
reset... also noticed that they had moved around from FC3 to FC5...
but that it wasn't documented... Grr.

Anyway, sorted all of that out.  Only took about 10 hours. (Ok, so I'm
slow to put things together... ;-)

Lastly, I noticed that (you were probably wondering when this was
going to actually be relevant to MdF, weren't you?) all of the
mimedefang-filter
logging was absent in the maillog files... even though the script was copied
over and seemed to be working.

No idea why this is.  Anyone else seen this?  Ideas where to start looking?

And does anyone have a script that will traverse a user's IMAP
mailbox space and delete duplicate messages?

In some cases, we have some messages duplicated 3 or 4 times... no idea
why.

I could hack up a script to fix that using IMAP::Simple, except that
we use IMAPS instead.

Anyone have any good resources for a feckless part-time postmaster?

Oh...  and in digging around, I saw:

sub md_syslog ($$) {
    my($facility, $msg) = @_;

    if (!$MDOpenLogCalled) {
        md_openlog("mimedefang.pl", $SyslogFacility);
    }

    if ($Features{"Unix::Syslog"}) {
        my $num_fac = convert_log_facility_to_number($facility);
        syslog($num_fac, "%s", $msg);
    } else {
        syslog($facility, "%s", $msg);
    }
}


Hmm...  Klunky.  What about:


sub md_syslog ($$;@) {
    my($facility, $fmt, @args) = @_;

    if (!$MDOpenLogCalled) {
        md_openlog("mimedefang.pl", $SyslogFacility);
    }

    if ($Features{"Unix::Syslog"}) {
        my $num_fac = convert_log_facility_to_number($facility);
        syslog($num_fac, $fmt, @args);
    } else {
        syslog($facility, $fmt, @args);
    }
}


Instead?

Thanks,

-Philip




More information about the MIMEDefang mailing list