diff -Nur clamav-0.103.6.old/clamd/clamav-daemon.service.in clamav-0.103.6/clamd/clamav-daemon.service.in --- clamav-0.103.6.old/clamd/clamav-daemon.service.in 2022-05-02 08:46:41.000000000 +0400 +++ clamav-0.103.6/clamd/clamav-daemon.service.in 2022-05-20 14:09:01.361593334 +0400 @@ -2,6 +2,8 @@ Description=Clam AntiVirus userspace daemon Documentation=man:clamd(8) man:clamd.conf(5) https://docs.clamav.net/ Requires=clamav-daemon.socket +After=clamav-freshclam-update.service +Wants=clamav-freshclam-update.service # Check for database existence ConditionPathExistsGlob=@DBDIR@/main.{c[vl]d,inc} ConditionPathExistsGlob=@DBDIR@/daily.{c[vl]d,inc} diff -Nur clamav-0.103.6.old/clamd/clamav-daemon.socket.in clamav-0.103.6/clamd/clamav-daemon.socket.in --- clamav-0.103.6.old/clamd/clamav-daemon.socket.in 2022-05-02 08:46:41.000000000 +0400 +++ clamav-0.103.6/clamd/clamav-daemon.socket.in 2022-05-20 14:09:01.361593334 +0400 @@ -1,15 +1,12 @@ [Unit] Description=Socket for Clam AntiVirus userspace daemon Documentation=man:clamd(8) man:clamd.conf(5) https://docs.clamav.net/ -# Check for database existence -ConditionPathExistsGlob=@DBDIR@/main.{c[vl]d,inc} -ConditionPathExistsGlob=@DBDIR@/daily.{c[vl]d,inc} [Socket] -ListenStream=/run/clamav/clamd.ctl +ListenStream=/var/lib/clamav/clamd.socket #ListenStream=127.0.0.1:1024 -SocketUser=clamav -SocketGroup=clamav +SocketUser=mail +SocketGroup=mail RemoveOnStop=True [Install] diff -Nur clamav-0.103.6.old/clamd/clamav-freshclam-update.service.in clamav-0.103.6/clamd/clamav-freshclam-update.service.in --- clamav-0.103.6.old/clamd/clamav-freshclam-update.service.in 1970-01-01 04:00:00.000000000 +0400 +++ clamav-0.103.6/clamd/clamav-freshclam-update.service.in 2022-05-20 14:09:01.361593334 +0400 @@ -0,0 +1,15 @@ +[Unit] +Description=ClamAV virus database updater +Documentation=man:freshclam(1) man:freshclam.conf(5) https://www.clamav.net/documents +Wants=network-online.target +After=network-online.target +# Check for database existence +ConditionPathExistsGlob=!@DBDIR@/main.{c[vl]d,inc} +ConditionPathExistsGlob=!@DBDIR@/daily.{c[vl]d,inc} + +[Service] +Type=oneshot +ExecStart=@prefix@/bin/freshclam + +[Install] +WantedBy=multi-user.target diff -Nur clamav-0.103.6.old/clamd/Makefile.am clamav-0.103.6/clamd/Makefile.am --- clamav-0.103.6.old/clamd/Makefile.am 2022-05-02 08:46:41.000000000 +0400 +++ clamav-0.103.6/clamd/Makefile.am 2022-05-20 14:09:01.361593334 +0400 @@ -41,7 +41,7 @@ AM_CFLAGS=@WERR_CFLAGS@ if INSTALL_SYSTEMD_UNITS -systemdsystemunit_DATA = clamav-daemon.socket clamav-daemon.service +systemdsystemunit_DATA = clamav-daemon.socket clamav-daemon.service clamav-freshclam-update.service endif LIBS = $(top_builddir)/libclamav/libclamav.la $(top_builddir)/shared/libshared.la @CLAMD_LIBS@ @THREAD_LIBS@ diff -Nur clamav-0.103.6.old/clamonacc/clamav-clamonacc.service.in clamav-0.103.6/clamonacc/clamav-clamonacc.service.in --- clamav-0.103.6.old/clamonacc/clamav-clamonacc.service.in 2022-05-02 08:46:41.000000000 +0400 +++ clamav-0.103.6/clamonacc/clamav-clamonacc.service.in 2022-05-20 14:10:29.648715891 +0400 @@ -5,13 +5,12 @@ Description=ClamAV On-Access Scanner Documentation=man:clamonacc(8) man:clamd.conf(5) https://docs.clamav.net/ Requires=clamav-daemon.service -After=clamav-daemon.service syslog.target network.target +After=clamav-daemon.service network.target [Service] Type=simple User=root -ExecStartPre=/bin/bash -c "while [ ! -S /run/clamav/clamd.ctl ]; do sleep 1; done" -ExecStart=@prefix@/sbin/clamonacc -F --log=/var/log/clamav/clamonacc.log --move=/root/quarantine +ExecStart=@prefix@/sbin/clamonacc -F --log=/var/log/clamav/clamonacc.log [Install] WantedBy=multi-user.target diff -Nur clamav-0.103.6.old/configure.ac clamav-0.103.6/configure.ac --- clamav-0.103.6.old/configure.ac 2022-05-02 08:46:41.000000000 +0400 +++ clamav-0.103.6/configure.ac 2022-05-20 14:09:01.362593347 +0400 @@ -202,6 +202,7 @@ clamd/Makefile clamd/clamav-daemon.service clamd/clamav-daemon.socket + clamd/clamav-freshclam-update.service clamdscan/Makefile clamsubmit/Makefile clamav-milter/Makefile