This file is indexed.

/etc/chasquid/hooks/post-data is in chasquid 0.01+git20161124.6479138-2+b2.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/bash
#
# This file is an example post-data hook that will run standard filtering
# utilities if they are available.
#
#  - greylist (from greylistd) to do greylisting.
#  - spamc (from Spamassassin) to filter spam.
#  - clamdscan (from ClamAV) to filter virus.
#
# If it exits with code 20, it will be considered a permanent error.
# Otherwise, temporary.

set -e


# Note greylistd needs you to add the daemon user to the "greylist" group:
#   usermod -a -G greylist chasquid
if [ "$AUTH_AS" == "" ] && [ "$SPF_PASS" == "0" ] && \
	command -v greylist >/dev/null && \
	groups | grep -q greylist;
then
	REMOTE_IP=$(echo "$REMOTE_ADDR" | rev | cut -d : -f 2- | rev)
	if ! greylist update "$REMOTE_IP" "$MAIL_FROM" 1>&2; then
		echo "greylisted, please try again"
		exit 75  # temporary error
	fi
	echo "X-Greylist: pass"
fi


TF="$(mktemp --tmpdir post-data-XXXXXXXXXX)"
trap 'rm "$TF"' EXIT

# Save the message to the temporary file, so we can pass it on to the various
# filters.
cat > "$TF"


if command -v spamc >/dev/null; then
        if ! SL=$(spamc -c - < "$TF") ; then
                echo "spam detected"
                exit 20  # permanent
        fi
        echo "X-Spam-Score: $SL"
fi


if command -v clamdscan >/dev/null; then
        if ! clamdscan --no-summary --infected - < "$TF" 1>&2 ; then
                echo "virus detected"
                exit 20  # permanent
        fi
        echo "X-Virus-Scanned: pass"
fi