clamdtop moved to toplevel + manpage.

git-svn: trunk@4846
remotes/push_mirror/0.95
Török Edvin 17 years ago
parent af90099536
commit 8db0a3463d
  1. 8
      ChangeLog
  2. 2
      Makefile.am
  3. 9
      Makefile.in
  4. 9
      clamav-config.h.in
  5. 2
      clamav-milter/Makefile.in
  6. 2
      clamconf/Makefile.in
  7. 2
      clamd/Makefile.in
  8. 2
      clamdscan/Makefile.in
  9. 17
      clamdtop/Makefile.am
  10. 641
      clamdtop/Makefile.in
  11. 158
      clamdtop/clamdtop.c
  12. 2
      clamscan/Makefile.in
  13. 2530
      configure
  14. 51
      configure.in
  15. 16
      contrib/clamdtop/Makefile
  16. 8
      contrib/clamdtop/TODO
  17. 2
      database/Makefile.in
  18. 2
      docs/Makefile.am
  19. 4
      docs/Makefile.in
  20. 191
      docs/man/clamdtop.1.in
  21. 2
      etc/Makefile.in
  22. 2
      freshclam/Makefile.in
  23. 2
      libclamav/Makefile.in
  24. 2
      libclamav/lzma/Makefile.in
  25. 2
      libltdl/Makefile.in
  26. 2
      m4/acinclude.m4
  27. 6
      shared/optparser.c
  28. 3
      shared/optparser.h
  29. 2
      sigtool/Makefile.in
  30. 2
      test/Makefile.in
  31. 2
      unit_tests/Makefile.in

@ -1,3 +1,11 @@
Sat Feb 21 21:48:43 EET 2009 (edwin)
------------------------------------
* Makefile.in, clamav-config.h.in, clamav-milter/, clamconf/,
clamd/, clamdscan/, clamdtop/, clamscan/, configure, configure.in,
contrib/, database/, docs/, etc/, freshclam/, libclamav/, libltdl/,
m4/, shared/, sigtool/, test/, unit_tests/: clamdtop moved to
toplevel
Sat Feb 21 11:22:15 CET 2009 (acab)
-----------------------------------
* libclamav/nsis: fix race introduced in r4379

@ -18,7 +18,7 @@
ACLOCAL_AMFLAGS=-I m4
SUBDIRS = libltdl libclamav clamscan clamd clamdscan freshclam sigtool clamconf database docs etc clamav-milter test unit_tests
SUBDIRS = libltdl libclamav clamscan clamd clamdscan freshclam sigtool clamconf database docs etc clamav-milter test unit_tests clamdtop
EXTRA_DIST = FAQ examples BUGS shared libclamav.pc.in UPGRADE COPYING.bzip2 COPYING.lzma COPYING.unrar COPYING.LGPL COPYING.file COPYING.zlib COPYING.BSD COPYING.getopt
bin_SCRIPTS=clamav-config

