<pre style='margin:0'>
Frank Schima (mf2k) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/d0f1e462100fc98a1a77d2ac8c1b28530eee46d2">https://github.com/macports/macports-ports/commit/d0f1e462100fc98a1a77d2ac8c1b28530eee46d2</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new d0f1e46  clamav-server: Update Portfile with major upgrade, enhancements, and bugfixes
</span>d0f1e46 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit d0f1e462100fc98a1a77d2ac8c1b28530eee46d2
</span>Author: Steven Thomas Smith <s.t.smith@ieee.org>
AuthorDate: Tue Jun 11 19:18:51 2019 -0400

<span style='display:block; white-space:pre;color:#404040;'>    clamav-server: Update Portfile with major upgrade, enhancements, and bugfixes
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    * Complete re-write of Portfile
</span><span style='display:block; white-space:pre;color:#404040;'>    * Control clamd and freshclam with startupitem, daemondo
</span><span style='display:block; white-space:pre;color:#404040;'>    * macOS-specific clamd.conf and freshclam.conf configurations
</span><span style='display:block; white-space:pre;color:#404040;'>    * Add Scan-On-Demand bash script with corresponding Finder.app contextual
</span><span style='display:block; white-space:pre;color:#404040;'>      menu item
</span><span style='display:block; white-space:pre;color:#404040;'>    * Add Scan-On-Schedule launchdaemon with environment variable control
</span><span style='display:block; white-space:pre;color:#404040;'>    * Add Scan-On-Access launchdaemon for ~/Downloads and ~/Desktop directories
</span><span style='display:block; white-space:pre;color:#404040;'>    * Volunteer as manintainer
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/58003
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/50570
</span>---
 sysutils/clamav-server/Portfile                    | 346 ++++++++++++++++-----
 sysutils/clamav-server/files/ClamavScanIt.sh       | 100 ++++++
 .../ClamavScanIt.workflow/Contents/Info.plist      |  33 ++
 .../Contents/QuickLook/Preview.png                 | Bin 0 -> 126433 bytes
 .../Contents/QuickLook/Thumbnail.png               | Bin 0 -> 3751 bytes
 .../Contents/Resources/background.color            | Bin 0 -> 3746 bytes
 .../ClamavScanIt.workflow/Contents/document.wflow  | 315 +++++++++++++++++++
 sysutils/clamav-server/files/NOTICE                |   2 +
 .../clamav-server/files/org.macports.clamd.plist   |  23 --
 .../files/org.macports.freshclam.plist             |  18 --
 .../files/patch-etc-clamd-conf-macports.diff       | 203 ++++++++++++
 .../files/patch-etc-freshclam-conf-macports.diff   |  67 ++++
 12 files changed, 996 insertions(+), 111 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/clamav-server/Portfile b/sysutils/clamav-server/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 31f7a86..3a39d36 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/clamav-server/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/clamav-server/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,115 +3,321 @@
</span> PortSystem              1.0
 
 name                    clamav-server
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version                 0.98.4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage                http://www.clamav.net/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version                 0.101.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage                https://www.clamav.net/
</span> categories              sysutils
 platforms               darwin
 supported_archs         noarch
