MailCleaner / MailCleaner-Next

Fork of MailCleaner for Debian 12
GNU General Public License v3.0
6 stars 3 forks source link

2 files called MailScanner conflicting in git #42

Open si458 opened 11 months ago

si458 commented 11 months ago

the appears to be 2 versions of a single file called MailScanner inside install/mailscanner/bin one called MailScanner and another called mailscanner they are both conflicting with each other when you git commit MailScanner has a timestamp of 2023 and mailscanner has a timestamp of 2021 both files have different content? so which one should we be using?

JohnMertz commented 10 months ago

Truthfully, I just copied that directory nearly verbatim from another private repo where we were starting work on Docker-izing MailScanner, so I'm not entirely sure.

A Debian machine is case-sensitive, so the distinction does matter and it's not truly a conflict. However, the contents of the files do appear to be similar, in that they are both the MailScanner daemon, just different versions.

Perhaps there's some confusion on the datestamps, but this is what I see:

MailScanner contains a copyright from 2001 from the original author, but later identifies as version 4.84.6. This is the version running on the current Jessie version of MailCleaner. It was probably added to the old repo for reference.

mailscanner is the one with an update date of Sept 1, 2023, which has version 5.3.4, released in 2020. This is probably the version that was current when the person was working on the dockerization effort. I'm pretty sure that the 2023 date was actually me because I had to make a change or two to make it launch properly, but I would need to compare against the proper 5.3.4 source or our dockerization repo to know for sure, since it obviously wasn't in this repo before making that change.

When the install.sh is run, both get installed in /usr/bin. Literally, what MailCleaner runs is /usr/bin/check_mailscanner which then calls /usr/bin/MailScanner. That is not to say that this is correct.

What is probably "correct" is that MailScanner provides the latest build as a .deb and Debian templates in the source to build our own modified .deb if necessary. We should build the lastest, with or without patches, and package it to our repo. That said, the version of MailScanner provided in the Jessie release has about 15 years of hacks and other custom code built-in, with no documentation. So before Next goes stable, we really need to ensure that all of those hacks are re-implemented or unnecessary so that we don't break the user experience.

Because the old install script appeared to still install valid binaries, I had put of the task of modernizing MailScanner for later. Although that should have had it's own Issue, so I'm glad that you created one!

Given that MailScanner is the version used in the Jessie release and it is the one that is actually started by the mailscanner systemd unit (via check_mailscanner), the answer is that it is the correct one to use. However, it will need to be updated to look a lot more like the mailscanner version (except even newer) in the future. There are very likely to be breaking changes caused by that, however.

Most of my attention is now on the blocking changes for the Beta and setting up our package and VM building infrastructure. Until then the Alpha is not really expected to work, only to have others like yourself point out more of the glaring problems like this. I'll tag this to make sure that MailScanner is updated and working for the Beta.