diff --git a/security/clamav-lts/Makefile b/security/clamav-lts/Makefile index 8517af868516..9a1f8fa31720 100644 --- a/security/clamav-lts/Makefile +++ b/security/clamav-lts/Makefile @@ -1,141 +1,141 @@ PORTNAME= clamav DISTVERSION= 1.0.6 -PORTREVISION= 1 +PORTREVISION= 2 PORTEPOCH= 1 CATEGORIES= security MASTER_SITES= https://www.clamav.net/downloads/production/ PKGNAMESUFFIX= -lts MAINTAINER= yasu@FreeBSD.org COMMENT= Open-source (GPL) anti-virus engine (LTS Feature Release) WWW= https://www.clamav.net/ LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING.txt BUILD_DEPENDS= ${RUST_DEFAULT}>=1.56.0:lang/${RUST_DEFAULT} LIB_DEPENDS= libcurl.so:ftp/curl \ libjson-c.so:devel/json-c \ libmspack.so:archivers/libmspack \ libpcre2-8.so:devel/pcre2 USES= cmake cpe gnome iconv ncurses pkgconfig ssl USE_GNOME= libxml2 USE_LDCONFIG= yes USE_RC_SUBR= clamav-clamd clamav-freshclam CMAKE_ARGS= -DDATABASE_DIRECTORY:STRING=${_DBDIR} \ -DOPENSSL_CRYPTO_LIBRARY=${OPENSSLLIB}/libcrypto.so \ -DOPENSSL_INCLUDE_DIR=${OPENSSLINC} \ -DOPENSSL_ROOT_DIR=${OPENSSLBASE} \ -DOPENSSL_SSL_LIBRARY=${OPENSSLLIB}/libssl.so CMAKE_ON= ENABLE_EXTERNAL_MSPACK TEST_TARGET= check CONFLICTS_INSTALL= clamav-lts SUB_FILES= pkg-message SUB_LIST+= CHMOD=${CHMOD} \ CHOWN=${CHOWN} \ CLAMAV_CLAMD_PIDFILE=${_CLAMAV_CLAMD_PIDFILE} \ CLAMAV_CLAMD_SOCKET=${_CLAMAV_CLAMD_SOCKET} \ CLAMAV_MILTER_SOCKET=${_CLAMAV_MILTER_SOCKET} \ CLAMAVGROUP=${_CLAMAVGROUP} \ CLAMAVUSER=${_CLAMAVUSER} \ DBDIR=${_DBDIR} \ LOGDIR=${_LOGDIR} \ RUNDIR=${_RUNDIR} USERS= ${_CLAMAVUSER} GROUPS= ${_CLAMAVGROUP} mail PLIST_SUB+= CLAMAVGROUP=${_CLAMAVGROUP} \ CLAMAVUSER=${_CLAMAVUSER} \ DBDIR=${_DBDIR} \ LOGDIR=${_LOGDIR} \ RUNDIR=${_RUNDIR} OPTIONS_DEFINE= ARC ARJ DOCS EXPERIMENTAL LHA MILTER STDERR TESTS UNRAR UNZOO OPTIONS_DEFAULT= ARC ARJ MILTER UNRAR UNZOO OPTIONS_SUB= yes ARC_DESC= Enable arch archives support ARJ_DESC= Enable arj archives support EXPERIMENTAL_DESC= Build experimental code LHA_DESC= Enable lha archives support MILTER_DESC= Compile the milter interface STDERR_DESC= Print logs to stderr instead of stdout TESTS_DESC= Build with test enabled (`make test` requires it) UNZOO_DESC= Enable zoo archives support ARC_RUN_DEPENDS= arc:archivers/arc ARJ_RUN_DEPENDS= arj:archivers/arj EXPERIMENTAL_CMAKE_BOOL= ENABLE_EXPERIMENTAL LHA_RUN_DEPENDS= lha:archivers/lha .if !exists(/usr/lib/libmilter.so) MILTER_LIB_DEPENDS= libmilter.so:mail/libmilter .endif MILTER_USE= RC_SUBR=clamav-milter .if !exists(/usr/lib/libmilter.so) MILTER_USE+= localbase .endif MILTER_CMAKE_BOOL= ENABLE_MILTER STDERR_EXTRA_PATCHES= ${FILESDIR}/extra-patch-common_output.c TESTS_BUILD_DEPENDS= ${LOCALBASE}/include/check.h:devel/check TESTS_USES= python:build TESTS_CMAKE_BOOL= ENABLE_TESTS UNRAR_CMAKE_BOOL= ENABLE_UNRAR UNZOO_RUN_DEPENDS= unzoo:archivers/unzoo _CLAMAVUSER?= clamav _CLAMAVGROUP?= clamav _CLAMAV_CLAMD_SOCKET?= ${_RUNDIR}/clamd.sock _CLAMAV_CLAMD_PIDFILE?= ${_RUNDIR}/clamd.pid _CLAMAV_MILTER_SOCKET?= ${_RUNDIR}/clmilter.sock _DBDIR= /var/db/clamav _LOGDIR= /var/log/clamav _RUNDIR= /var/run/clamav _SED_CONF= -E -e 's|^\#?(Example)$$|\#\1|' -e \ 's|^\#?((Update)?LogFile) .*/([a-z]+\.log)$$|\1 ${_LOGDIR}/\3|' \ -e 's|^\#?(PidFile) .*/([a-z\-]+\.pid)$$|\1 ${_RUNDIR}/\2|' -e \ 's|^\#?(LocalSocket) .*$$|\1 ${_CLAMAV_CLAMD_SOCKET}|' -e \ 's|^\#?(User) .*$$|\1 ${_CLAMAVUSER}|' -e \ 's|^\#?(AllowSupplementaryGroups).*$$|\1 yes|' -e \ 's|^\#?(ScanMail).*$$|\1 yes|' -e \ 's|^\#?(DatabaseDirectory) .*$$|\1 ${_DBDIR}|' -e \ 's|^\#?(DatabaseOwner) .*$$|\1 ${_CLAMAVUSER}|' -e \ 's|^\#?(FixStaleSocket).*$$|\1 yes|' -e \ 's|^\#?(NotifyClamd) .*$$|\1 ${PREFIX}/etc/clamd.conf|' -e \ 's|^\#?(MilterSocket) */tmp.*$$|\1 ${_CLAMAV_MILTER_SOCKET}|' \ -e 's|^\#?(ClamdSocket).*$$|\1 unix:${_CLAMAV_CLAMD_SOCKET}|' post-patch: @${REINPLACE_CMD} ${_SED_CONF} \ ${WRKSRC}/etc/clamd.conf.sample \ ${WRKSRC}/etc/freshclam.conf.sample \ ${WRKSRC}/etc/clamav-milter.conf.sample post-install: ${INSTALL_DATA} ${INSTALL_WRKSRC}/clamav-config.h ${STAGEDIR}${PREFIX}/include @${MKDIR} ${STAGEDIR}${_DBDIR} \ ${STAGEDIR}${_LOGDIR} \ ${STAGEDIR}${_RUNDIR} post-install-DOCS-on: ${MV} ${STAGEDIR}${PREFIX}/share/doc/ClamAV ${STAGEDIR}${DOCSDIR} post-install-DOCS-off: ${RM} -r ${STAGEDIR}${PREFIX}/share/doc/ClamAV pre-test-TESTS-off: @${ECHO_MSG} '******************************************************************' && \ ${ECHO_MSG} '***** You need to enable TESTS option to execute `make test` *****' && \ ${ECHO_MSG} '******************************************************************' && \ ${FALSE} .include diff --git a/security/clamav-lts/files/clamav-clamd.in b/security/clamav-lts/files/clamav-clamd.in index c6de79538080..ad640c7c45f0 100644 --- a/security/clamav-lts/files/clamav-clamd.in +++ b/security/clamav-lts/files/clamav-clamd.in @@ -1,46 +1,48 @@ #!/bin/sh # PROVIDE: clamav_clamd # REQUIRE: LOGIN # BEFORE: mail # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf to enable clamd: # # clamav_clamd_enable="YES" # clamav_clamd_flags="" # # See clamd(8) for flags # . /etc/rc.subr name=clamav_clamd rcvar=clamav_clamd_enable +: ${clamav_clamd_svcj_options:="net_basic"} + # read settings, set default values load_rc_config "$name" : ${clamav_clamd_enable:=NO} : ${clamav_clamd_pidfile="%%CLAMAV_CLAMD_PIDFILE%%"} command=%%PREFIX%%/sbin/clamd pidfile=${clamav_clamd_pidfile} required_dirs=%%DBDIR%% required_files=%%PREFIX%%/etc/clamd.conf start_precmd=clamav_clamd_precmd extra_commands=reload reload_cmd="%%PREFIX%%/bin/clamdscan --reload" #clamav .93 won't start without a valid main.c[vl]d file clamav_clamd_precmd() { if [ ! -f %%DBDIR%%/main.cvd -a ! -f %%DBDIR%%/main.cld ];then echo "Missing %%DBDIR%%/*.cvd or *.cld files. You must run freshclam first" exit 1 fi } run_rc_command "$1" diff --git a/security/clamav-lts/files/clamav-freshclam.in b/security/clamav-lts/files/clamav-freshclam.in index a32de395b2c8..7aa838933cc3 100644 --- a/security/clamav-lts/files/clamav-freshclam.in +++ b/security/clamav-lts/files/clamav-freshclam.in @@ -1,34 +1,36 @@ #!/bin/sh # PROVIDE: clamav_freshclam # REQUIRE: LOGIN clamav_clamd # BEFORE: mail # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf to enable the freshclam daemon: # # clamav_freshclam_enable="YES" # clamav_freshclam_flags="" # # See freshclam(1) for flags # . /etc/rc.subr name=clamav_freshclam rcvar=clamav_freshclam_enable +: ${clamav_freshclam_svcj_options:="net_basic"} + # read settings, set default values load_rc_config ${name} : ${clamav_freshclam_enable:=NO} : ${clamav_freshclam_pidfile=%%RUNDIR%%/freshclam.pid} command=%%PREFIX%%/bin/freshclam pidfile=${clamav_freshclam_pidfile} command_args="--daemon -p ${pidfile}" required_dirs=%%DBDIR%% required_files=%%PREFIX%%/etc/freshclam.conf run_rc_command "$1" diff --git a/security/clamav-lts/files/clamav-milter.in b/security/clamav-lts/files/clamav-milter.in index ab540d9034ff..610bf177f00b 100644 --- a/security/clamav-lts/files/clamav-milter.in +++ b/security/clamav-lts/files/clamav-milter.in @@ -1,101 +1,103 @@ #!/bin/sh # PROVIDE: clamav_milter # REQUIRE: LOGIN clamav_clamd # BEFORE: mail # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf to enable clamav-milter: # # clamav_milter_enable="YES" # # See clamav-milter(1) for flags # . /etc/rc.subr name=clamav_milter rcvar=clamav_milter_enable +: ${clamav_milter_svcj_options:="net_basic"} + load_rc_config $name : ${clamav_milter_enable:=NO} : ${clamav_milter_socket="%%CLAMAV_MILTER_SOCKET%%"} : ${clamav_milter_conf="%%PREFIX%%/etc/clamav-milter.conf"} : ${clamav_milter_flags="-c ${clamav_milter_conf}"} : ${clamav_milter_socktimeout=60} : ${clamav_milter_socket_mode=777} : ${clamav_milter_socket_user=%%CLAMAVUSER%%} : ${clamav_milter_socket_group=%%CLAMAVGROUP%%} : ${clamav_clamd_enable:=NO} : ${clamav_clamd_socket="%%CLAMAV_CLAMD_SOCKET%%"} command=%%PREFIX%%/sbin/clamav-milter required_dirs=%%DBDIR%% required_files=${clamav_milter_conf} start_precmd=start_precmd start_postcmd=start_postcmd start_precmd() { if [ -S "$clamav_milter_socket" ]; then warn "Stale socket $clamav_milter_socket removed." rm "$clamav_milter_socket" fi rc_flags="${flags:-$clamav_milter_flags}" clamav_clamd_socket_prefix=${clamav_clamd_socket%:*} # We can have inet or inet6, try to remove 6 clamav_clamd_socket_prefix=${clamav_clamd_socket_prefix%6} if checkyesno clamav_clamd_enable && [ "x$clamav_clamd_socket" != "x" -a "${clamav_clamd_socket_prefix}" != "inet" ]; then echo -n "Waiting for clamd socket.. " i=${clamav_milter_socktimeout} while [ $i -ne 0 ] do [ -S "$clamav_clamd_socket" ] && break if [ `expr $i % 10` -eq 0 ]; then echo -n "${i}.. " fi sleep 1 i=$(($i-1)) done echo if [ $i -eq 0 ]; then echo "There is no clamd socket (${clamav_clamd_socket})!" exit 1 fi fi } start_postcmd() { clamav_milter_socket_prefix=${clamav_milter_socket%:*} # We can have inet or inet6, try to remove 6 clamav_milter_socket_prefix=${clamav_milter_socket_prefix%6} if [ "x$clamav_milter_socket" != "x" -a "${clamav_milter_socket_prefix}" != "inet" ]; then echo -n "Waiting for clamav-milter socket.. " i=${clamav_milter_socktimeout} while [ $i -ne 0 ] do [ -S "$clamav_milter_socket" ] && break if [ `expr $i % 10` -eq 0 ]; then echo -n "${i}.. " fi sleep 1 i=$(($i-1)) done echo if [ $i -eq 0 ]; then echo "There is no clamav-milter socket (${clamav_milter_socket})!" exit 1 fi %%CHMOD%% ${clamav_milter_socket_mode} ${clamav_milter_socket} %%CHOWN%% ${clamav_milter_socket_user}:${clamav_milter_socket_group} ${clamav_milter_socket} fi } run_rc_command "$1" diff --git a/security/clamav/Makefile b/security/clamav/Makefile index 8f224dd7ada4..654c5a5e4748 100644 --- a/security/clamav/Makefile +++ b/security/clamav/Makefile @@ -1,140 +1,140 @@ PORTNAME= clamav DISTVERSION= 1.3.1 -PORTREVISION= 1 +PORTREVISION= 2 PORTEPOCH= 1 CATEGORIES= security MASTER_SITES= https://www.clamav.net/downloads/production/ MAINTAINER= yasu@FreeBSD.org COMMENT= Open-source (GPL) anti-virus engine (Regular Feature Release) WWW= https://www.clamav.net/ LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING.txt BUILD_DEPENDS= ${RUST_DEFAULT}>=1.56.0:lang/${RUST_DEFAULT} LIB_DEPENDS= libcurl.so:ftp/curl \ libjson-c.so:devel/json-c \ libmspack.so:archivers/libmspack \ libpcre2-8.so:devel/pcre2 USES= cmake cpe gnome iconv ncurses pkgconfig ssl USE_GNOME= libxml2 USE_LDCONFIG= yes USE_RC_SUBR= clamav-clamd clamav-freshclam CMAKE_ARGS= -DDATABASE_DIRECTORY:STRING=${_DBDIR} \ -DOPENSSL_CRYPTO_LIBRARY=${OPENSSLLIB}/libcrypto.so \ -DOPENSSL_INCLUDE_DIR=${OPENSSLINC} \ -DOPENSSL_ROOT_DIR=${OPENSSLBASE} \ -DOPENSSL_SSL_LIBRARY=${OPENSSLLIB}/libssl.so CMAKE_ON= ENABLE_EXTERNAL_MSPACK TEST_TARGET= check CONFLICTS_INSTALL= clamav-lts SUB_FILES= pkg-message SUB_LIST+= CHMOD=${CHMOD} \ CHOWN=${CHOWN} \ CLAMAV_CLAMD_PIDFILE=${_CLAMAV_CLAMD_PIDFILE} \ CLAMAV_CLAMD_SOCKET=${_CLAMAV_CLAMD_SOCKET} \ CLAMAV_MILTER_SOCKET=${_CLAMAV_MILTER_SOCKET} \ CLAMAVGROUP=${_CLAMAVGROUP} \ CLAMAVUSER=${_CLAMAVUSER} \ DBDIR=${_DBDIR} \ LOGDIR=${_LOGDIR} \ RUNDIR=${_RUNDIR} USERS= ${_CLAMAVUSER} GROUPS= ${_CLAMAVGROUP} mail PLIST_SUB+= CLAMAVGROUP=${_CLAMAVGROUP} \ CLAMAVUSER=${_CLAMAVUSER} \ DBDIR=${_DBDIR} \ LOGDIR=${_LOGDIR} \ RUNDIR=${_RUNDIR} OPTIONS_DEFINE= ARC ARJ DOCS EXPERIMENTAL LHA MILTER STDERR TESTS UNRAR UNZOO OPTIONS_DEFAULT= ARC ARJ MILTER UNRAR UNZOO OPTIONS_SUB= yes ARC_DESC= Enable arch archives support ARJ_DESC= Enable arj archives support EXPERIMENTAL_DESC= Build experimental code LHA_DESC= Enable lha archives support MILTER_DESC= Compile the milter interface STDERR_DESC= Print logs to stderr instead of stdout TESTS_DESC= Build with test enabled (`make test` requires it) UNZOO_DESC= Enable zoo archives support ARC_RUN_DEPENDS= arc:archivers/arc ARJ_RUN_DEPENDS= arj:archivers/arj EXPERIMENTAL_CMAKE_BOOL= ENABLE_EXPERIMENTAL LHA_RUN_DEPENDS= lha:archivers/lha .if !exists(/usr/lib/libmilter.so) MILTER_LIB_DEPENDS= libmilter.so:mail/libmilter .endif MILTER_USE= RC_SUBR=clamav-milter .if !exists(/usr/lib/libmilter.so) MILTER_USE+= localbase .endif MILTER_CMAKE_BOOL= ENABLE_MILTER STDERR_EXTRA_PATCHES= ${FILESDIR}/extra-patch-common_output.c TESTS_BUILD_DEPENDS= ${LOCALBASE}/include/check.h:devel/check TESTS_USES= python:build TESTS_CMAKE_BOOL= ENABLE_TESTS UNRAR_CMAKE_BOOL= ENABLE_UNRAR UNZOO_RUN_DEPENDS= unzoo:archivers/unzoo _CLAMAVUSER?= clamav _CLAMAVGROUP?= clamav _CLAMAV_CLAMD_SOCKET?= ${_RUNDIR}/clamd.sock _CLAMAV_CLAMD_PIDFILE?= ${_RUNDIR}/clamd.pid _CLAMAV_MILTER_SOCKET?= ${_RUNDIR}/clmilter.sock _DBDIR= /var/db/clamav _LOGDIR= /var/log/clamav _RUNDIR= /var/run/clamav _SED_CONF= -E -e 's|^\#?(Example)$$|\#\1|' -e \ 's|^\#?((Update)?LogFile) .*/([a-z]+\.log)$$|\1 ${_LOGDIR}/\3|' \ -e 's|^\#?(PidFile) .*/([a-z\-]+\.pid)$$|\1 ${_RUNDIR}/\2|' -e \ 's|^\#?(LocalSocket) .*$$|\1 ${_CLAMAV_CLAMD_SOCKET}|' -e \ 's|^\#?(User) .*$$|\1 ${_CLAMAVUSER}|' -e \ 's|^\#?(AllowSupplementaryGroups).*$$|\1 yes|' -e \ 's|^\#?(ScanMail).*$$|\1 yes|' -e \ 's|^\#?(DatabaseDirectory) .*$$|\1 ${_DBDIR}|' -e \ 's|^\#?(DatabaseOwner) .*$$|\1 ${_CLAMAVUSER}|' -e \ 's|^\#?(FixStaleSocket).*$$|\1 yes|' -e \ 's|^\#?(NotifyClamd) .*$$|\1 ${PREFIX}/etc/clamd.conf|' -e \ 's|^\#?(MilterSocket) */tmp.*$$|\1 ${_CLAMAV_MILTER_SOCKET}|' \ -e 's|^\#?(ClamdSocket).*$$|\1 unix:${_CLAMAV_CLAMD_SOCKET}|' post-patch: @${REINPLACE_CMD} ${_SED_CONF} \ ${WRKSRC}/etc/clamd.conf.sample \ ${WRKSRC}/etc/freshclam.conf.sample \ ${WRKSRC}/etc/clamav-milter.conf.sample post-install: ${INSTALL_DATA} ${INSTALL_WRKSRC}/clamav-config.h ${STAGEDIR}${PREFIX}/include @${MKDIR} ${STAGEDIR}${_DBDIR} \ ${STAGEDIR}${_LOGDIR} \ ${STAGEDIR}${_RUNDIR} post-install-DOCS-on: ${MV} ${STAGEDIR}${PREFIX}/share/doc/ClamAV ${STAGEDIR}${DOCSDIR} post-install-DOCS-off: ${RM} -r ${STAGEDIR}${PREFIX}/share/doc/ClamAV pre-test-TESTS-off: @${ECHO_MSG} '******************************************************************' && \ ${ECHO_MSG} '***** You need to enable TESTS option to execute `make test` *****' && \ ${ECHO_MSG} '******************************************************************' && \ ${FALSE} .include diff --git a/security/clamav/files/clamav-clamd.in b/security/clamav/files/clamav-clamd.in index c6de79538080..ad640c7c45f0 100644 --- a/security/clamav/files/clamav-clamd.in +++ b/security/clamav/files/clamav-clamd.in @@ -1,46 +1,48 @@ #!/bin/sh # PROVIDE: clamav_clamd # REQUIRE: LOGIN # BEFORE: mail # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf to enable clamd: # # clamav_clamd_enable="YES" # clamav_clamd_flags="" # # See clamd(8) for flags # . /etc/rc.subr name=clamav_clamd rcvar=clamav_clamd_enable +: ${clamav_clamd_svcj_options:="net_basic"} + # read settings, set default values load_rc_config "$name" : ${clamav_clamd_enable:=NO} : ${clamav_clamd_pidfile="%%CLAMAV_CLAMD_PIDFILE%%"} command=%%PREFIX%%/sbin/clamd pidfile=${clamav_clamd_pidfile} required_dirs=%%DBDIR%% required_files=%%PREFIX%%/etc/clamd.conf start_precmd=clamav_clamd_precmd extra_commands=reload reload_cmd="%%PREFIX%%/bin/clamdscan --reload" #clamav .93 won't start without a valid main.c[vl]d file clamav_clamd_precmd() { if [ ! -f %%DBDIR%%/main.cvd -a ! -f %%DBDIR%%/main.cld ];then echo "Missing %%DBDIR%%/*.cvd or *.cld files. You must run freshclam first" exit 1 fi } run_rc_command "$1" diff --git a/security/clamav/files/clamav-freshclam.in b/security/clamav/files/clamav-freshclam.in index a32de395b2c8..7aa838933cc3 100644 --- a/security/clamav/files/clamav-freshclam.in +++ b/security/clamav/files/clamav-freshclam.in @@ -1,34 +1,36 @@ #!/bin/sh # PROVIDE: clamav_freshclam # REQUIRE: LOGIN clamav_clamd # BEFORE: mail # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf to enable the freshclam daemon: # # clamav_freshclam_enable="YES" # clamav_freshclam_flags="" # # See freshclam(1) for flags # . /etc/rc.subr name=clamav_freshclam rcvar=clamav_freshclam_enable +: ${clamav_freshclam_svcj_options:="net_basic"} + # read settings, set default values load_rc_config ${name} : ${clamav_freshclam_enable:=NO} : ${clamav_freshclam_pidfile=%%RUNDIR%%/freshclam.pid} command=%%PREFIX%%/bin/freshclam pidfile=${clamav_freshclam_pidfile} command_args="--daemon -p ${pidfile}" required_dirs=%%DBDIR%% required_files=%%PREFIX%%/etc/freshclam.conf run_rc_command "$1" diff --git a/security/clamav/files/clamav-milter.in b/security/clamav/files/clamav-milter.in index ab540d9034ff..610bf177f00b 100644 --- a/security/clamav/files/clamav-milter.in +++ b/security/clamav/files/clamav-milter.in @@ -1,101 +1,103 @@ #!/bin/sh # PROVIDE: clamav_milter # REQUIRE: LOGIN clamav_clamd # BEFORE: mail # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf to enable clamav-milter: # # clamav_milter_enable="YES" # # See clamav-milter(1) for flags # . /etc/rc.subr name=clamav_milter rcvar=clamav_milter_enable +: ${clamav_milter_svcj_options:="net_basic"} + load_rc_config $name : ${clamav_milter_enable:=NO} : ${clamav_milter_socket="%%CLAMAV_MILTER_SOCKET%%"} : ${clamav_milter_conf="%%PREFIX%%/etc/clamav-milter.conf"} : ${clamav_milter_flags="-c ${clamav_milter_conf}"} : ${clamav_milter_socktimeout=60} : ${clamav_milter_socket_mode=777} : ${clamav_milter_socket_user=%%CLAMAVUSER%%} : ${clamav_milter_socket_group=%%CLAMAVGROUP%%} : ${clamav_clamd_enable:=NO} : ${clamav_clamd_socket="%%CLAMAV_CLAMD_SOCKET%%"} command=%%PREFIX%%/sbin/clamav-milter required_dirs=%%DBDIR%% required_files=${clamav_milter_conf} start_precmd=start_precmd start_postcmd=start_postcmd start_precmd() { if [ -S "$clamav_milter_socket" ]; then warn "Stale socket $clamav_milter_socket removed." rm "$clamav_milter_socket" fi rc_flags="${flags:-$clamav_milter_flags}" clamav_clamd_socket_prefix=${clamav_clamd_socket%:*} # We can have inet or inet6, try to remove 6 clamav_clamd_socket_prefix=${clamav_clamd_socket_prefix%6} if checkyesno clamav_clamd_enable && [ "x$clamav_clamd_socket" != "x" -a "${clamav_clamd_socket_prefix}" != "inet" ]; then echo -n "Waiting for clamd socket.. " i=${clamav_milter_socktimeout} while [ $i -ne 0 ] do [ -S "$clamav_clamd_socket" ] && break if [ `expr $i % 10` -eq 0 ]; then echo -n "${i}.. " fi sleep 1 i=$(($i-1)) done echo if [ $i -eq 0 ]; then echo "There is no clamd socket (${clamav_clamd_socket})!" exit 1 fi fi } start_postcmd() { clamav_milter_socket_prefix=${clamav_milter_socket%:*} # We can have inet or inet6, try to remove 6 clamav_milter_socket_prefix=${clamav_milter_socket_prefix%6} if [ "x$clamav_milter_socket" != "x" -a "${clamav_milter_socket_prefix}" != "inet" ]; then echo -n "Waiting for clamav-milter socket.. " i=${clamav_milter_socktimeout} while [ $i -ne 0 ] do [ -S "$clamav_milter_socket" ] && break if [ `expr $i % 10` -eq 0 ]; then echo -n "${i}.. " fi sleep 1 i=$(($i-1)) done echo if [ $i -eq 0 ]; then echo "There is no clamav-milter socket (${clamav_milter_socket})!" exit 1 fi %%CHMOD%% ${clamav_milter_socket_mode} ${clamav_milter_socket} %%CHOWN%% ${clamav_milter_socket_user}:${clamav_milter_socket_group} ${clamav_milter_socket} fi } run_rc_command "$1"