@ -62,6 +62,7 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(top_srcdir)/docs/man/clamd.8.in \
$(top_srcdir)/docs/man/clamd.conf.5.in \
$(top_srcdir)/docs/man/clamdscan.1.in \
$(top_srcdir)/docs/man/clamdtop.1.in \
$(top_srcdir)/docs/man/clamscan.1.in \
$(top_srcdir)/docs/man/freshclam.1.in \
$(top_srcdir)/docs/man/freshclam.conf.5.in \
@ -88,7 +89,7 @@ CONFIG_CLEAN_FILES = clamav-config libclamav.pc \
docs/man/clamav-milter.8 docs/man/clamconf.1 docs/man/clamd.8 \
docs/man/clamd.conf.5 docs/man/clamdscan.1 docs/man/clamscan.1 \
docs/man/freshclam.1 docs/man/freshclam.conf.5 \
docs/man/sigtool.1
docs/man/sigtool.1 docs/man/clamdtop.1
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgconfigdir)"
binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
SCRIPTS = $(bin_SCRIPTS)
@ -144,6 +145,8 @@ CLAMAV_MILTER_LIBS = @CLAMAV_MILTER_LIBS@
CLAMD_LIBS = @CLAMD_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSES_CPPFLAGS = @CURSES_CPPFLAGS@
CURSES_LIBS = @CURSES_LIBS@
CYGPATH_W = @CYGPATH_W@
DBDIR = @DBDIR@
DEFS = @DEFS@
@ -277,7 +280,7 @@ target_vendor = @target_vendor@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = libltdl libclamav clamscan clamd clamdscan freshclam sigtool clamconf database docs etc clamav-milter test unit_tests
SUBDIRS = libltdl libclamav clamscan clamd clamdscan freshclam sigtool clamconf database docs etc clamav-milter test unit_tests clamdtop
EXTRA_DIST = FAQ examples BUGS shared libclamav.pc.in UPGRADE COPYING.bzip2 COPYING.lzma COPYING.unrar COPYING.LGPL COPYING.file COPYING.zlib COPYING.BSD COPYING.getopt
bin_SCRIPTS = clamav-config
pkgconfigdir = $(libdir)/pkgconfig
@ -404,6 +407,8 @@ docs/man/freshclam.conf.5: $(top_builddir)/config.status $(top_srcdir)/docs/man/
cd $(top_builddir) && $(SHELL) ./config.status $@
docs/man/sigtool.1: $(top_builddir)/config.status $(top_srcdir)/docs/man/sigtool.1.in
cd $(top_builddir) && $(SHELL) ./config.status $@
docs/man/clamdtop.1: $(top_builddir)/config.status $(top_srcdir)/docs/man/clamdtop.1.in
cd $(top_builddir) && $(SHELL) ./config.status $@
install-binSCRIPTS: $(bin_SCRIPTS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"

@ -30,6 +30,9 @@
/* where to look for the config file */
#undef CONFDIR
/* curses header location */
#undef CURSES_INCLUDE
/* os is aix */
#undef C_AIX
@ -223,6 +226,12 @@
/* Define to 1 if you have the <libmilter/mfapi.h> header file. */
#undef HAVE_LIBMILTER_MFAPI_H
/* Define to '1' if you have the ncurses.h library */
#undef HAVE_LIBNCURSES
/* Define to '1' if you have the curses.h library */
#undef HAVE_LIBPDCURSES
/* Define to 1 if you have the `z' library (-lz). */
#undef HAVE_LIBZ

@ -131,6 +131,8 @@ CLAMAV_MILTER_LIBS = @CLAMAV_MILTER_LIBS@
CLAMD_LIBS = @CLAMD_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSES_CPPFLAGS = @CURSES_CPPFLAGS@
CURSES_LIBS = @CURSES_LIBS@
CYGPATH_W = @CYGPATH_W@
DBDIR = @DBDIR@
DEFS = @DEFS@

@ -112,6 +112,8 @@ CLAMAV_MILTER_LIBS = @CLAMAV_MILTER_LIBS@
CLAMD_LIBS = @CLAMD_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSES_CPPFLAGS = @CURSES_CPPFLAGS@
CURSES_LIBS = @CURSES_LIBS@
CYGPATH_W = @CYGPATH_W@
DBDIR = @DBDIR@
DEFS = @DEFS@ -DCL_NOTHREADS -DCL_NOLIBCLAMAV

@ -131,6 +131,8 @@ CLAMAV_MILTER_LIBS = @CLAMAV_MILTER_LIBS@
CLAMD_LIBS = @CLAMD_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSES_CPPFLAGS = @CURSES_CPPFLAGS@
CURSES_LIBS = @CURSES_LIBS@
CYGPATH_W = @CYGPATH_W@
DBDIR = @DBDIR@
DEFS = @DEFS@

@ -123,6 +123,8 @@ CLAMAV_MILTER_LIBS = @CLAMAV_MILTER_LIBS@
CLAMD_LIBS = @CLAMD_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSES_CPPFLAGS = @CURSES_CPPFLAGS@
CURSES_LIBS = @CURSES_LIBS@
CYGPATH_W = @CYGPATH_W@
DBDIR = @DBDIR@
DEFS = @DEFS@ -DCL_NOTHREADS -DCL_NOLIBCLAMAV

@ -0,0 +1,17 @@
if HAVE_CURSES
bin_PROGRAMS = clamdtop
man_MANS = $(top_builddir)/docs/man/clamdtop.1
clamdtop_SOURCES = \
$(top_srcdir)/shared/optparser.c \
$(top_srcdir)/shared/optparser.h \
$(top_srcdir)/shared/getopt.c \
$(top_srcdir)/shared/getopt.h \
$(top_srcdir)/shared/misc.c \
$(top_srcdir)/shared/misc.h \
clamdtop.c
AM_CPPFLAGS = -I$(top_srcdir) @CURSES_CPPFLAGS@
clamdtop_LDADD = @CURSES_LIBS@ $(top_builddir)/libclamav/libclamav_internal_utils.la
endif
DEFS = @DEFS@ -DCL_NOTHREADS -DCL_NOLIBCLAMAV
EXTRA_DIST = clamdtop.c

@ -0,0 +1,641 @@
# Makefile.in generated by automake 1.10.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
@HAVE_CURSES_TRUE@bin_PROGRAMS = clamdtop$(EXEEXT)
subdir = clamdtop
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/argz.m4 $(top_srcdir)/m4/fdpassing.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltdl.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/mmap_private.m4 $(top_srcdir)/m4/resolv.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/clamav-config.h
CONFIG_CLEAN_FILES =
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS)
am__clamdtop_SOURCES_DIST = $(top_srcdir)/shared/optparser.c \
$(top_srcdir)/shared/optparser.h $(top_srcdir)/shared/getopt.c \
$(top_srcdir)/shared/getopt.h $(top_srcdir)/shared/misc.c \
$(top_srcdir)/shared/misc.h clamdtop.c
@HAVE_CURSES_TRUE@am_clamdtop_OBJECTS = optparser.$(OBJEXT) \
@HAVE_CURSES_TRUE@ getopt.$(OBJEXT) misc.$(OBJEXT) \
@HAVE_CURSES_TRUE@ clamdtop.$(OBJEXT)
clamdtop_OBJECTS = $(am_clamdtop_OBJECTS)
@HAVE_CURSES_TRUE@clamdtop_DEPENDENCIES = $(top_builddir)/libclamav/libclamav_internal_utils.la
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
SOURCES = $(clamdtop_SOURCES)
DIST_SOURCES = $(am__clamdtop_SOURCES_DIST)
man1dir = $(mandir)/man1
NROFF = nroff
MANS = $(man_MANS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AR = @AR@
ARGZ_H = @ARGZ_H@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFGDIR = @CFGDIR@
CFLAGS = @CFLAGS@
CHECK_CPPFLAGS = @CHECK_CPPFLAGS@
CHECK_LIBS = @CHECK_LIBS@
CLAMAVGROUP = @CLAMAVGROUP@
CLAMAVUSER = @CLAMAVUSER@
CLAMAV_MILTER_LIBS = @CLAMAV_MILTER_LIBS@
CLAMD_LIBS = @CLAMD_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSES_CPPFLAGS = @CURSES_CPPFLAGS@
CURSES_LIBS = @CURSES_LIBS@
CYGPATH_W = @CYGPATH_W@
DBDIR = @DBDIR@
DEFS = @DEFS@ -DCL_NOTHREADS -DCL_NOLIBCLAMAV
DEPDIR = @DEPDIR@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FRESHCLAM_LIBS = @FRESHCLAM_LIBS@
GCOV = @GCOV@
GENHTML = @GENHTML@
GETENT = @GETENT@
GPERF = @GPERF@
GREP = @GREP@
INCLTDL = @INCLTDL@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LCOV = @LCOV@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBADD_DL = @LIBADD_DL@
LIBADD_DLD_LINK = @LIBADD_DLD_LINK@
LIBADD_DLOPEN = @LIBADD_DLOPEN@
LIBADD_SHL_LOAD = @LIBADD_SHL_LOAD@
LIBBZ2 = @LIBBZ2@
LIBBZ2_PREFIX = @LIBBZ2_PREFIX@
LIBCLAMAV_LIBS = @LIBCLAMAV_LIBS@
LIBCLAMAV_VERSION = @LIBCLAMAV_VERSION@
LIBLTDL = @LIBLTDL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTDLDEPS = @LTDLDEPS@
LTDLINCL = @LTDLINCL@
LTDLOPEN = @LTDLOPEN@
LTLIBBZ2 = @LTLIBBZ2@
LTLIBOBJS = @LTLIBOBJS@
LT_CONFIG_H = @LT_CONFIG_H@
LT_DLLOADERS = @LT_DLLOADERS@
LT_DLPREOPEN = @LT_DLPREOPEN@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
THREAD_LIBS = @THREAD_LIBS@
TH_SAFE = @TH_SAFE@
VERSION = @VERSION@
VERSIONSCRIPTFLAG = @VERSIONSCRIPTFLAG@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
ltdl_LIBOBJS = @ltdl_LIBOBJS@
ltdl_LTLIBOBJS = @ltdl_LTLIBOBJS@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sys_symbol_underscore = @sys_symbol_underscore@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@HAVE_CURSES_TRUE@man_MANS = $(top_builddir)/docs/man/clamdtop.1
@HAVE_CURSES_TRUE@clamdtop_SOURCES = \
@HAVE_CURSES_TRUE@ $(top_srcdir)/shared/optparser.c \
@HAVE_CURSES_TRUE@ $(top_srcdir)/shared/optparser.h \
@HAVE_CURSES_TRUE@ $(top_srcdir)/shared/getopt.c \
@HAVE_CURSES_TRUE@ $(top_srcdir)/shared/getopt.h \
@HAVE_CURSES_TRUE@ $(top_srcdir)/shared/misc.c \
@HAVE_CURSES_TRUE@ $(top_srcdir)/shared/misc.h \
@HAVE_CURSES_TRUE@ clamdtop.c
@HAVE_CURSES_TRUE@AM_CPPFLAGS = -I$(top_srcdir) @CURSES_CPPFLAGS@
@HAVE_CURSES_TRUE@clamdtop_LDADD = @CURSES_LIBS@ $(top_builddir)/libclamav/libclamav_internal_utils.la
EXTRA_DIST = clamdtop.c
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign clamdtop/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --foreign clamdtop/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
@list='$(bin_PROGRAMS)'; for p in $$list; do \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \
|| test -f $$p1 \
; then \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
else :; fi; \
done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
rm -f "$(DESTDIR)$(bindir)/$$f"; \
done
clean-binPROGRAMS:
@list='$(bin_PROGRAMS)'; for p in $$list; do \
f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
echo " rm -f $$p $$f"; \
rm -f $$p $$f ; \
done
installcheck-binPROGRAMS: $(bin_PROGRAMS)
bad=0; pid=$$$$; list="$(bin_PROGRAMS)"; for p in $$list; do \
case ' $(AM_INSTALLCHECK_STD_OPTIONS_EXEMPT) ' in \
*" $$p "* | *" $(srcdir)/$$p "*) continue;; \
esac; \
f=`echo "$$p" | \
sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
for opt in --help --version; do \
if "$(DESTDIR)$(bindir)/$$f" $$opt >c$${pid}_.out \
2>c$${pid}_.err </dev/null \
&& test -n "`cat c$${pid}_.out`" \
&& test -z "`cat c$${pid}_.err`"; then :; \
else echo "$$f does not support $$opt" 1>&2; bad=1; fi; \
done; \
done; rm -f c$${pid}_.???; exit $$bad
clamdtop$(EXEEXT): $(clamdtop_OBJECTS) $(clamdtop_DEPENDENCIES)
@rm -f clamdtop$(EXEEXT)
$(LINK) $(clamdtop_OBJECTS) $(clamdtop_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clamdtop.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/optparser.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
optparser.o: $(top_srcdir)/shared/optparser.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT optparser.o -MD -MP -MF $(DEPDIR)/optparser.Tpo -c -o optparser.o `test -f '$(top_srcdir)/shared/optparser.c' || echo '$(srcdir)/'`$(top_srcdir)/shared/optparser.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/optparser.Tpo $(DEPDIR)/optparser.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/shared/optparser.c' object='optparser.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o optparser.o `test -f '$(top_srcdir)/shared/optparser.c' || echo '$(srcdir)/'`$(top_srcdir)/shared/optparser.c
optparser.obj: $(top_srcdir)/shared/optparser.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT optparser.obj -MD -MP -MF $(DEPDIR)/optparser.Tpo -c -o optparser.obj `if test -f '$(top_srcdir)/shared/optparser.c'; then $(CYGPATH_W) '$(top_srcdir)/shared/optparser.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/shared/optparser.c'; fi`
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/optparser.Tpo $(DEPDIR)/optparser.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/shared/optparser.c' object='optparser.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o optparser.obj `if test -f '$(top_srcdir)/shared/optparser.c'; then $(CYGPATH_W) '$(top_srcdir)/shared/optparser.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/shared/optparser.c'; fi`
getopt.o: $(top_srcdir)/shared/getopt.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT getopt.o -MD -MP -MF $(DEPDIR)/getopt.Tpo -c -o getopt.o `test -f '$(top_srcdir)/shared/getopt.c' || echo '$(srcdir)/'`$(top_srcdir)/shared/getopt.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/getopt.Tpo $(DEPDIR)/getopt.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/shared/getopt.c' object='getopt.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o getopt.o `test -f '$(top_srcdir)/shared/getopt.c' || echo '$(srcdir)/'`$(top_srcdir)/shared/getopt.c
getopt.obj: $(top_srcdir)/shared/getopt.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT getopt.obj -MD -MP -MF $(DEPDIR)/getopt.Tpo -c -o getopt.obj `if test -f '$(top_srcdir)/shared/getopt.c'; then $(CYGPATH_W) '$(top_srcdir)/shared/getopt.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/shared/getopt.c'; fi`
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/getopt.Tpo $(DEPDIR)/getopt.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/shared/getopt.c' object='getopt.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o getopt.obj `if test -f '$(top_srcdir)/shared/getopt.c'; then $(CYGPATH_W) '$(top_srcdir)/shared/getopt.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/shared/getopt.c'; fi`
misc.o: $(top_srcdir)/shared/misc.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc.o -MD -MP -MF $(DEPDIR)/misc.Tpo -c -o misc.o `test -f '$(top_srcdir)/shared/misc.c' || echo '$(srcdir)/'`$(top_srcdir)/shared/misc.c
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/misc.Tpo $(DEPDIR)/misc.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/shared/misc.c' object='misc.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc.o `test -f '$(top_srcdir)/shared/misc.c' || echo '$(srcdir)/'`$(top_srcdir)/shared/misc.c
misc.obj: $(top_srcdir)/shared/misc.c
@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT misc.obj -MD -MP -MF $(DEPDIR)/misc.Tpo -c -o misc.obj `if test -f '$(top_srcdir)/shared/misc.c'; then $(CYGPATH_W) '$(top_srcdir)/shared/misc.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/shared/misc.c'; fi`
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/misc.Tpo $(DEPDIR)/misc.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/shared/misc.c' object='misc.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o misc.obj `if test -f '$(top_srcdir)/shared/misc.c'; then $(CYGPATH_W) '$(top_srcdir)/shared/misc.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/shared/misc.c'; fi`
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-man1: $(man1_MANS) $(man_MANS)
@$(NORMAL_INSTALL)
test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
case "$$i" in \
*.1*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
else file=$$i; fi; \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
case "$$ext" in \
1*) ;; \
*) ext='1' ;; \
esac; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
done
uninstall-man1:
@$(NORMAL_UNINSTALL)
@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \
case "$$i" in \
*.1*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
case "$$ext" in \
1*) ;; \
*) ext='1' ;; \
esac; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS) $(MANS)
installdirs:
for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am: install-man
install-dvi: install-dvi-am
install-exec-am: install-binPROGRAMS
install-html: install-html-am
install-info: install-info-am
install-man: install-man1
install-pdf: install-pdf-am
install-ps: install-ps-am
installcheck-am: installcheck-binPROGRAMS
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-binPROGRAMS uninstall-man
uninstall-man: uninstall-man1
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
clean-generic clean-libtool ctags distclean distclean-compile \
distclean-generic distclean-libtool distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
install-binPROGRAMS install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-man1 install-pdf install-pdf-am install-ps \
install-ps-am install-strip installcheck installcheck-am \
installcheck-binPROGRAMS installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-binPROGRAMS \
uninstall-man uninstall-man1
# 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.
.NOEXPORT:

@ -1,7 +1,7 @@
/*
* ClamdTOP version 0.1
* ClamdTOP
*
* Copyright (C) 2008 Sourcefire, Inc.
* Copyright (C) 2008 - 2009 Sourcefire, Inc.
*
* Authors: Török Edvin
*
@ -23,13 +23,18 @@
#define __EXTENSIONS
#define GCC_PRINTF
#define GCC_SCANF
#ifdef HAVE_CONFIG_H
#include "clamav-config.h"
#endif
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include <sys/types.h>
#include <curses.h>
#include CURSES_INCLUDE
#include <time.h>
#include <ctype.h>
#include <signal.h>
@ -49,6 +54,9 @@
#include <assert.h>
#include <errno.h>
#include "shared/optparser.h"
#include "shared/misc.h"
/* Types, prototypes and globals*/
typedef struct connection {
int sd;
@ -92,7 +100,8 @@ static void send_string(conn_t *conn, const char *cmd);
static void read_version(conn_t *conn);
enum exit_reason {
FAIL_INITIAL_CONN=1,
FAIL_CMDLINE=1,
FAIL_INITIAL_CONN,
OUT_OF_MEMORY,
RECONNECT_FAIL,
SIGINT_REASON
@ -108,7 +117,7 @@ static int curses_inited = 1;
static int maxystats=0;
static int detail_selected = -1;
static int detail_exists()
static int detail_exists(void)
{
return global.num_clamd != 1;
}
@ -306,7 +315,7 @@ static void header(void)
win_start(header_window, header_color);
mvwprintw(header_window, 0, 0, " ClamdTOP version 0.1 ");
mvwprintw(header_window, 0, 0, " ClamdTOP version %s ", get_version());
time(&t);
wprintw(header_window, "%s", ctime(&t));
wrefresh(header_window);
@ -415,6 +424,9 @@ static void cleanup(void)
static void __noreturn exit_program(enum exit_reason reason, const char *func, unsigned line)
{
switch(reason) {
case FAIL_CMDLINE:
exit_reason = "Invalid command-line arguments";
break;
case FAIL_INITIAL_CONN:
exit_reason = "Unable to connect to all clamds";
break;
@ -454,6 +466,9 @@ static int tasks_compare(const void *a, const void *b)
}
/* ----------- Socket routines ----------------------- */
#ifdef __GNUC__
static void print_con_info(conn_t *conn, const char *fmt, ...) __attribute__((format(printf, 2, 3)));
#endif
static void print_con_info(conn_t *conn, const char *fmt, ...)
{
va_list ap;
@ -484,7 +499,7 @@ static int make_connection(const char *soname, conn_t *conn)
#ifdef _WIN32
{
#else
if(access(soname, F_OK) == 0) {
if(soname[0] == '/' || (access(soname, F_OK) == 0)) {
struct sockaddr_un addr;
s = socket(AF_UNIX, SOCK_STREAM, 0);
if(s < 0) {
@ -516,7 +531,7 @@ static int make_connection(const char *soname, conn_t *conn)
port = 3310;
print_con_info(conn, "Looking up: %s\n", host);
if((hp = gethostbyname(host)) == NULL) {
herror("Cannot find host");
fprintf(stderr, "Cannot find host");
return -1;
}
free(pt);
@ -639,8 +654,9 @@ static void output_queue(size_t line, ssize_t max)
--max;
if (max < 0) max = 0;
for(i=0;i<max;i++) {
char *cmde;
assert(tasks);
char *cmde = strchr(filtered_tasks[i].line, ' ');
cmde = strchr(filtered_tasks[i].line, ' ');
if(cmde) {
char cmd[16];
const char *filstart = strchr(cmde + 1, ' ');
@ -699,7 +715,7 @@ static void output_memstats(struct stats *stats)
int blink = 0;
werase(mem_window);
if (stats->mem != -1) {
if (stats->mem > 0) {
box(mem_window, 0, 0);
snprintf(buf, sizeof(buf),"heap %4luM mmap %4luM unused %3luM",
@ -743,7 +759,6 @@ static void parse_memstats(const char *line, struct stats *stats)
stats->lpoolu = pools_used*1000;
stats->lpoolt = pools_total*1000;
stats->mem = heapu + mmapu + pools_total;
if (stats->mem == 0) stats->mem = -1;
}
static int output_stats(struct stats *stats, unsigned idx)
@ -759,7 +774,7 @@ static int output_stats(struct stats *stats, unsigned idx)
OOM_CHECK(line);
if (stats->mem == -1 || stats->stats_unsupp)
if (stats->mem >= 0 || stats->stats_unsupp)
strncpy(mem, "N/A", sizeof(mem));
else {
char c;
@ -823,10 +838,10 @@ static int output_stats(struct stats *stats, unsigned idx)
print_colored(win, buf);
show_bar(win, i++, stats->prim_live, stats->prim_idle, stats->prim_max, 0);
mvwprintw(win, i++, 0, "Multiscan pool : ");
/* mvwprintw(win, i++, 0, "Multiscan pool : ");
snprintf(buf, sizeof(buf), "live %3u idle %3u max %3u", stats->live, stats->idle, stats->max);
print_colored(win, buf);
show_bar(win, i++, stats->live, stats->idle, stats->max, 0);
show_bar(win, i++, stats->live, stats->idle, stats->max, 0);*/
blink = 0;
if(stats->current_q > stats->biggest_queue) {
@ -881,12 +896,12 @@ static void parse_stats(conn_t *conn, struct stats *stats, unsigned idx)
stats->remote = "local";
if (!conn->version) {
stats->engine_version = "???";
stats->engine_version = strdup("???");
return;
}
p = pstart = vstart = strchr(conn->version, ' ');
if (!vstart) {
stats->engine_version = "???";
stats->engine_version = strdup("???");
return;
}
/* find digit in version */
@ -984,11 +999,10 @@ static void parse_stats(conn_t *conn, struct stats *stats, unsigned idx)
stats->prim_idle = idle;
assert(!stats->prim_max && "There can be only one primary pool!");
stats->prim_max = max;
} else {
stats->live += live;
stats->idle += idle;
stats->max += max;
}
stats->live += live;
stats->idle += idle;
stats->max += max;
} else if (!strcmp("Queue",buf)) {
unsigned len;
if(sscanf(val, "%u", &len) != 1)
@ -1018,10 +1032,83 @@ static void sigint(int a)
EXIT_PROGRAM(SIGINT_REASON);
}
static void help(void)
{
printf("\n");
printf(" Clam AntiVirus: Monitoring Tool %s\n", get_version());
printf(" (C) 2008 - 2009 ClamAV Team - http://www.clamav.net/team\n\n");
printf("clamdtop [-hVc] [host[:port] /path/to/clamd.socket ...]\n\n");
printf(" --help -h Show help\n");
printf(" --version -V Show version\n");
printf(" --config-file=FILE -c FILE Read clamd's configuration files from FILE\n");
printf(" host[:port] Connect to clamd on host at port (default 3310)\n");
printf(" /path/to/clamd.socket Connect to clamd over a local socket\n");
printf("\n");
return;
}
/* -------------------------- Initialization ---------------- */
static void setup_connections(int argc, char *argv[])
{
struct optstruct *opts;
struct optstruct *clamd_opts;
unsigned i;
char *conn = NULL;
opts = optparse(NULL, argc, argv, 1, OPT_CLAMDTOP, 0, NULL);
if (!opts) {
fprintf(stderr, "ERROR: Can't parse command line options\n");
EXIT_PROGRAM(FAIL_CMDLINE);
}
if(optget(opts, "help")->enabled) {
optfree(opts);
help();
normal_exit = 1;
exit(0);
}
if(optget(opts, "version")->enabled) {
printf("Clam AntiVirus Monitoring Tool %s\n", get_version());
optfree(opts);
normal_exit = 1;
exit(0);
}
memset(&global, 0, sizeof(global));
if (!opts->filename || !opts->filename[0]) {
char *aargv[2];
const struct optstruct *opt;
const char *clamd_conf = optget(opts, "config-file")->strarg;
if ((clamd_opts = optparse(clamd_conf, 0, NULL, 1, OPT_CLAMD, 0, NULL)) == NULL) {
fprintf(stderr, "Can't parse clamd configuration file %s\n", clamd_conf);
EXIT_PROGRAM(FAIL_CMDLINE);
}
if((opt = optget(clamd_opts, "LocalSocket"))->enabled) {
conn = strdup(opt->strarg);
} else if ((opt = optget(clamd_opts, "TCPSocket"))->enabled) {
char buf[512];
const struct optstruct *opt_addr;
const char *host = "localhost";
if ((opt_addr = optget(clamd_opts, "TCPAddr"))->enabled) {
host = opt_addr->strarg;
}
snprintf(buf, sizeof(buf), "%s:%u", host, opt->numarg);
conn = strdup(buf);
} else {
fprintf(stderr, "Can't find how to connect to clamd\n");
EXIT_PROGRAM(FAIL_INITIAL_CONN);
}
optfree(clamd_opts);
global.num_clamd = 1;
} else {
unsigned i = 0;
while (opts->filename[i]) { i++; }
global.num_clamd = i;
}
#ifdef _WIN32
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2,2), &wsaData) != NO_ERROR) {
@ -1029,35 +1116,25 @@ static void setup_connections(int argc, char *argv[])
EXIT_PROGRAM(FAIL_INITIAL_CONN);
}
#endif
/* clamdtop v0.1 */
/* clamdtop */
puts( " __ ____");
puts(" _____/ /___ _____ ___ ____/ / /_____ ____ ___ ___");
puts(" / ___/ / __ `/ __ `__ \\/ __ / __/ __ \\/ __ \\ _ __/ _ \\ < /");
puts("/ /__/ / /_/ / / / / / / /_/ / /_/ /_/ / /_/ / | |/ / // / / /");
puts("\\___/_/\\__,_/_/ /_/ /_/\\__,_/\\__/\\____/ .___/ |___/\\___(_)_/");
puts(" /_/ ");
memset(&global, 0, sizeof(global));
if (argc == 1) {
global.num_clamd = 1;
#ifdef _WIN32
argv[1] = "localhost:3310";
#else
argv[1] = "/tmp/clamd.socket";
#endif
} else
global.num_clamd = argc-1;
puts(" _____/ /___ _____ ___ ____/ / /_____ ____");
puts(" / ___/ / __ `/ __ `__ \\/ __ / __/ __ \\/ __ \\");
puts("/ /__/ / /_/ / / / / / / /_/ / /_/ /_/ / /_/ /");
puts("\\___/_/\\__,_/_/ /_/ /_/\\__,_/\\__/\\____/ .___/");
puts(" /_/");
global.all_stats = calloc(global.num_clamd, sizeof(*global.all_stats));
OOM_CHECK(global.all_stats);
global.conn = calloc(global.num_clamd, sizeof(*global.conn));
OOM_CHECK(global.conn);
for (i=0;i<global.num_clamd;i++) {
for (i=0;i < global.num_clamd;i++) {
const char *soname = conn ? conn : opts->filename[i];
global.conn[i].line = i+1;
if (make_connection(argv[i+1], &global.conn[i]) < 0) {
if (make_connection(soname, &global.conn[i]) < 0) {
EXIT_PROGRAM(FAIL_INITIAL_CONN);
}
}
optfree(opts);
#ifndef _WIN32
signal(SIGPIPE, SIG_IGN);
signal(SIGINT, sigint);
@ -1141,7 +1218,6 @@ int main(int argc, char *argv[])
atexit(cleanup);
setup_connections(argc, argv);
init_ncurses(global.num_clamd);
memset(&tv_last, 0, sizeof(tv_last));

@ -114,6 +114,8 @@ CLAMAV_MILTER_LIBS = @CLAMAV_MILTER_LIBS@
CLAMD_LIBS = @CLAMD_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSES_CPPFLAGS = @CURSES_CPPFLAGS@
CURSES_LIBS = @CURSES_LIBS@
CYGPATH_W = @CYGPATH_W@
DBDIR = @DBDIR@
DEFS = @DEFS@ -DCL_NOTHREADS

2530
configure vendored

File diff suppressed because it is too large Load Diff

@ -1517,6 +1517,55 @@ AC_C_FDPASSING
AC_DEFINE_UNQUOTED([VERSION_SUFFIX],"$VERSION_SUFFIX",[Version suffix for package])
AC_ARG_ENABLE(clamdtop,
AC_HELP_STRING([--enable-clamdtop],
[Enable 'clamdtop' tool @<:@default=auto@:>@]),
[enable_clamdtop=$enableval], [enable_clamdtop="auto"])
if test "$enable_clamdtop" != "no"; then
AC_LIB_FIND([ncurses], [ncurses/ncurses.h],
AC_LANG_PROGRAM([#include <ncurses/ncurses.h>],
[initscr(); KEY_RESIZE;]),
[CURSES_CPPFLAGS="$INCNCURSES"; CURSES_LIBS="$LTLIBNCURSES";
CURSES_INCLUDE="<ncurses/ncurses.h>"],
[])
if test "X$HAVE_LIBNCURSES" != "Xyes"; then
HAVE_LIBNCURSES=
AC_LIB_FIND([ncurses], [ncurses.h],
AC_LANG_PROGRAM([#include <ncurses.h>],
[initscr(); KEY_RESIZE;]),
[CURSES_CPPFLAGS="$INCNCURSES"; CURSES_LIBS="$LTLIBNCURSES";
CURSES_INCLUDE="<ncurses.h>"],
[])
fi
if test "X$HAVE_LIBNCURSES" != "Xyes"; then
AC_LIB_FIND([pdcurses],[curses.h],
AC_LANG_PROGRAM([#include <curses.h>],
[initscr(); KEY_RESIZE;]),
[CURSES_CPPFLAGS="$INCPDCURSES";
CURSES_LIBS="$LTLIBPDCURSES";
CURSES_INCLUDE="<curses.h>"],
[AC_MSG_WARN([****** not building clamdtop: ncurses not found])])
fi
if test "x$CURSES_LIBS" = "x" -a "$enable_clamdtop" = "yes"; then
AC_MSG_ERROR([
ERROR! Clamdtop was configured, but not found. You need to install libncurses5-dev.
])
fi
fi
AC_DEFINE_UNQUOTED([CURSES_INCLUDE], $CURSES_INCLUDE, [curses header location])
AC_SUBST([CURSES_CPPFLAGS])
AC_SUBST([CURSES_LIBS])
AM_CONDITIONAL([HAVE_CURSES],
[test "X$HAVE_LIBNCURSES" = "Xyes" || test "X$HAVE_LIBPDCURSES" = "Xyes"])
AC_OUTPUT([
libclamav/Makefile
libclamav/lzma/Makefile
@ -1532,6 +1581,7 @@ clamconf/Makefile
etc/Makefile
test/Makefile
unit_tests/Makefile
clamdtop/Makefile
Makefile
clamav-config
libclamav.pc
@ -1544,6 +1594,7 @@ docs/man/clamscan.1
docs/man/freshclam.1
docs/man/freshclam.conf.5
docs/man/sigtool.1
docs/man/clamdtop.1
])
# Yep, downgrading the compiler avoids the bug too:

@ -1,16 +0,0 @@
CFLAGS=-g -Wall -W -Wshadow -Wformat=2
CC=gcc
OBJS=clamdtop.o
CPPFLAGS=-D_FORTIFY_SOURCE=2
ifeq ($(MSYSTEM),MINGW32)
LIBS=-lpdcurses -lws2_32
else
LIBS=-lncurses
endif
clamdtop: $(OBJS) Makefile
$(CC) $(OBJS) -o $@ $(LDFLAGS) $(LIBS)
clean:
rm -f clamdtop $(OBJS)

@ -1,8 +0,0 @@
parse pool states, and show those that are != VALID
highlight problems in version/dbversion/dbtime (old db version, old dbtime,
different db versions).
write a manpage
consider writing a GUI using Tk 8.5 (version 8.5 has much nicer widgets than 8.4)
integrate into toplevel clamav, and build if ncurses is available (optional)
figure out minimum version of ncurses required, I used 5.5 during development.
explain why queued items are high during multiscan.

@ -90,6 +90,8 @@ CLAMAV_MILTER_LIBS = @CLAMAV_MILTER_LIBS@
CLAMD_LIBS = @CLAMD_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSES_CPPFLAGS = @CURSES_CPPFLAGS@
CURSES_LIBS = @CURSES_LIBS@
CYGPATH_W = @CYGPATH_W@
DBDIR = @DBDIR@
DEFS = @DEFS@

@ -17,4 +17,4 @@
# MA 02110-1301, USA.
EXTRA_DIST = html $(top_srcdir)/docs/man/*.in clamdoc.pdf clamdoc.tex clamav-mirror-howto.pdf clamav-mirror-howto.tex phishsigs_howto.tex phishsigs_howto.pdf signatures.pdf signatures.tex clam.eps
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/freshclam.conf.5 man/clamconf.1
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/freshclam.conf.5 man/clamconf.1 man/clamdtop.1

@ -96,6 +96,8 @@ CLAMAV_MILTER_LIBS = @CLAMAV_MILTER_LIBS@
CLAMD_LIBS = @CLAMD_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSES_CPPFLAGS = @CURSES_CPPFLAGS@
CURSES_LIBS = @CURSES_LIBS@
CYGPATH_W = @CYGPATH_W@
DBDIR = @DBDIR@
DEFS = @DEFS@
@ -229,7 +231,7 @@ target_vendor = @target_vendor@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
EXTRA_DIST = html $(top_srcdir)/docs/man/*.in clamdoc.pdf clamdoc.tex clamav-mirror-howto.pdf clamav-mirror-howto.tex phishsigs_howto.tex phishsigs_howto.pdf signatures.pdf signatures.tex clam.eps
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/freshclam.conf.5 man/clamconf.1
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/freshclam.conf.5 man/clamconf.1 man/clamdtop.1
all: all-am
.SUFFIXES:

@ -0,0 +1,191 @@
.TH "Clamdtop" "1" "February 22, 2009" "ClamAV @VERSION@" "Clam AntiVirus"
.SH "NAME"
.LP
clamdtop \- monitor the Clam AntiVirus Daemon
.SH "SYNOPSIS"
.LP
clamdtop [options] [clamdspec ...]
.SH "DESCRIPTION"
.LP
clamdtop is a tool to monitor one or multiple clamd(s).
It has a (color) ncurses interface, that shows the jobs in clamd's queue, memory usage, and information about the loaded signature database.
You can specify on the command-line to which clamd(s) it should connect to. By
default it will attempt to connect to the local clamd as defined in clamd.conf.
.SH "OPTIONS"
.LP
.TP
\fB\-h, \-\-help\fR
Display help information and exit.
.TP
\fB\-V, \-\-version\fR
Print version number and exit.
\fB\-\-config\-file=FILE\fR
Read clamd settings from FILE, to determine how to connect to it.
.TP
\fBclamdspec\fR
Specifies the clamd to connect to: either a path to the local (unix domain) socket of clamd,
or an IP address and an port number (that defaults to 3310) to connect to a
local or remote clamd using TCP/IP.
.SH "OVERVIEW"
.SS KEYS:
.TP
\fBF1\fR
Displays a short helpscreen, describing the meaning of various elements on the
display.
.TP
\fBQ\fR
Quits clamdtop
.TP
\fBR\fR
Resets the maximum values.
.TP
\fBup arrow, down arrow\fR
If you are monitoring multiple clamds then clamdtop will show an overview screen by default. You can use the \fBup arrow\fR and \fB down arrow\fR keys to cycle through each clamd individually, and the overview screen.
A blue bar will highlight the clamd that is currently shown in detail. On the overview screen none of the clamds is selected (hence no blue bar), and you can see the items from the queue of all clamds.
.SS The top bar
Shows the version of clamdtop and the current time. Clamdtop updates the display once every 2 seconds.
.SS The list of clamds
Shows the clamds that clamdtop is connected to, and statistics about them.
.TP
\fBNO\fR
Unique clamd number
.TP
\fBCONNTIME\fR
How long clamdtop has been connected (reset upon a reconnect)
.TP
\fBLIV\fR
Total number of live threads
.TP
\fBIDL\fR
Total number of idle threads
.TP
\fBQUEUE\fR
Number of items in queue
.TP
\fBMAXQ\fR
Maximum number of items observed in the queue
.TP
\fBMEM\fR
Total memory usage (if available)
.TP
\fBHOST\fR
Which clamd, local means unix socket
.TP
\fBENGINE\fR
Engine version
.TP
\fBDBVER\fR
Database version
.TP
\fBDBTIME\fR
Database publish time
.SS Clamd detailed view
.TP
Primary threads \fBlive\fR
The number of threads that are executing commands or scanning.
.TP
Primary threads \fBidle\fR
The number of threads that are idle, waiting for commands. They will exit after IdleTimeout (30 seconds).
.TP
Primary threads \fBmax\fR
The maximum number of threads configured.
.TP
Queue \fbitems\fR
The number of items (scanjobs) in clamd's queue that are waiting for a free thread to be processed.
.TP
Queue \fbmax\fR
The maximum number of items observed in clamd's queue.
.SS The memory usage view
If available, it will show details on clamd's memory usage:
.TP
\fBMem heap\fR
The amount of memory used by libc from the heap in MegaBytes.
.TP
\fBMem mmap\fR
The amount of memory used by libc from mmap-allocated memory in MegaBytes.
.TP
\fBMem unused\fR
The amount of memory that can be reclaimed by libc.
.TP
\fBLibc used\fR
The amount of useful memory allocated by libc.
.TP
\fBLibc free\fR
The amount of memory allocated by libc, that can't be freed due to fragmentation.
.TP
\fBLibc total\fR
The amount of memory allocated by libc from the system in total.
.TP
\fBPool count\fR
The number of mmap regions allocated by clamd' memory pool allocator (for the signature database).
.TP
\fBPool used\fR
The amount of memory used by clamd's memory pool allocator (for the signature database).
.TP
\fBTotal\fR
The total amount of memory allocated by clamd's memory pool allocator.
.SS The clamd job queue
.TP
\fBCOMMAND\fR
Kind of command being executed, STATS is clamdtop, SCAN/CONTSCAN/FILDES/MULTISCAN is scan of a file/directory, MULTISCANFILE is scan of one item by a MULTISCAN job.
.TP
\fBQUEUEDSINCE\fR
The time since the command got queued, until now.
.TP
\fBFILE\fR
The name of the file being processed (if applicable).
.SH "EXAMPLES"
.LP
.TP
(1) To connect to the clamd configured in the default clamd.conf:
\fBclamdtop\fR
.TP
(2) To connect to the clamd configured in another clamd.conf:
\fBclamdtop --config-file=/path/to/clamd.conf
.TP
(3) To connect to a clamd running on another machine (192.168.0.3) on the LAN:
\fBclamdtop 192.168.0.3\fR
.TP
(4) To connect to a clamd running on another machine (192.168.0.3) on a non-default port (3410):
\fBclamdtop 192.168.0.3:3410\fR
.TP
(5) To monitor the local clamd and 2 other remote clamds over TCP/IP:
\fBclamdtop localhost 192.168.0.3 192.168.0.4
.SH "NOTES"
.LP
clamdtop uses colors if the terminal is capable of colors.
If you know your terminal is capable of colors, yet you aren't seeing any, then check
that your \fBTERM\fR environment variable is set correctly.
For example try setting it to TERM=xterm-color if you are in an xterm-like
environment.
.SH "RETURN CODES"
.LP
0 : Normal terminator
.TP
>0: Error occured.
.SH "CREDITS"
Please check the full documentation for credits.
.SH "AUTHOR"
.LP
Török Edvin <edwin@clamav.net>
.SH "SEE ALSO"
.LP
clamd(8), clamd.conf(5)

@ -89,6 +89,8 @@ CLAMAV_MILTER_LIBS = @CLAMAV_MILTER_LIBS@
CLAMD_LIBS = @CLAMD_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSES_CPPFLAGS = @CURSES_CPPFLAGS@
CURSES_LIBS = @CURSES_LIBS@
CYGPATH_W = @CYGPATH_W@
DBDIR = @DBDIR@
DEFS = @DEFS@

@ -116,6 +116,8 @@ CLAMAV_MILTER_LIBS = @CLAMAV_MILTER_LIBS@
CLAMD_LIBS = @CLAMD_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSES_CPPFLAGS = @CURSES_CPPFLAGS@
CURSES_LIBS = @CURSES_LIBS@
CYGPATH_W = @CYGPATH_W@
DBDIR = @DBDIR@
DEFS = @DEFS@ -DCL_NOTHREADS

@ -214,6 +214,8 @@ CLAMAV_MILTER_LIBS = @CLAMAV_MILTER_LIBS@
CLAMD_LIBS = @CLAMD_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSES_CPPFLAGS = @CURSES_CPPFLAGS@
CURSES_LIBS = @CURSES_LIBS@
CYGPATH_W = @CYGPATH_W@
DBDIR = @DBDIR@
DEFS = @DEFS@

@ -109,6 +109,8 @@ CLAMAV_MILTER_LIBS = @CLAMAV_MILTER_LIBS@
CLAMD_LIBS = @CLAMD_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSES_CPPFLAGS = @CURSES_CPPFLAGS@
CURSES_LIBS = @CURSES_LIBS@
CYGPATH_W = @CYGPATH_W@
DBDIR = @DBDIR@
DEFS = @DEFS@

@ -173,6 +173,8 @@ CLAMAV_MILTER_LIBS = @CLAMAV_MILTER_LIBS@
CLAMD_LIBS = @CLAMD_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSES_CPPFLAGS = @CURSES_CPPFLAGS@
CURSES_LIBS = @CURSES_LIBS@
CYGPATH_W = @CYGPATH_W@
DBDIR = @DBDIR@
DEFS = @DEFS@

@ -710,7 +710,6 @@ AC_DEFUN([AC_LIB_FIND],
m4_if($#,5,,[m4_fatal([$0: invalid number of arguments: $#])])
define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
AC_CACHE_CHECK([how to compile and link with $1],[ac_cv_findlib_[]NAME[]_libs],[
save_CPPFLAGS="$CPPFLAGS"
save_LIBS="$LIBS"
AC_LIB_LINKFLAGS_BODY([$1])
@ -730,7 +729,6 @@ AC_DEFUN([AC_LIB_FIND],
])
CPPFLAGS="$save_CPPFLAGS"
LIBS="$save_LIBS"
])
AS_IF([test "X$ac_cv_findlib_[]NAME[]_libs" = "X"],[
AC_MSG_NOTICE([unable to compile/link with $1])
HAVE_LIB[]NAME=no

@ -60,11 +60,11 @@ const struct clam_option clam_options[] = {
/* name, longopt, sopt, argtype, regex, num, str, mul, owner, description, suggested */
/* cmdline only */
{ NULL, "help", 'h', TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_CLAMD | OPT_FRESHCLAM | OPT_CLAMSCAN | OPT_CLAMDSCAN | OPT_SIGTOOL | OPT_MILTER | OPT_CLAMCONF, "", "" },
{ NULL, "config-file", 'c', TYPE_STRING, NULL, 0, CONFDIR"/clamd.conf", FLAG_REQUIRED, OPT_CLAMD | OPT_CLAMDSCAN, "", "" },
{ NULL, "help", 'h', TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_CLAMD | OPT_FRESHCLAM | OPT_CLAMSCAN | OPT_CLAMDSCAN | OPT_SIGTOOL | OPT_MILTER | OPT_CLAMCONF | OPT_CLAMDTOP, "", "" },
{ NULL, "config-file", 'c', TYPE_STRING, NULL, 0, CONFDIR"/clamd.conf", FLAG_REQUIRED, OPT_CLAMD | OPT_CLAMDSCAN | OPT_CLAMDTOP, "", "" },
{ NULL, "config-file", 0, TYPE_STRING, NULL, 0, CONFDIR"/freshclam.conf", FLAG_REQUIRED, OPT_FRESHCLAM, "", "" },
{ NULL, "config-file", 'c', TYPE_STRING, NULL, 0, CONFDIR"/clamav-milter.conf", FLAG_REQUIRED, OPT_MILTER, "", "" },
{ NULL, "version", 'V', TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_CLAMD | OPT_FRESHCLAM | OPT_CLAMSCAN | OPT_CLAMDSCAN | OPT_SIGTOOL | OPT_MILTER | OPT_CLAMCONF, "", "" },
{ NULL, "version", 'V', TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_CLAMD | OPT_FRESHCLAM | OPT_CLAMSCAN | OPT_CLAMDSCAN | OPT_SIGTOOL | OPT_MILTER | OPT_CLAMCONF | OPT_CLAMDTOP, "", "" },
{ NULL, "debug", 0, TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_CLAMD | OPT_FRESHCLAM | OPT_CLAMSCAN | OPT_SIGTOOL, "", "" },
{ NULL, "verbose", 'v', TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_FRESHCLAM | OPT_CLAMSCAN | OPT_CLAMDSCAN | OPT_SIGTOOL, "", "" },
{ NULL, "quiet", 0, TYPE_BOOL, MATCH_BOOL, 0, NULL, 0, OPT_FRESHCLAM | OPT_CLAMSCAN | OPT_CLAMDSCAN | OPT_SIGTOOL, "", "" },

@ -29,7 +29,8 @@
#define OPT_CLAMDSCAN 16
#define OPT_SIGTOOL 32
#define OPT_CLAMCONF 64
#define OPT_DEPRECATED 128
#define OPT_CLAMDTOP 128
#define OPT_DEPRECATED 256
#define TYPE_STRING 1 /* quoted/regular string */
#define TYPE_NUMBER 2 /* raw number */

@ -113,6 +113,8 @@ CLAMAV_MILTER_LIBS = @CLAMAV_MILTER_LIBS@
CLAMD_LIBS = @CLAMD_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSES_CPPFLAGS = @CURSES_CPPFLAGS@
CURSES_LIBS = @CURSES_LIBS@
CYGPATH_W = @CYGPATH_W@
DBDIR = @DBDIR@
DEFS = @DEFS@ -DCL_NOTHREADS

@ -71,6 +71,8 @@ CLAMAV_MILTER_LIBS = @CLAMAV_MILTER_LIBS@
CLAMD_LIBS = @CLAMD_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSES_CPPFLAGS = @CURSES_CPPFLAGS@
CURSES_LIBS = @CURSES_LIBS@
CYGPATH_W = @CYGPATH_W@
DBDIR = @DBDIR@
DEFS = @DEFS@

@ -116,6 +116,8 @@ CLAMAV_MILTER_LIBS = @CLAMAV_MILTER_LIBS@
CLAMD_LIBS = @CLAMD_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURSES_CPPFLAGS = @CURSES_CPPFLAGS@
CURSES_LIBS = @CURSES_LIBS@
CYGPATH_W = @CYGPATH_W@
DBDIR = @DBDIR@
DEFS = @DEFS@

Loading…
Cancel
Save