<span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers             nomaintainer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-license                 BSD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers             {ieee.org:s.t.smith @essandess} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license                 LGPL-3 BSD
</span> distfiles
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-description \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    launchdaemons for clamav antivirus software
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description             Clamav antivirus software macOS server configuration.
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    Clam AntiVirus is a GPL anti-virus toolkit for UNIX. The \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    main purpose of this software is the integration with mail \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    servers (attachment scanning). This port installs launchdaemons \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    that can be used to manage clamav.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description ${description} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    A macOS clamAV configuration with launchdaemons for clamd, freshclam, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Scan-On-Demand, Scan-on-Schedule, Scan-On-Access of specied directories, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    and a Finder.app contextual service for Scan-On-Demand of selected items.
</span> 
 depends_run \
     port:clamav
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.platform} eq "darwin" && ${os.major} > 8} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set clamavuser      _clamav
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set clamavuser      clamav
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set clamavuser          _clamav
</span> add_users ${clamavuser} group=${clamavuser} realname=clamav
 
 use_configure           no
 
 build {}
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+variant scan_schedule_access \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description {On-Schedule and On-Access scanning launchdaemons} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant sanesecurity \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    description {Use signatures from https://sanesecurity.com/} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default_variants +scan_schedule_access +sanesecurity
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> set dataPath ${prefix}/var/clamav
 set logPath ${prefix}/var/log/clamav
 set runPath ${prefix}/var/run/clamav
<span style='display:block; white-space:pre;background:#e0ffe0;'>+set sharePath ${prefix}/share/clamav
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.create     yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitems \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    name               clamd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    executable         ${prefix}/sbin/clamd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitems-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    name               freshclam \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    executable         ${prefix}/bin/freshclam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[variant_isset "scan_schedule_access"]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:fswatch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:pcre
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitems-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        name            ClamavScanSchedule \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        init            "pidfile=\"\${prefix}/var/run/clamav/ClamavScanSchedule.pid\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CLAMAV_SERVER_SCAN_SCHEDULE_TARGETS_DEFAULT=(\"/\")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CLAMAV_SERVER_SCAN_SCHEDULE_TARGETS=(\"\${CLAMAV_SERVER_SCAN_SCHEDULE_TARGETS\[@\]:-\${CLAMAV_SERVER_SCAN_SCHEDULE_TARGETS_DEFAULT\[@\]}}\")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CLAMAV_SERVER_QUARANTINE=\${CLAMAV_SERVER_QUARANTINE:-\${prefix%/*}/Quarantine}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CLAMAV_SERVER_SCAN_SCHEDULE_LOG=\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG:-\${prefix}/var/log/clamav/ClamavScanSchedule.log}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DATE=(/bin/date \"+%FT%T\")" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        start           "\${prefix}/bin/clamdscan --reload \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t&& ( /bin/test -d \"\${CLAMAV_SERVER_QUARANTINE}\" || /bin/mkdir -p \"\${CLAMAV_SERVER_QUARANTINE}\" ) \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t&& ( /bin/test -d \"\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG%/*}\" || /bin/mkdir -p \"\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG%/*}\" ) \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t&& echo \"Launchdaemon org.macports.ClamavScanSchedule started on `\${DATE\[@\]}` …\" >> \"\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG}\" \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t&& ( \${prefix}/bin/clamdscan --multiscan --quiet --fdpass \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t--move=\"\${CLAMAV_SERVER_QUARANTINE}\" --log=\"\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG}\" \"\${CLAMAV_SERVER_SCAN_SCHEDULE_TARGETS\[@\]}\" \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t&& echo \"Launchdaemon org.macports.ClamavScanSchedule completed on `\${DATE\[@\]}`.\" >> \"\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG}\" \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t|| echo \"Launchdaemon org.macports.ClamavScanSchedule exited with error code \$? on `\${DATE\[@\]}`.\" >> \"\${CLAMAV_SERVER_SCAN_SCHEDULE_LOG}\" )" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        pidfile         none \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        stop            "if \[ -f \"\${prefix}/var/run/clamav/ClamavScanSchedule.pid\" \]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t/bin/kill `/bin/cat \"\${prefix}/var/run/clamav/ClamavScanSchedule.pid\"` \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t\t&& /bin/rm -f \"\${prefix}/var/run/clamav/ClamavScanSchedule.pid\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t/usr/bin/killall -SIGUSR1 clamdscan 2>/dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\tfi"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    startupitems-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        name            ClamavScanOnAccess \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        init            "pidfile=\"\${prefix}/var/run/clamav/ClamavScanOnAccess.pid\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Default: use clamdscan if clamd is running; otherwise:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# clamscan with an explicit configuration imported from \${prefix}/etc/clamd.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CLAMD_CONF=\"\${prefix}/etc/clamd.conf\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+IFS=\$'\n'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CROSS_FS=(`/usr/bin/egrep -e '^\[\[:space:\]\]*CrossFilesystems\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*CrossFilesystems\[\[:space:\]\]+/--cross-fs=/'`)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+FOLLOW_DIR_SYMLINKS=(`/usr/bin/egrep -e '^\[\[:space:\]\]*FollowDirectorySymlinks\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*FollowDirectorySymlinks\[\[:space:\]\]+/--follow-dir-symlinks=/'`)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+FOLLOW_FILE_SYMLINKS=(`/usr/bin/egrep -e '^\[\[:space:\]\]*FollowFileSymlinks\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*FollowFileSymlinks\[\[:space:\]\]+/--follow-file-symlinks=/'`)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+EXCLUDE_PATH=(`/usr/bin/egrep -e '^\[\[:space:\]\]*ExcludePath\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*ExcludePath\[\[:space:\]\]+/--exclude=/'`)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DETECT_PUA=(`/usr/bin/egrep -e '^\[\[:space:\]\]*DetectPUA\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*DetectPUA\[\[:space:\]\]+/--detect-pua=/'`)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+EXCLUDE_PUA=(`/usr/bin/egrep -e '^\[\[:space:\]\]*ExcludePUA\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*ExcludePUA\[\[:space:\]\]+/--exclude-pua=/'`)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+INCLUDE_PUA=(`/usr/bin/egrep -e '^\[\[:space:\]\]*IncludePUA\\b' \"\${CLAMD_CONF}\" | /usr/bin/sed -E -e 's/^\[\[:space:\]\]*IncludePUA\[\[:space:\]\]+/--include-pua=/'`)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CLAMAV_SERVER_QUARANTINE=\${CLAMAV_SERVER_QUARANTINE:-\${prefix%/*}/Quarantine}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CLAMAV_SERVER_SCAN_ONACCESS_LOG=\${CLAMAV_SERVER_SCAN_ONACCESS_LOG:-\${prefix}/var/log/clamav/ClamavScanOnAccess.log}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DATE=(/bin/date \"+%FT%T\")" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        start           "IFS=\$'\\n'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\tUSER_HOMEDIRS=(`/usr/bin/dscacheutil -q user | /usr/bin/grep -A 3 -B 2 -E -e '^uid: (?:\\d*5\\d\\d|\\d{4,})' | \${prefix}/bin/pcregrep -B 5 -e '^shell: (?!/usr/bin/false).*' | \${prefix}/bin/pcregrep -A 5 -e '^name: (?!_).*' | /usr/bin/grep -e '^dir: .*/Users/' | /usr/bin/sed -e 's/^dir: //'`)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\tUSER_DOWNLOADSDIRS=(`for d in \${USER_HOMEDIRS\[@\]}; do echo \"\${d}/Downloads\" ; done`)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\tUSER_DESKTOPDIRS=(`for d in \${USER_HOMEDIRS\[@\]}; do echo \"\${d}/Desktop\" ; done`)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\[ -d \"\${CLAMAV_SERVER_QUARANTINE}\" \] || /bin/mkdir -p \"\${CLAMAV_SERVER_QUARANTINE}\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\[ -d \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG%/*}\" \] || /bin/mkdir -p \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG%/*}\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t( echo \"Launchdaemon org.macports.ClamavScanOnAccess started on `\${DATE\[@\]}` …\" ; echo \"Watched directories:\" ) >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t( for d in \"\${USER_DOWNLOADSDIRS\[@\]}\"; do echo \"\\t\${d}\"; done ) >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t( for d in \"\${USER_DESKTOPDIRS\[@\]}\"; do echo \"\\t\${d}\"; done ) >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\techo \$\$ > \"\${pidfile}\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\${prefix}/bin/fswatch -0 -l 3 -e '/.DS_Store\$' -r \"\${USER_DOWNLOADSDIRS\[@\]}\" \"\${USER_DESKTOPDIRS\[@\]}\" \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t| while read -d \"\" event ; \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t  do \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t\techo \"Scanning \${event} on `\${DATE\[@\]}`…\" >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" ; \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t\t! \[ \"`/usr/bin/pgrep -u root clamd`\" == \"\" \] \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t\t  && ( /usr/bin/nice -n 5 \"\${prefix}/bin/clamdscan\" --multiscan --quiet --fdpass --move=\"\${CLAMAV_SERVER_QUARANTINE}\" --log=\"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" \"\${event}\" \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t\t\t&& echo \"Done clamdscan \${event} on `\${DATE\[@\]}`.\" >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t\t\t\t|| echo \"clamdscan exited with error code \$? on `\${DATE\[@\]}`.\" >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" ) \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t\t  || ( /usr/bin/nice -n 5 \"\${prefix}/bin/clamscan\" --infected --quiet --move=\"\${CLAMAV_SERVER_QUARANTINE}\" --log=\"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t\t\t\t\"\${CROSS_FS\[@\]}\" \"\${FOLLOW_DIR_SYMLINKS\[@\]}\" \"\${FOLLOW_FILE_SYMLINKS\[@\]}\" \"\${EXCLUDE_PATH\[@\]}\" \"\${DETECT_PUA\[@\]}\" \"\${EXCLUDE_PUA\[@\]}\" \"\${INCLUDE_PUA\[@\]}\" \"\${event}\" \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t\t\t&& echo \"Done clamscan \${event} on `\${DATE\[@\]}`.\" >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t\t\t\t|| echo \"clamscan exited with error code \$? on `\${DATE\[@\]}`.\" >> \"\${CLAMAV_SERVER_SCAN_ONACCESS_LOG}\" ) ; \\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t  done" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        pidfile         none \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        stop            "if \[ -f \"\${pidfile}\" \]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t/bin/kill `/bin/cat \"\${pidfile}\"` && /bin/rm -f \"\${pidfile}\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\telse
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t/usr/bin/kill -SIGUSR1 `/usr/bin/pgrep -u root fswatch` 2>/dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\tfi"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
 destroot {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set LaunchDaemonsPath ${destroot}/Library/LaunchDaemons
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -d ${LaunchDaemonsPath}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    xinstall -m 0644 -W ${filespath} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        org.macports.clamd.plist \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        org.macports.freshclam.plist \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${LaunchDaemonsPath}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace "s|__PREFIX__|${prefix}|g" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${LaunchDaemonsPath}/org.macports.clamd.plist \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${LaunchDaemonsPath}/org.macports.freshclam.plist
</span>     xinstall -m 0755 -o ${clamavuser} -g ${clamavuser} -d \
         ${destroot}${dataPath} \
         ${destroot}${logPath} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        ${destroot}${runPath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${runPath} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${sharePath}
</span>     touch ${destroot}${logPath}/clamav.log
     destroot.keepdirs \
         ${destroot}${dataPath} \
         ${destroot}${runPath}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # clamd.conf.macports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 0644 -o ${clamavuser} -g ${clamavuser} ${prefix}/etc/clamd.conf.sample \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/etc/clamd.conf.macports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system -W ${destroot}${prefix} "patch -p1 ./etc/clamd.conf.macports ${filespath}/patch-etc-clamd-conf-macports.diff"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@PREFIX@|${prefix}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/etc/clamd.conf.macports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # freshclam.conf.macports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 0644 -o ${clamavuser} -g ${clamavuser} ${prefix}/etc/freshclam.conf.sample \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/etc/freshclam.conf.macports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system -W ${destroot}${prefix} "patch -p1 ./etc/freshclam.conf.macports ${filespath}/patch-etc-freshclam-conf-macports.diff"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset "sanesecurity"]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       # DatabaseCustomURL (append after last appearance)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       reinplace -E "/#DatabaseCustomURL\[^#\]*/,$!b
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+//{x;//p;g;};//!H;$!d;x;s//&# Sanesecurity signatures\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https:\\/\\/sanesecurity.com\\/usage\\/signatures\\/\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https:\\/\\/forum.netgate.com\\/topic\\/102819\\/alternate-definitions-for-clamav\\/10\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#!FA These comments exhibit high false alert rates on macOS\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DatabaseCustomURL http:\\/\\/ftp.swin.edu.au\\/sanesecurity\\/junk.ndb\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#!FA DatabaseCustomURL http:\\/\\/ftp.swin.edu.au\\/sanesecurity\\/phish.ndb\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DatabaseCustomURL http:\\/\\/ftp.swin.edu.au\\/sanesecurity\\/rogue.hdb\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DatabaseCustomURL http:\\/\\/ftp.swin.edu.au\\/sanesecurity\\/foxhole_filename.cdb\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DatabaseCustomURL http:\\/\\/ftp.swin.edu.au\\/sanesecurity\\/foxhole_generic.cdb\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#!FA DatabaseCustomURL http:\\/\\/ftp.swin.edu.au\\/sanesecurity\\/foxhole_js.cdb\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DatabaseCustomURL http:\\/\\/ftp.swin.edu.au\\/sanesecurity\\/badmacro.ndb\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DatabaseCustomURL http:\\/\\/ftp.swin.edu.au\\/sanesecurity\\/scam.ndb\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DatabaseCustomURL http:\\/\\/ftp.swin.edu.au\\/sanesecurity\\/sanesecurity.ftm\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DatabaseCustomURL http:\\/\\/ftp.swin.edu.au\\/sanesecurity\\/sigwhitelist.ign2\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/etc/freshclam.conf.macports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@PREFIX@|${prefix}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/etc/freshclam.conf.macports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # ClamavScanIt.sh and ClamavScanIt.workflow Finder.app Contextual Menu item
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -W ${filespath} -m 0755 -o ${clamavuser} -g ${clamavuser} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ./ClamavScanIt.sh ${destroot}${prefix}/bin/ClamavScanIt.sh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -W ${filespath} -m 0755 -o ${clamavuser} -g ${clamavuser} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -d ./ClamavScanIt.workflow \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${sharePath}/ClamavScanIt.workflow
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -W ${filespath} -m 0755 -o ${clamavuser} -g ${clamavuser} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -d ./ClamavScanIt.workflow/Contents \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${sharePath}/ClamavScanIt.workflow/Contents
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -W ${filespath} -m 0644 -o ${clamavuser} -g ${clamavuser} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ./ClamavScanIt.workflow/Contents/Info.plist \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${sharePath}/ClamavScanIt.workflow/Contents/Info.plist
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -W ${filespath} -m 0755 -o ${clamavuser} -g ${clamavuser} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -d ./ClamavScanIt.workflow/Contents/QuickLook \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${sharePath}/ClamavScanIt.workflow/Contents/QuickLook
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -W ${filespath} -m 0755 -o ${clamavuser} -g ${clamavuser} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        -d ./ClamavScanIt.workflow/Contents/Resources \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${sharePath}/ClamavScanIt.workflow/Contents/Resources
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -W ${filespath} -m 0644 -o ${clamavuser} -g ${clamavuser} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ./ClamavScanIt.workflow/Contents/document.wflow \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${sharePath}/ClamavScanIt.workflow/Contents/document.wflow
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -W ${filespath} -m 0644 -o ${clamavuser} -g ${clamavuser} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ./ClamavScanIt.workflow/Contents/QuickLook/Preview.png \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${sharePath}/ClamavScanIt.workflow/Contents/QuickLook/Preview.png
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -W ${filespath} -m 0644 -o ${clamavuser} -g ${clamavuser} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ./ClamavScanIt.workflow/Contents/QuickLook/Thumbnail.png \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${sharePath}/ClamavScanIt.workflow/Contents/QuickLook/Thumbnail.png
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -W ${filespath} -m 0644 -o ${clamavuser} -g ${clamavuser} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ./ClamavScanIt.workflow/Contents/Resources/background.color \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${sharePath}/ClamavScanIt.workflow/Contents/Resources/background.color
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@PREFIX@|${prefix}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/bin/ClamavScanIt.sh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@PREFIX@|${prefix}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${sharePath}/ClamavScanIt.workflow/Contents/document.wflow
</span> }
 
 post-activate {
     if {![file exists ${prefix}/etc/clamd.conf]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        copy ${prefix}/etc/clamd.conf.sample \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${prefix}/etc/clamd.conf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s,#Foreground,Foreground," \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        copy ${prefix}/etc/clamd.conf.macports \
</span>             ${prefix}/etc/clamd.conf
     }
     if {![file exists ${prefix}/etc/freshclam.conf]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        copy ${prefix}/etc/freshclam.conf.sample \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${prefix}/etc/freshclam.conf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s,#Foreground,Foreground," \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        copy ${prefix}/etc/freshclam.conf.macports \
</span>             ${prefix}/etc/freshclam.conf
     }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Add launchd.plist keys to MacPorts launchdaemons
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # org.macports.clamd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "s|^<key>ProgramArguments</key>|<key>UserName</key><string>root</string>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+<key>GroupName</key><string>${clamavuser}</string>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+&|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${prefix}/etc/${startupitem.location}/org.macports.clamd/org.macports.clamd.plist
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # org.macports.freshclam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "s|^<key>ProgramArguments</key>|<key>UserName</key><string>${clamavuser}</string>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+<key>GroupName</key><string>${clamavuser}</string>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+<key>StartInterval</key><integer>21600</integer>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+&|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${prefix}/etc/${startupitem.location}/org.macports.freshclam/org.macports.freshclam.plist
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset "scan_schedule_access"]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # org.macports.ClamavScanSchedule
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "s|^<key>ProgramArguments</key>|<key>UserName</key><string>root</string>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+<key>GroupName</key><string>${clamavuser}</string>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+<key>Nice</key>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+<integer>15</integer>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+<key>StartCalendarInterval</key>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+<array>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t<dict>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t<key>Weekday</key>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t<integer>7</integer>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t<key>Hour</key>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t<integer>2</integer>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t<key>Minute</key>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t\t<integer>00</integer>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+\t</dict>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+</array>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+&|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${prefix}/etc/${startupitem.location}/org.macports.ClamavScanSchedule/org.macports.ClamavScanSchedule.plist
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # org.macports.ClamavScanOnAccess
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "s|^<key>ProgramArguments</key>|<key>UserName</key><string>root</string>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+<key>GroupName</key><string>${clamavuser}</string>\\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+&|" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${prefix}/etc/${startupitem.location}/org.macports.ClamavScanOnAccess/org.macports.ClamavScanOnAccess.plist
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Quarantine directory one level up from MacPorts prefix location
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Directory has full permissions open for clamscan run by users
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -m 0777 -o ${clamavuser} -g ${clamavuser} -d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        [strsed ${prefix} {g|/[^/]*$||}]/Quarantine
</span> }
 
 notes "
<span style='display:block; white-space:pre;background:#ffe0e0;'>-To configure clamd and freshclam look for the following files:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ${prefix}/etc/clamd.conf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    ${prefix}/etc/freshclam.conf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-If these files do not exist you can copy the sample conf files into place:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    sudo cp ${prefix}/etc/clamd.conf.sample ${prefix}/etc/clamd.conf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    sudo cp ${prefix}/etc/freshclam.conf.sample ${prefix}/etc/freshclam.conf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Edit ${prefix}/etc/clamd.conf to your liking, example:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Comment out 'Example' near the top if it exists
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #Example
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    LogFile ${logPath}/clamd.log
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    PidFile ${runPath}/clamd.pid
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    LocalSocket ${runPath}/clamd.socket
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    Foreground yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Edit ${prefix}/etc/freshclam.conf to your liking, example:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Comment out 'Example' near the top if it exists
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #Example
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    UpdateLogFile ${logPath}/freshclam.log
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    PidFile ${runPath}/freshclam.pid
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    NotifyClamd ${prefix}/etc/clamd.conf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Two launchd startup items have been installed.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-To load clamd and freshclam do the following:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    sudo launchctl load -w /Library/LaunchDaemons/org.macports.clamd.plist
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    sudo launchctl load -w /Library/LaunchDaemons/org.macports.freshclam.plist
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-To unload clamd and freshclam do the following:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    sudo launchctl unload -w /Library/LaunchDaemons/org.macports.clamd.plist
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    sudo launchctl unload -w /Library/LaunchDaemons/org.macports.freshclam.plist
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-To try things out do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    sudo freshclam
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-If all is well you should see your clamav database being updated
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+clamav-server is installed to perform three types of operations.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1. Basic clamd server and freshclam updates are controlled by their
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    respective launchdaemons and configuration files:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${prefix}/etc/clamd.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${prefix}/etc/freshclam.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Clamav database initialization/refresh is performed with the command:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        sudo freshclam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Quarantined files are moved to the directory defined by the shell
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variable \${CLAMAV_SERVER_QUARANTINE}, with default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    [strsed ${prefix} {g|/[^/]*$||}]/Quarantine:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        \${CLAMAV_SERVER_QUARANTINE:-[strsed ${prefix} {g|/[^/]*$||}]/Quarantine}.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2. Clamav Scan-On-Demand is performed with the command:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${prefix}/bin/ClamavScanIt.sh file1 \[directory1\] \[file2 ...\]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    A Finder.app Contextual Menu applies ClamavScanIt.sh to the selected
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    items in Finder.app. Add this menu item with the command:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        cp -R ${sharePath}/ClamavScanIt.workflow ~/Library/Services
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        open -a Automator ~/Library/Services/ClamavScanIt.workflow \\\n \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            && osascript -e 'quit app \"Automator\"'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Configure this service using:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        System Preferences>Keyboard>Shortcuts>Services>Files and Folders
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            >ClamavScanIt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 3. On-Schedule and On-Access scanning. On-Access scans are performed on
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    all user ~/Downloads and ~/Desktop directories. Scheduled scans are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    performed on all targets in the bash list
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    \$CLAMAV_SERVER_SCAN_SCHEDULE_TARGETS\[@\], whose default is:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        CLAMAV_SERVER_SCAN_SCHEDULE_TARGETS=(\"/\")
</span> "
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.type    none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.type         none
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/clamav-server/files/ClamavScanIt.sh b/sysutils/clamav-server/files/ClamavScanIt.sh
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..46d2efd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/clamav-server/files/ClamavScanIt.sh
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,100 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#!/bin/sh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# clamdscan or clamscan applied to $*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# License GPL-3, https://www.gnu.org/licenses/gpl-3.0.en.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+EVENT=("$@")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Init
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+prefix=@PREFIX@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CLAMAV_SERVER_QUARANTINE=${CLAMAV_SERVER_QUARANTINE:=${prefix%/*}/Quarantine}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Default: use clamdscan if clamd is running and uid is root; otherwise:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# clamscan with an explicit configuration imported from ${prefix}/etc/clamd.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CLAMD_CONF="${prefix}/etc/clamd.conf"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+IFS=$'\n'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CROSS_FS=(`/usr/bin/egrep -e '^[[:space:]]*CrossFilesystems\b' "${CLAMD_CONF}" | /usr/bin/sed -E -e 's/^[[:space:]]*CrossFilesystems[[:space:]]+/--cross-fs=/'`)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+FOLLOW_DIR_SYMLINKS=(`/usr/bin/egrep -e '^[[:space:]]*FollowDirectorySymlinks\b' "${CLAMD_CONF}" | /usr/bin/sed -E -e 's/^[[:space:]]*FollowDirectorySymlinks[[:space:]]+/--follow-dir-symlinks=/'`)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+FOLLOW_FILE_SYMLINKS=(`/usr/bin/egrep -e '^[[:space:]]*FollowFileSymlinks\b' "${CLAMD_CONF}" | /usr/bin/sed -E -e 's/^[[:space:]]*FollowFileSymlinks[[:space:]]+/--follow-file-symlinks=/'`)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+EXCLUDE_PATH=(`/usr/bin/egrep -e '^[[:space:]]*ExcludePath\b' "${CLAMD_CONF}" | /usr/bin/sed -E -e 's/^[[:space:]]*ExcludePath[[:space:]]+/--exclude=/'`)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DETECT_PUA=(`/usr/bin/egrep -e '^[[:space:]]*DetectPUA\b' "${CLAMD_CONF}" | /usr/bin/sed -E -e 's/^[[:space:]]*DetectPUA[[:space:]]+/--detect-pua=/'`)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+EXCLUDE_PUA=(`/usr/bin/egrep -e '^[[:space:]]*ExcludePUA\b' "${CLAMD_CONF}" | /usr/bin/sed -E -e 's/^[[:space:]]*ExcludePUA[[:space:]]+/--exclude-pua=/'`)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+INCLUDE_PUA=(`/usr/bin/egrep -e '^[[:space:]]*IncludePUA\b' "${CLAMD_CONF}" | /usr/bin/sed -E -e 's/^[[:space:]]*IncludePUA[[:space:]]+/--include-pua=/'`)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+IFS=' '
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+DATE=(/bin/date "+%FT%T")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+TS=`${DATE[@]}`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CLAMAVSCANIT_LOG="${HOME}/Library/Logs/ClamavScanIt/ClamavScanIt_${TS}.log"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[ -d "${CLAMAV_SERVER_QUARANTINE}" ] || /bin/mkdir -p "${CLAMAV_SERVER_QUARANTINE}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+[ -d "${CLAMAVSCANIT_LOG%/*}" ] || /bin/mkdir -p "${CLAMAVSCANIT_LOG%/*}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+echo "ClamavScanIt scanning ${EVENT[*]} on `${DATE[@]}`…" >> "${CLAMAVSCANIT_LOG}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if [[ ! "`/usr/bin/pgrep -u root clamd`" == "" && ${EUID} -eq 0 ]]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   # run clamdscan as root
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   /usr/bin/nice -n 5 "${prefix}/bin/clamdscan" --multiscan --quiet --fdpass --move="${CLAMAV_SERVER_QUARANTINE}" --log="${CLAMAVSCANIT_LOG}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           "${EVENT[@]}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           && echo "Done clamdscan on `${DATE[@]}`." >> "${CLAMAVSCANIT_LOG}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           || echo "clamdscan exited with error code $? on `${DATE[@]}`." >> "${CLAMAVSCANIT_LOG}" ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   # run clamscan as the user
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   /usr/bin/nice -n 5 "${prefix}/bin/clamscan" --infected --quiet --move="${CLAMAV_SERVER_QUARANTINE}" --log="${CLAMAVSCANIT_LOG}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           "${CROSS_FS[@]}" "${FOLLOW_DIR_SYMLINKS[@]}" "${FOLLOW_FILE_SYMLINKS[@]}" "${EXCLUDE_PATH[@]}" "${DETECT_PUA[@]}" "${EXCLUDE_PUA[@]}" "${INCLUDE_PUA[@]}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           "${EVENT[@]}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           && echo "Done clamscan on `${DATE[@]}`." >> "${CLAMAVSCANIT_LOG}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           || echo "clamscan exited with error code $? on `${DATE[@]}`." >> "${CLAMAVSCANIT_LOG}" ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Quarantine notification
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if [ "$((`/usr/bin/egrep -A8 -e '^----------- SCAN SUMMARY -----------$' "${CLAMAVSCANIT_LOG}" | /usr/bin/tail -n 9 | /usr/bin/grep Infected | /usr/bin/grep -v 0 | /usr/bin/wc -l`+0))" -gt 0 ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   IFS=$'\n';
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   FOUND=(`/usr/bin/egrep -E -e '.+:[[:space:]]+.+[[:space:]]+FOUND' "${CLAMAVSCANIT_LOG}"`)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   K=$((0))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   KMAX=$((5))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   for V in ${FOUND[@]}; do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           F=${V%: *}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           SIG=${V% FOUND}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           SIG=${SIG##*: }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           if [ $K -lt $KMAX ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   /bin/cat <<VIRUSDETECTION
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Virus Detection '${SIG}' in '${F}';
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   moved to ${CLAMAV_SERVER_QUARANTINE}.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+VIRUSDETECTION
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   if [ $K -gt 0 ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           # Let notifications and sounds catch up
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           /bin/sleep 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   export VNOTIFICATION="Virus Detection '${SIG}' in '${F}'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   export VTITLE="ClamavScanIt Virus Detection"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   export VSUBTITLE="File Quarantined to ${CLAMAV_SERVER_QUARANTINE}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   export VSOUND=Submarine
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   /usr/bin/osascript -e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           'display notification (system attribute "VNOTIFICATION") sound name (system attribute "VSOUND") with title (system attribute "VTITLE") subtitle (system attribute "VSUBTITLE")'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   /bin/cat <<MOREVDETECTIONS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Additional Virus Detections and Quarantined Files…
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   please see ${CLAMAVSCANIT_LOG}.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+MOREVDETECTIONS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   export VNOTIFICATION="Additional Virus Detections and Quarantined Files…"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   export VTITLE="ClamavScanIt Virus Detections"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   export VSUBTITLE="Please see ${CLAMAVSCANIT_LOG}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   export VSOUND=Purr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   /usr/bin/osascript -e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           'display notification (system attribute "VNOTIFICATION") sound name (system attribute "VSOUND") with title (system attribute "VTITLE") subtitle (system attribute "VSUBTITLE")'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   break
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           ((K++))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   exit 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   export VNOTIFICATION="No Virus Signature Detected"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   export VTITLE="ClamavScanIt Report"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   export VSOUND=Hero
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   /usr/bin/osascript -e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           'display notification (system attribute "VNOTIFICATION") sound name (system attribute "VSOUND") with title (system attribute "VTITLE")'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   exit 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+fi
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/clamav-server/files/ClamavScanIt.workflow/Contents/Info.plist b/sysutils/clamav-server/files/ClamavScanIt.workflow/Contents/Info.plist
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..666ef3f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/clamav-server/files/ClamavScanIt.workflow/Contents/Info.plist
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,33 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+<?xml version="1.0" encoding="UTF-8"?>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+<plist version="1.0">
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+<dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   <key>NSServices</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   <array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <key>NSBackgroundColorName</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <string>background</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <key>NSBackgroundSystemColorName</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <string>systemPurpleColor</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <key>NSIconName</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <string>NSTouchBarQuickLook</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <key>NSMenuItem</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>default</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <string>ClamavScanIt</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   </dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <key>NSMessage</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <string>runWorkflowAsService</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <key>NSRequiredContext</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>NSApplicationIdentifier</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <string>com.apple.finder</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   </dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <key>NSSendFileTypes</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <string>public.item</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   </array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           </dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   </array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+</dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+</plist>
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/clamav-server/files/ClamavScanIt.workflow/Contents/QuickLook/Preview.png b/sysutils/clamav-server/files/ClamavScanIt.workflow/Contents/QuickLook/Preview.png
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..6edb7e9
</span>Binary files /dev/null and b/sysutils/clamav-server/files/ClamavScanIt.workflow/Contents/QuickLook/Preview.png differ
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/clamav-server/files/ClamavScanIt.workflow/Contents/QuickLook/Thumbnail.png b/sysutils/clamav-server/files/ClamavScanIt.workflow/Contents/QuickLook/Thumbnail.png
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..0e6e7fb
</span>Binary files /dev/null and b/sysutils/clamav-server/files/ClamavScanIt.workflow/Contents/QuickLook/Thumbnail.png differ
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/clamav-server/files/ClamavScanIt.workflow/Contents/Resources/background.color b/sysutils/clamav-server/files/ClamavScanIt.workflow/Contents/Resources/background.color
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..5b1a9d4
</span>Binary files /dev/null and b/sysutils/clamav-server/files/ClamavScanIt.workflow/Contents/Resources/background.color differ
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/clamav-server/files/ClamavScanIt.workflow/Contents/document.wflow b/sysutils/clamav-server/files/ClamavScanIt.workflow/Contents/document.wflow
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..d239b39
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/clamav-server/files/ClamavScanIt.workflow/Contents/document.wflow
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,315 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+<?xml version="1.0" encoding="UTF-8"?>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+<plist version="1.0">
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+<dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   <key>AMApplicationBuild</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   <string>444.42</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   <key>AMApplicationVersion</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   <string>2.9</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   <key>AMDocumentVersion</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   <string>2</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   <key>actions</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   <array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <key>action</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>AMAccepts</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <key>Container</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <string>List</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <key>Optional</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <true/>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <key>Types</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>com.apple.cocoa.string</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   </array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           </dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>AMActionVersion</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <string>2.0.3</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>AMApplication</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <string>Automator</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           </array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>AMParameterProperties</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <key>COMMAND_STRING</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <dict/>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <key>CheckedForUserDefaultShell</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <dict/>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <key>inputMethod</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <dict/>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <key>shell</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <dict/>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <key>source</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <dict/>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           </dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>AMProvides</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <key>Container</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <string>List</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <key>Types</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>com.apple.cocoa.string</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   </array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           </dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>ActionBundlePath</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <string>/System/Library/Automator/Run Shell Script.action</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>ActionName</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <string>Run Shell Script</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>ActionParameters</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <key>COMMAND_STRING</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <string>@PREFIX@/bin/ClamavScanIt.sh "$@"</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <key>CheckedForUserDefaultShell</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <true/>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <key>inputMethod</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <integer>1</integer>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <key>shell</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <string>/bin/bash</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <key>source</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <string></string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           </dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>BundleIdentifier</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <string>com.apple.RunShellScript</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>CFBundleVersion</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <string>2.0.3</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>CanShowSelectedItemsWhenRun</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <false/>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>CanShowWhenRun</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <true/>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>Category</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <string>AMCategoryUtilities</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           </array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>Class Name</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <string>RunShellScriptAction</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>InputUUID</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <string>3B1F6506-C1B5-437B-A489-F41B2BE14BB6</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>Keywords</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <string>Shell</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <string>Script</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <string>Command</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <string>Run</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <string>Unix</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           </array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>OutputUUID</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <string>5B5E7CE4-79EC-49C9-9BEA-F2D7BF9D9F43</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>UUID</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <string>1BD110F7-584F-4320-8E5A-17645AFF1C44</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>UnlocalizedApplications</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <string>Automator</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           </array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>arguments</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <key>0</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>default value</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <integer>0</integer>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>name</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>inputMethod</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>required</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>0</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>type</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>0</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>uuid</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>0</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   </dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <key>1</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>default value</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string></string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>name</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>source</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>required</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>0</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>type</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>0</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>uuid</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>1</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   </dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <key>2</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>default value</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <false/>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>name</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>CheckedForUserDefaultShell</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>required</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>0</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>type</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>0</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>uuid</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>2</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   </dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <key>3</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>default value</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string></string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>name</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>COMMAND_STRING</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>required</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>0</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>type</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>0</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>uuid</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>3</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   </dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <key>4</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   <dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>default value</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>/bin/sh</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>name</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>shell</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>required</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>0</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>type</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>0</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <key>uuid</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                           <string>4</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   </dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           </dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>isViewVisible</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <true/>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>location</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <string>309.000000:305.000000</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <key>nibPath</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           <string>/System/Library/Automator/Run Shell Script.action/Contents/Resources/Base.lproj/main.nib</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   </dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <key>isViewVisible</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <true/>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           </dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   </array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   <key>connectors</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   <dict/>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   <key>workflowMetaData</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   <dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <key>applicationBundleID</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <string>com.apple.finder</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <key>applicationBundleIDsByPath</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <key>/System/Library/CoreServices/Finder.app</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <string>com.apple.finder</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           </dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <key>applicationPath</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <string>/System/Library/CoreServices/Finder.app</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <key>applicationPaths</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   <string>/System/Library/CoreServices/Finder.app</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           </array>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <key>backgroundColor</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <data>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           YnBsaXN0MDDUAQIDBAUGNjdYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           VCR0b3ASAAGGoKoHCBMUFR4kKC8zVSRudWxs1QkKCwwNDg8QERJWJGNsYXNz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           W05TQ29sb3JOYW1lXE5TQ29sb3JTcGFjZV1OU0NhdGFsb2dOYW1lV05TQ29s
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           b3KACYADEAaAAoAEVlN5c3RlbV8QEXN5c3RlbVB1cnBsZUNvbG9y1RYXCxgJ
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           GRobHA5cTlNDb21wb25lbnRzVU5TUkdCXxASTlNDdXN0b21Db2xvclNwYWNl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           SzAuNSAwIDAuNSAxTxAcMC40MTgxOTE0OTI2IDAgMC40MjQzMDEwODc5ABAB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           gAWACdMfIAkhIiNUTlNJRFVOU0lDQxAHgAaACNIlCSYnV05TLmRhdGFPEQxI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           AAAMSExpbm8CEAAAbW50clJHQiBYWVogB84AAgAJAAYAMQAAYWNzcE1TRlQA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           AAAASUVDIHNSR0IAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1IUCAgAAAAAAAA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3By
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           dAAAAVAAAAAzZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAU
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           clhZWgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAAAlQA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           AABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QAAAAkbHVtaQAA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           A/gAAAAUbWVhcwAABAwAAAAkdGVjaAAABDAAAAAMclRSQwAABDwAAAgMZ1RS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           QwAABDwAAAgMYlRSQwAABDwAAAgMdGV4dAAAAABDb3B5cmlnaHQgKGMpIDE5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           OTggSGV3bGV0dC1QYWNrYXJkIENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0Ig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           SUVDNjE5NjYtMi4xAAAAAAAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           AFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAAAABYWVog
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           AAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           ACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           AAAAAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           SUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           AAAAAAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           c3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           LFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           AAAAAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           NjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAAT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           pP4AFF8uABDPFAAD7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           521lYXMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           Q1JUIGN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIANwA7AEAA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           RQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACVAJoAnwCkAKkArgCy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           ALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA+wEBAQcBDQETARkBHwElASsB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           MgE4AT4BRQFMAVIBWQFgAWcBbgF1AXwBgwGLAZIBmgGhAakBsQG5AcEByQHR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           AdkB4QHpAfIB+gIDAgwCFAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           ogKsArYCwQLLAtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOW
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           A6IDrgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSoBLYE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           xATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF1QXlBfYGBgYW
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           BicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeGB5kH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           rAe/B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiqCL4I0gjnCPsJEAklCToJTwlk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           CXkJjwmkCboJzwnlCfsKEQonCj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1EL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           aQuAC5gLsAvIC+EL+QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2O
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           DakNww3eDfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQ
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           CRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJFEmQShBKj
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           EsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgV
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           mxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kXrhfSF/cYGxhAGGUYihiv
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           GNUY+hkgGUUZaxmRGbcZ3RoEGioaURp3Gp4axRrsGxQbOxtjG4obshvaHAIc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           KhxSHHscoxzMHPUdHh1HHXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           H+ogFSBBIGwgmCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5Qj
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           wiPwJB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3onqyfc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           KA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitpK50r0SwFLDks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           biyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ovkS/HL/4wNTBsMKQw2zES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           MUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4M/E0KzRlNJ402DUTNU01hzXCNf02
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           O6o76DwnPGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8hP2E/oj/iQCNAZECmQOdB
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           KUFqQaxB7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bw
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           RzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6TQJN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           Sk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1HmUjFSfFLHUxNTX1Oq
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           U/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZuFoHWlZa
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           plr1W0VblVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+zYAVgV2CqYPxhT2Gi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           YfViSWKcYvBjQ2OXY+tkQGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           Q2maafFqSGqfavdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           cTpxlXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhueMx5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/5YBHgKiBCoFr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           gc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6JM4mZif6K
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           ZIrKizCLlov8jGOMyo0xjZiN/45mjs6PNo+ekAaQbpDWkT+RqJIRknqS45NN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           k7aUIJSKlPSVX5XJljSWn5cKl3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           951kndKeQJ6unx2fi5/6oGmg2KFHobaiJqKWowajdqPmpFakx6U4pammGqaL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           pv2nbqfgqFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6tbsu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           u6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvDWMPUxFHEzsVLxcjG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           RsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+40DnQutE8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           0b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3Ird
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           EN2W3hzeot8p36/gNuC94UThzOJT4tvjY+Pr5HPk/OWE5g3mlucf56noMui8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           6Ubp0Opb6uXrcOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           UPXe9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf//gAfSKSor
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           LFokY2xhc3NuYW1lWCRjbGFzc2VzXU5TTXV0YWJsZURhdGGjKy0uVk5TRGF0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           YVhOU09iamVjdNIpKjAxXE5TQ29sb3JTcGFjZaIyLlxOU0NvbG9yU3BhY2XS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           KSo0NVdOU0NvbG9yojQuXxAPTlNLZXllZEFyY2hpdmVy0Tg5VHJvb3SAAQAI
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           ABEAGgAjAC0AMgA3AEIASABTAFoAZgBzAIEAiQCLAI0AjwCRAJMAmgCuALkA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           xgDMAOEA7QEMAQ4BEAESARkBHgEkASYBKAEqAS8BNw2DDYUNig2VDZ4NrA2w
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           DbcNwA3FDdIN1Q3iDecN7w3yDgQOBw4MAAAAAAAAAgEAAAAAAAAAOgAAAAAA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           AAAAAAAAAAAADg4=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           </data>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <key>backgroundColorName</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <string>systemPurpleColor</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <key>inputTypeIdentifier</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <string>com.apple.Automator.fileSystemObject</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <key>outputTypeIdentifier</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <string>com.apple.Automator.nothing</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <key>presentationMode</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <integer>15</integer>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <key>processesInput</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <integer>0</integer>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <key>serviceApplicationBundleID</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <string>com.apple.finder</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <key>serviceApplicationPath</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <string>/System/Library/CoreServices/Finder.app</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <key>serviceInputTypeIdentifier</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <string>com.apple.Automator.fileSystemObject</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <key>serviceOutputTypeIdentifier</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <string>com.apple.Automator.nothing</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <key>serviceProcessesInput</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <integer>0</integer>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <key>systemImageName</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <string>NSTouchBarQuickLook</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <key>useAutomaticInputType</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <integer>0</integer>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <key>workflowTypeIdentifier</key>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           <string>com.apple.Automator.servicesMenu</string>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   </dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+</dict>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+</plist>
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/clamav-server/files/NOTICE b/sysutils/clamav-server/files/NOTICE
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..8bceebe
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/clamav-server/files/NOTICE
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,2 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The bash script ClamavScanIt.sh is licensed under GPL-3.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Please see https://www.gnu.org/licenses/gpl-3.0.en.html.
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/clamav-server/files/org.macports.clamd.plist b/sysutils/clamav-server/files/org.macports.clamd.plist
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 95cf39a..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/clamav-server/files/org.macports.clamd.plist
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,23 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-<?xml version="1.0" encoding="UTF-8"?>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-<plist version="1.0">
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-<dict>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <key>GroupName</key>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <string>_clamav</string>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <key>KeepAlive</key>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <true/>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <key>Label</key>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <string>org.macports.clamd</string>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <key>OnDemand</key>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <true/>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <key>ProgramArguments</key>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <array>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           <string>__PREFIX__/sbin/clamd</string>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   </array>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <key>RunAtLoad</key>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <true/>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <key>UserName</key>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <string>root</string>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-</dict>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-</plist>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/clamav-server/files/org.macports.freshclam.plist b/sysutils/clamav-server/files/org.macports.freshclam.plist
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 8ab62cd..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/clamav-server/files/org.macports.freshclam.plist
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,18 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-<?xml version="1.0" encoding="UTF-8"?>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-<plist version="1.0">
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-<dict>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <key>GroupName</key>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <string>_clamav</string>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <key>Label</key>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <string>org.macports.freshclam</string>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <key>ProgramArguments</key>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <array>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           <string>__PREFIX__/bin/freshclam</string>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   </array>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <key>StartInterval</key>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <integer>21600</integer>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <key>UserName</key>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   <string>_clamav</string>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-</dict>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-</plist>
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/clamav-server/files/patch-etc-clamd-conf-macports.diff b/sysutils/clamav-server/files/patch-etc-clamd-conf-macports.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..5c37038
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/clamav-server/files/patch-etc-clamd-conf-macports.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,203 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./etc/clamd.conf.macports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./etc/clamd.conf.macports      2019-06-12 15:04:06.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5,13 +5,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Comment or remove the line below.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-Example
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#Example
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Uncomment this option to enable logging.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# LogFile must be writable for the user running daemon.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LogFile @PREFIX@/var/log/clamav/clamd.log
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # A full path is required.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: disabled
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#LogFile /tmp/clamd.log
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LogFile @PREFIX@/var/log/clamav/clamd.log
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # By default the log file is locked for writing - the lock protects against
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # running clamd multiple times (if want to run another clamd, please
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -28,7 +28,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # in bytes just don't use modifiers. If LogFileMaxSize is enabled, log
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # rotation (the LogRotate option) will always be enabled.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: 1M
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#LogFileMaxSize 2M
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LogFileMaxSize 2M
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Log time with each message.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -66,12 +66,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Log additional information about the infected file, such as its
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # size and hash, together with the virus name.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ExtendedDetectionInfo yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExtendedDetectionInfo yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This option allows you to save a process identifier of the listening
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # daemon (main thread).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: disabled
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#PidFile /var/run/clamd.pid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++PidFile @PREFIX@/var/run/clamav/clamd.pid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Optional path to the global temporary directory.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: system specific (usually /tmp or /var/tmp).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -90,7 +90,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Path to a local socket file the daemon will listen on.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: disabled (must be specified by a user)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#LocalSocket /tmp/clamd.socket
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++LocalSocket @PREFIX@/var/run/clamav/clamd.socket
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Sets the group ownership on the unix socket.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: disabled (the primary group of the user running clamd)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -137,7 +137,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Maximum number of threads running at the same time.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: 10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#MaxThreads 20
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++MaxThreads 6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Waiting for data from a client socket will timeout after this time (seconds).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: 120
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -156,7 +156,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #SendBufTimeout 200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Maximum number of queued items (including those being processed by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# MaxThreads threads)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++MaxThreads 6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # It is recommended to have this value at least twice MaxThreads if possible.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # WARNING: you shouldn't increase this too much to avoid running out  of file
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # descriptors,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -177,9 +177,101 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ExcludePath ^/proc/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ExcludePath ^/sys/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# BRE regex References:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# https://www.clamav.net/documents/phishsigs#Introduction-to-regular
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# https://forum.netgate.com/topic/102819/alternate-definitions-for-clamav/10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# http://ftp.swin.edu.au/sanesecurity/foxhole_filename.cdb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Exclude these attached volumes that `CrossFilesystems` doesn't prevent
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Exclude all attached volumes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ExcludePath ^/Volumes/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Exclude every volume that's not named /Volumes/Macintosh HD/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Note: Use with `FollowDirectorySymlinks no`. The default is this directory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# is a symlink, and will not be scanned; otherwise scan if it's an attached volume
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Volumes/([^M]|M([^a]|a([^c]|c([^i]|i([^n]|n([^t]|t([^o]|o([^s]|s([^h]|h([^ ]|[ ]([^H]|H([^D]|D([^/])|$)|$)|$)|$)|$)|$)|$)|$)|$)|$)|$))[^/]{0,240}/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Network/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Quarantine/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/opt/Quarantine/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/dev/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath /.dbfseventsd$
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# macOS SIP https://support.apple.com/en-us/HT204899
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# ls -leOd /*  | grep restricted
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/System/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/bin/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/sbin/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# ls -leOd /usr/* | grep restricted | perl -lane 'chomp; s/.+\/usr\/(.+)/$1/; print "ExcludePath ^/usr/$_/";'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/usr/bin/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/usr/lib/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/usr/libexec/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/usr/sbin/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/usr/share/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/usr/standalone/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# ls -leOd /Applications/* | grep restricted | perl -lane 'chomp; s/.+\/Applications\/(.+\.app)/$1/; print "ExcludePath ^/Applications/$_/";'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/App Store.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Automator.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Books.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Calculator.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Calendar.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Chess.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Contacts.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Dashboard.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Dictionary.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/FaceTime.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Font Book.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Home.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Image Capture.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Launchpad.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Mail.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Maps.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Messages.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Mission Control.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/News.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Notes.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Photo Booth.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Photos.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Preview.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/QuickTime Player.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Reminders.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Safari.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Siri.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Stickies.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Stocks.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/System Preferences.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/TextEdit.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Time Machine.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/VoiceMemos.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/iTunes.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# ls -leOd /Applications/Utilities/* | grep restricted | perl -lane 'chomp; s/.+\/Applications\/(.+\.app)/$1/; print "ExcludePath ^/Applications/$_/";'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Utilities/Activity Monitor.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Utilities/AirPort Utility.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Utilities/Audio MIDI Setup.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Utilities/Bluetooth File Exchange.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Utilities/Boot Camp Assistant.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Utilities/ColorSync Utility.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Utilities/Console.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Utilities/Digital Color Meter.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Utilities/Disk Utility.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Utilities/Grapher.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Utilities/Keychain Access.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Utilities/Migration Assistant.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Utilities/Screenshot.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Utilities/Script Editor.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Utilities/System Information.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Utilities/Terminal.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/Applications/Utilities/VoiceOver Utility.app/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# exclude these local package directories that have detectable signatures
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# snort
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^/usr/local/etc/snort/rules/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# rspamd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ExcludePath ^@PREFIX@/var/macports/distfiles/rspamd/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Maximum depth directories are scanned at.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: 15
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#MaxDirectoryRecursion 20
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++MaxDirectoryRecursion 30
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Follow directory symlinks.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -211,7 +303,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Don't fork into background.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#Foreground yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Foreground yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Enable debug messages in libclamav.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -228,7 +320,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Detect Possibly Unwanted Applications.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#DetectPUA yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++DetectPUA yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Exclude a specific PUA category. This directive can be used multiple times.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # See https://github.com/vrtadmin/clamav-faq/blob/master/faq/faq-pua.md for 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -244,6 +336,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #IncludePUA Scanner
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #IncludePUA RAT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IncludePUA RAT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IncludePUA Spy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IncludePUA Server
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IncludePUA Script
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This option causes memory or nested map scans to dump the content to disk.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # If you turn on this option, more data is written to disk and is available
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # when the LeaveTemporaryFiles option is enabled.
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/clamav-server/files/patch-etc-freshclam-conf-macports.diff b/sysutils/clamav-server/files/patch-etc-freshclam-conf-macports.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..6b4a5de
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/clamav-server/files/patch-etc-freshclam-conf-macports.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,67 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./etc/freshclam.conf.macports
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./etc/freshclam.conf.macports  2019-06-12 15:57:12.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5,7 +5,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Comment or remove the line below.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-Example
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#Example
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Path to the database directory.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # WARNING: It must match clamd.conf's directive!
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14,7 +14,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Path to the log file (make sure it has proper permissions)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: disabled
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#UpdateLogFile /var/log/freshclam.log
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++UpdateLogFile @PREFIX@/var/log/clamav/freshclam.log
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Maximum size of the log file.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Value of 0 disables the limit.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -48,7 +48,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This option allows you to save the process identifier of the daemon
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: disabled
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#PidFile /var/run/freshclam.pid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++PidFile @PREFIX@/var/run/clamav/freshclam.pid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # By default when started freshclam drops privileges and switches to the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # "clamav" user. This directive allows you to change the database owner.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -109,8 +109,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Proxy settings
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: disabled
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#HTTPProxyServer myproxy.com
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#HTTPProxyPort 1234
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#HTTPProxyServer localhost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#HTTPProxyPort 3128
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #HTTPProxyUsername myusername
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #HTTPProxyPassword mypass
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -118,7 +118,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # filtering you can use this option to force the use of a different
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # User-Agent header.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: clamav/version_number
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#HTTPUserAgent SomeUserAgentIdString
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#HTTPUserAgent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Use aaa.bbb.ccc.ddd as client address for downloading databases. Useful for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # multi-homed systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -127,7 +127,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Send the RELOAD command to clamd.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#NotifyClamd /path/to/clamd.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++NotifyClamd @PREFIX@/etc/clamd.conf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Run command after successful database update.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: disabled
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -144,7 +144,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Don't fork into background.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#Foreground yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++Foreground yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Enable debug messages in libclamav.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Default: no
</span></pre><pre style='margin:0'>

</pre>