clam wrapper
Jerry Benton
jerry.benton at mailborder.com
Sat Jan 30 00:52:43 UTC 2016
Well, this is the logic I am going to implement for the new clamav wrapper:
- Get incoming work directory, user, group from MailScanner.conf
- Check if work directory exists. If not, use /tmp
- If work directory exists and is a ramdisk, use $ramdisk/clamav-tmp/tmp-name
- If not a ramdisk, use /tmp
- Clean up after use.
I will use mktemp for /tmp usage and a random 32 character directory for ramdisk. Both will check if the directory exists first.
-
Jerry Benton
www.mailborder.com
> On Jan 29, 2016, at 6:58 PM, Mark Sapiro <mark at msapiro.net> wrote:
>
> On 01/29/2016 01:26 PM, Jerry Benton wrote:
>> This is how the is setup:
>>
>> TempDir=$(mktemp)
>>
>> That makes a tmp file ….
>
>
>
> This is a somewhat can of worms, but clamav-wrapper and also
> bitdefender-wrapper and kaspersky-wrapper and a couple of other things
> used to leave tempfiles behind under some circumstances.
>
> Before the next, we have
>
> if [ "x$1" = "x-IsItInstalled" ]; then
> rm -f ${TempDir}
> [ -x $ClamScan ] && exit 0
> exit 1
> fi
>
> which is code to test if clamav is installed and remove the TempDir
> before exiting.
>
>> Then …
>>
>> # Check if the tmpdir exists, if so delete so we start with a clean slate
>> if [ -x "${TempDir}" ]; then
>> rm -rf ${TempDir} >/dev/null 2>&1
>> fi
>>
>>
>> … What the fuck?
>
>
> Probably left over from when TempDir wasn't a mktemp
>
>>
>> # Make the Temp dir
>> umask 0077
>> mkdir "${TempDir}" >/dev/null 2>&1
>>
>>
>> … uhhhh … now we are doing it twice
>
>
> I agree this all seems a bit over the top. But, the module wants to exit
> immediately if it can't make TempDir.
>
> I think we could drop the
>
> # Check if the tmpdir exists, if so delete so we start with a clean slate
>
> code since we know we just made it with mktemp and also drop the
>
> # Make the Temp dir
>
> since we already made it.
>
>
>
>> then …
>>
>>
>> if [ $? ]; then
>> ExtraScanOptions="$ExtraScanOptions --tempdir=${TempDir}"
>> # If we are root chown it to the clamav user/group
>> if [ `whoami` = "root" ]; then
>> chown ${ClamUser}:${ClamGroup} "${TempDir}"
>> fi
>> fi
>>
>>
>> … why? the process that creates the /tmp/blah already owns /tmp/blah
>
>
> Right, but that's MailScanner and we need to change the group (if we
> can) so clamav can read it.
>
>
> --
> Mark Sapiro <mark at msapiro.net> The highway is for gamblers,
> San Francisco Bay Area, California better use your sense - B. Dylan
>
>
> --
> MailScanner mailing list
> mailscanner at lists.mailscanner.info
> http://lists.mailscanner.info/listinfo/mailscanner
>
More information about the MailScanner
mailing list