Skip to content

m-grant-prg/evolution-clamav

Repository files navigation


Filters to scan incoming email in Evolution using ClamAV

Authors:-

Copyright (C) 2011 Christian Brenner

Copyright (C) 2020, 2023 Mark Grant


Contents

1 ... Project Description

2 ... AutoTools (configure and make) Installation

3 ... Installation of Distro-Native Packages

4 ... Utility Scripts


1 ... Project Description

The project consists of bash scripts which can be used as filters to scan incoming mail with ClamAV in Evolution. There is a script which scans the mail in the foreground and one that utilises the ClamAV daemon.

N.B.

At a source modification / development level, this project expects to reside in a git environment. This manifests itself in 2 places:-

  1. ... .gitignore files are included in the source.
  2. ... The make target, 'srctarball', relies on the command 'git archive' so it will fail if git is not installed or it is not in a git repository.

2 ... AutoTools (configure and make) Installation

a) ... Download either the source or distribution tarball (the .tar.gz file) from:-

https://github.com/m-grant-prg/evolution-clamav/releases

b) ... Extract the tarball preserving the directory structure.

c) ... cd to the directory created.

d) ... If you downloaded the source tarball type 'autoreconf -if'

e) ... Type './configure'

f) ... As root or sudo, type 'make install clean'

g) ... Determine where the scripts have been installed. This can be discovered by typing:-

'evolution-clamav-scripts-location'

h) ... Open Evolution

i) ... Go to "Edit" > "Message Filters"

j) ... Click "Add"

k) ... Apply following settings:

	k.1) Select Incoming
	k.2) Rule Name: ClamAV - Incoming (or anything else)
	k.3) Click "Add Condition"
	k.4) Select "Pipe to Program"
	k.5) Then using the location determined in g), either:
		Select the evolution-clamav.sh file for foreground
		scanning
		or
		Select the evolution-clamavd.sh file to use the daemon
	k.6) Select "returns greater than"
	k.7) Enter "0"
	k.8) Click "Add Action"
	k.9) Choose "Delete" or "Move to Folder" and a quarantine folder
	k.10) Repeat k for an Outgoing filter

l) ... Click "OK"

(Quote marks are for textual clarity only).

To uninstall the package:

1 ... cd to the directory created in the above install process.

2 ... As root or sudo, type 'make uninstall clean'


3 ... Installation of Distro-Native Packages

Installation packages native to different distributions are available, please refer to the relevant installation section on the wiki at:-

https://github.com/m-grant-prg/evolution-clamav/wiki


4 ... Utility Scripts

In the project root directory there is 1 helper script; bootstrap.sh.

bootstrap.sh

This misleadingly named script bootstraps the project build and provides other useful features. The main options below are probably b, c, C, D and T.

In AutoTools it is usually advisable to perform parallel builds. This means you build somewhere other than the project root. This is because building creates files and they would confuse the project root downwards. I always create a build directory straight off the project root, cd to there and do all build and git work from there, (.gitignore is already set to ignore such a directory).

Assuming you adopt the preceding paragraph then a typical invocation of the script would be:-

../bootstrap.sh --config --build ..

The last '..' points the way to project root.

For the full list of arguments to bootstrap.sh, please refer to the options section of the acmbuild wiki, the options are identical:-

https://github.com/m-grant-prg/acmbuild/wiki