summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authorkefren <kefren@pkgsrc.org>2010-12-24 07:11:05 +0000
committerkefren <kefren@pkgsrc.org>2010-12-24 07:11:05 +0000
commit714210b407efe799c5d242c305e72936c3c0cba1 (patch)
tree3f1d0bae663209e5fff710c304060ad0bd106ba4 /security
parenta7783b57190fdd71ce8057e1e210cd11501da7d3 (diff)
downloadpkgsrc-714210b407efe799c5d242c305e72936c3c0cba1.tar.gz
Move clamav into security/. No objections on tech-pkg@
Part of PR/32554
Diffstat (limited to 'security')
-rw-r--r--security/clamav/DEINSTALL9
-rw-r--r--security/clamav/DESCR5
-rw-r--r--security/clamav/MESSAGE13
-rw-r--r--security/clamav/Makefile77
-rw-r--r--security/clamav/PLIST32
-rw-r--r--security/clamav/PLIST.milter3
-rw-r--r--security/clamav/buildlink3.mk19
-rw-r--r--security/clamav/distinfo10
-rw-r--r--security/clamav/files/clamd.sh78
-rw-r--r--security/clamav/files/freshclamd.sh20
-rw-r--r--security/clamav/options.mk24
-rw-r--r--security/clamav/patches/patch-aa14
-rw-r--r--security/clamav/patches/patch-ab24
-rw-r--r--security/clamav/patches/patch-ad15
-rw-r--r--security/clamav/patches/patch-af24
-rw-r--r--security/clamav/patches/patch-ag14
16 files changed, 381 insertions, 0 deletions
diff --git a/security/clamav/DEINSTALL b/security/clamav/DEINSTALL
new file mode 100644
index 00000000000..59fd32191a7
--- /dev/null
+++ b/security/clamav/DEINSTALL
@@ -0,0 +1,9 @@
+# $NetBSD: DEINSTALL,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $
+
+case ${STAGE} in
+DEINSTALL)
+ # Unconditionally remove the virus databases when deinstalling.
+ ${RM} -f @CLAMAV_DBDIR@/daily.cvd
+ ${RM} -f @CLAMAV_DBDIR@/main.cvd
+ ;;
+esac
diff --git a/security/clamav/DESCR b/security/clamav/DESCR
new file mode 100644
index 00000000000..7621892cd95
--- /dev/null
+++ b/security/clamav/DESCR
@@ -0,0 +1,5 @@
+Clam AntiVirus is an anti-virus toolkit written from scratch. It is licensed
+under GNU GPL2 and uses the virus database from OpenAntiVirus, which is an
+another free anti-virus project. In contrast to OpenAntiVirus (which is written
+in Java), Clam AntiVirus is written entirely in C and its database is KEPT UP
+TO DATE. It also detects polymorphic viruses as well.
diff --git a/security/clamav/MESSAGE b/security/clamav/MESSAGE
new file mode 100644
index 00000000000..43af7fe9b00
--- /dev/null
+++ b/security/clamav/MESSAGE
@@ -0,0 +1,13 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $
+
+You should update the virus databases to the latest ones available
+before using ClamAV. This can be done by running the following command
+as `${ROOT_USER}' or `${CLAMAV_USER}':
+
+ ${PREFIX}/bin/freshclam
+
+Note that as of version 0.80, clamav.conf has been replaced by
+clamd.conf. Be sure to update your configuration to reflect this.
+
+===========================================================================
diff --git a/security/clamav/Makefile b/security/clamav/Makefile
new file mode 100644
index 00000000000..47721d94634
--- /dev/null
+++ b/security/clamav/Makefile
@@ -0,0 +1,77 @@
+# $NetBSD: Makefile,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $
+
+DISTNAME= clamav-0.96.5
+CATEGORIES= security
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=clamav/}
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= http://www.clamav.net/
+COMMENT= Anti-virus toolkit
+LICENSE= gnu-gpl-v2
+
+PKG_INSTALLATION_TYPES= overwrite pkgviews
+PKG_DESTDIR_SUPPORT= user-destdir
+
+USE_LIBTOOL= yes
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+= --disable-clamav
+CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
+CONFIGURE_ARGS+= --with-dbdir=${CLAMAV_DBDIR}
+CONFIGURE_ARGS+= --with-user=${CLAMAV_USER}
+CONFIGURE_ARGS+= --with-group=${CLAMAV_GROUP}
+CONFIGURE_ARGS+= --with-ltdl-include=${BUILDLINK_PREFIX.libltdl}/include
+CONFIGURE_ARGS+= --with-ltdl-lib=${BUILDLINK_PREFIX.libltdl}/lib
+CONFIGURE_ARGS+= --with-zlib=${BUILDLINK_PREFIX.zlib}
+# pkgsrc enforces a "secure" version of zlib, so don't let this check
+# bomb the build.
+CONFIGURE_ARGS+= --disable-zlib-vcheck
+# avoid multiarch libdir on Darwin
+CONFIGURE_ARGS+= --libdir=${PREFIX}/lib
+
+.include "../../mk/bsd.prefs.mk"
+
+PLIST_SRC+= ${PKGDIR}/PLIST
+
+.if ${OPSYS} == "NetBSD" && !empty(OS_VERSION:M1.*)
+CONFIGURE_ARGS+= --disable-readdir-r
+.else
+CONFIGURE_ARGS+= --enable-readdir_r
+.endif
+
+BUILD_DEFS+= CLAMAV_USER CLAMAV_GROUP CLAMAV_DBDIR
+FILES_SUBST+= CLAMAV_USER=${CLAMAV_USER}
+MESSAGE_SUBST+= CLAMAV_USER=${CLAMAV_USER}
+
+RCD_SCRIPTS= clamd freshclamd
+PKG_GROUPS+= ${CLAMAV_GROUP}
+PKG_USERS+= ${CLAMAV_USER}:${CLAMAV_GROUP}
+
+PKG_GROUPS_VARS+= CLAMAV_GROUP
+PKG_USERS_VARS= CLAMAV_USER
+
+EGDIR= ${PREFIX}/share/examples/clamav
+FILES_SUBST+= CLAMAV_DBDIR=${CLAMAV_DBDIR}
+
+OWN_DIRS_PERMS= ${CLAMAV_DBDIR} ${CLAMAV_USER} ${CLAMAV_GROUP} 0775
+CONF_FILES= # empty
+CONF_FILES_PERMS= # empty
+.for i in clamd.conf freshclam.conf
+CONF_FILES+= ${EGDIR}/${i} ${PKG_SYSCONFDIR}/${i}
+.endfor
+.for i in daily.cvd main.cvd
+CONF_FILES_PERMS+= ${EGDIR}/${i} ${CLAMAV_DBDIR}/${i} \
+ ${CLAMAV_USER} ${CLAMAV_GROUP} 0664
+.endfor
+
+INSTALL_MAKE_FLAGS= ${MAKE_FLAGS} CFGINST=${EGDIR} DBINST=${EGDIR}
+
+.include "options.mk"
+
+.include "../../archivers/bzip2/buildlink3.mk"
+.include "../../devel/libltdl/buildlink3.mk"
+.include "../../devel/ncurses/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../devel/gmp/buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/security/clamav/PLIST b/security/clamav/PLIST
new file mode 100644
index 00000000000..0ca9a4e1e6d
--- /dev/null
+++ b/security/clamav/PLIST
@@ -0,0 +1,32 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $
+bin/clamav-config
+bin/clambc
+bin/clamconf
+bin/clamdscan
+bin/clamdtop
+bin/clamscan
+bin/freshclam
+bin/sigtool
+include/clamav.h
+lib/libclamav.la
+lib/libclamunrar.la
+lib/libclamunrar_iface.la
+lib/pkgconfig/libclamav.pc
+man/man1/clamconf.1
+man/man1/clamdscan.1
+man/man1/clamdtop.1
+man/man1/clamscan.1
+man/man1/freshclam.1
+man/man1/sigtool.1
+man/man5/clamav-milter.conf.5
+man/man5/clamd.conf.5
+man/man5/freshclam.conf.5
+man/man8/clamav-milter.8
+man/man8/clamd.8
+sbin/clamd
+share/examples/clamav/clamd.conf
+share/examples/clamav/daily.cvd
+share/examples/clamav/freshclam.conf
+share/examples/clamav/main.cvd
+share/examples/rc.d/clamd
+share/examples/rc.d/freshclamd
diff --git a/security/clamav/PLIST.milter b/security/clamav/PLIST.milter
new file mode 100644
index 00000000000..7c628cfb07b
--- /dev/null
+++ b/security/clamav/PLIST.milter
@@ -0,0 +1,3 @@
+@comment $NetBSD: PLIST.milter,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $
+sbin/clamav-milter
+share/examples/clamav/clamav-milter.conf
diff --git a/security/clamav/buildlink3.mk b/security/clamav/buildlink3.mk
new file mode 100644
index 00000000000..a3099523c51
--- /dev/null
+++ b/security/clamav/buildlink3.mk
@@ -0,0 +1,19 @@
+# $NetBSD: buildlink3.mk,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $
+
+BUILDLINK_TREE+= clamav
+
+.if !defined(CLAMAV_BUILDLINK3_MK)
+CLAMAV_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.clamav+= clamav>=0.95.3nb1
+BUILDLINK_ABI_DEPENDS.clamav+= clamav>=0.95.3nb2
+BUILDLINK_PKGSRCDIR.clamav?= ../../security/clamav
+
+.include "../../archivers/bzip2/buildlink3.mk"
+.include "../../devel/libltdl/buildlink3.mk"
+.include "../../devel/ncurses/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../devel/gmp/buildlink3.mk"
+.endif # CLAMAV_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -clamav
diff --git a/security/clamav/distinfo b/security/clamav/distinfo
new file mode 100644
index 00000000000..36ee9212e6c
--- /dev/null
+++ b/security/clamav/distinfo
@@ -0,0 +1,10 @@
+$NetBSD: distinfo,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $
+
+SHA1 (clamav-0.96.5.tar.gz) = a7253e30d40e0c03964a60ed589b356a115b26c5
+RMD160 (clamav-0.96.5.tar.gz) = 70c465548395301b83bb2f5428aa383825089af4
+Size (clamav-0.96.5.tar.gz) = 41164924 bytes
+SHA1 (patch-aa) = 8539a90ac5591c86f7e9f6b8c073f36523f221a5
+SHA1 (patch-ab) = fea995ea944c2ae0f51a41e1a1076badf65c6c8b
+SHA1 (patch-ad) = 7d7ea5f8cda22dca1a399ee1219f1f072d8a3eed
+SHA1 (patch-af) = a58e2c484b34bbfccb62d6fdf35b552a15dc9bd3
+SHA1 (patch-ag) = cf4a0040a53c81402e8d15478407bc854af6fb30
diff --git a/security/clamav/files/clamd.sh b/security/clamav/files/clamd.sh
new file mode 100644
index 00000000000..671d320afad
--- /dev/null
+++ b/security/clamav/files/clamd.sh
@@ -0,0 +1,78 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: clamd.sh,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $
+#
+# clamd does anti-virus checking.
+#
+# PROVIDE: clamd
+# REQUIRE: DAEMON
+# BEFORE: mail local
+# KEYWORD: shutdown
+
+if [ -f /etc/rc.subr ]; then
+ . /etc/rc.subr
+fi
+
+name="clamd"
+rcvar=$name
+command="@PREFIX@/sbin/${name}"
+scan_command="@PREFIX@/bin/clamdscan"
+required_files="@PKG_SYSCONFDIR@/clamd.conf"
+start_precmd="clamd_precmd"
+stop_cmd="clamd_stopcmd"
+
+if [ -f "${required_files}" ]; then
+ pidfile_=`@AWK@ '/^#/ {next}; /^PidFile[ ]/ {r = $2};
+ END {print r}' ${required_files}`
+ if [ -n "${pidfile_}" ]; then
+ pidfile=${pidfile_}
+ fi
+ logfile=`@AWK@ 'BEGIN {r = "/tmp/clamd.log"};
+ /^#/ {next}; /^LogFile[ ]/ {r = $2};
+ END {print r}' ${required_files}`
+ socket=`@AWK@ 'BEGIN {r = "/tmp/clamd"};
+ /^#/ {next}; /^LocalSocket[ ]/ {r = $2};
+ END {print r}' ${required_files}`
+ clamd_user=`@AWK@ 'BEGIN {r = "@CLAMAV_USER@"};
+ /^#/ {next}; /^User[ ]/ {r = $2};
+ END {print r}' ${required_files}`
+fi
+
+clamd_precmd()
+{
+ @RM@ -f ${socket}
+ if [ -n "${logfile}" ]; then
+ @TOUCH@ ${logfile}
+ @CHOWN@ ${clamd_user} ${logfile}
+ fi
+ if [ -n "${pidfile}" ]; then
+ @TOUCH@ ${pidfile}
+ @CHOWN@ ${clamd_user} ${pidfile}
+ fi
+}
+
+clamd_stopcmd()
+{
+ # Workaround bug when clamd is built against pth by send TERM to
+ # clamd, then forcing it to start a worker thread that exits.
+ # This forces the main thread to awaken and realize that it's
+ # supposed to shutdown.
+ #
+ @ECHO@ "Stopping ${name}."
+ doit="@SU@ -m ${clamd_user} -c \"kill -TERM $rc_pid\""
+ if ! eval $doit && [ -z "$rc_force" ]; then
+ return 1
+ fi
+ ${scan_command} --quiet ${scan_command} 2>/dev/null
+ wait_for_pids $rc_pid
+}
+
+if [ -f /etc/rc.subr -a -f /etc/rc.conf \
+ -a -d /etc/rc.d -a -f /etc/rc.d/DAEMON ]; then
+ load_rc_config $name
+ run_rc_command "$1"
+else
+ @ECHO@ -n " ${name}"
+ eval ${start_precmd}
+ ${command} ${clamd_flags} ${command_args}
+fi
diff --git a/security/clamav/files/freshclamd.sh b/security/clamav/files/freshclamd.sh
new file mode 100644
index 00000000000..267c4f31a30
--- /dev/null
+++ b/security/clamav/files/freshclamd.sh
@@ -0,0 +1,20 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: freshclamd.sh,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $
+#
+# PROVIDE: freshclamd
+# REQUIRE: DAEMON LOGIN clamd
+
+name="freshclamd"
+rcvar=$name
+command="@PREFIX@/bin/freshclam"
+required_files="@PKG_SYSCONFDIR@/freshclam.conf"
+pidfile="@CLAMAV_DBDIR@/${name}.pid"
+freshclamd_user="@CLAMAV_USER@"
+freshclamd_flags=${freshclamd_flags:=-c 2}
+command_args="-d -p $pidfile"
+
+. /etc/rc.subr
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/security/clamav/options.mk b/security/clamav/options.mk
new file mode 100644
index 00000000000..b9098ab3bbe
--- /dev/null
+++ b/security/clamav/options.mk
@@ -0,0 +1,24 @@
+# $NetBSD: options.mk,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.clamav
+PKG_SUPPORTED_OPTIONS= milter clamav-experimental
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Mmilter)
+# force use of pkgsrc version of libmilter -- clamav uses the sendmail binary
+# to check API compatibility(!), so it must build with as new a version of
+# libmilter as pkgsrc is capable of providing
+USE_BUILTIN.libmilter= no
+. include "../../mail/libmilter/buildlink3.mk"
+CONFIGURE_ARGS+= --enable-milter
+PLIST_SRC+= ${PKGDIR}/PLIST.milter
+.else
+CONFIGURE_ARGS+= --disable-milter
+# XXX --disable-milter doesn't work as expected, so we need this
+CONFIGURE_ENV+= ac_cv_header_libmilter_mfapi_h=no
+.endif
+
+.if !empty(PKG_OPTIONS:Mclamav-experimental)
+CONFIGURE_ARGS+= --enable-experimental
+.endif
diff --git a/security/clamav/patches/patch-aa b/security/clamav/patches/patch-aa
new file mode 100644
index 00000000000..701b77f3532
--- /dev/null
+++ b/security/clamav/patches/patch-aa
@@ -0,0 +1,14 @@
+$NetBSD: patch-aa,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $
+
+Fix compilation error DragonFly.
+
+--- clamdtop/clamdtop.c.orig 2009-06-01 19:20:12.000000000 +0300
++++ clamdtop/clamdtop.c 2009-06-11 07:31:58.000000000 +0300
+@@ -33,6 +33,7 @@
+ #endif
+
+ #include <unistd.h>
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
diff --git a/security/clamav/patches/patch-ab b/security/clamav/patches/patch-ab
new file mode 100644
index 00000000000..1dcf445568d
--- /dev/null
+++ b/security/clamav/patches/patch-ab
@@ -0,0 +1,24 @@
+$NetBSD: patch-ab,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $
+
+Make this pkgsrc friedly.
+
+--- libclamav/c++/llvm/utils/buildit/build_llvm.orig 2010-11-10 16:57:04.000000000 +0000
++++ libclamav/c++/llvm/utils/buildit/build_llvm
+@@ -224,7 +224,7 @@ make $LOCAL_MAKEFLAGS $OPTIMIZE_OPTS UNI
+ LLVM_SUBMIT_SUBVERSION=$LLVM_SUBMIT_SUBVERSION \
+ OPTIMIZE_OPTION='-O3' VERBOSE=1 install
+
+-if ! test $? == 0 ; then
++if ! test $? = 0 ; then
+ echo "error: LLVM 'make install' failed!"
+ exit 1
+ fi
+@@ -332,7 +332,7 @@ if [ "$INSTALL_LIBLTO" = "yes" ]; then
+ # PPC objects!
+ strip -arch all -Sl $DT_HOME/lib/libLTO.dylib
+
+- if [ "x$DISABLE_USR_LINKS" == "x" ]; then
++ if [ "x$DISABLE_USR_LINKS" = "x" ]; then
+ # Add a symlink in /usr/lib for B&I.
+ mkdir -p $DEST_DIR/usr/lib/
+ (cd $DEST_DIR/usr/lib && \
diff --git a/security/clamav/patches/patch-ad b/security/clamav/patches/patch-ad
new file mode 100644
index 00000000000..96b026b4b68
--- /dev/null
+++ b/security/clamav/patches/patch-ad
@@ -0,0 +1,15 @@
+$NetBSD: patch-ad,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $
+
+Fix compilation error DragonFly.
+
+--- docs/Makefile.in.orig 2010-05-14 14:16:49.000000000 +0300
++++ docs/Makefile.in 2010-05-20 10:07:03.000000000 +0300
+@@ -273,6 +273,8 @@
+ man_MANS = man/clamscan.1 man/freshclam.1 man/sigtool.1 man/clamd.8 man/clamd.conf.5 man/clamdscan.1 man/clamav-milter.8 man/clamav-milter.conf.5 man/freshclam.conf.5 man/clamconf.1 man/clamdtop.1
+ all: all-am
+
++@BUILD_CLAMD_TRUE@@HAVE_MILTER_TRUE@MILTER_MANS = man/clamav-milter.8
++
+ .SUFFIXES:
+ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
diff --git a/security/clamav/patches/patch-af b/security/clamav/patches/patch-af
new file mode 100644
index 00000000000..19620ec0cd1
--- /dev/null
+++ b/security/clamav/patches/patch-af
@@ -0,0 +1,24 @@
+$NetBSD: patch-af,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $
+
+Fix compilation error DragonFly.
+
+--- database/Makefile.in.orig 2010-05-07 22:02:57.000000000 +0300
++++ database/Makefile.in 2010-05-20 10:07:22.000000000 +0300
+@@ -435,17 +435,6 @@
+ $(mkinstalldirs) $(DESTDIR)$(DBINST);\
+ test -f $(DESTDIR)$(DBINST)/main.cvd || test -f $(DESTDIR)$(DBINST)/main.cld || $(INSTALL_DATA) $(srcdir)/main.cvd $(DESTDIR)$(DBINST);\
+ test -f $(DESTDIR)$(DBINST)/daily.cvd || test -f $(DESTDIR)$(DBINST)/daily.cld || $(INSTALL_DATA) $(srcdir)/daily.cvd $(DESTDIR)$(DBINST);\
+- if test `id|sed -e 's/^.[^(]*(\([^)]*\)).*/\1/'` = "root" && test -n "${CLAMAVUSER}" && test -n "${CLAMAVGROUP}"; then \
+- chmod 775 $(DESTDIR)$(DBINST); \
+- chown ${CLAMAVUSER} $(DESTDIR)$(DBINST); \
+- chgrp ${CLAMAVGROUP} $(DESTDIR)$(DBINST); \
+- if test -f $(DESTDIR)$(DBINST)/main.cvd; then chmod 664 $(DESTDIR)$(DBINST)/main.cvd; fi;\
+- if test -f $(DESTDIR)$(DBINST)/main.cvd; then chown ${CLAMAVUSER} $(DESTDIR)$(DBINST)/main.cvd; fi;\
+- if test -f $(DESTDIR)$(DBINST)/main.cvd; then chgrp ${CLAMAVGROUP} $(DESTDIR)$(DBINST)/main.cvd; fi;\
+- if test -f $(DESTDIR)$(DBINST)/daily.cvd; then chmod 664 $(DESTDIR)$(DBINST)/daily.cvd; fi;\
+- if test -f $(DESTDIR)$(DBINST)/daily.cvd; then chown ${CLAMAVUSER} $(DESTDIR)$(DBINST)/daily.cvd; fi;\
+- if test -f $(DESTDIR)$(DBINST)/daily.cvd; then chgrp ${CLAMAVGROUP} $(DESTDIR)$(DBINST)/daily.cvd; fi;\
+- fi
+
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/security/clamav/patches/patch-ag b/security/clamav/patches/patch-ag
new file mode 100644
index 00000000000..cc2811a89f8
--- /dev/null
+++ b/security/clamav/patches/patch-ag
@@ -0,0 +1,14 @@
+$NetBSD: patch-ag,v 1.1.1.1 2010/12/24 07:11:05 kefren Exp $
+
+Fix compilation error DragonFly.
+
+--- libclamav/others.h.orig 2010-03-31 19:39:38.000000000 +0300
++++ libclamav/others.h 2010-04-01 12:24:33.000000000 +0300
+@@ -33,6 +33,7 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <unistd.h>
+ #include "cltypes.h"
+
+ #include "clamav.h"