Hi

I am using Ubuntu 18.04 and recently found out that downloaind clamav files was blocked by cloudflare. Based on https://lists.clamav.net/pipermail/clamav-users/2020-April/009482.html I contacted Joel Esler (many thanks for the quick reply) and inform me that we were downloading too often.

I tried to fix the situation by introducing a private mirror, but I ran into problems with cld and inc files and systemd conditions for the clamav-daemon service. I'd like to ask what are the "cld" and "inc" files, and how to download them in order to meet the systemd condition that requires them to be on disk?

I did the following steps:
1) Created a private mirror as described in https://www.clamav.net/documents/private-local-mirrors and mirrored all "cvd" files.

2) Cloud-init ensures that on boot the files are downloaded from the private mirror and are always available locally. Tthen cloud-init restarts the clamav daemon.

3) Configured freshclam with
PrivateMirror https://my-clamav-mirror/clamav
ScriptedUpdates no
Checks 3

4) Now freshclam works fine, however the clamav daemon does not, even if the cvd are available locally.
$ sudo systemctl status clamav-daemon.service
● clamav-daemon.service - Clam AntiVirus userspace daemon
   Loaded: loaded (/lib/systemd/system/clamav-daemon.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/clamav-daemon.service.d
           └─extend.conf
   Active: inactive (dead)
Condition: start condition failed at Tue 2021-01-26 12:46:17 UTC; 3h 9min ago
           └─ ConditionPathExistsGlob=/var/lib/clamav/daily.{c[vl]d,inc} was not met
     Docs: man:clamd(8)
           man:clamd.conf(5)
           https://www.clamav.net/documents/

The systemd unit file has 2 ConditionPathExistsGlob that require the additional files "main.cld", "main.inc", "daily.cld", "daily.inc" to be available, for the service to start.
$ cat /lib/systemd/system/clamav-daemon.service
[Unit]
Description=Clam AntiVirus userspace daemon
Documentation=man:clamd(8) man:clamd.conf(5) https://www.clamav.net/documents/
# Check for database existence
ConditionPathExistsGlob=/var/lib/clamav/main.{c[vl]d,inc}
ConditionPathExistsGlob=/var/lib/clamav/daily.{c[vl]d,inc}

[Service]
ExecStart=/usr/sbin/clamd --foreground=true
# Reload the database
ExecReload=/bin/kill -USR2 $MAINPID
StandardOutput=syslog
TimeoutStartSec=420

[Install]
WantedBy=multi-user.target


5) The "main.cld", "main.inc", "daily.cld", "daily.inc" files are not available to download from the main download site

$ curl --head -s https://database.clamav.net/daily.cld  | grep HTTP
HTTP/2 404
$ curl --head -s https://database.clamav.net/daily.inc  | grep HTTP
HTTP/2 404
$ curl --head -s https://database.clamav.net/main.cld   | grep HTTP
HTTP/2 404
$ curl --head -s https://database.clamav.net/main.inc   | grep HTTP
HTTP/2 404


6) I ran the suggested clamdownloader.pl (again from https://www.clamav.net/documents/private-local-mirrors) but I don't see any
$ ls -al /tmp/clam
total 222848
drwxrwxr-x  3 ubuntu ubuntu      4096 Jan 26 16:27 .
drwxrwxrwt 93 root   root       12288 Jan 26 16:27 ..
-rw-rw-r--  1 ubuntu ubuntu    296388 Sep 19  2019 bytecode.cvd
-rw-rw-r--  1 ubuntu ubuntu 110005306 Jan 25 12:28 daily.cvd
-rw-rw-r--  1 ubuntu ubuntu        42 Jan 26 16:27 dns.txt
-rw-rw-r--  1 ubuntu ubuntu 117859675 Nov 25  2019 main.cvd
drwxrwxr-x  2 ubuntu ubuntu      4096 Jan 26 16:27 temp

but I don't see any "main.cld", "main.inc", "daily.cld", "daily.inc" files.

Repeating the question in the beginning: I'd like to ask what are the "cld" and "inc" files, and how to download in my private mirror in order to meet the systemd condition that requires them to be on disk?

Regards
Vangelis Katsikaros