[Pkg-clamav-commits] [SCM] Debian repository for ClamAV branch, debian/unstable, updated. debian/0.95+dfsg-1-6156-g094ec9b

aCaB acab at clamav.net
Sun Apr 4 01:28:06 UTC 2010


The following commit has been merged in the debian/unstable branch:
commit a9e0e9b3b7407b6538c4413634b2cc3d1145a940
Merge: ead943537b2c1bcda25bd1d828d4cdb3cd8ac1fb 21dad6def78bff00edc7d55244247810aec82126
Author: aCaB <acab at clamav.net>
Date:   Sat Apr 3 19:19:57 2010 +0200

    Merge commit 'clamav-0.96' into debian/unstable

diff --combined ChangeLog
index ecebc42,4049421..c0f558b
--- a/ChangeLog
+++ b/ChangeLog
@@@ -1,190 -1,1776 +1,1963 @@@
+ Wed Mar 31 19:30:59 CEST 2010 (tk)
+ ----------------------------------
+  * V 0.96
+ 
+ Wed Mar 31 18:19:23 CEST 2010 (tk)
+ ----------------------------------
+  * libclamav/mspack.c: fix Quantum decompressor (bb#1771)
+ 
+ Wed Mar 31 18:13:38 CEST 2010 (tk)
+ ----------------------------------
+  * libclamav/mspack.c: improve unpacking of malformed cabinets (bb#1826)
+ 
+ Wed Mar 31 18:07:05 CEST 2010 (acab)
+ ------------------------------------
+   * libclamav/7z: add recovery mode to 7z ansi
+ 
+ Wed Mar 31 16:27:18 EEST 2010 (edwin)
+ -------------------------------------
+  * shared/output.c: fix race condition in IDSESSION mode (bb #1838).
+ 
+ Wed Mar 31 15:36:23 2010 +0300 (edwin)
+ --------------------------------------
+  * unit_tests/check_common.sh: Fix print of test log when unit test fails (bb #1838).
+ 
+ Wed Mar 31 15:08:24 2010 +0300 (edwin)
+ --------------------------------------
+  * libclamav/c++/llvm/lib/System/Win32/Signals.inc: Fix Ctrl-C handler on win32, thanks Sherpya!
+ 
+ Wed Mar 31 12:30:57 2010 +0300 (edwin)
+ --------------------------------------
+  * libclamav/c++/llvm: Workaround bb #1898.
+ 
+ Wed Mar 31 11:43:28 2010 +0300 (edwin)
+ --------------------------------------
+  * libclamav/c++/llvm: Pull LLVM 2.7 release branch last time.
+ 
+ Wed Mar 31 11:03:31 2010 +0300 (edwin)
+ --------------------------------------
+  * etc/clamd.conf: bb #1890.
+ 
+ Wed Mar 31 10:53:11 2010 +0300 (edwin)
+ --------------------------------------
+  * libclamav/bytecode: jsnorm api.
+ 
+ Tue Mar 30 23:29:27 2010 +0300 (edwin)
+ --------------------------------------
+  * libclamav/c++/llvm/configure: Do the atomic builtin tests using the C++ compiler,
+   since only C++ sources need it (bb #1904).
+ 
+ Tue Mar 30 23:22:23 2010 +0300 (edwin)
+ --------------------------------------
+  * libclamav/c++: Update ClamBCRTChecks.cpp from bytecode compiler:
+     Check bounds of each pointer passed to/from APIcalls,
+     forbid recursion.
+ 
+ Tue Mar 30 18:05:10 2010 +0300 (edwin)
+ --------------------------------------
+  * libclamav/c++/llvm/test: Remove some unused LLVM test files.
+ 
+ Tue Mar 30 15:18:45 CEST 2010 (tk)
+ ----------------------------------
+  * freshclam: fix some issues with --submit-stats (bb#1902)
+ 	      Thanks to Mark Pizzolato
+ 
+ Tue Mar 30 15:33:51 2010 +0300 (edwin)
+ --------------------------------------
+  * libclamav/c++/llvm: Merge LLVM SVN r99883, fix double frees.
+ 
+ Tue Mar 30 13:09:10 2010 +0300 (edwin)
+ --------------------------------------
+  * libclamav/c++/llvm: Merge LLVM SVN r99881 to fix some more VNInfo leaks.
+ 
+ Tue Mar 30 11:10:58 2010 +0300 (edwin)
+ --------------------------------------
+  * unit_tests/check_bytecode.c: Increase timeout of testcase itself.
+ 
+ Tue Mar 30 11:07:05 2010 +0300 (edwin)
+ --------------------------------------
+  * libclamav/c++/bytecode2llvm.cpp: Minor optimization in JIT loader.
+ 
+ Tue Mar 30 10:42:46 2010 +0300 (edwin)
+ --------------------------------------
+  * libclamav/bytecode.c: Fix use-of-uninit memory on zeroinitializer.
+ 
+ Tue Mar 30 00:34:49 2010 +0300 (edwin)
+ --------------------------------------
+  * libclamav/c++/bytecode2llvm.cpp: Update SELinux message.
+ 
+ Tue Mar 30 00:04:00 2010 +0300 (edwin)
+ --------------------------------------
+  * unit_tests/check_bytecode.c: Increase bytecode timeout for non-timeout tests.
+ 
+ Mon Mar 29 23:48:18 2010 +0300 (edwin)
+ --------------------------------------
+  * unit_tests/input/pdf.cbc: Update pdf.cbc.
+ 
+ Mon Mar 29 23:47:59 2010 +0300 (edwin)
+ --------------------------------------
+  * libclamav/bytecode*: More interpreter fixes, pdf.cbc seems to be running now.
+ 
+ Mon Mar 29 22:33:20 2010 +0300 (edwin)
+ --------------------------------------
+  * libclamav/bytecode_vm.c: Fix OP_BC_GEPZ/OP_BC_GEP1 in interpreter.
+ 
+ Mon Mar 29 21:06:47 2010 +0300 (edwin)
+ --------------------------------------
+  * libclamav/bytecode*,c++,clambc.h: More fixes for pdf.cbc.
+ 
+ Mon Mar 29 12:09:07 2010 +0300 (edwin)
+ --------------------------------------
+  * unit_tests/check_bytecode.c:  Separate bytecode tests into jit and interpreter.
+ 
+ Mon Mar 29 11:38:52 2010 +0300 (edwin)
+ --------------------------------------
+  * libclamav/bytecode_vm.c, unit_tests: Fix inflate.cbc for the interpreter.
+ 
+ Sun Mar 28 23:46:41 2010 +0300 (edwin)
+ --------------------------------------
+  * libclamav/bytecode_vm.c: Only show all the trace/debug messages in --enable-debug mode.
+ 
+ Sun Mar 28 23:27:05 2010 +0300 (edwin)
+ --------------------------------------
+  * libclamav/bytecode*, unit_tests: Fix bswap.cbc in interpreter mode.
+ 
+ Sun Mar 28 20:15:48 2010 +0300 (edwin)
+ --------------------------------------
+  * libclamav/bytecode*, filtering.c: Fix some possible uninitialized value uses.
+ 
+ Sun Mar 28 13:52:29 2010 +0300 (edwin)
+ --------------------------------------
+  * libclamav/c++: Fallback to interpreter mode when SELinux denies 'execmem' access. (bb #1901).
+ 
+ Fri Mar 26 10:35:27 2010 +0200 (edwin)
+ --------------------------------------
+  * Increase timeout in unit test (bb #1899).
+ 
+ Fri Mar 26 10:35:11 2010 +0200 (edwin)
+ --------------------------------------
+  * configure: Fix linking with gold (bb #1903).
+ 
+ Wed Mar 24 18:29:55 CET 2010 (tk)
+ ---------------------------------
+  * V 0.96rc2
+ 
+ Wed Mar 24 19:14:24 2010 +0200 (edwin)
+ --------------------------------------
+  * clamd/clamd.c: Fix typo(thanks Tomasz).
+ 
+ Wed Mar 24 18:34:58 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav: bytecode timeout 60s.
+ 
+ Wed Mar 24 18:23:01 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/llvm: bb #1879, port LLVM commit r98349.
+ 
+ Wed Mar 24 17:55:04 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode*: Downgrade some messages to debug.
+ 
+ Wed Mar 24 17:37:23 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode_api.c,unit_tests: Fix valgrind warnings.
+ 
+ Wed Mar 24 17:27:14 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/llvm: Merge latest LLVM 2.7 release branch.
+ 
+ Wed Mar 24 17:22:34 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/bytecode2llvm.cpp:  Disable JITDebugRegisterer, and fix unit_tests rule.
+ 
+ Wed Mar 24 17:07:14 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode*, unit_tests: Fix more leaks.
+ 
+ Wed Mar 24 16:47:42 2010 +0200 (edwin)
+ --------------------------------------
+  * win32: update win32 proj.
+ 
+ Wed Mar 24 16:41:29 2010 +0200 (edwin)
+ --------------------------------------
+  * unit_tests/check_unit_vg.sh: Fix unit test script.
+ 
+ Wed Mar 24 16:35:40 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/llvm: port LLVM SVN r99160 correctly.
+ 
+ Wed Mar 24 16:25:57 2010 +0200 (edwin)
+ --------------------------------------
+  * unit_tests: Run check_clamav under valgrind too to actually detect the leaks.
+ 
+ Wed Mar 24 16:08:00 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/llvm: Port LLVM leakfixes from trunk.
+ 
+ Wed Mar 24 15:51:19 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/llvm: Fix memory leak. LLVM SVN r99400
+     .
+ Wed Mar 24 15:27:15 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav, unit_tests: Fix bswap.
+ 
+ Wed Mar 24 14:14:33 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav, unit_tests: Leak testcase.
+ 
+ Wed Mar 24 12:56:27 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/llvmcheck.sh: bb #1896.
+ 
+ Wed Mar 24 12:46:34 2010 +0200 (edwin)
+ --------------------------------------
+  * unit_tests: Add matchwithread.cbc to unit tests.
+ 
+ Wed Mar 24 11:29:56 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode*: match_with_read appears to be working!
+ 
+ Wed Mar 24 10:51:05 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode*:  OP_BC_COPY again.
+ 
+ Wed Mar 24 10:41:11 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode*,pe.h: Fix read of pedata in interpreter.
+ 
+ Wed Mar 24 10:16:41 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode.c: Fix OP_BC_COPY.
+ 
+ Wed Mar 24 00:07:17 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode*: Fix GEPZ.
+ 
+ Tue Mar 23 23:46:58 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode.c: Making progress on match_with_read.
+ 
+ Tue Mar 23 21:47:57 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode*:  Interpreter fixes for accessing 'ctx'.
+ 
+ Tue Mar 23 16:33:41 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/:  Use a watchdog thread. Also make timeout be ms instead of us.
+ 
+ Tue Mar 23 15:54:41 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/bytecode2llvm.cpp: Insert timeout checks directly into the JITed code.
+ 
+ Mon Mar 22 22:57:46 2010 +0200 (edwin)
+ --------------------------------------
+  * configure: Portability fix.
+ 
+ Mon Mar 22 18:36:03 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/mpool.c: Need to align the MPMAP field to 64-bit for Sparc.
+ 
+ Mon Mar 22 17:31:38 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/others.h: Fix build on non-gcc.
+ 
+ Mon Mar 22 17:28:38 2010 +0200 (edwin)
+ --------------------------------------
+  * configure, libclamav, win32: New configure flag --enable-unsigned-bytecode.
+ 
+ Mon Mar 22 17:16:07 2010 +0200 (edwin)
+ --------------------------------------
+  * clamd,clamscan,libclamav,shared,unit_tests: Introduce BytecodeTimeout.
+ 
+ Mon Mar 22 16:57:27 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/bytecode2llvm.cpp: Support for timeouts.
+ 
+ Mon Mar 22 15:35:07 2010 +0200 (edwin)
+ --------------------------------------
+  * clambc/bcrun.c: Don't print extra newline.
+ 
+ Mon Mar 22 15:30:28 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/llvm: Attempt to fix remaining PPC failures.
+ 
+ Mon Mar 22 14:58:58 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode*: Print location of runtime error.
+ 
+ Mon Mar 22 14:58:51 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/bytecode2llvm.cpp,shared: Fix clambc -p.
+ 
+ Mon Mar 22 14:27:37 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++: Avoid duplicate symbol on Mac OS X.
+ 
+ Mon Mar 22 14:08:56 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/mpool.c: Fix sparc sigbus.
+ 
+ Mon Mar 22 13:41:18 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode_api.c: bytecode api fixes.
+ 
+ Mon Mar 22 13:05:20 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/bytecode2llvm.cpp: Fix valgrind warning.
+ 
+ Mon Mar 22 12:53:48 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode*: Fix clambc.
+ 
+ Mon Mar 22 12:47:54 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++: Apply LLVM SVN r98508 in an attempt to fix make check fail on PPC.
+ 
+ Mon Mar 22 11:42:27 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/llvm: Merge LLVM upstream SVN r98997 from 2.7 release branch.
+ 
+ Mon Mar 22 00:01:28 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/{bytecode*,c++}: More fixes for global vars in the interpreter.
+ 
+ Sun Mar 21 19:47:25 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode*: WiP fixing globals in interpreter.
+ 
+ Sun Mar 21 15:44:15 2010 +0200 (edwin)
+ --------------------------------------
+  * unit_tests/input/*.cbc: Update unit tests.
+ 
+ Sun Mar 21 15:44:07 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/bytecode2llvm.cpp: Print size and location of JITed code.
+ 
+ Sun Mar 21 12:56:05 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/{bytecode*,c++/}: zlib/buffer apis.
+ 
+ Sat Mar 20 21:18:54 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/{bytecode*,c++/}: minimalistic zlib api.
+ 
+ Fri Mar 19 22:20:55 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode*,pe.c: More APIs.
+ 
+ Fri Mar 19 19:59:08 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/configure: Reenable GCC 4.0.1, and 4.1.2 for JIT.
+ 
+ Fri Mar 19 19:55:54 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++: set numthreads to 1 in LLVM's check when running on old Python.
+ 
+ Fri Mar 19 15:47:26 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode*: More API additions for PDF.
+ 
+ Fri Mar 19 14:37:18 CET 2010 (tk)
+ ---------------------------------
+  * freshclam: add support for ExtraDatabase (bb#781)
+ 
+ Fri Mar 19 13:20:59 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/{bytecode*,c++/}, unit_tests/: New API for buffer fill.
+ 
+ Wed Mar 17 19:33:54 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode_vm.c: Switch interpreter to debug (safe) mode by default.
+ 
+ Wed Mar 17 15:02:38 2010 +0200 (edwin)
+ --------------------------------------
+  * sigtool/sigtool.c: Fix loading of bytecode.cvd in sigtool
+ 
+ Tue Mar 16 04:11:02 CET 2010 (acab)
+ -----------------------------------
+  * win32: add sigtool upon request from 3rd party sigmakers
+ 
+ Fri Mar 12 13:13:08 2010 +0200 (edwin)
+ --------------------------------------
+  * clamscan, libclamav/c++, shared/: Add clamscan commandline to load bytecode in debug mode.
+ 
+ Fri Mar 12 11:45:46 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++: Fix Solaris/intel build (bb #1878).
+ 
+ Thu Mar 11 23:43:51 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/configure: Solaris needs Solaris.h! (bb #1878).
+ 
+ Thu Mar 11 20:36:35 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/llvmcheck.sh: Fix bashism (bb #1876).
+ 
+ Wed Mar 10 20:04:46 CET 2010 (tk)
+ ---------------------------------
+  * V 0.96rc1
+ 
+ Wed Mar 10 15:58:42 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/readdb.c: Only load signed bytecode by default.
+ 
+ Wed Mar 10 14:58:18 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/scanners.c: Unit tests don't have fmap.
+ 
+ Wed Mar 10 14:49:22 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/cache.c: Better fix for found_possibly_unwanted and caching.
+ 
+ Wed Mar 10 14:34:32 2010 +0200 (edwin)
+ --------------------------------------
+  * configure: Add version suffix when using --enable-debug.
+ 
+ Wed Mar 10 14:30:31 2010 +0200 (edwin)
+ --------------------------------------
+  * clambc,clamd, libclamav, shared: Allow "None" bytecode security setting only in --enable-debug mode.
+ 
+ Wed Mar 10 12:20:06 2010 +0200 (edwin)
+ --------------------------------------
+  * clambc/bcrun.c, libclamav/c++/ClamBCRTChecks.cpp: nullcheck.
+ 
+ Wed Mar 10 11:44:30 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/bytecode2llvm.cpp: bb #1800.
+ 
+ Tue Mar  9 02:42:37 CET 2010 (acab)
+ -----------------------------------
+  * win32/platform.h: make sleep() wait seconds rather than ms (bb#1866)
+ 
+ Sun Mar 7 19:46:23 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/{filtering.c,matcher-ac.c}: shut up filter debug messages during DB load.
+ 
+ Sat Mar 6 21:19:48 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/c++, win32/: Enable LLVM tests if proper python and GNU make version is present.
+ 
+ Sat Mar 6 20:17:15 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/c++/llvm: Merge LLVM upstream SVN r97877.
+ 
+ Sat Mar 6 17:38:42 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/bytecode_vm.c: missing opcode.
+ 
+ Sat Mar 6 16:28:08 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/bytecode.[ch]: compute global offsets.
+ 
+ Sat Mar 6 16:00:54 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/bytecode*: prepare for reading globals from ctx
+ 
+ Sat Mar 6 15:58:35 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/bytecode_vm.c: READN -> READNfrom
+ 
+ Sat Mar 6 15:54:14 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/bytecode_vm.c: READ1,8,16,32,64->READN
+ 
+ Sat Mar  6 03:58:16 CET 2010 (acab)
+ -----------------------------------
+  * clamd/scanner.c: fix logg output, patch from Mark Pizzolato
+ 
+ Fri Mar  5 22:16:45 CET 2010 (acab)
+ -----------------------------------
+  * libclamav: don't cache clean results due to EMAX - final fix for bb#1856
+ 
+ Fri Mar  5 22:01:20 CET 2010 (tk)
+ ---------------------------------
+  * libclamav: fix scanning of utf16 data (bb#1853)
+ 
+ Fri Mar  5 21:14:12 CET 2010 (tk)
+ ---------------------------------
+  * libclamav/matcher-bm.c: properly handle scan boundaries in
+ 			   offset mode (bb#1840)
+ 
+ Fri Mar  5 19:11:25 CET 2010 (tk)
+ ---------------------------------
+  * libclamav: fix cl_cvdparse() leak (bb#1859)
+ 
+ Fri Mar 5 19:56:43 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/scanners.c: Don't leak bitset in magicscan.
+ 
+ Thu Mar 4 20:14:22 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/c++: FreeBSD needs -lthr not -pthread.
+ 
+ Thu Mar  4 17:33:18 CET 2010 (tk)
+ ---------------------------------
+  * libclamav/matcher-bm.c: fix array check (bb#1840)
+ 
+ Thu Mar  4 15:32:40 CET 2010 (tk)
+ ---------------------------------
+  * libclamav/scanners.c: set container type in cli_scanraw() (bb#1842)
+ 
+ Thu Mar  4 14:41:39 CET 2010 (tk)
+ ---------------------------------
+  * libclamav/matcher-bm.c: only sort correct offsets (bb#1840)
+ 
+ Mon Mar 1 19:48:11 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamunrar_iface/unrar_iface.c: make behavior deterministic.
+ 
+ Mon Mar 1 19:46:58 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamunrar/unrar.c: Fix error path leak in unrar.
+ 
+ Sat Feb 27 15:35:16 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/ishield.c: Fix ishield errorpath.
+ 
+ Thu Feb 25 17:20:27 CET 2010 (tk)
+ ---------------------------------
+  * docs: update signatures.pdf
+ 
+ Wed Feb 24 13:39:07 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/special.c: Tweak swizzor threshold to fix some false positives.
+ 
+ Wed Feb 24 13:10:14 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/pe.c: Only detect swizzor in english resources.
+ 
+ Tue Feb 23 23:53:27 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/special.c: make debug output for swizz break lines properly.
+ 
+ Mon Feb 22 17:59:32 2010 +0200 (edwin)
+ --------------------------------------
+  * unit_tests/check_matchers.c: Fix unit test: ctx.fmap can't be NULL.
+ 
+ Mon Feb 22 17:21:05 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/matcher.c: Be consistent about matcher_run (prefiltering) calls.
+ 
+ Mon Feb 22 17:10:18 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/matcher.c: Fix NULL dereference.
+ 
+ Mon Feb 22 15:44:23 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/matcher.c: Don't use prefiltering for BM offset mode.
+ 
+ Mon Feb 22 14:12:55 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode{_vm,}.c: Properly calculate numBytes for interpreter, and protect interpreter from null
+     derefs.
+ 
+ Tue Feb 16 16:41:30 CET 2010 (tk)
+ ---------------------------------
+  * libclamav/cvd.c: enable new dsig check for main db
+ 
+ Tue Feb 16 16:27:13 CET 2010 (tk)
+ ---------------------------------
+  * freshclam/manager.c: handle empty cdiffs more gently
+ 
+ Mon Feb 15 21:52:29 2010 +0200 (edwin)
+ --------------------------------------
+  * clambc/bcrun.c, win32/libclamavcxx.vcproj: fix win32 build.
+ 
+ Mon Feb 15 20:58:24 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/Makefile.{am,in}: Show version.h creation commands with V=1.
+ 
+ Mon Feb 15 20:54:38 2010 +0200 (edwin)
+ --------------------------------------
+  * build system: fix distclean with --disable-llvm.
+ 
+ Mon Feb 15 18:34:57 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/llvm: Update to LLVM upstream SVN r96221.
+ 
+ Mon Feb 15 17:34:41 2010 +0200 (edwin)
+ --------------------------------------
+  * win32/: update win32 proj.
+ 
+ Mon Feb 15 17:32:00 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode.c: fix loading of bytecode into intepreter.
+ 
+ Mon Feb 15 16:08:38 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode.c: fix globals in interpreter.
+ 
+ Mon Feb 15 15:01:37 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav: enable prefiltering, and add to dconf.
+ 
+ Mon Feb 15 14:37:09 2010 +0200 (edwin)
+ --------------------------------------
+  * clambc, libclamav, unit_tests: dconf for bytecode.
+ 
+ Mon Feb 15 12:41:53 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++, unit_tests: runtime checks verifier.
+ 
+ Sun Feb 14 12:28:52 CET 2010 (acab)
+ -----------------------------------
+  * libclamav: refactor checkfp logic
+ 
+ Sat Feb 13 19:57:33 2010 +0200 (edwin)
+ --------------------------------------
+  * clambc/bcrun.c, shared/optparser.c: fix clambc's printing of source code, and add separate cmdline for it.
+ 
+ Sat Feb 13 18:21:33 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode.c,readdb.c: Don't fail if bytecode was skipped due to functionality level.
+ 
+ Sat Feb 13 18:13:56 2010 +0200 (edwin)
+ --------------------------------------
+  * unit_tests/input: update unit tests.
+ 
+ Sat Feb 13 18:13:39 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/readdb.c: fix memory leak in prefiltering code.
+ 
+ Sat Feb 13 02:55:55 CET 2010 (acab)
+ -----------------------------------
+  * libclamav: refactor binhex processor with one pass decoder (bb#1236)
+ 
+ Fri Feb 12 15:51:19 CET 2010 (tk)
+ ---------------------------------
+  * libclamav: add cl_countsigs() (bb#1473)
+ 
+ Fri Feb 12 16:47:44 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode*,pe*,unit_tests/input/*: New pointer handling rules.
+ 
+ Wed Feb 10 17:00:30 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/scanners.c: fix init of hook_lsig_matches.
+ 
+ Wed Feb 10 11:39:47 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/matcher*: Add the rest of the prefiltering glue code.
+ 
+ Wed Feb 10 10:22:07 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/filtering.c, win32/: Fix win32 build (bb #1824).
+ 
+ Tue Feb  9 20:44:11 CET 2010 (acab)
+ -----------------------------------
+  * clamav-milter: allow SkipAuthenticated to read names from a file
+ 		(bb#1684)
+ 
+ Tue Feb 9 18:56:08 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/matcher.c: move matching code to matcher_run.
+ 
+ Tue Feb 9 18:23:10 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/matcher-ac.c: move leaf checks inside IS_FINAL.
+ 
+ Tue Feb  9 16:35:36 CET 2010 (acab)
+ -----------------------------------
+  * libclamav/scanners.c: fix gzip handler
+ 
+ Tue Feb 9 13:40:02 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/scanners.c: Show more details about zlib when inflateinit fails.
+ 
+ Tue Feb 9 13:21:14 2010 +0200 (edwin)
+ -------------------------------------
+  * configure: fix empty output for check in configure summary.
+ 
+ Tue Feb 9 12:01:31 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav: Prepare for prefiltering: add new files.
+ 
+ 
+ Mon Feb 8 20:27:59 2010 +0200 (edwin)
+ -------------------------------------
+  * unit_tests/check_common.sh: Update unit tests after Phishing.Heuristics -> Heuristics.Phishing change.
+ 
+ Mon Feb  8 19:17:14 CET 2010 (tk)
+ ---------------------------------
+  * libclamav: prefix all engine detections with "Heuristics." (bb#1808)
+ 	      (also change Phishing.Heuristics.* -> Heuristics.Phishing.*)
+ 
+ Mon Feb  8 13:40:06 CET 2010 (acab)
+ ----------------------------------
+  * libclamav: drop support for type 8 signatures. disasm matching is now
+ 		done via bytecode
+ 
+ Mon Feb 8 13:45:03 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/matcher*,readdb.c: Support for macros in logical subsignatures (bb #164).
+ 
+ Mon Feb  8 10:30:03 CET 2010 (tk)
+ ---------------------------------
+  * freshclam, sigtool: use zlib's Z_FILTERED strategy
+ 		       Thanks to Edwin
+ 
+ Sat Feb 6 17:53:17 2010 +0200 (edwin)
+ -------------------------------------
+  * clambc, libclamav: print bytecode source code.
+ 
+ Sat Feb  6 16:02:28 CET 2010 (acab)
+ -----------------------------------
+  * clamd/server-th.c: reset the selfcheck timeout even if we reload
+ 		      by other means (bb#1812)
+ 
+ Thu Feb  4 22:17:49 CET 2010 (acab)
+ -----------------------------------
+  * clamd: new options LocalSocketMode and LocalSocketGroup
+  * clamav-milter: new options MilterSocketMode and MilterSocketGroup
+    (bb#1789)
+ 
+ Thu Feb  4 21:31:27 CET 2010 (tk)
+ ---------------------------------
+  * clamscan: properly report errors from libclamav; simplify
+ 	     error codes
+ 
+ Wed Feb  3 18:23:08 CET 2010 (tk)
+ ---------------------------------
+  * clamdscan: fix error logic once again
+ 
+ Wed Feb  3 01:38:50 CET 2010 (acab)
+ -----------------------------------
+  * win32: workaround HUP reset in poll, set stdin to binary mode
+ 
+ Tue Feb 2 15:29:02 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav: Fix use-after-free on bytecode load/execution.
+ 
+ Tue Feb  2 14:23:18 CET 2010 (tk)
+ ---------------------------------
+  * freshclam: new option Bytecode
+ 
+ Tue Feb 2 14:03:32 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/bytecode*: s/2009/2010/
+ 
+ Tue Feb 2 14:01:38 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/c++/bytecode2llvm.cpp: Fix loading of multiple .cbc files.
+ 
+ Tue Feb 2 13:46:37 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/bytecode.c: fix loading from .cvd.
+ 
+ Tue Feb 2 13:42:33 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/bytecode.c: fix segfault on failed cbc load.
+ 
+ 
+ Mon Feb  1 19:25:45 CET 2010 (tk)
+ ---------------------------------
+  * sigtool: add support for bytecode.cvd
+ 
+ Mon Feb 1 14:39:37 2010 +0200 (edwin)
+ -------------------------------------
+  * clamdtop/clamdtop.c: increase clamdtop timeout (bb #1732).
+ 
+ Mon Feb 1 14:38:36 2010 +0200 (edwin)
+ -------------------------------------
+  * clamd: make STATS a non-bulk command (bb #1732).
+ 
+ Mon Feb 1 14:06:07 2010 +0200 (edwin)
+ -------------------------------------
+  * clamd/thrmgr.[ch]: Don't allow bulk requests (multiscan, idsession) to fill more than 50% of the queue. (bb #1732)
+ 
+ Sun Jan 31 17:12:48 CET 2010 (acab)
+ -----------------------------------
+  * win32: clamdscan added
+ 
+ Sat Jan 30 18:31:07 2010 +0200 (edwin)
+ --------------------------------------
+  * win32: fix ETIMEDOUT mismatch on win32.
+ 
+ Sat Jan 30 04:19:29 CET 2010 (acab)
+ -----------------------------------
+  * win32: clamd (sort of) works
+ 
+ Fri Jan 29 18:38:43 2010 +0200 (edwin)
+ --------------------------------------
+  * clamdscan: Don't use clamdscan.map, it fails on some versions of Solaris.
+ 
+ Fri Jan 29 14:39:02 2010 +0200 (edwin)
+ --------------------------------------
+  * configure: Print feature summary after configure is finished.
+ 
+ Fri Jan 29 12:31:11 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/others.c: Test field offset rather than size.
+ 
+ Fri Jan 29 12:17:07 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/others.c: Add sanity check for struct packing (bb #1752).
+ 
+ Thu Jan 28 15:23:55 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/Makefile.{am,in}: Remove -fno-rtti for now.
+ 
+ Thu Jan 28 12:53:45 CET 2010 (tk)
+ ---------------------------------
+  * libclamav: provide information about lsig matches to bytecode (bb#1799)
+ 
+ Wed Jan 27 18:33:09 CET 2010 (tk)
+ ---------------------------------
+  * libclamav: provide offset in cli_ac_result (bb#1799)
+ 
+ Wed Jan 27 15:56:13 2010 +0200 (edwin)
+ --------------------------------------
+  * clamd/others.c: fix distcheck warnings.
+ 
+ Wed Jan 27 14:42:40 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/bytecode2llvm.cpp: _GLIBCXX_PARALLEL is not supported: it creates threads before we fork() causing
+     deadlock.
+ 
+ Wed Jan 27 12:07:08 2010 +0200 (edwin)
+ --------------------------------------
+  * clamd, libclamav: Don't use C++ comments in C code.
+ 
+ Wed Jan 27 11:59:51 2010 +0200 (edwin)
+ --------------------------------------
+  * clamd: Fix clamd hang when number of multiscan commands == MaxThreads (bb #1770).
+ 
+ Wed Jan 27 11:04:34 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode_api*: Fix duplicate const qualifier (bb #1798).
+ 
+ Wed Jan 27 10:54:35 2010 +0200 (edwin)
+ --------------------------------------
+  * clamd/others.c: Improve error message when no ancillary data is received (bb #1700).
+ 
+ Tue Jan 26 22:11:31 2010 +0200 (edwin)
+ --------------------------------------
+  * build system:: update files used by make check. add missing file.
+     Fix make distclean.
+ 
+ Tue Jan 26 19:39:18 CET 2010 (acab)
+ -----------------------------------
+  * win32: automatically check and regenerate vcprojs,
+ 	  drop support and tblgen from llvm as these are now prebuilt and
+ 	  shipped
+ 
+ Tue Jan 26 15:48:56 2010 +0200 (edwin)
+ --------------------------------------
+  * win32/: modify vcproj files according to win32/update-win32.pl
+ 
+ Tue Jan 26 15:37:14 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/configure: Perl is not required (bb #1781).
+ 
+ Tue Jan 26 15:33:56 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++: Merge LLVM upstream SVN r94539.
+     Update autogenerated files after LLVM import.
+ 
+ Tue Jan 26 14:25:54 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/bytecode2llvm.cpp: fix compiler warning.
+ 
+ Tue Jan 26 12:40:18 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/bytecode2llvm.cpp: Support building w/o atomic builtins for i386 (bb #1781).
+ 
+ Tue Jan 26 10:10:56 2010 +0200 (edwin)
+ --------------------------------------
+  * build system: regenerate build files using automake 1.11.1
+ 
+ Tue Jan 26 09:56:11 2010 +0200 (edwin)
+ --------------------------------------
+  * build system: don't link clamdscan with -lz -ldl (bb #1474)
+ 
+ 
+ Mon Jan 25 15:17:10 2010 +0200 (edwin)
+ --------------------------------------
+  * win32/libclamav.def: attempt to fix win32 build.
+ 
+ Mon Jan 25 15:15:54 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode.c: fix distcheck warning.
+ 
+ Mon Jan 25 15:06:30 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode_api.c: don't return NULL here.
+ 
+ Mon Jan 25 13:27:44 CET 2010 (tk)
+ ---------------------------------
+  * libclamav: handle digitally signed .info files
+ 
+ Fri Jan 22 17:19:11 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecoed.c: fix typo.
+ 
+ Fri Jan 22 16:50:16 2010 +0200 (edwin)
+ --------------------------------------
+  * clambc, libclamav, shared/optparser.c: print bytecode metadata.
+ 
+ Fri Jan 22 14:36:56 2010 +0200 (edwin)
+ --------------------------------------
+  * clambc, clambc, etc/clamd.conf, libclamav, shared/optparser.c: BytecodeSecurity setting.
+ 
+ Fri Jan 22 11:49:07 CET 2010 (acab)
+ -----------------------------------
+  * libclamav: fix shifts >= width (bb#1778)
+ 
+ Thu Jan 21 23:01:34 CET 2010 (tk)
+ ---------------------------------
+  * sigtool: create digitally signed .info files
+ 
+ Thu Jan 21 16:48:56 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav: bytecode ptrdiff32 opcode.
+ 
+ 
+ Wed Jan 20 23:53:36 CET 2010 (acab)
+ -----------------------------------
+  * libclamav/pe.c: fix handling of 15h byte skew in upx-lzma (bb#1591)
+ 
+ Wed Jan 20 22:10:12 CET 2010 (tk)
+ ---------------------------------
+  * libclamav: check .info files while loading CVD/CLD
+ 
+ Wed Jan 20 20:04:01 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav, unit_tests: Support for malloc in bytecode. Fix crash with mismatched api/flevel versions.
+ 
+ Wed Jan 20 18:20:53 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode_api.c: longest asm instruction 4096->32.
+ 
+ Wed Jan 20 18:12:10 2010 +0200 (edwin)
+ --------------------------------------
+  * unit_tests/check_clamav.c: Prevent check from hanging/crashing when there is a version mismatch.
+ 
+ Wed Jan 20 17:16:27 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/{bytecode_api.c,disasm.[ch]}: disasm_x86 api.
+ 
+ Wed Jan 20 16:59:05 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/disasm-common.h: fix struct doxygen docs.
+ 
+ Wed Jan 20 16:19:18 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode_api*: file_find, file_byteat bytecode APIs.
+ 
+ 
+ Tue Jan 19 19:58:15 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/bytecode*: Fix loading of apicall8 (disasm).
+ 
+ Tue Jan 19 16:38:12 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav: Support PE hook bytecodes triggered by logical signature.
+ 
+ Tue Jan 19 11:49:12 CET 2010 (acab)
+ -----------------------------------
+   * clamdscan/proto.c: don't stop scanning if a file is not found (bb#1760)
+ 
+ Tue Jan 19 11:26:11 CET 2010 (acab)
+ -----------------------------------
+   * clamscan/manager.c: use unsigned fsize (bb#1788)
+ 
+ Mon Jan 18 19:31:59 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/{bytecode*,pe.*,clambc.h}: filesize, and pe_rawaddr API.
+ 
+ Fri Jan 15 18:17:55 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/{bytecode,cache,pe_icons}.c: Fix some pointer dereferences, and sizeof.
+ 
+ Fri Jan 15 15:06:33 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/pe.c: Fix UPX error handling.
+ 
+ Fri Jan 15 10:23:25 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/mpool.[ch]: Fix bus error on Sparc.
+ 
+ Fri Jan 15 03:02:25 CET 2010 (acab)
+ -----------------------------------
+   * libclamav: cache negative matches
+ 
+ Thu Jan 14 23:31:51 CET 2010 (tk)
+ ---------------------------------
+  * libclamav: cdb: drop FileType; cover ARJ, CAB, TAR, CPIO and 7Z
+ 
+ Thu Jan 14 19:43:43 CET 2010 (tk)
+ ---------------------------------
+  * libclamav/readdb.c: fix compatibility issue with .zmd sigs (bb#1793)
+ 
+ Tue Jan 12 16:57:22 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/readdb.c: Fix array size for parsing .ldb tokens.
+ 
+ Tue Jan 12 14:39:55 CET 2010 (tk)
+ ---------------------------------
+  * libclamav: allow lsigs be anchored to specific containers (bb#1293),
+ 	      eg. Container:CL_TYPE_ZIP
+ 
+ Tue Jan 12 12:14:08 CET 2010 (tk)
+ ---------------------------------
+  * libclamav/readdb.c: when some lsig's attribute is unknown ignore the
+ 		       entire signature and not the attribute itself
+ 
+ Mon Jan 11 12:43:21 2010 +0200 (edwin)
+ --------------------------------------
+  * libclamav/cache.c: Fix infinite loop in lookup.
+ 
+ Fri Jan  8 15:20:10 CET 2010 (tk)
+ ---------------------------------
+  * libclamav: handle zmd/rmd with cdb (bb#1579)
+ 
+ Thu Jan  7 18:22:39 CET 2010 (tk)
+ ---------------------------------
+  * libclamav: base code for unified container metadata matcher (bb#1579)
+ 
+ Wed Jan 6 19:53:07 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/cache.c:  Fix hash impl when replacing values.
+ 
+ Wed Jan 6 19:32:34 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/cache.c: a fixed size, LRU hash-based cache.
+ 
+ Tue Jan 5 13:19:33 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/readdb.c: Fix logic.
+ 
+ Tue Jan  5 12:04:47 CET 2010 (acab)
+ -----------------------------------
+  * libclamav/readdb.c: force VI anchored sigs into AC
+ 
+ Tue Jan  5 02:08:38 CET 2010 (acab)
+ -----------------------------------
+  * libclamav: merge PE VersionInformation matcher
+ 
+ Mon Jan 4 17:17:22 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/hashtab.c: The hashset's bitmap needs only capacity/32 memory, not capacity/8.
+ 
+ Mon Jan 4 17:08:59 2010 +0200 (edwin)
+ -------------------------------------
+  * libclamav/hashtab.[ch]:  add _noalloc hashset functions requested by aCaB.
+ 
+ Mon Jan  4 15:35:16 CET 2010 (tk)
+ ---------------------------------
+  * libclamav: fix error reporting for BinHex files (bb#1685)
+ 
+ Wed Dec 30 15:08:35 2009 +0200 (edwin)
+ --------------------------------------
+  * libclamav: fix bswap in JIT
+ 
+ Wed Dec 30 12:13:40 2009 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/bytecode2llvm.cpp: Fix __*di3 libcalls on x86-32.
+ 
+ Wed Dec 30 00:19:21 CET 2009 (tk)
+ ---------------------------------
+  * libclamav: add support for FileSize, EntryPoint and NumberOfSections in
+ 	      lsig's tdb
+ 
+ Tue Dec 29 13:50:01 CET 2009 (tk)
+ ---------------------------------
+  * sigtool/sigtool.c: handle lsigs created by the bytecode compiler
+ 
+ Mon Dec 28 23:27:40 CET 2009 (tk)
+ ---------------------------------
+  * sigtool/sigtool.c: properly handle anchored sigs (bb#1780)
+ 
+ Mon Dec 28 20:53:46 2009 +0200 (edwin)
+ --------------------------------------
+  * win32/LLVMsupport.vcproj: Update win32 proj.
+ 
+ Mon Dec 28 20:18:59 2009 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++/bytecode2llvm.cpp: Fix some warnings from clang++ bytecode2llvm.cpp.
+ 
+ Mon Dec 28 20:08:10 2009 +0200 (edwin)
+ --------------------------------------
+  * libclamav/c++: Update to LLVM upstream r92222.
+ 
+ Tue Dec 22 09:32:33 EET 2009 (edwin)
+ ------------------------------------
+  * libclamav/fmap.h: fix build on FreeBSD and Mac OS X (bb #1776). Thanks to
+     Renato Botelho.
+ 
+ Wed Dec 16 15:33:01 CET 2009 (acab)
+ -----------------------------------
+  * libclamav/unzip.c: do not mark embedded zipfiles as
+ 		       encrypted.zip (bb#1768)
+ 
+ Wed Dec 16 15:22:28 CET 2009 (acab)
+ -----------------------------------
+  * clamd/server-th.c: remove c++ comment (bb#1751)
+ 
+ Wed Dec 16 03:15:30 CET 2009 (acab)
+ -----------------------------------
+  * libclamav/c++, win32: win32 compile system for llvm refactored
+ 
+ Mon Dec 14 17:16:07 CET 2009 (tk)
+ ---------------------------------
+  * libclamav: integrate ldb sigs with icon matcher
+ 
+ Mon Dec 14 15:04:45 CET 2009 (tk)
+ ---------------------------------
+  * sigtool: fix some messages (bb#1777)
+ 
+ Mon Dec 14 14:31:19 CET 2009 (tk)
+ ---------------------------------
+  * man/freshclam.conf.5: describe SafeBrowsing (bb#1772)
+ 
+ Mon Dec 14 14:25:29 CET 2009 (tk)
+ ---------------------------------
+  * man/clamd.8: add info about signals
+ 
+ Fri Dec 11 00:54:52 CET 2009 (acab)
+ ---------------------------------
+  * libclamav: merge icon extraction and matching branch(exeicons)
+ 
+ Wed Dec  9 23:31:54 CET 2009 (tk)
+ ---------------------------------
+  * sigtool: add --test-sigs (basic functionality) (bb#1246)
+ 
+ Fri Dec  4 15:55:51 CET 2009 (tk)
+ ---------------------------------
+  * freshclam/manager.c: improve handling of problematic mirrors (bb#1758)
+ 
+ Fri Dec  4 14:19:23 CET 2009 (tk)
+ ---------------------------------
+  * clamscan: properly describe --include/exclude (bb#1765)
+ 
+ Wed Dec  2 23:17:27 CET 2009 (tk)
+ ---------------------------------
+  * libclamav/qsort.c: fix CMP1 macro (bb#1769)
+ 
+ Tue Dec  1 23:17:53 CET 2009 (tk)
+ ---------------------------------
+  * libclamav/readdb.c: make sure static sigs with floating chars go into AC
+ 
+ Mon Nov 30 21:16:35 CET 2009 (tk)
+ ---------------------------------
+  * sigtool: --decode-sigs: handle alternatives
+ 
+ Thu Nov 26 19:43:06 CET 2009 (tk)
+ ---------------------------------
+  * sigtool: --decode-sigs: handle .ldb sigs
+ 
+ Thu Nov 26 16:06:30 CET 2009 (acab)
+ -----------------------------------
+  * libclamav/scanners.c: print inflateinit2 return code
+ 
+ Wed Nov 25 19:07:51 CET 2009 (tk)
+ ---------------------------------
+  * sigtool: --decode-sigs: handle .ndb sigs
+ 
+ Tue Nov 24 10:24:27 EET 2009 (edwin)
+ ------------------------------------
+  * clamd/server-th.c: enable more than 256 FD support on Solaris (bb #1764).
+ 
+ Mon Nov 23 23:15:38 CET 2009 (tk)
+ ---------------------------------
+  * sigtool: --decode-sigs; decode .db entries (bb#1246)
+ 
+ Thu Nov 19 14:10:17 CET 2009 (tk)
+ ---------------------------------
+  * sigtool/sigtool.c: handle .ign2 files (bb#1625)
+ 
+ Tue Nov 17 18:02:45 CET 2009 (tk)
+ ---------------------------------
+  * libclamav/qsort.c: don't call med3 when using internal cmp
+ 
+ Mon Nov 16 23:15:37 CET 2009 (acab)
+ -----------------------------------
+  * libclamav: add qsort to the win32 build
+ 
+ Mon Nov 16 19:26:53 CET 2009 (tk)
+ ---------------------------------
+  * libclamav: replace qsort implementation and optimize its common
+ 	      usage (bb#1721)
+ 
+ Tue Nov 10 19:29:18 CET 2009 (tk)
+ ---------------------------------
+  * clamd, clamscan: add support for OfficialDatabaseOnly/--official-db-only
+ 		    (bb#1743)
+ 
+ Tue Nov 10 16:50:56 CET 2009 (tk)
+ ---------------------------------
+  * freshclam/notify.c: fix clamd notification in TCP mode (bb#1756)
+ 
+ Tue Nov 10 12:52:43 CET 2009 (acab)
+ -----------------------------------
+  * doc/man/clamav-milter.8.in: fix typo
+    reported by Thomas Harold <thomas * betasearch.com>
+ 
+ Fri Nov  6 16:14:09 CET 2009 (acab)
+ -----------------------------------
+  * libclamav/tnef.c: don't use fgetc (bb#1695)
+ 
+ Fri Nov  6 12:22:33 CET 2009 (tk)
+ ---------------------------------
+  * freshclam: add support for DetectionStatsHostID (bb#1503)
+ 
+ Tue Nov  3 22:50:30 CET 2009 (tk)
+ ---------------------------------
+  * libclamav, freshclam: fix handling of dbs when both daily.cvd and daily.cld
+ 			 are present in the db directory and ScriptedUpdates
+ 			 are turned off (bb#1739)
+ 
+ Tue Nov  3 15:18:14 CET 2009 )tk)
+ ---------------------------------
+  * libclamav/readdb.c: return error if lsig contains redundant subsigs
+ 
+ Sun Nov  1 21:26:10 CET 2009 (acab)
+ -----------------------------------
+  * win32: improve build system
+ 
+ Sat Oct 31 19:13:18 CET 2009 (acab)
+ -----------------------------------
+  * win32: add resources
+ 
+ Sat Oct 31 19:12:22 CET 2009 (acab)
+ -----------------------------------
+  * win32: fix warnings
+ 
+ Fri Oct 30 14:04:43 EET 2009 (edwin)
+ ------------------------------------
+  * configure, m4/acinclude.m4: Avoid trailing slash in libdir for old gcc (#1738).
+ 
+ Thu Oct 29 23:42:57 CET 2009 (acab)
+ -----------------------------------
+  * win32/3rdparty/pthreads: upgrade to CVS HEAD
+ 
+ Thu Oct 29 17:27:40 CET 2009 (acab)
+ -----------------------------------
+  * win32: don't use . or .. in UNC names
+ 
+ Wed Oct 28 15:15:05 EET 2009 (edwin)
+ ------------------------------------
+  * clamd/thrmgr.c: use a double instead of integer to avoid negative time (bb #1731).
+ 
+ Wed Oct 28 12:42:45 CET 2009 (tk)
+ ---------------------------------
+  * libclamav/filetypes_int.h: sync with daily.ftm
+ 
+ Tue Oct 27 23:29:09 CET 2009 (tk)
+ ---------------------------------
+  * clamdscan: improve error handling (bb#1729)
+ 
+ Tue Oct 27 20:31:36 CET 2009 (tk)
+ ---------------------------------
+  * clamdscan, libclamav, clamdtop, freshclam, sigtool: fix some error path
+    leaks (bb#1730)
+ 
+ Tue Oct 27 11:59:32 CET 2009 (tk)
+ ---------------------------------
+  * libclamav/scanners.c: drop hardcoded offset limits for embedded objs (bb#1664)
+ 
+ Mon Oct 26 16:09:29 CET 2009 (tk)
+ ---------------------------------
+  * libclamav/others.c: call srand() already in cli_init() (bb#1728)
+ 
+ Mon Oct 26 13:08:41 CET 2009 (tk)
+ ---------------------------------
+  * clamdscan/proto.c: handle recv() == 0 (bb#1717)
+ 
+ Sat Oct 24 15:06:50 CEST 2009 (acab)
+ ------------------------------------
+  * libclamav/mpool.c: increase max pool to 8M to allow loading huge custom dbs
+ 
+ Sat Oct 24 14:27:10 EEST 2009 (edwin)
+ ------------------------------------
+  * clamd/scanner.c, libclamav/others_common.c: fix error path leak (bb #1711)
+ 
+ Fri Oct 23 20:48:12 CEST 2009 (acab)
+ ------------------------------------
+  * libclamav/unarj: fix error path leaks and valgrind warnings
+ 
+ Wed Oct 21 17:50:05 CEST 2009 (acab)
+ ------------------------------------
+  * win32: introduce safe_open() (sic!)
+ 
+ Tue Oct 20 17:48:59 CEST 2009 (acab)
+ ------------------------------------
+  * shared, win32: make hardcoded paths relocable in win32 builds
+ 
+ Mon Oct 19 14:13:27 CEST 2009 (acab)
+ ------------------------------------
+  * win32: add clamconf
+ 
+ Sun Oct 18 16:52:41 CEST 2009 (acab)
+ ------------------------------------
+  * win32: glob() complete
+ 
+ Sun Oct 18 02:30:14 CEST 2009 (acab)
+ ------------------------------------
+  * win32: glob() before main (WIP)
+ 
+ Fri Oct 16 20:08:51 CEST 2009 (acab)
+ ------------------------------------
+  * win32: stat added, dirent updated
+ 
+ Fri Oct 16 14:56:10 CEST 2009 (tk)
+ ----------------------------------
+  * clamdscan: fix some output msgs (bb#1716)
+ 
+ Fri Oct 16 10:11:56 CEST 2009 (tk)
+ ----------------------------------
+  * sigtool: add support for --find-sigs (part of bb#1246)
+ 
+ Fri Oct 16 01:46:28 CEST 2009 (acab)
+ ------------------------------------
+  * win32: res_query compatible interface
+ 
+ Thu Oct 15 13:06:33 CEST 2009 (acab)
+ ------------------------------------
+  * win32: add freshclam
+ 
+ Wed Oct 14 19:03:47 CEST 2009 (acab)
+ ------------------------------------
+  * win32: remove stale netcode
+ 
+ Wed Oct 14 18:59:13 CEST 2009 (acab)
+ ------------------------------------
+  * win32: preliminary winsock support files
+ 
+ Wed Oct 14 01:26:47 CEST 2009 (acab)
+ ------------------------------------
+  * win32: unrar support
+ 
+ Tue Oct 13 20:13:53 CEST 2009 (acab)
+ ------------------------------------
+  * win32: clamscan builds (and will scan soon...)
+ 
+ Tue Oct 13 00:54:05 CEST 2009 (acab)
+ ------------------------------------
+  * win32/compat: add POSIX compatible snprintf
+ 
+ Mon Oct 12 23:39:30 CEST 2009 (acab)
+ ------------------------------------
+  * win32: libclamav compiles
+ 
+ Mon Oct 12 23:33:32 CEST 2009 (acab)
+ ------------------------------------
+  * /win32: VC project file and 3rd party stuff
+ 
+ Sat Oct 10 20:22:10 CEST 2009 (acab)
+ ------------------------------------
+  * libclamav: completed merge of fmap4all
+ 
+ Thu Oct  8 19:03:57 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/matcher-bm.c: don't use mpool (bb#1710, #1715)
+ 
+ Tue Oct  6 22:51:00 CEST 2009 (tk)
+ ----------------------------------
+  * shared/misc.h: #include <sys/types.h>
+ 
+ Fri Oct  2 21:01:51 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav: check file sizes for MD5 sigs in all cases
+ 	      Reported by Edwin
+ 
+ Fri Oct  2 14:35:42 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav: unify fp checking; output fp signatures in debug mode
+ 
+ Fri Oct  2 14:33:09 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/scanners.c: fix whitelisting of scripts (bb#1706)
+ 
+ Fri Oct 30 14:04:43 EET 2009 (edwin)
+ ------------------------------------
+  * configure, m4/acinclude.m4: Avoid trailing slash in libdir for old gcc (#1738).
+ 
+ Wed Sep 30 19:41:43 EEST 2009 (edwin)
+ -------------------------------------
+  * configure{.in,}: Only use -fno-strict-aliasing for gcc-4.3+ to avoid bugs
+     with older compilers (bb #1581)
+ 
+ Wed Sep 30 17:15:05 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/matcher-bm.c: fix cli_bm_freeoff() (bb#1710)
+ 
+ Wed Sep 30 12:40:50 CEST 2009 (acab)
+ ------------------------------------
+  * clamdscan/clamdscan.c: properly init variable (bb#1708)
+ 
+ Wed Sep 30 00:51:19 CEST 2009 (acab)
+ ------------------------------------
+  * clamd, shared: merge a set of win32 patches from
+ 		Gianluigi Tiesi <sherpya*netfarm.it>
+ 
+ Tue Sep 29 21:40:29 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/matcher-ac.c: fix matching of logical sigs (bb#1707)
+ 			   Reported by Thiyaga <mthiyaga*corp.untd.com>
+ 
+ Mon Sep 28 21:41:47 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/readdb.c: fix handling of broken .ldb sigs (bb#1701)
+ 		       Thanks Luca&Edwin
+ 
+ Mon Sep 28 19:29:32 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav: new signature blacklisting format (bb#1625)
+  * libclamav: allow arbitrary names for .ign/.ign2 files (bb#1683)
+ 
+ Fri Sep 25 15:13:25 CEST 2009 (acab)
+ ------------------------------------
+  * sigtool/vba.c: s/cli_errmsg/logg/
+  * shared/misc.h: in_addr_t is now already declared
+  * libclamav/special.c: do not include netinet/in.h on win32
+  All the patches from Gianluigi Tiesi <sherpya*netfarm.it>
+ 
+ Fri Sep 25 15:09:02 CEST 2009 (acab)
+ ------------------------------------
+  * clamav-milter/clamav.milter.c: remove debug printf
+ 
+ Fri Sep 25 10:36:48 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/matcher-ac.c: add support for line marker (L) (matches CR,
+ 			   CRLF and boundaries)
+ 
+ Fri Sep 25 00:35:56 CEST 2009 (acab)
+ ------------------------------------
+  * libclamav/sis.c: size check fix, thanks Tomasz
+ 
+ Fri Sep 25 00:31:29 CEST 2009 (acab)
+ ------------------------------------
+  * fix several problems introduced by the win32 commits
+    many thanks edwin and sherpya
+ 
+ Thu Sep 24 19:43:50 CEST 2009 (acab)
+ ------------------------------------
+  * libclamav/others_common.c: Accept "/" as an absolute path
+ 
+ Thu Sep 24 19:22:24 CEST 2009 (acab)
+ ------------------------------------
+  * merge a set of win32 patches from Gianluigi Tiesi <sherpya*netfarm.it>
+ 
+ Thu Sep 24 19:09:38 CEST 2009 (acab)
+ ------------------------------------
+  * drop OS/2 "support"
+ 
+ Thu Sep 24 19:07:59 CEST 2009 (acab)
+ ------------------------------------
+  * clamd, libclamav: drop INTERIX "support"
+ 
+ Thu Sep 24 19:05:06 CEST 2009 (acab)
+ ------------------------------------
+  * win32 paths handling
+ 
+ Thu Sep 24 16:22:25 CEST 2009 (acab)
+ ------------------------------------
+  * merge initial set of win32 patches from Gianluigi Tiesi <sherpya*netfarm.it>
+ 
+ Thu Sep 24 01:14:50 CEST 2009 (acab)
+ ------------------------------------
+  * clamav-milter: Add option ReportHostname to mangle the host name in X headers
+ 
+ Wed Sep 23 03:19:53 CEST 2009 (acab)
+ ------------------------------------
+  * libclamav/mpool.c: update frag sizes, small cleanup
+ 
+ Mon Sep 21 22:05:38 CEST 2009 (tk)
+ ----------------------------------
+  * clamd: add support for DazukoFS (bb#1691)
+ 	  Patch from John Ogness <dazukocode*ogness.net>
+ 
+ Fri Sep 18 20:02:06 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/matcher-bm.c: use mpool in BM's offset mode
+ 
+ Thu Sep 17 22:36:30 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/matcher-ac.c: implement word delimiter (B) as requested in bb#1631
+ 
+ Mon Sep 14 19:52:01 CEST 2009 (tk)
+ ----------------------------------
+  * freshclam: return 0 instead of 1 when database is up-to-date (bb#1312)
+ 
+ Mon Sep 14 13:56:42 CEST 2009 (tk)
+ ----------------------------------
+  * clamd/server-th.c: fix possible race condition when restarting clamuko
+ 		      (bb#1692), patch from John Ogness
+ 
+ Fri Sep 11 16:05:00 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/matcher-ac.c: initial limited support for word boundary (bb#1631)
+ 
+ Thu Sep 10 20:16:45 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/matcher-ac.c: alternatives can now be negated: !(aa|bb|cc)
+ 
+ Mon Sep  7 15:03:11 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/matcher-bm.c: fix uninitialized value warning
+ 
+ Mon Sep  7 03:45:18 CEST 2009 (acab)
+ ------------------------------------
+  * libclamav/scanners.c: properly scan text files with a mail container
+ 
+ Thu Sep  3 15:09:57 CEST 2009 (tk)
+ ----------------------------------
+  * freshclam/mirman.c: make backoff time proportional to FLEVEL (bb#1687)
+ 
+ Tue Sep  1 20:50:12 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav: use BM matcher in offset mode for PE files larger than 256kB
+ 	      (10% speedup on average; 30-40% for large executables)
+ 
+ Tue Sep  1 11:11:43 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav: in bm_offmode only load sigs with non-floating absolute and
+ 	      relative offsets into BM matcher (load other ones into AC)
+ 	      and use per-file computed offset table to pick up best shifts
+ 	      (not enabled by default, bb#1300)
+ 
+ Sun Aug 30 23:56:49 CEST 2009 (acab)
+ ------------------------------------
+  * libclamav: unify CL_TYPE_MAIL scanning
+ 
+ Wed Aug 26 23:37:04 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/matcher-ac.c: improve handling of signature offsets
+ 
+ Mon Aug 24 22:09:12 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav: improve handling of PDF files (bb#1682)
+ 
+ Fri Aug 21 15:53:35 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav: handle relative offsets with cli_ac_data; fix offset logic
+ 
+ Fri Aug 21 02:17:11 CEST 2009 (acab)
+ ------------------------------------
+  * libclamav/ishield.c: properly free() header
+ 
+ Fri Aug 21 00:56:03 CEST 2009 (acab)
+ ------------------------------------
+  * build system: upgrade to autoconf 2.64 and automake 1.11 (bb#1528)
+ 
+ Thu Aug 20 00:34:39 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/matcher-bm.c: micro-optimization
+ 
+ Tue Aug 18 23:52:20 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/cpio.c: wrap unistd.h, reported by Nigel Horne
+ 
+ Mon Aug 17 13:54:09 CEST 2009 (acab)
+ ------------------------------------
+  * libclamav/7z: convert EOL to unix for compat with suncc
+ 
+ Fri Aug 14 14:37:21 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav: improve handling of signature offsets
+ 
+ Tue Aug 11 02:04:54 CEST 2009 (acab)
+ ------------------------------------
+  * libclamav/7z/Types.h: workaround "Byte" clash in lzma/7z (bb#805 - regression)
+ 
+ Mon Aug 10 22:36:19 CEST 2009 (acab)
+ ------------------------------------
+  * libclamav/7z*: cosmetic fixes
+ 
+ Mon Aug 10 22:06:23 CEST 2009 (acab)
+ ------------------------------------
+  * contrib/test: sync test files
+ 
+ Mon Aug 10 15:26:26 CEST 2009 (acab)
+ ------------------------------------
+  * libclamav: add preliminary 7z support
+ 
+ Thu Aug  6 22:26:30 CEST 2009 (tk)
+ ----------------------------------
+  * clamd, clamscan, libclamav: drop support for MailFollowURLs (bb#1677)
+ 
+ Wed Aug  5 18:33:11 CEST 2009 (tk)
+ ----------------------------------
+  * clamd/clamd.c: ignore SIGHUP and SIGUSR2 during initial setup (bb#1671)
+ 
+ Wed Aug  5 16:27:06 CEST 2009 (tk)
+ ----------------------------------
+  * clamd, clamscan: add support for CrossFilesystems/--cross-fs (bb#1607)
+ 
+ Tue Aug  4 23:15:26 CEST 2009 (tk)
+ ----------------------------------
+  * configure, libclamav: fix compile issues on IRIX (bb#1532)
+ 
+ Tue Aug  4 20:24:06 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/macho.c: wrap unistd.h, reported by Nigel Horne
+ 
+ Tue Aug  4 20:06:51 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/readdb.c: make the parser more sensitive to errors in
+ 		       numerical fields
+ 
+ Tue Aug  4 15:10:12 CEST 2009 (tk)
+ ----------------------------------
+  * freshclam, libclamav: work around possible race condition during
+ 			 db updates (bb#1624)
+ 
+ Mon Aug  3 15:22:42 CEST 2009 (tk)
+ ----------------------------------
+  * freshclam/manager.c: fix confusing error message (bb#1648)
+ 
+ Mon Aug  3 14:48:27 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/unzip.c: fix detection of encrypted zip files embedded into
+ 		      other files (bb#1660)
+ 
+ Sun Aug  2 14:46:40 EEST 2009 (edwin)
+ -------------------------------------
+  * libclamav/bytecode_vm.c: fix SIGBUS on sparc.
+ 
+ Fri Jul 31 21:28:18 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav, clamd: handle file exclusion in cli_ftw() (bb#1656)
+ 
+ Fri Jul 31 15:29:36 EEST 2009 (edwin)
+ -------------------------------------
+  * unit_tests/check_regex.c: fix unit-test failure on Solaris
+ 
+ Fri Jul 31 12:52:08 CEST 2009 (acab)
+ ------------------------------------
+  * libclamav/pe.c: fix check for pe32+
+ 
+ Tue Jul 28 20:34:13 CEST 2009 (tk)
+ ----------------------------------
+  * clamscan, clamd, libclamav: load cvd files on-the-fly (without unpacking them
+ 			       to /tmp) by default
+ 
+ Tue Jul 28 20:19:08 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav: improve loading speed of compressed databases (bb#1105)
+ 
+ Mon Jul 27 13:53:15 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/macho.c: improve detection of Universal Binaries
+ 
+ Mon Jul 27 12:28:08 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/macho.c: fix section alignment (bb#1667)
+ 
+ Sun Jul 26 18:55:37 CEST 2009 (acab)
+ ------------------------------------
+  * shared/actions.c: wrap unistd - reported by njh
+ 
+ Sun Jul 19 16:19:49 CEST 2009 (acab)
+ ------------------------------------
+  * libclamav/pe.c: check IS-cab scan result
+  * test/: add IS test files
+ 
+ Fri Jul 17 12:48:24 EEST 2009 (edwin)
+ -------------------------------------
+  * libclamav/regex_list.[ch]: improve safebrowsing.cvd load speed (20s -> 3s)
+ 
+ Fri Jul 17 02:28:50 CEST 2009 (acab)
+ ------------------------------------
+  * libclamav/others.h, libclamav/ishield.c: fix typo,
+ 			 workaround crappy preprocessors (bb#1658)
+ 
+ Thu Jul 16 23:01:34 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/cab.c: downgrade warning message (bb#1659)
+ 
+ Thu Jul 16 14:20:01 CEST 2009 (acab)
+ ------------------------------------
+  * libclamav, build system: fix portability issues for fseeko, sysconf(_SC_PAGESIZE),
+ 			    getpagesize() (bb#1658)
+ 
+ Wed Jul 15 23:36:09 EEST 2009 (edwin)
+ -------------------------------------
+  * libclamav/pe.c, yc.c: Make yC able to handle more samples and variants.
+ 
+ Wed Jul 15 19:36:35 CEST 2009 (tk)
+ ----------------------------------
+  * clamd: honour value of 0 in Max* options
+ 
+ Wed Jul 15 19:24:03 CEST 2009 (tk)
+ ----------------------------------
+  * clamscan: honour value of 0 in --max-* options (bb#1650)
+ 
+ Wed Jul 15 16:25:00 EEST 2009 (edwin)
+ -------------------------------------
+  * unit_tests/check_clamd.c: fix unit tests when run as root (bb #1635).
+ 
+ Wed Jul 15 12:50:50 CEST 2009 (acab)
+ ------------------------------------
+  * libclamav/ishield.c: fix distcheck, patch from edwin
+ 
+ Wed Jul 15 12:20:04 CEST 2009 (tk)
+ ----------------------------------
+  * clamd, clamav-milter: make pid files globally readable (bb#1642)
+ 
+ Wed Jul 15 12:33:22 CEST 2009 (acab)
+ ------------------------------------
+  * libclamav/ishield.c: use mmap for big files, fix some leaks,
+ 			 some portability fixes
+ 
+ Wed Jul 15 11:20:56 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/filetypes.c: fix off-by-one error (bb#1639)
+ 
+ Wed Jul 15 08:46:35 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/mspack.c: fix valgrind warnings about use of uninitialized
+ 		       values (bb#1655)
+ 
+ Tue Jul 14 23:41:37 CEST 2009 (acab)
+ ------------------------------------
+  * libclamav: add preliminary support for IS executables (IS-cab and IS-msi)
+ 		part of bb#1571
+ 
+ Tue Jul 14 18:17:59 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav: add support for Universal Binaries (archives with Mach-O files for
+ 	      different architectures, bb#1592)
+ 
+ Mon Jul 13 21:40:51 CEST 2009 (tk)
+ ----------------------------------
+  * docs/signatures.pdf: cover Mach-O files
+ 
+ Mon Jul 13 21:24:05 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav: handle Mach-O files with type-9 signatures; all special offsets are
+ 	      supported for PPC32/64 and x86 executables; for ARM and other archs
+ 	      only section based extensions (Sx[+-]n, SL[+-]n) are supported atm
+ 
+ Mon Jul 13 19:34:36 EEST 2009 (edwin)
+ -------------------------------------
+  * clambc/, libclamav/, unit_tests/: Initial draft of bytecode interpreter (bb #1243).
+ 
+ Mon Jul 13 16:06:31 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/macho.c: handle LC_THREAD; calculate EP
+ 
+ Fri Jul 10 10:10:35 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/filetypes_int.h: sync with daily.ftm
+ 
+ Wed Jul  8 14:59:14 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav: initial support for Mach-O executables (part of bb#1592)
+ 
+ Mon Jul  6 16:56:06 CEST 2009 (tk)
+ ----------------------------------
+  * test: add cpio test files
+ 
+ Thu Jul  2 17:05:12 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav: add support for cpio archives (bb#1649)
+ 
+ Mon Jun 29 15:40:42 CEST 2009 (acab)
+ ------------------------------------
+  * clamav-milter: use s/STREAM/INSTREAM/ (bb#1548)
+ 
+ Mon Jun 29 11:25:46 CEST 2009 (acab)
+ ------------------------------------
+  * clamav-milter/netcode.c: Properly handle clamd disconnection (bb#1643)
+ 
+ Mon Jun 22 17:19:45 CEST 2009 (acab)
+ ------------------------------------
+  * clamav-milter/whitelist.c: print failed whitelist filename
+ 
+ Fri Jun 12 12:30:15 CEST 2009 (tk)
+ ----------------------------------
+  * libclamav/elf.[ch]: add support for 64-bit ELF files (bb#1593)
+ 
 +Wed Oct 28 16:55:03 CET 2009 (tk)
 +---------------------------------
 + * V 0.95.3
 +
 +Wed Oct 28 15:15:05 EET 2009 (edwin)
 +------------------------------------
 + * clamd/thrmgr.c: use a double instead of integer to avoid negative time (bb #1731).
 +
 +Wed Oct 28 12:41:34 CET 2009 (tk)
 +---------------------------------
 + * libclamav/filetypes_int.h: sync with daily.ftm
 +
 +Tue Oct 27 23:29:09 CET 2009 (tk)
 +---------------------------------
 + * clamdscan: improve error handling (bb#1729)
 +
 +Tue Oct 27 20:31:36 CET 2009 (tk)
 +---------------------------------
 + * clamdscan, libclamav, clamdtop, freshclam, sigtool: fix some error path
 +   leaks (bb#1730)
 +
 +Tue Oct 27 11:59:32 CET 2009 (tk)
 +---------------------------------
 + * libclamav/scanners.c: drop hardcoded offset limits for embedded objs (bb#1664)
 +
 +Mon Oct 26 16:09:29 CET 2009 (tk)
 +---------------------------------
 + * libclamav/others.c: call srand() already in cli_init() (bb#1728)
 +
 +Mon Oct 26 13:08:41 CET 2009 (tk)
 +---------------------------------
 + * clamdscan/proto.c: handle recv() == 0 (bb#1717)
 +
 +Sat Oct 24 15:06:50 CEST 2009 (acab)
 +------------------------------------
 + * libclamav/mpool.c: increase max pool to 8M to allow loading huge custom dbs
 +
 +Fri Oct 23 20:48:12 CEST 2009 (acab)
 +------------------------------------
 + * libclamav/unarj: fix error path leaks and valgrind warnings
 +
 +Sat Oct 24 14:27:10 EEST 2009 (edwin)
 +------------------------------------
 + * clamd/scanner.c, libclamav/others_common.c: fix error path leak (bb #1711)
 +
 +Fri Oct 16 14:56:10 CEST 2009 (tk)
 +----------------------------------
 + * clamdscan: fix some output msgs (bb#1716)
 +
 +Tue Oct  6 22:51:00 CEST 2009 (tk)
 +----------------------------------
 + * shared/misc.h: #include <sys/types.h>
 +
 +Fri Oct  2 21:01:51 CEST 2009 (tk)
 +----------------------------------
 + * libclamav: check file sizes for MD5 sigs in all cases
 +	      Reported by Edwin
 +
 +Fri Oct  2 14:33:09 CEST 2009 (tk)
 +----------------------------------
 + * libclamav/scanners.c: fix whitelisting of scripts (bb#1706)
 +
 +Wed Sep 30 19:41:43 EEST 2009 (edwin)
 +-------------------------------------
 + * configure{.in,}: Only use -fno-strict-aliasing for gcc-4.3+ to avoid bugs
 +    with older compilers (bb #1581)
 +
 +Tue Sep 29 21:40:29 CEST 2009 (tk)
 +----------------------------------
 + * libclamav/matcher-ac.c: fix matching of logical sigs (bb#1707)
 +			   Reported by Thiyaga <mthiyaga*corp.untd.com>
 +
 +Mon Sep 28 21:41:47 CEST 2009 (tk)
 +----------------------------------
 + * libclamav/readdb.c: fix handling of broken .ldb sigs (bb#1701)
 +		       Thanks Luca&Edwin
 +
 +Fri Sep 25 00:35:56 CEST 2009 (acab)
 +------------------------------------
 + * libclamav/sis.c: size check fix, thanks Tomasz
 +
 +Mon Sep 14 13:56:42 CEST 2009 (tk)
 +----------------------------------
 + * clamd/server-th.c: fix possible race condition when restarting clamuko
 +		      (bb#1692), patch from John Ogness
 +
 +Thu Sep  3 15:09:57 CEST 2009 (tk)
 +----------------------------------
 + * freshclam/mirman.c: make backoff time proportional to FLEVEL (bb#1687)
 +
 +Mon Aug 24 22:09:12 CEST 2009 (tk)
 +----------------------------------
 + * libclamav: improve handling of PDF files (bb#1682)
 +
 +Fri Aug 21 00:56:03 CEST 2009 (acab)
 +------------------------------------
 + * build system: upgrade to autoconf 2.64 and automake 1.11 (bb#1528)
 +
 +Wed Aug  5 18:33:11 CEST 2009 (tk)
 +----------------------------------
 + * clamd/clamd.c: ignore SIGHUP and SIGUSR2 during initial setup (bb#1671)
 +
 +Tue Aug  4 23:15:26 CEST 2009 (tk)
 +----------------------------------
 + * configure, libclamav: fix compile issues on IRIX (bb#1532)
 +
 +Tue Aug  4 20:06:51 CEST 2009 (tk)
 +----------------------------------
 + * libclamav/readdb.c: make the parser more sensitive to errors in
 +		       numerical fields
 +
 +Tue Aug  4 15:10:12 CEST 2009 (tk)
 +----------------------------------
 + * freshclam, libclamav: work around possible race condition during
 +			 db updates (bb#1624)
 +
 +Mon Aug  3 15:22:42 CEST 2009 (tk)
 +----------------------------------
 + * freshclam/manager.c: fix confusing error message (bb#1648)
 +
 +Mon Aug  3 14:48:27 CEST 2009 (tk)
 +----------------------------------
 + * libclamav/unzip.c: fix detection of encrypted zip files embedded into
 +		      other files (bb#1660)
 +
 +Fri Jul 31 21:28:18 CEST 2009 (tk)
 +----------------------------------
 + * libclamav, clamd: handle file exclusion in cli_ftw() (bb#1656)
 +
 +Fri Jul 31 15:29:36 EEST 2009 (edwin)
 +-------------------------------------
 + * unit_tests/check_regex.c: fix unit-test failure on Solaris
 +
 +Fri Jul 31 12:52:08 CEST 2009 (acab)
 +------------------------------------
 + * libclamav/pe.c: fix check for pe32+
 +
 +Sun Jul 26 18:55:37 CEST 2009 (acab)
 +------------------------------------
 + * shared/actions.c: wrap unistd - reported by njh
 +
 +Fri Jul 17 12:48:24 EEST 2009 (edwin)
 +-------------------------------------
 + * libclamav/regex_list.[ch]: improve safebrowsing.cvd load speed (20s -> 3s)
 +
 +Thu Jul 16 23:01:34 CEST 2009 (tk)
 +----------------------------------
 + * libclamav/cab.c: downgrade warning message (bb#1659)
 +
 +Thu Jul 16 14:20:01 CEST 2009 (acab)
 +------------------------------------
 + * libclamav, build system: fix portability issues for fseeko, sysconf(_SC_PAGESIZE),
 +			    getpagesize() (bb#1658)
 +
 +Wed Jul 15 19:36:35 CEST 2009 (tk)
 +----------------------------------
 + * clamd: honour value of 0 in Max* options
 +
 +Wed Jul 15 19:24:03 CEST 2009 (tk)
 +----------------------------------
 + * clamscan: honour value of 0 in --max-* options (bb#1650)
 +
 +Wed Jul 15 16:25:00 EEST 2009 (edwin)
 +-------------------------------------
 + * unit_tests/check_clamd.c: fix unit tests when run as root (bb #1635).
 +
 +Wed Jul 15 12:20:04 CEST 2009 (tk)
 +----------------------------------
 + * clamd, clamav-milter: make pid files globally readable (bb#1642)
 +
 +Wed Jul 15 11:20:56 CEST 2009 (tk)
 +----------------------------------
 + * libclamav/filetypes.c: fix off-by-one error (bb#1639)
 +
 +Wed Jul 15 08:46:35 CEST 2009 (tk)
 +----------------------------------
 + * libclamav/mspack.c: fix valgrind warnings about use of uninitialized
 +		       values (bb#1655)
 +
 +Mon Jun 29 11:25:46 CEST 2009 (acab)
 +------------------------------------
 + * clamav-milter/netcode.c: Properly handle clamd disconnection (bb#1643)
 +
 +Mon Jun 22 17:19:45 CEST 2009 (acab)
 +------------------------------------
 + * clamav-milter/whitelist.c: print failed whitelist filename
 +
  Wed Jun 10 19:01:11 CEST 2009 (tk)
  ----------------------------------
   * V 0.95.2
diff --combined Makefile.am
index fc037b1,a592a29..546744d
--- a/Makefile.am
+++ b/Makefile.am
@@@ -18,8 -18,8 +18,8 @@@
  
  ACLOCAL_AMFLAGS=-I m4
  
- 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 libclamunrar_iface/Makefile.am libclamunrar_iface/Makefile.in UPGRADE COPYING.bzip2 COPYING.lzma COPYING.unrar COPYING.LGPL COPYING.file COPYING.zlib COPYING.getopt COPYING.regex COPYING.sha256 contrib
+ SUBDIRS = libltdl libclamav clamscan clamd clamdscan freshclam sigtool clamconf database docs etc clamav-milter test unit_tests clamdtop clambc
 -EXTRA_DIST = FAQ examples BUGS shared libclamav.pc.in libclamunrar_iface/Makefile.am libclamunrar_iface/Makefile.in UPGRADE COPYING.bzip2 COPYING.lzma COPYING.unrar COPYING.LGPL COPYING.file COPYING.zlib COPYING.getopt COPYING.regex COPYING.sha256 platform.h.in clamdscan/clamdscan.map win32
++EXTRA_DIST = FAQ examples BUGS shared libclamav.pc.in libclamunrar_iface/Makefile.am libclamunrar_iface/Makefile.in UPGRADE COPYING.bzip2 COPYING.lzma COPYING.unrar COPYING.LGPL COPYING.file COPYING.zlib COPYING.getopt COPYING.regex COPYING.sha256 contrib platform.h.in clamdscan/clamdscan.map
  
  bin_SCRIPTS=clamav-config
  
@@@ -29,12 -29,9 +29,9 @@@ pkgconfig_DATA = libclamav.p
  # don't complain that configuration files and databases are not removed, this is intended
  distuninstallcheck_listfiles = find . -type f ! -name clamd.conf ! -name freshclam.conf ! -name daily.cvd ! -name main.cvd -print
  DISTCLEANFILES = target.h
- if DISTCHECK_ENABLE_FLAGS
- DISTCHECK_CONFIGURE_FLAGS=--enable-milter --disable-clamav CFLAGS="-Wno-pointer-sign -Werror-implicit-function-declaration -Werror -Wextra -Wall -Wbad-function-cast -Wcast-align -Wendif-labels -Wfloat-equal -Wformat=2 -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wno-error=missing-prototypes -Wnested-externs -Wno-error=nested-externs -Wpointer-arith -Wstrict-prototypes -Wno-error=strict-prototypes -Wno-switch -Wno-switch-enum -Wundef -Wwrite-strings -Wstrict-overflow=1 -Winit-self -Wmissing-include-dirs -Wstrict-aliasing -Wdeclaration-after-statement -Waggregate-return -Wmissing-format-attribute -Wno-error=missing-format-attribute -Wno-error=type-limits -Wno-error=unused-value -Wno-error=unused-variable -Wcast-qual -Wno-error=cast-qual -Wno-error=sign-compare -Wshadow -Wno-error=shadow -Wno-error=uninitialized -fdiagnostics-show-option -Wno-unused-parameter -Wno-error=unreachable-code -Winvalid-pch -Wno-error=invalid-pch -O2 -D_FORTIFY_SOURCE=2 -fstack-protector-all -Wstack-protector -Wno-error=aggregate-return"
- else
- DISTCHECK_CONFIGURE_FLAGS=--enable-milter --disable-clamav
- endif
+ DISTCHECK_CONFIGURE_FLAGS=--enable-milter --disable-clamav --enable-distcheck-werror --enable-all-jit-targets --enable-llvm=yes
  lcov:
  	($(MAKE); cd unit_tests; $(MAKE) lcov)
  quick-check:
  	($(MAKE); cd unit_tests; $(MAKE) quick-check)
+ 
diff --combined Makefile.in
index 6a31793,2bce6e8..f4316b3
--- a/Makefile.in
+++ b/Makefile.in
@@@ -1,4 -1,4 +1,4 @@@
- # Makefile.in generated by automake 1.11 from Makefile.am.
+ # Makefile.in generated by automake 1.11.1 from Makefile.am.
  # @configure_input@
  
  # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@@ -58,7 -58,7 +58,7 @@@ subdir = 
  DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
  	$(srcdir)/Makefile.in $(srcdir)/clamav-config.h.in \
  	$(srcdir)/clamav-config.in $(srcdir)/libclamav.pc.in \
- 	$(top_srcdir)/configure \
+ 	$(srcdir)/platform.h.in $(top_srcdir)/configure \
  	$(top_srcdir)/docs/man/clamav-milter.8.in \
  	$(top_srcdir)/docs/man/clamconf.1.in \
  	$(top_srcdir)/docs/man/clamd.8.in \
@@@ -77,9 -77,9 +77,9 @@@ am__aclocal_m4_deps = $(top_srcdir)/m4/
  	$(top_srcdir)/m4/argz.m4 $(top_srcdir)/m4/fdpassing.m4 \
  	$(top_srcdir)/m4/lib-ld.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/llvm.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) \
@@@ -88,7 -88,7 +88,7 @@@ am__CONFIG_DISTCLEAN_FILES = config.sta
   configure.lineno config.status.lineno
  mkinstalldirs = $(install_sh) -d
  CONFIG_HEADER = clamav-config.h
- CONFIG_CLEAN_FILES = clamav-config libclamav.pc \
+ CONFIG_CLEAN_FILES = clamav-config libclamav.pc platform.h \
  	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 \
@@@ -117,6 -117,12 +117,12 @@@ am__base_list = 
    sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
  am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgconfigdir)"
  SCRIPTS = $(bin_SCRIPTS)
+ AM_V_GEN = $(am__v_GEN_$(V))
+ am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+ am__v_GEN_0 = @echo "  GEN   " $@;
+ AM_V_at = $(am__v_at_$(V))
+ am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+ am__v_at_0 = @
  SOURCES =
  DIST_SOURCES =
  RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@@ -172,6 -178,7 +178,7 @@@ GZIP_ENV = --bes
  distcleancheck_listfiles = find . -type f -print
  ACLOCAL = @ACLOCAL@
  AMTAR = @AMTAR@
+ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
  AR = @AR@
  ARGZ_H = @ARGZ_H@
  AUTOCONF = @AUTOCONF@
@@@ -228,6 -235,7 +235,7 @@@ LIBBZ2_PREFIX = @LIBBZ2_PREFIX
  LIBCLAMAV_LIBS = @LIBCLAMAV_LIBS@
  LIBCLAMAV_VERSION = @LIBCLAMAV_VERSION@
  LIBLTDL = @LIBLTDL@
+ LIBM = @LIBM@
  LIBOBJS = @LIBOBJS@
  LIBS = @LIBS@
  LIBTOOL = @LIBTOOL@
@@@ -316,6 -324,7 +324,7 @@@ psdir = @psdir
  sbindir = @sbindir@
  sharedstatedir = @sharedstatedir@
  srcdir = @srcdir@
+ subdirs = @subdirs@
  sys_symbol_underscore = @sys_symbol_underscore@
  sysconfdir = @sysconfdir@
  target = @target@
@@@ -327,8 -336,8 +336,8 @@@ top_build_prefix = @top_build_prefix
  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 clamdtop
- EXTRA_DIST = FAQ examples BUGS shared libclamav.pc.in libclamunrar_iface/Makefile.am libclamunrar_iface/Makefile.in UPGRADE COPYING.bzip2 COPYING.lzma COPYING.unrar COPYING.LGPL COPYING.file COPYING.zlib COPYING.getopt COPYING.regex COPYING.sha256 contrib
+ SUBDIRS = libltdl libclamav clamscan clamd clamdscan freshclam sigtool clamconf database docs etc clamav-milter test unit_tests clamdtop clambc
 -EXTRA_DIST = FAQ examples BUGS shared libclamav.pc.in libclamunrar_iface/Makefile.am libclamunrar_iface/Makefile.in UPGRADE COPYING.bzip2 COPYING.lzma COPYING.unrar COPYING.LGPL COPYING.file COPYING.zlib COPYING.getopt COPYING.regex COPYING.sha256 platform.h.in clamdscan/clamdscan.map win32
++EXTRA_DIST = FAQ examples BUGS shared libclamav.pc.in libclamunrar_iface/Makefile.am libclamunrar_iface/Makefile.in UPGRADE COPYING.bzip2 COPYING.lzma COPYING.unrar COPYING.LGPL COPYING.file COPYING.zlib COPYING.getopt COPYING.regex COPYING.sha256 contrib platform.h.in clamdscan/clamdscan.map
  bin_SCRIPTS = clamav-config
  pkgconfigdir = $(libdir)/pkgconfig
  pkgconfig_DATA = libclamav.pc
@@@ -336,48 -345,7 +345,7 @@@
  # don't complain that configuration files and databases are not removed, this is intended
  distuninstallcheck_listfiles = find . -type f ! -name clamd.conf ! -name freshclam.conf ! -name daily.cvd ! -name main.cvd -print
  DISTCLEANFILES = target.h
- @DISTCHECK_ENABLE_FLAGS_FALSE at DISTCHECK_CONFIGURE_FLAGS = --enable-milter --disable-clamav
- @DISTCHECK_ENABLE_FLAGS_TRUE at DISTCHECK_CONFIGURE_FLAGS =  \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	--enable-milter --disable-clamav \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	CFLAGS="-Wno-pointer-sign \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Werror-implicit-function-declaration \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Werror -Wextra -Wall \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wbad-function-cast -Wcast-align \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wendif-labels -Wfloat-equal \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wformat=2 -Wformat-security \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wmissing-declarations \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wmissing-prototypes \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wno-error=missing-prototypes \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wnested-externs \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wno-error=nested-externs \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wpointer-arith \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wstrict-prototypes \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wno-error=strict-prototypes \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wno-switch -Wno-switch-enum \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wundef -Wwrite-strings \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wstrict-overflow=1 -Winit-self \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wmissing-include-dirs \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wstrict-aliasing \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wdeclaration-after-statement \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Waggregate-return \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wmissing-format-attribute \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wno-error=missing-format-attribute \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wno-error=type-limits \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wno-error=unused-value \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wno-error=unused-variable \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wcast-qual -Wno-error=cast-qual \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wno-error=sign-compare -Wshadow \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wno-error=shadow \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wno-error=uninitialized \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-fdiagnostics-show-option \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wno-unused-parameter \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wno-error=unreachable-code \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Winvalid-pch \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wno-error=invalid-pch -O2 \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-D_FORTIFY_SOURCE=2 \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-fstack-protector-all \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wstack-protector \
- @DISTCHECK_ENABLE_FLAGS_TRUE@	-Wno-error=aggregate-return"
+ DISTCHECK_CONFIGURE_FLAGS = --enable-milter --disable-clamav --enable-distcheck-werror --enable-all-jit-targets --enable-llvm=yes
  all: clamav-config.h
  	$(MAKE) $(AM_MAKEFLAGS) all-recursive
  
@@@ -437,6 -405,8 +405,8 @@@ clamav-config: $(top_builddir)/config.s
  	cd $(top_builddir) && $(SHELL) ./config.status $@
  libclamav.pc: $(top_builddir)/config.status $(srcdir)/libclamav.pc.in
  	cd $(top_builddir) && $(SHELL) ./config.status $@
+ platform.h: $(top_builddir)/config.status $(srcdir)/platform.h.in
+ 	cd $(top_builddir) && $(SHELL) ./config.status $@
  docs/man/clamav-milter.8: $(top_builddir)/config.status $(top_srcdir)/docs/man/clamav-milter.8.in
  	cd $(top_builddir) && $(SHELL) ./config.status $@
  docs/man/clamconf.1: $(top_builddir)/config.status $(top_srcdir)/docs/man/clamconf.1.in
@@@ -543,7 -513,7 +513,7 @@@ uninstall-pkgconfigDATA
  #     (which will cause the Makefiles to be regenerated when you run `make');
  # (2) otherwise, pass the desired values on the `make' command line.
  $(RECURSIVE_TARGETS):
- 	@failcom='exit 1'; \
+ 	@fail= failcom='exit 1'; \
  	for f in x $$MAKEFLAGS; do \
  	  case $$f in \
  	    *=* | --[!k]*);; \
@@@ -568,7 -538,7 +538,7 @@@
  	fi; test -z "$$fail"
  
  $(RECURSIVE_CLEAN_TARGETS):
- 	@failcom='exit 1'; \
+ 	@fail= failcom='exit 1'; \
  	for f in x $$MAKEFLAGS; do \
  	  case $$f in \
  	    *=* | --[!k]*);; \
@@@ -732,7 -702,8 +702,8 @@@ distdir: $(DISTFILES
  	  fi; \
  	done
  	-test -n "$(am__skip_mode_fix)" \
- 	|| find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ 	|| find "$(distdir)" -type d ! -perm -755 \
+ 		-exec chmod u+rwx,go+rx {} \; -o \
  	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
  	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
  	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
@@@ -776,17 -747,17 +747,17 @@@ dist dist-all: distdi
  distcheck: dist
  	case '$(DIST_ARCHIVES)' in \
  	*.tar.gz*) \
- 	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+ 	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
  	*.tar.bz2*) \
- 	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+ 	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
  	*.tar.lzma*) \
- 	  unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
+ 	  lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
  	*.tar.xz*) \
  	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
  	*.tar.Z*) \
  	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
  	*.shar.gz*) \
- 	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+ 	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
  	*.zip*) \
  	  unzip $(distdir).zip ;;\
  	esac
diff --combined configure
index c17619a,a14d1a5..b9a1d91
--- a/configure
+++ b/configure
@@@ -1,12 -1,14 +1,14 @@@
  #! /bin/sh
  # Guess values for system-dependent variables and create Makefiles.
- # Generated by GNU Autoconf 2.64 for ClamAV 0.95.3.
 -# Generated by GNU Autoconf 2.65 for ClamAV devel.
++# Generated by GNU Autoconf 2.65 for ClamAV 0.96.
  #
  # Report bugs to <http://bugs.clamav.net/>.
  #
+ #
  # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
- # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
- # Foundation, Inc.
+ # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+ # Inc.
+ #
  #
  # This configure script is free software; the Free Software Foundation
  # gives unlimited permission to copy, distribute and modify it.
@@@ -678,7 -680,8 +680,8 @@@ f
  
  
  
- exec 7<&0 </dev/null 6>&1
+ test -n "$DJDIR" || exec 7<&0 </dev/null
+ exec 6>&1
  
  # Name of the host.
  # hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
@@@ -700,8 -703,8 +703,8 @@@ MAKEFLAGS
  # Identity of this package.
  PACKAGE_NAME='ClamAV'
  PACKAGE_TARNAME='clamav'
- PACKAGE_VERSION='0.95.3'
- PACKAGE_STRING='ClamAV 0.95.3'
 -PACKAGE_VERSION='devel'
 -PACKAGE_STRING='ClamAV devel'
++PACKAGE_VERSION='0.96'
++PACKAGE_STRING='ClamAV 0.96'
  PACKAGE_BUGREPORT='http://bugs.clamav.net/'
  PACKAGE_URL='http://www.clamav.net/'
  
@@@ -742,12 -745,16 +745,16 @@@ ac_includes_default="
  # include <unistd.h>
  #endif"
  
- ac_subst_vars='ltdl_LTLIBOBJS
+ enable_option_checking=no
+ ac_subst_vars='ENABLE_LLVM_FALSE
+ ENABLE_LLVM_TRUE
+ ltdl_LTLIBOBJS
  ltdl_LIBOBJS
  am__EXEEXT_FALSE
  am__EXEEXT_TRUE
  LTLIBOBJS
  LIBOBJS
+ subdirs
  HAVE_CURSES_FALSE
  HAVE_CURSES_TRUE
  CURSES_LIBS
@@@ -790,8 -797,7 +797,7 @@@ GPER
  VERSIONSCRIPT_FALSE
  VERSIONSCRIPT_TRUE
  VERSIONSCRIPTFLAG
- DISTCHECK_ENABLE_FLAGS_FALSE
- DISTCHECK_ENABLE_FLAGS_TRUE
+ LIBM
  LTDLOPEN
  LT_CONFIG_H
  CONVENIENCE_LTDL_FALSE
@@@ -847,6 -853,8 +853,8 @@@ C
  LIBTOOL
  LN_S
  LIBCLAMAV_VERSION
+ AM_BACKSLASH
+ AM_DEFAULT_VERBOSITY
  am__untar
  am__tar
  AMTAR
@@@ -923,8 -931,9 +931,9 @@@ SHELL
  ac_subst_files=''
  ac_user_opts='
  enable_option_checking
- enable_shared
+ enable_silent_rules
  enable_static
+ enable_shared
  with_pic
  enable_fast_install
  enable_dependency_tracking
@@@ -963,16 -972,18 +972,18 @@@ with_use
  with_group
  enable_clamav
  enable_debug
+ enable_unsigned_bytecode
  enable_no_cache
  enable_dns_fix
  enable_bigstack
  with_dbdir
- enable_gethostbyname_r
  enable_readdir_r
  enable_fdpassing
  enable_clamdtop
  with_libncurses_prefix
  with_libpdcurses_prefix
+ enable_distcheck_werror
+ enable_llvm
  '
        ac_precious_vars='build_alias
  host_alias
@@@ -983,7 -994,8 +994,8 @@@ LDFLAG
  LIBS
  CPPFLAGS
  CPP'
- 
+ ac_subdirs_all='
+ libclamav/c++'
  
  # Initialize some variables set by options.
  ac_init_help=
@@@ -1524,7 -1536,7 +1536,7 @@@ if test "$ac_init_help" = "long"; the
    # Omit some internal or obsolete options to make the list less imposing.
    # This message is too long to be a string in the A/UX 3.1 sh.
    cat <<_ACEOF
- \`configure' configures ClamAV 0.95.3 to adapt to many kinds of systems.
 -\`configure' configures ClamAV devel to adapt to many kinds of systems.
++\`configure' configures ClamAV 0.96 to adapt to many kinds of systems.
  
  Usage: $0 [OPTION]... [VAR=VALUE]...
  
@@@ -1595,7 -1607,7 +1607,7 @@@ f
  
  if test -n "$ac_init_help"; then
    case $ac_init_help in
-      short | recursive ) echo "Configuration of ClamAV 0.95.3:";;
 -     short | recursive ) echo "Configuration of ClamAV devel:";;
++     short | recursive ) echo "Configuration of ClamAV 0.96:";;
     esac
    cat <<\_ACEOF
  
@@@ -1603,8 -1615,10 +1615,10 @@@ Optional Features
    --disable-option-checking  ignore unrecognized --enable/--with options
    --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
    --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+   --enable-silent-rules          less verbose build output (undo: `make V=1')
+   --disable-silent-rules         verbose build output (undo: `make V=0')
+   --enable-static[=PKGS]  build static libraries [default=no]
    --enable-shared[=PKGS]  build shared libraries [default=yes]
-   --enable-static[=PKGS]  build static libraries [default=yes]
    --enable-fast-install[=PKGS]
                            optimize for fast installation [default=yes]
    --disable-dependency-tracking  speeds up one-time build
@@@ -1634,13 -1648,16 +1648,16 @@@
    --enable-yp-check	  use ypmatch utility instead of /etc/passwd parsing
    --disable-clamav	  disable test for clamav user/group
    --enable-debug	  enable debug code
+   --enable-unsigned-bytecode	  enable load of unsigned bytecode
    --enable-no-cache	  use "Cache-Control: no-cache" in freshclam
    --enable-dns-fix	  enable workaround for broken DNS servers (as in SpeedTouch 510)
    --enable-bigstack	  increase thread stack size
    --enable-readdir_r		    enable support for readdir_r
    --disable-fdpassing        don't build file descriptor passing support
    --enable-clamdtop       Enable 'clamdtop' tool [default=auto]
+   --enable-distcheck-werror
+                           enable warnings as error for distcheck [default=no]
+   --enable-llvm           Enable 'llvm' JIT/verifier support [default=auto]
  
  Optional Packages:
    --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@@ -1675,7 -1692,7 +1692,7 @@@ Some influential environment variables
    LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
                nonstandard directory <lib dir>
    LIBS        libraries to pass to the linker, e.g. -l<library>
-   CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+   CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
                you have headers in a nonstandard directory <include dir>
    CPP         C preprocessor
  
@@@ -1746,8 -1763,8 +1763,8 @@@ f
  test -n "$ac_init_help" && exit $ac_status
  if $ac_init_version; then
    cat <<\_ACEOF
- ClamAV configure 0.95.3
- generated by GNU Autoconf 2.64
 -ClamAV configure devel
++ClamAV configure 0.96
+ generated by GNU Autoconf 2.65
  
  Copyright (C) 2009 Free Software Foundation, Inc.
  This configure script is free software; the Free Software Foundation
@@@ -1794,7 -1811,7 +1811,7 @@@ sed 's/^/| /' conftest.$ac_ext >&
  	ac_retval=1
  fi
    eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-   return $ac_retval
+   as_fn_set_status $ac_retval
  
  } # ac_fn_c_try_compile
  
@@@ -1840,7 -1857,7 +1857,7 @@@ f
    # left behind by Apple's compiler.  We do this before executing the actions.
    rm -rf conftest.dSYM conftest_ipa8_conftest.oo
    eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-   return $ac_retval
+   as_fn_set_status $ac_retval
  
  } # ac_fn_c_try_link
  
@@@ -1908,7 -1925,7 +1925,7 @@@ sed 's/^/| /' conftest.$ac_ext >&
      ac_retval=1
  fi
    eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-   return $ac_retval
+   as_fn_set_status $ac_retval
  
  } # ac_fn_c_try_cpp
  
@@@ -1950,7 -1967,7 +1967,7 @@@ sed 's/^/| /' conftest.$ac_ext >&
  fi
    rm -rf conftest.dSYM conftest_ipa8_conftest.oo
    eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-   return $ac_retval
+   as_fn_set_status $ac_retval
  
  } # ac_fn_c_try_run
  
@@@ -2210,8 -2227,8 +2227,8 @@@ cat >config.log <<_ACEO
  This file contains any messages produced by compilers while
  running configure, to aid debugging if configure makes a mistake.
  
- It was created by ClamAV $as_me 0.95.3, which was
- generated by GNU Autoconf 2.64.  Invocation command line was
 -It was created by ClamAV $as_me devel, which was
++It was created by ClamAV $as_me 0.96, which was
+ generated by GNU Autoconf 2.65.  Invocation command line was
  
    $ $0 $@
  
@@@ -2464,7 -2481,7 +2481,7 @@@ f
  for ac_site_file in "$ac_site_file1" "$ac_site_file2"
  do
    test "x$ac_site_file" = xNONE && continue
-   if test -r "$ac_site_file"; then
+   if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
      { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
  $as_echo "$as_me: loading site script $ac_site_file" >&6;}
      sed 's/^/| /' "$ac_site_file" >&5
@@@ -2473,9 -2490,9 +2490,9 @@@
  done
  
  if test -r "$cache_file"; then
-   # Some versions of bash will fail to source /dev/null (special
-   # files actually), so we avoid doing that.
-   if test -f "$cache_file"; then
+   # Some versions of bash will fail to source /dev/null (special files
+   # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+   if test /dev/null != "$cache_file" && test -f "$cache_file"; then
      { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
  $as_echo "$as_me: loading cache $cache_file" >&6;}
      case $cache_file in
@@@ -2558,6 -2575,7 +2575,7 @@@ ac_compiler_gnu=$ac_cv_c_compiler_gn
  
  
  
+ 
  ac_aux_dir=
  for ac_dir in config "$srcdir"/config; do
    for ac_t in install-sh install.sh shtool; do
@@@ -3199,6 -3217,7 +3217,7 @@@ IFS=$as_save_IF
  
  fi
  
+   test -d ./--version && rmdir ./--version
    if test "${ac_cv_path_mkdir+set}" = set; then
      MKDIR_P="$ac_cv_path_mkdir -p"
    else
@@@ -3206,7 -3225,6 +3225,6 @@@
      # value for MKDIR_P within a source directory, because that will
      # break other packages using the cache if that directory is
      # removed, or if the value is a relative name.
-     test -d ./--version && rmdir ./--version
      MKDIR_P="$ac_install_sh -d"
    fi
  fi
@@@ -3323,7 -3341,7 +3341,7 @@@ f
  
  # Define the identity of the package.
   PACKAGE='clamav'
-  VERSION='0.95.3'
 - VERSION='devel'
++ VERSION='0.96'
  
  
  # Some tools Automake needs.
@@@ -3348,27 -3366,120 +3366,120 @@@ MAKEINFO=${MAKEINFO-"${am_missing_run}m
  
  AMTAR=${AMTAR-"${am_missing_run}tar"}
  
- am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
  
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5
+ $as_echo_n "checking how to create a ustar tar archive... " >&6; }
+ # Loop over all known methods to create a tar archive until one works.
+ _am_tools='gnutar plaintar pax cpio none'
+ _am_tools=${am_cv_prog_tar_ustar-$_am_tools}
+ # Do not fold the above two line into one, because Tru64 sh and
+ # Solaris sh will not grok spaces in the rhs of `-'.
+ for _am_tool in $_am_tools
+ do
+   case $_am_tool in
+   gnutar)
+     for _am_tar in tar gnutar gtar;
+     do
+       { echo "$as_me:$LINENO: $_am_tar --version" >&5
+    ($_am_tar --version) >&5 2>&5
+    ac_status=$?
+    echo "$as_me:$LINENO: \$? = $ac_status" >&5
+    (exit $ac_status); } && break
+     done
+     am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"'
+     am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"'
+     am__untar="$_am_tar -xf -"
+     ;;
+   plaintar)
+     # Must skip GNU tar: if it does not support --format= it doesn't create
+     # ustar tarball either.
+     (tar --version) >/dev/null 2>&1 && continue
+     am__tar='tar chf - "$$tardir"'
+     am__tar_='tar chf - "$tardir"'
+     am__untar='tar xf -'
+     ;;
+   pax)
+     am__tar='pax -L -x ustar -w "$$tardir"'
+     am__tar_='pax -L -x ustar -w "$tardir"'
+     am__untar='pax -r'
+     ;;
+   cpio)
+     am__tar='find "$$tardir" -print | cpio -o -H ustar -L'
+     am__tar_='find "$tardir" -print | cpio -o -H ustar -L'
+     am__untar='cpio -i -H ustar -d'
+     ;;
+   none)
+     am__tar=false
+     am__tar_=false
+     am__untar=false
+     ;;
+   esac
+ 
+   # If the value was cached, stop now.  We just wanted to have am__tar
+   # and am__untar set.
+   test -n "${am_cv_prog_tar_ustar}" && break
+ 
+   # tar/untar a dummy directory, and stop if the command works
+   rm -rf conftest.dir
+   mkdir conftest.dir
+   echo GrepMe > conftest.dir/file
+   { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
+    (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5
+    ac_status=$?
+    echo "$as_me:$LINENO: \$? = $ac_status" >&5
+    (exit $ac_status); }
+   rm -rf conftest.dir
+   if test -s conftest.tar; then
+     { echo "$as_me:$LINENO: $am__untar <conftest.tar" >&5
+    ($am__untar <conftest.tar) >&5 2>&5
+    ac_status=$?
+    echo "$as_me:$LINENO: \$? = $ac_status" >&5
+    (exit $ac_status); }
+     grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+   fi
+ done
+ rm -rf conftest.dir
+ 
+ if test "${am_cv_prog_tar_ustar+set}" = set; then :
+   $as_echo_n "(cached) " >&6
+ else
+   am_cv_prog_tar_ustar=$_am_tool
+ fi
+ 
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5
+ $as_echo "$am_cv_prog_tar_ustar" >&6; }
  
  
  
  
  
+ # Check whether --enable-silent-rules was given.
+ if test "${enable_silent_rules+set}" = set; then :
+   enableval=$enable_silent_rules;
+ fi
+ 
+ case $enable_silent_rules in
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no)  AM_DEFAULT_VERBOSITY=1;;
+ *)   AM_DEFAULT_VERBOSITY=0;;
+ esac
+ AM_BACKSLASH='\'
+ 
+ 
  
  $as_echo "#define PACKAGE PACKAGE_NAME" >>confdefs.h
  
  
- VERSION="0.95.3"
 -VERSION="devel-`date +%Y%m%d`"
++VERSION="0.96"
  
  cat >>confdefs.h <<_ACEOF
  #define VERSION "$VERSION"
  _ACEOF
  
  
- LC_CURRENT=6
- LC_REVISION=5
- LC_AGE=0
+ LC_CURRENT=7
+ LC_REVISION=2
+ LC_AGE=1
  LIBCLAMAV_VERSION="$LC_CURRENT":"$LC_REVISION":"$LC_AGE"
  
  
@@@ -3474,8 -3585,8 +3585,8 @@@ esa
  
  
  
- macro_version='2.2.6'
- macro_revision='1.3012'
+ macro_version='2.2.6b'
+ macro_revision='1.3017'
  
  
  
@@@ -3875,32 -3986,30 +3986,30 @@@ $as_echo "$ac_try_echo"; } >&
  ... rest of stderr output deleted ...
           10q' conftest.err >conftest.er1
      cat conftest.er1 >&5
-     rm -f conftest.er1 conftest.err
    fi
+   rm -f conftest.er1 conftest.err
    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
    test $ac_status = 0; }
  done
  
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  /* end confdefs.h.  */
- #include <stdio.h>
+ 
  int
  main ()
  {
- FILE *f = fopen ("conftest.out", "w");
-  return ferror (f) || fclose (f) != 0;
  
    ;
    return 0;
  }
  _ACEOF
  ac_clean_files_save=$ac_clean_files
- ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
  # Try to create an executable without -o first, disregard a.out.
  # It will help us diagnose broken compilers, and finding out an intuition
  # of exeext.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
- $as_echo_n "checking for C compiler default output file name... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+ $as_echo_n "checking whether the C compiler works... " >&6; }
  ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
  
  # The possible output files:
@@@ -3962,10 -4071,10 +4071,10 @@@ test "$ac_cv_exeext" = no && ac_cv_exee
  else
    ac_file=''
  fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
- $as_echo "$ac_file" >&6; }
  if test -z "$ac_file"; then :
-   $as_echo "$as_me: failed program was:" >&5
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ $as_echo "$as_me: failed program was:" >&5
  sed 's/^/| /' conftest.$ac_ext >&5
  
  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
@@@ -3973,51 -4082,18 +4082,18 @@@ $as_echo "$as_me: error: in \`$ac_pwd':
  { as_fn_set_status 77
  as_fn_error "C compiler cannot create executables
  See \`config.log' for more details." "$LINENO" 5; }; }
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
  fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+ $as_echo_n "checking for C compiler default output file name... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+ $as_echo "$ac_file" >&6; }
  ac_exeext=$ac_cv_exeext
  
- # Check that the compiler produces executables we can run.  If not, either
- # the compiler is broken, or we cross compile.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
- $as_echo_n "checking whether the C compiler works... " >&6; }
- # If not cross compiling, check that we can run a simple program.
- if test "$cross_compiling" != yes; then
-   if { ac_try='./$ac_file'
-   { { case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
- eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
- $as_echo "$ac_try_echo"; } >&5
-   (eval "$ac_try") 2>&5
-   ac_status=$?
-   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-   test $ac_status = 0; }; }; then
-     cross_compiling=no
-   else
-     if test "$cross_compiling" = maybe; then
- 	cross_compiling=yes
-     else
- 	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
- $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- as_fn_error "cannot run C compiled programs.
- If you meant to cross compile, use \`--host'.
- See \`config.log' for more details." "$LINENO" 5; }
-     fi
-   fi
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
- $as_echo "yes" >&6; }
- 
- rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+ rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
  ac_clean_files=$ac_clean_files_save
- # Check that the compiler produces executables we can run.  If not, either
- # the compiler is broken, or we cross compile.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
- $as_echo_n "checking whether we are cross compiling... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
- $as_echo "$cross_compiling" >&6; }
- 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
  $as_echo_n "checking for suffix of executables... " >&6; }
  if { { ac_try="$ac_link"
@@@ -4050,13 -4126,72 +4126,72 @@@ $as_echo "$as_me: error: in \`$ac_pwd':
  as_fn_error "cannot compute suffix of executables: cannot compile and link
  See \`config.log' for more details." "$LINENO" 5; }
  fi
- rm -f conftest$ac_cv_exeext
+ rm -f conftest conftest$ac_cv_exeext
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
  $as_echo "$ac_cv_exeext" >&6; }
  
  rm -f conftest.$ac_ext
  EXEEXT=$ac_cv_exeext
  ac_exeext=$EXEEXT
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ #include <stdio.h>
+ int
+ main ()
+ {
+ FILE *f = fopen ("conftest.out", "w");
+  return ferror (f) || fclose (f) != 0;
+ 
+   ;
+   return 0;
+ }
+ _ACEOF
+ ac_clean_files="$ac_clean_files conftest.out"
+ # Check that the compiler produces executables we can run.  If not, either
+ # the compiler is broken, or we cross compile.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+ $as_echo_n "checking whether we are cross compiling... " >&6; }
+ if test "$cross_compiling" != yes; then
+   { { ac_try="$ac_link"
+ case "(($ac_try" in
+   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+   *) ac_try_echo=$ac_try;;
+ esac
+ eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+ $as_echo "$ac_try_echo"; } >&5
+   (eval "$ac_link") 2>&5
+   ac_status=$?
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; }
+   if { ac_try='./conftest$ac_cv_exeext'
+   { { case "(($ac_try" in
+   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+   *) ac_try_echo=$ac_try;;
+ esac
+ eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+ $as_echo "$ac_try_echo"; } >&5
+   (eval "$ac_try") 2>&5
+   ac_status=$?
+   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+   test $ac_status = 0; }; }; then
+     cross_compiling=no
+   else
+     if test "$cross_compiling" = maybe; then
+ 	cross_compiling=yes
+     else
+ 	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ as_fn_error "cannot run C compiled programs.
+ If you meant to cross compile, use \`--host'.
+ See \`config.log' for more details." "$LINENO" 5; }
+     fi
+   fi
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+ $as_echo "$cross_compiling" >&6; }
+ 
+ rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ ac_clean_files=$ac_clean_files_save
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
  $as_echo_n "checking for suffix of object files... " >&6; }
  if test "${ac_cv_objext+set}" = set; then :
@@@ -5031,13 -5166,13 +5166,13 @@@ if test "${lt_cv_nm_interface+set}" = s
  else
    lt_cv_nm_interface="BSD nm"
    echo "int some_variable = 0;" > conftest.$ac_ext
-   (eval echo "\"\$as_me:5034: $ac_compile\"" >&5)
+   (eval echo "\"\$as_me:5169: $ac_compile\"" >&5)
    (eval "$ac_compile" 2>conftest.err)
    cat conftest.err >&5
-   (eval echo "\"\$as_me:5037: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+   (eval echo "\"\$as_me:5172: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
    (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
    cat conftest.err >&5
-   (eval echo "\"\$as_me:5040: output\"" >&5)
+   (eval echo "\"\$as_me:5175: output\"" >&5)
    cat conftest.out >&5
    if $GREP 'External.*some_variable' conftest.out > /dev/null; then
      lt_cv_nm_interface="MS dumpbin"
@@@ -5492,7 -5627,7 +5627,7 @@@ irix5* | irix6* | nonstopux*
    ;;
  
  # This must be Linux ELF.
- linux* | k*bsd*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
    lt_cv_deplibs_check_method=pass_all
    ;;
  
@@@ -6232,7 -6367,7 +6367,7 @@@ ia64-*-hpux*
    ;;
  *-*-irix6*)
    # Find out which ABI we are using.
-   echo '#line 6235 "configure"' > conftest.$ac_ext
+   echo '#line 6370 "configure"' > conftest.$ac_ext
    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
    (eval $ac_compile) 2>&5
    ac_status=$?
@@@ -7264,34 -7399,27 +7399,27 @@@ don
  
  # Set options
  enable_dlopen=yes
- 
- 
- 
- 
-   enable_win32_dll=no
- 
- 
-             # Check whether --enable-shared was given.
- if test "${enable_shared+set}" = set; then :
-   enableval=$enable_shared; p=${PACKAGE-default}
+ # Check whether --enable-static was given.
+ if test "${enable_static+set}" = set; then :
+   enableval=$enable_static; p=${PACKAGE-default}
      case $enableval in
-     yes) enable_shared=yes ;;
-     no) enable_shared=no ;;
+     yes) enable_static=yes ;;
+     no) enable_static=no ;;
      *)
-       enable_shared=no
+      enable_static=no
        # Look at the argument we got.  We use all the common list separators.
        lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
        for pkg in $enableval; do
  	IFS="$lt_save_ifs"
  	if test "X$pkg" = "X$p"; then
- 	  enable_shared=yes
+ 	  enable_static=yes
  	fi
        done
        IFS="$lt_save_ifs"
        ;;
      esac
  else
-   enable_shared=yes
+   enable_static=no
  fi
  
  
@@@ -7302,27 -7430,32 +7430,32 @@@
  
  
  
-   # Check whether --enable-static was given.
- if test "${enable_static+set}" = set; then :
-   enableval=$enable_static; p=${PACKAGE-default}
+ 
+ 
+   enable_win32_dll=no
+ 
+ 
+             # Check whether --enable-shared was given.
+ if test "${enable_shared+set}" = set; then :
+   enableval=$enable_shared; p=${PACKAGE-default}
      case $enableval in
-     yes) enable_static=yes ;;
-     no) enable_static=no ;;
+     yes) enable_shared=yes ;;
+     no) enable_shared=no ;;
      *)
-      enable_static=no
+       enable_shared=no
        # Look at the argument we got.  We use all the common list separators.
        lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
        for pkg in $enableval; do
  	IFS="$lt_save_ifs"
  	if test "X$pkg" = "X$p"; then
- 	  enable_static=yes
+ 	  enable_shared=yes
  	fi
        done
        IFS="$lt_save_ifs"
        ;;
      esac
  else
-   enable_static=yes
+   enable_shared=yes
  fi
  
  
@@@ -7334,6 -7467,7 +7467,7 @@@
  
  
  
+ 
  # Check whether --with-pic was given.
  if test "${with_pic+set}" = set; then :
    withval=$with_pic; pic_mode="$withval"
@@@ -7761,11 -7895,11 +7895,11 @@@ els
     -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     -e 's:$: $lt_compiler_flag:'`
-    (eval echo "\"\$as_me:7764: $lt_compile\"" >&5)
+    (eval echo "\"\$as_me:7898: $lt_compile\"" >&5)
     (eval "$lt_compile" 2>conftest.err)
     ac_status=$?
     cat conftest.err >&5
-    echo "$as_me:7768: \$? = $ac_status" >&5
+    echo "$as_me:7902: \$? = $ac_status" >&5
     if (exit $ac_status) && test -s "$ac_outfile"; then
       # The compiler can only warn and ignore the option if not recognized
       # So say no if there are warnings other than the usual output.
@@@ -7930,7 -8064,7 +8064,7 @@@ $as_echo_n "checking for $compiler opti
        lt_prog_compiler_static='-non_shared'
        ;;
  
-     linux* | k*bsd*-gnu)
+     linux* | k*bsd*-gnu | kopensolaris*-gnu)
        case $cc_basename in
        # old Intel for x86_64 which still supported -KPIC.
        ecc*)
@@@ -8100,11 -8234,11 +8234,11 @@@ els
     -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     -e 's:$: $lt_compiler_flag:'`
-    (eval echo "\"\$as_me:8103: $lt_compile\"" >&5)
+    (eval echo "\"\$as_me:8237: $lt_compile\"" >&5)
     (eval "$lt_compile" 2>conftest.err)
     ac_status=$?
     cat conftest.err >&5
-    echo "$as_me:8107: \$? = $ac_status" >&5
+    echo "$as_me:8241: \$? = $ac_status" >&5
     if (exit $ac_status) && test -s "$ac_outfile"; then
       # The compiler can only warn and ignore the option if not recognized
       # So say no if there are warnings other than the usual output.
@@@ -8205,11 -8339,11 +8339,11 @@@ els
     -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     -e 's:$: $lt_compiler_flag:'`
-    (eval echo "\"\$as_me:8208: $lt_compile\"" >&5)
+    (eval echo "\"\$as_me:8342: $lt_compile\"" >&5)
     (eval "$lt_compile" 2>out/conftest.err)
     ac_status=$?
     cat out/conftest.err >&5
-    echo "$as_me:8212: \$? = $ac_status" >&5
+    echo "$as_me:8346: \$? = $ac_status" >&5
     if (exit $ac_status) && test -s out/conftest2.$ac_objext
     then
       # The compiler can only warn and ignore the option if not recognized
@@@ -8260,11 -8394,11 +8394,11 @@@ els
     -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
     -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
     -e 's:$: $lt_compiler_flag:'`
-    (eval echo "\"\$as_me:8263: $lt_compile\"" >&5)
+    (eval echo "\"\$as_me:8397: $lt_compile\"" >&5)
     (eval "$lt_compile" 2>out/conftest.err)
     ac_status=$?
     cat out/conftest.err >&5
-    echo "$as_me:8267: \$? = $ac_status" >&5
+    echo "$as_me:8401: \$? = $ac_status" >&5
     if (exit $ac_status) && test -s out/conftest2.$ac_objext
     then
       # The compiler can only warn and ignore the option if not recognized
@@@ -8403,6 -8537,7 +8537,7 @@@ $as_echo_n "checking whether the $compi
      fi
      supports_anon_versioning=no
      case `$LD -v 2>&1` in
+       *GNU\ gold*) supports_anon_versioning=yes ;;
        *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
        *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
        *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
@@@ -8494,7 -8629,7 +8629,7 @@@ _LT_EO
        archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
        ;;
  
-     gnu* | linux* | tpf* | k*bsd*-gnu)
+     gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
        tmp_diet=no
        if test "$host_os" = linux-dietlibc; then
  	case $cc_basename in
@@@ -9956,7 -10091,7 +10091,7 @@@ linux*oldld* | linux*aout* | linux*coff
    ;;
  
  # This must be Linux ELF.
- linux* | k*bsd*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
    version_type=linux
    need_lib_prefix=no
    need_version=no
@@@ -10643,7 -10778,7 +10778,7 @@@ els
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
- #line 10646 "configure"
+ #line 10781 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
@@@ -10739,7 -10874,7 +10874,7 @@@ els
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
- #line 10742 "configure"
+ #line 10877 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
@@@ -11040,6 -11175,7 +11175,7 @@@ ac_compiler_gnu=$ac_cv_c_compiler_gn
  
  
  LIBADD_DLOPEN=
+ lt_save_LIBS="$LIBS"
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
  $as_echo_n "checking for library containing dlopen... " >&6; }
  if test "${ac_cv_search_dlopen+set}" = set; then :
@@@ -11174,7 -11310,6 +11310,6 @@@ f
  
  if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes
  then
-   lt_save_LIBS="$LIBS"
    LIBS="$LIBS $LIBADD_DLOPEN"
    for ac_func in dlerror
  do :
@@@ -11187,8 -11322,8 +11322,8 @@@ _ACEO
  fi
  done
  
-   LIBS="$lt_save_LIBS"
  fi
+ LIBS="$lt_save_LIBS"
  
  
  LIBADD_SHL_LOAD=
@@@ -11411,7 -11546,7 +11546,7 @@@ els
    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
    lt_status=$lt_dlunknown
    cat > conftest.$ac_ext <<_LT_EOF
- #line 11414 "configure"
+ #line 11549 "configure"
  #include "confdefs.h"
  
  #if HAVE_DLFCN_H
@@@ -11537,7 -11672,7 +11672,7 @@@ els
    freebsd* | dragonfly*)
      lt_cv_sys_dlopen_deplibs=yes
      ;;
-   gnu* | linux* | k*bsd*-gnu)
+   gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu)
      # GNU and its variants, using gnu ld.so (Glibc)
      lt_cv_sys_dlopen_deplibs=yes
      ;;
@@@ -12042,7 -12177,7 +12177,7 @@@ $as_echo "#define FILEBUFF 8192" >>conf
  $as_echo_n "checking for multiarch libdir... " >&6; }
  		# Based on http://lists.gnu.org/archive/html/autoconf/2008-09/msg00072.html
  		if test "$GCC" = yes; then
- 			ac_multilibdir=`$CC -print-multi-os-directory $CFLAGS $CPPFLAGS $LDFLAGS`
+ 			ac_multilibdir=`$CC -print-multi-os-directory $CFLAGS $CPPFLAGS $LDFLAGS` || ac_multilibdir=.
  		else
  			ac_multilibdir=.
  		fi
@@@ -12387,16 -12522,19 +12522,19 @@@ f
  fi
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_fpu_bigendian" >&5
  $as_echo "$ac_cv_c_fpu_bigendian" >&6; }
+ have_autoitea06="no"
  case $ac_cv_c_fpu_bigendian in
  	yes)
  
  $as_echo "#define FPU_WORDS_BIGENDIAN 1" >>confdefs.h
  
+                 have_autoitea06="yes"
  		;;
  	no)
  
  $as_echo "#define FPU_WORDS_BIGENDIAN 0" >>confdefs.h
  
+                 have_autoitea06="yes"
  		;;
  	*)
  		{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to determine FPU endianess, some features may not be available in this build" >&5
@@@ -12632,6 -12770,139 +12770,139 @@@ if test $ac_cv_c_bigendian = no; the
  
  fi
  
+ LIBM=
+ case $host in
+ *-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+   # These system don't have libm, or don't need it
+   ;;
+ *-ncr-sysv4.3*)
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _mwvalidcheckl in -lmw" >&5
+ $as_echo_n "checking for _mwvalidcheckl in -lmw... " >&6; }
+ if test "${ac_cv_lib_mw__mwvalidcheckl+set}" = set; then :
+   $as_echo_n "(cached) " >&6
+ else
+   ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lmw  $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ 
+ /* Override any GCC internal prototype to avoid an error.
+    Use char because int might match the return type of a GCC
+    builtin and then its argument prototype would still apply.  */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ char _mwvalidcheckl ();
+ int
+ main ()
+ {
+ return _mwvalidcheckl ();
+   ;
+   return 0;
+ }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+   ac_cv_lib_mw__mwvalidcheckl=yes
+ else
+   ac_cv_lib_mw__mwvalidcheckl=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+     conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mw__mwvalidcheckl" >&5
+ $as_echo "$ac_cv_lib_mw__mwvalidcheckl" >&6; }
+ if test "x$ac_cv_lib_mw__mwvalidcheckl" = x""yes; then :
+   LIBM="-lmw"
+ fi
+ 
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
+ $as_echo_n "checking for cos in -lm... " >&6; }
+ if test "${ac_cv_lib_m_cos+set}" = set; then :
+   $as_echo_n "(cached) " >&6
+ else
+   ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lm  $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ 
+ /* Override any GCC internal prototype to avoid an error.
+    Use char because int might match the return type of a GCC
+    builtin and then its argument prototype would still apply.  */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ char cos ();
+ int
+ main ()
+ {
+ return cos ();
+   ;
+   return 0;
+ }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+   ac_cv_lib_m_cos=yes
+ else
+   ac_cv_lib_m_cos=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+     conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
+ $as_echo "$ac_cv_lib_m_cos" >&6; }
+ if test "x$ac_cv_lib_m_cos" = x""yes; then :
+   LIBM="$LIBM -lm"
+ fi
+ 
+   ;;
+ *)
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
+ $as_echo_n "checking for cos in -lm... " >&6; }
+ if test "${ac_cv_lib_m_cos+set}" = set; then :
+   $as_echo_n "(cached) " >&6
+ else
+   ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lm  $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ 
+ /* Override any GCC internal prototype to avoid an error.
+    Use char because int might match the return type of a GCC
+    builtin and then its argument prototype would still apply.  */
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+ char cos ();
+ int
+ main ()
+ {
+ return cos ();
+   ;
+   return 0;
+ }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+   ac_cv_lib_m_cos=yes
+ else
+   ac_cv_lib_m_cos=no
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+     conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
+ $as_echo "$ac_cv_lib_m_cos" >&6; }
+ if test "x$ac_cv_lib_m_cos" = x""yes; then :
+   LIBM="-lm"
+ fi
+ 
+   ;;
+ esac
+ 
+ 
+ 
  # Check whether --enable-gcc-vcheck was given.
  if test "${enable_gcc_vcheck+set}" = set; then :
    enableval=$enable_gcc_vcheck; gcc_check=$enableval
@@@ -12686,14 -12957,6 +12957,6 @@@ if test "x$ac_compiler_gnu" = "xyes"; t
  			;;
  	esac
  fi
-  if test "x$distcheck_enable_flags" = "x1"; then
-   DISTCHECK_ENABLE_FLAGS_TRUE=
-   DISTCHECK_ENABLE_FLAGS_FALSE='#'
- else
-   DISTCHECK_ENABLE_FLAGS_TRUE='#'
-   DISTCHECK_ENABLE_FLAGS_FALSE=
- fi
- 
  
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc bug PR27603" >&5
@@@ -13409,7 -13672,7 +13672,7 @@@ if test "$ac_res" != no; then 
  fi
  
  
- for ac_func in poll setsid memcpy snprintf vsnprintf strerror_r strlcpy strlcat strcasestr inet_ntop setgroups initgroups ctime_r mkstemp mallinfo
+ for ac_func in poll setsid memcpy snprintf vsnprintf strerror_r strlcpy strlcat strcasestr inet_ntop setgroups initgroups ctime_r mkstemp mallinfo madvise
  do :
    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
  ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@@ -13660,22 -13923,6 +13923,6 @@@ $as_echo "#define HAVE_GETPAGESIZE 1" >
  	ac_cv_c_can_get_pagesize="yes"
  fi
  
- # Check whether --enable-mempool was given.
- if test "${enable_mempool+set}" = set; then :
-   enableval=$enable_mempool; enable_mempool=$enableval
- else
-   enable_mempool="yes"
- fi
- 
- if test "$enable_mempool" = "yes"; then
- 	if test "$ac_cv_c_mmap_private" != "yes"; then
- 		{ $as_echo "$as_me:${as_lineno-$LINENO}: ****** mempool support disabled (mmap not available or not usable)" >&5
- $as_echo "$as_me: ****** mempool support disabled (mmap not available or not usable)" >&6;}
- 	else
- 		if test "$ac_cv_c_can_get_pagesize" != "yes"; then
- 			{ $as_echo "$as_me:${as_lineno-$LINENO}: ****** mempool support disabled (pagesize cannot be determined)" >&5
- $as_echo "$as_me: ****** mempool support disabled (pagesize cannot be determined)" >&6;}
- 		else
  
  	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
  $as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
@@@ -13737,6 -13984,23 +13984,23 @@@ _ACEO
  
  	fi
  
+ # Check whether --enable-mempool was given.
+ if test "${enable_mempool+set}" = set; then :
+   enableval=$enable_mempool; enable_mempool=$enableval
+ else
+   enable_mempool="yes"
+ fi
+ 
+ have_mempool="no"
+ if test "$enable_mempool" = "yes"; then
+ 	if test "$ac_cv_c_mmap_private" != "yes"; then
+ 		{ $as_echo "$as_me:${as_lineno-$LINENO}: ****** mempool support disabled (mmap not available or not usable)" >&5
+ $as_echo "$as_me: ****** mempool support disabled (mmap not available or not usable)" >&6;}
+ 	else
+ 		if test "$ac_cv_c_can_get_pagesize" != "yes"; then
+ 			{ $as_echo "$as_me:${as_lineno-$LINENO}: ****** mempool support disabled (pagesize cannot be determined)" >&5
+ $as_echo "$as_me: ****** mempool support disabled (pagesize cannot be determined)" >&6;}
+ 		else
  			if test "$ac_cv_c_mmap_anonymous" = "no"; then
  				{ $as_echo "$as_me:${as_lineno-$LINENO}: ****** mempool support disabled (anonymous mmap not available)" >&5
  $as_echo "$as_me: ****** mempool support disabled (anonymous mmap not available)" >&6;}
@@@ -13744,6 -14008,7 +14008,7 @@@
  
  $as_echo "#define USE_MPOOL 1" >>confdefs.h
  
+ 				have_mempool="yes"
  			fi
  		fi
  	fi
@@@ -14710,10 -14975,10 +14975,10 @@@ $as_echo "$as_me: WARNING: ****** stabi
  	fi
      fi
  
+     save_LIBS="$LIBS"
      if test "$ZLIB_HOME" != "/usr"; then
  	CPPFLAGS="$CPPFLAGS -I$ZLIB_HOME/include"
  	save_LDFLAGS="$LDFLAGS"
- 	save_LIBS="$LIBS"
  	LDFLAGS="$LDFLAGS -L$ZLIB_HOME/lib"
  	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflateEnd in -lz" >&5
  $as_echo_n "checking for inflateEnd in -lz... " >&6; }
@@@ -14752,7 -15017,7 +15017,7 @@@ f
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflateEnd" >&5
  $as_echo "$ac_cv_lib_z_inflateEnd" >&6; }
  if test "x$ac_cv_lib_z_inflateEnd" = x""yes; then :
-   LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -L$ZLIB_HOME/lib -lz";FRESHCLAM_LIBS="$FRESHCLAM_LIBS -L$ZLIB_HOME/lib -lz"
+   LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -L$ZLIB_HOME/lib -lz"; FRESHCLAM_LIBS="$FRESHCLAM_LIBS -L$ZLIB_HOME/lib -lz"
  else
    as_fn_error "Please install zlib and zlib-devel packages" "$LINENO" 5
  fi
@@@ -14805,7 -15070,6 +15070,6 @@@ els
  fi
  
  	LDFLAGS="$save_LDFLAGS"
- 	LIBS="$save_LIBS"
      else
  	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflateEnd in -lz" >&5
  $as_echo_n "checking for inflateEnd in -lz... " >&6; }
@@@ -14897,6 -15161,7 +15161,7 @@@ els
  fi
  
      fi
+     LIBS="$save_LIBS"
  fi
  
  # Check whether --enable-bzip2 was given.
@@@ -15411,7 -15676,8 +15676,8 @@@ $as_echo "$ac_cv_libbz2_libs" >&6; 
  
  
      save_LDFLAGS="$LDFLAGS"
-     LDFLAGS="$LDFLAGS -L$LIBBZ2_PREFIX/$acl_libdirstem";
+     # Only add -L if prefix is not empty
+     test -z "$LIBBZ2_PREFIX" || LDFLAGS="$LDFLAGS -L$LIBBZ2_PREFIX/$acl_libdirstem";
  
      have_bzprefix="no"
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BZ2_bzReadOpen in -lbz2" >&5
@@@ -16180,6 -16446,7 +16446,7 @@@ f
  
  
  if test "$enable_debug" = "yes"; then
+   VERSION_SUFFIX="$VERSION_SUFFIX-debug"
  
  $as_echo "#define CL_DEBUG 1" >>confdefs.h
  
@@@ -16189,6 -16456,25 +16456,25 @@@ $as_echo "#define NDEBUG 1" >>confdefs.
  
  fi
  
+ # Check whether --enable-unsigned-bytecode was given.
+ if test "${enable_unsigned_bytecode+set}" = set; then :
+   enableval=$enable_unsigned_bytecode; enable_unsignedbytecode="$enableval"
+ else
+   enable_unsignedbytecode="no"
+ fi
+ 
+ 
+ if test "$enable_unsignedbytecode" = "yes"; then
+   VERSION_SUFFIX="$VERSION_SUFFIX-unsigned-bc"
+ 
+ $as_echo "#define CL_BCUNSIGNED 1" >>confdefs.h
+ 
+ else
+ 
+ $as_echo "#define CL_BCUNSIGNED 1" >>confdefs.h
+ 
+ fi
+ 
  # Check whether --enable-no-cache was given.
  if test "${enable_no_cache+set}" = set; then :
    enableval=$enable_no_cache; enable_nocache=$enableval
@@@ -16417,7 -16703,6 +16703,6 @@@ $as_echo "#define CLAMUKO 1" >>confdefs
  
  $as_echo "#define C_BSD 1" >>confdefs.h
  
-     use_gethostbyname_r="no"
      ;;
  freebsd*)
      if test "$have_pthreads" = "yes"; then
@@@ -16438,7 -16723,6 +16723,6 @@@ $as_echo "#define CLAMUKO 1" >>confdefs
  
  $as_echo "#define C_BSD 1" >>confdefs.h
  
-     use_gethostbyname_r="no"
      ;;
  dragonfly*)
      if test "$have_pthreads" = "yes"; then
@@@ -16459,7 -16743,6 +16743,6 @@@ $as_echo "#define CLAMUKO 1" >>confdefs
  
  $as_echo "#define C_BSD 1" >>confdefs.h
  
-     use_gethostbyname_r="no"
      ;;
  openbsd*)
      if test "$have_pthreads" = "yes"; then
@@@ -16477,7 -16760,6 +16760,6 @@@ $as_echo "#define _REENTRANT 1" >>confd
  
  $as_echo "#define C_BSD 1" >>confdefs.h
  
-     use_gethostbyname_r="no"
      ;;
  bsdi*)
      if test "$have_pthreads" = "yes"; then
@@@ -16493,7 -16775,6 +16775,6 @@@ $as_echo "#define _REENTRANT 1" >>confd
  
  $as_echo "#define C_BSD 1" >>confdefs.h
  
-     use_gethostbyname_r="no"
      ;;
  netbsd*)
       if test "$have_pthreads" = "yes"; then
@@@ -16508,7 -16789,6 +16789,6 @@@ $as_echo "#define _REENTRANT 1" >>confd
  
  $as_echo "#define C_BSD 1" >>confdefs.h
  
-     use_gethostbyname_r="no"
      ;;
  bsd*)
      { $as_echo "$as_me:${as_lineno-$LINENO}: result: Unknown BSD detected. Disabling thread support." >&5
@@@ -16517,7 -16797,6 +16797,6 @@@ $as_echo "Unknown BSD detected. Disabli
  
  $as_echo "#define C_BSD 1" >>confdefs.h
  
-     use_gethostbyname_r="no"
      ;;
  beos*)
      { $as_echo "$as_me:${as_lineno-$LINENO}: result: BeOS detected. Disabling thread support." >&5
@@@ -16526,7 -16805,6 +16805,6 @@@ $as_echo "BeOS detected. Disabling thre
  
  $as_echo "#define C_BEOS 1" >>confdefs.h
  
-     use_gethostbyname_r="no"
      ;;
  darwin*)
  
@@@ -16539,7 -16817,6 +16817,6 @@@ $as_echo "#define C_DARWIN 1" >>confdef
  $as_echo "#define BIND_8_COMPAT 1" >>confdefs.h
  
      use_netinfo="yes"
-     use_gethostbyname_r="no"
      ;;
  os2*)
      FRESHCLAM_LIBS="$FRESHCLAM_LIBS -lsyslog"
@@@ -16575,7 -16852,6 +16852,6 @@@ $as_echo "#define _REENTRANT 1" >>confd
  
  $as_echo "#define C_HPUX 1" >>confdefs.h
  
-     use_gethostbyname_r="no"
      ;;
  aix*)
      if test "$have_pthreads" = "yes"; then
@@@ -16900,121 -17176,6 +17176,6 @@@ $as_echo "#define BUILD_CLAMD 1" >>conf
  
  fi
  
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname_r" >&5
- $as_echo_n "checking for gethostbyname_r... " >&6; }
- if test -z "$ac_cv_gethostbyname_args"; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
- #include <sys/types.h>
- #include <netdb.h>
- 
- int
- main ()
- {
- 
- struct hostent *hp;
- struct hostent h;
- char *name;
- char buffer[10];
- int  h_errno;
- hp = gethostbyname_r(name, &h, buffer, 10, &h_errno);
- 
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   ac_cv_gethostbyname_args=5
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test -z "$ac_cv_gethostbyname_args"; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
- #include <sys/types.h>
- #include <netdb.h>
- 
- int
- main ()
- {
- 
- struct hostent h;
- struct hostent_data hdata;
- char *name;
- int  rc;
- rc = gethostbyname_r(name, &h, &hdata);
- 
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   ac_cv_gethostbyname_args=3
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test -z "$ac_cv_gethostbyname_args"; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
- 
- #include <sys/types.h>
- #include <netdb.h>
- 
- int
- main ()
- {
- 
- struct hostent h;
- struct hostent *hp;
- char *name;
- char buf[10];
- int rc;
- int h_errno;
- 
- rc = gethostbyname_r(name, &h, buf, 10, &hp, &h_errno);
- 
-   ;
-   return 0;
- }
- _ACEOF
- if ac_fn_c_try_compile "$LINENO"; then :
-   ac_cv_gethostbyname_args=6
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- 
- # Check whether --enable-gethostbyname_r was given.
- if test "${enable_gethostbyname_r+set}" = set; then :
-   enableval=$enable_gethostbyname_r; use_gethostbyname_r=$enableval
- fi
- 
- 
- if test "$use_gethostbyname_r" = "no"; then
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: support disabled" >&5
- $as_echo "support disabled" >&6; }
- elif test -z "$ac_cv_gethostbyname_args"; then
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- $as_echo "no" >&6; }
- else
-     if test "$ac_cv_gethostbyname_args" = 3; then
- 
- $as_echo "#define HAVE_GETHOSTBYNAME_R_3 1" >>confdefs.h
- 
-     elif test "$ac_cv_gethostbyname_args" = 5; then
- 
- $as_echo "#define HAVE_GETHOSTBYNAME_R_5 1" >>confdefs.h
- 
-     elif test "$ac_cv_gethostbyname_args" = 6; then
- 
- $as_echo "#define HAVE_GETHOSTBYNAME_R_6 1" >>confdefs.h
- 
-     fi
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, and it takes $ac_cv_gethostbyname_args arguments" >&5
- $as_echo "yes, and it takes $ac_cv_gethostbyname_args arguments" >&6; }
- fi
- 
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for readdir_r" >&5
  $as_echo_n "checking for readdir_r... " >&6; }
@@@ -17479,6 -17640,82 +17640,82 @@@ $as_echo "#define HAVE_ATTRIB_ALIGNED 1
  
  fi
  
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking that structure packing works" >&5
+ $as_echo_n "checking that structure packing works... " >&6; }
+ if test "${have_cv_struct_pack+set}" = set; then :
+   $as_echo_n "(cached) " >&6
+ else
+ 
+     if test "$cross_compiling" = yes; then :
+   have_cv_struct_pack=yes
+ else
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ 
+ #ifndef HAVE_ATTRIB_PACKED
+ #define __attribute__(x)
+ #endif
+ #ifdef HAVE_PRAGMA_PACK
+ #pragma pack(1) /* has to be in column 1 ! */
+ #endif
+ #ifdef HAVE_PRAGMA_PACK_HPPA
+ #pragma pack 1 /* has to be in column 1 ! */
+ #endif
+ 
+ struct { char c __attribute__((packed)); long l __attribute__((packed)); } s;
+ 
+ #ifdef HAVE_PRAGMA_PACK
+ #pragma pack()
+ #endif
+ #ifdef HAVE_PRAGMA_PACK_HPPA
+ #pragma pack
+ #endif
+ 
+ struct { char c; long l;} s2;
+ 
+ #ifdef HAVE_PRAGMA_PACK
+ #pragma pack(1) /* has to be in column 1 ! */
+ #endif
+ #ifdef HAVE_PRAGMA_PACK_HPPA
+ #pragma pack 1 /* has to be in column 1 ! */
+ #endif
+ 
+ struct { char c; long l; } __attribute__((packed)) s3;
+ 
+ #ifdef HAVE_PRAGMA_PACK
+ #pragma pack()
+ #endif
+ #ifdef HAVE_PRAGMA_PACK_HPPA
+ #pragma pack
+ #endif
+ 
+     int main(int argc, char **argv) {
+         if (sizeof(s)!=sizeof(s.c)+sizeof(s.l))
+ 	    return 1;
+ 	if (sizeof(s) != sizeof(s3))
+ 	    return 2;
+ 	return (sizeof(s2) >= sizeof(s)) ? 0 : 3;
+     }
+ _ACEOF
+ if ac_fn_c_try_run "$LINENO"; then :
+   have_cv_struct_pack=yes
+ else
+   have_cv_struct_pack=no
+ fi
+ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+   conftest.$ac_objext conftest.beam conftest.$ac_ext
+ fi
+ 
+ 
+ fi
+ 
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_cv_struct_pack" >&5
+ $as_echo "$have_cv_struct_pack" >&6; }
+ 
+ if test "$have_cv_struct_pack" = "no"; then
+     as_fn_error "Structure packing seems to be available, but is not working with this compiler" "$LINENO" 5
+ fi
+ 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fd_set" >&5
  $as_echo_n "checking for fd_set... " >&6; }
  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@@ -17666,10 -17903,6 +17903,6 @@@ f
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_control_in_msghdr" >&5
  $as_echo "$ac_cv_have_control_in_msghdr" >&6; }
  if test "x$ac_cv_have_control_in_msghdr" = "xyes" ; then
- 
- $as_echo "#define HAVE_CONTROL_IN_MSGHDR 1" >>confdefs.h
- 
- 
          { $as_echo "$as_me:${as_lineno-$LINENO}: checking BSD 4.4 / RFC2292 style fd passing" >&5
  $as_echo_n "checking BSD 4.4 / RFC2292 style fd passing... " >&6; }
      # Check whether --enable-fdpassing was given.
@@@ -19662,7 -19895,48 +19895,48 @@@ els
  fi
  
  
- ac_config_files="$ac_config_files libclamav/Makefile libclamav/lzma/Makefile clamscan/Makefile database/Makefile docs/Makefile clamd/Makefile clamdscan/Makefile clamav-milter/Makefile freshclam/Makefile sigtool/Makefile clamconf/Makefile etc/Makefile test/Makefile unit_tests/Makefile clamdtop/Makefile Makefile 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/clamdtop.1"
+ # Check whether --enable-distcheck-werror was given.
+ if test "${enable_distcheck_werror+set}" = set; then :
+   enableval=$enable_distcheck_werror; enable_distcheckwerror=$enableval
+ else
+   enable_distcheckwerror="no"
+ fi
+ 
+ 
+ # Enable distcheck warnings and Werror only for gcc versions that support them,
+ # and only after we've run the configure tests.
+ # Some configure tests fail (like checking for cos in -lm) if we enable these
+ # Werror flags for configure too (for example -Wstrict-prototypes makes
+ # configure think that -lm doesn't have cos, hence its in libc).
+ if test "x$enable_distcheckwerror" = "xyes"; then
+     if test "$distcheck_enable_flags" = "1"; then
+ 	CFLAGS="$CFLAGS -Wno-pointer-sign -Werror-implicit-function-declaration -Werror -Wextra -Wall -Wno-error=bad-function-cast -Wbad-function-cast -Wcast-align -Wendif-labels -Wfloat-equal -Wformat=2 -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wno-error=missing-prototypes -Wnested-externs -Wno-error=nested-externs -Wpointer-arith -Wstrict-prototypes -Wno-error=strict-prototypes -Wno-switch -Wno-switch-enum -Wundef -Wwrite-strings -Wstrict-overflow=1 -Winit-self -Wmissing-include-dirs -Wstrict-aliasing -Wdeclaration-after-statement -Waggregate-return -Wmissing-format-attribute -Wno-error=missing-format-attribute -Wno-error=type-limits -Wno-error=unused-function -Wno-error=unused-value -Wno-error=unused-variable -Wcast-qual -Wno-error=cast-qual -Wno-error=sign-compare -Wshadow -Wno-error=shadow -Wno-error=uninitialized -fdiagnostics-show-option -Wno-unused-parameter -Wno-error=unreachable-code -Winvalid-pch -Wno-error=invalid-pch -O2 -D_FORTIFY_SOURCE=2 -fstack-protector-all -Wstack-protector -Wno-error=aggregate-return"
+     fi
+ fi
+ 
+ # Check whether --enable-llvm was given.
+ if test "${enable_llvm+set}" = set; then :
+   enableval=$enable_llvm; enable_llvm=$enableval
+ else
+   enable_llvm="auto"
+ fi
+ 
+ 
+ if test "$enable_llvm" != "no"; then
+ 
+ 
+ subdirs="$subdirs "
+ 
+ 
+ 
+ subdirfailed=no
+ subdirs="$subdirs libclamav/c++"
+ 
+ 
+ 
+ fi
+ 
+ ac_config_files="$ac_config_files clamscan/Makefile database/Makefile docs/Makefile clamd/Makefile clamdscan/Makefile clamav-milter/Makefile freshclam/Makefile sigtool/Makefile clamconf/Makefile etc/Makefile test/Makefile unit_tests/Makefile clamdtop/Makefile clambc/Makefile Makefile clamav-config libclamav.pc platform.h 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/clamdtop.1"
  
  cat >confcache <<\_ACEOF
  # This file is a shell script that caches the results of configure
@@@ -19803,10 -20077,6 +20077,6 @@@ LT_CONFIG_H=clamav-config.
  
  
  
- if test -z "${DISTCHECK_ENABLE_FLAGS_TRUE}" && test -z "${DISTCHECK_ENABLE_FLAGS_FALSE}"; then
-   as_fn_error "conditional \"DISTCHECK_ENABLE_FLAGS\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
  if test -z "${VERSIONSCRIPT_TRUE}" && test -z "${VERSIONSCRIPT_FALSE}"; then
    as_fn_error "conditional \"VERSIONSCRIPT\" was never defined.
  Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@@ -20251,8 -20521,8 +20521,8 @@@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wr
  # report actual input values of CONFIG_FILES etc. instead of their
  # values after options handling.
  ac_log="
- This file was extended by ClamAV $as_me 0.95.3, which was
- generated by GNU Autoconf 2.64.  Invocation command line was
 -This file was extended by ClamAV $as_me devel, which was
++This file was extended by ClamAV $as_me 0.96, which was
+ generated by GNU Autoconf 2.65.  Invocation command line was
  
    CONFIG_FILES    = $CONFIG_FILES
    CONFIG_HEADERS  = $CONFIG_HEADERS
@@@ -20292,6 -20562,7 +20562,7 @@@ Usage: $0 [OPTION]... [TAG]..
  
    -h, --help       print this help, then exit
    -V, --version    print version number and configuration settings, then exit
+       --config     print configuration, then exit
    -q, --quiet, --silent
                     do not print progress messages
    -d, --debug      don't remove temporary files
@@@ -20315,10 -20586,11 +20586,11 @@@ ClamAV home page: <http://www.clamav.ne
  
  _ACEOF
  cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
  ac_cs_version="\\
- ClamAV config.status 0.95.3
- configured by $0, generated by GNU Autoconf 2.64,
-   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 -ClamAV config.status devel
++ClamAV config.status 0.96
+ configured by $0, generated by GNU Autoconf 2.65,
+   with options \\"\$ac_cs_config\\"
  
  Copyright (C) 2009 Free Software Foundation, Inc.
  This config.status script is free software; the Free Software Foundation
@@@ -20356,6 -20628,8 +20628,8 @@@ d
      ac_cs_recheck=: ;;
    --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
      $as_echo "$ac_cs_version"; exit ;;
+   --config | --confi | --conf | --con | --co | --c )
+     $as_echo "$ac_cs_config"; exit ;;
    --debug | --debu | --deb | --de | --d | -d )
      debug=: ;;
    --file | --fil | --fi | --f )
@@@ -20439,8 -20713,8 +20713,8 @@@ double_quote_subst='$double_quote_subst
  delay_variable_subst='$delay_variable_subst'
  macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
  macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
- enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
  enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
+ enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
  pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
  enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
  host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
@@@ -20696,8 -20970,6 +20970,6 @@@ d
      "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
      "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
      "libltdl/Makefile") CONFIG_FILES="$CONFIG_FILES libltdl/Makefile" ;;
-     "libclamav/Makefile") CONFIG_FILES="$CONFIG_FILES libclamav/Makefile" ;;
-     "libclamav/lzma/Makefile") CONFIG_FILES="$CONFIG_FILES libclamav/lzma/Makefile" ;;
      "clamscan/Makefile") CONFIG_FILES="$CONFIG_FILES clamscan/Makefile" ;;
      "database/Makefile") CONFIG_FILES="$CONFIG_FILES database/Makefile" ;;
      "docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;;
@@@ -20711,9 -20983,11 +20983,11 @@@
      "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
      "unit_tests/Makefile") CONFIG_FILES="$CONFIG_FILES unit_tests/Makefile" ;;
      "clamdtop/Makefile") CONFIG_FILES="$CONFIG_FILES clamdtop/Makefile" ;;
+     "clambc/Makefile") CONFIG_FILES="$CONFIG_FILES clambc/Makefile" ;;
      "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
      "clamav-config") CONFIG_FILES="$CONFIG_FILES clamav-config" ;;
      "libclamav.pc") CONFIG_FILES="$CONFIG_FILES libclamav.pc" ;;
+     "platform.h") CONFIG_FILES="$CONFIG_FILES platform.h" ;;
      "docs/man/clamav-milter.8") CONFIG_FILES="$CONFIG_FILES docs/man/clamav-milter.8" ;;
      "docs/man/clamconf.1") CONFIG_FILES="$CONFIG_FILES docs/man/clamconf.1" ;;
      "docs/man/clamd.8") CONFIG_FILES="$CONFIG_FILES docs/man/clamd.8" ;;
@@@ -20827,7 -21101,7 +21101,7 @@@ s/'"$ac_delim"'$/
  t delim
  :nl
  h
- s/\(.\{148\}\).*/\1/
+ s/\(.\{148\}\)..*/\1/
  t more1
  s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
  p
@@@ -20841,7 -21115,7 +21115,7 @@@ s/.\{148\}/
  t nl
  :delim
  h
- s/\(.\{148\}\).*/\1/
+ s/\(.\{148\}\)..*/\1/
  t more2
  s/["\\]/\\&/g; s/^/"/; s/$/"/
  p
@@@ -21460,12 -21734,2597 +21734,2597 @@@ available_tags="
  macro_version=$macro_version
  macro_revision=$macro_revision
  
+ # Whether or not to build static libraries.
+ build_old_libs=$enable_static
+ 
  # Whether or not to build shared libraries.
  build_libtool_libs=$enable_shared
  
+ # What type of objects to build.
+ pic_mode=$pic_mode
+ 
+ # Whether or not to optimize for fast installation.
+ fast_install=$enable_fast_install
+ 
+ # The host system.
+ host_alias=$host_alias
+ host=$host
+ host_os=$host_os
+ 
+ # The build system.
+ build_alias=$build_alias
+ build=$build
+ build_os=$build_os
+ 
+ # A sed program that does not truncate output.
+ SED=$lt_SED
+ 
+ # Sed that helps us avoid accidentally triggering echo(1) options like -n.
+ Xsed="\$SED -e 1s/^X//"
+ 
+ # A grep program that handles long lines.
+ GREP=$lt_GREP
+ 
+ # An ERE matcher.
+ EGREP=$lt_EGREP
+ 
+ # A literal string matcher.
+ FGREP=$lt_FGREP
+ 
+ # A BSD- or MS-compatible name lister.
+ NM=$lt_NM
+ 
+ # Whether we need soft or hard links.
+ LN_S=$lt_LN_S
+ 
+ # What is the maximum length of a command?
+ max_cmd_len=$max_cmd_len
+ 
+ # Object file suffix (normally "o").
+ objext=$ac_objext
+ 
+ # Executable file suffix (normally "").
+ exeext=$exeext
+ 
+ # whether the shell understands "unset".
+ lt_unset=$lt_unset
+ 
+ # turn spaces into newlines.
+ SP2NL=$lt_lt_SP2NL
+ 
+ # turn newlines into spaces.
+ NL2SP=$lt_lt_NL2SP
+ 
+ # How to create reloadable object files.
+ reload_flag=$lt_reload_flag
+ reload_cmds=$lt_reload_cmds
+ 
+ # An object symbol dumper.
+ OBJDUMP=$lt_OBJDUMP
+ 
+ # Method to check whether dependent libraries are shared objects.
+ deplibs_check_method=$lt_deplibs_check_method
+ 
+ # Command to use when deplibs_check_method == "file_magic".
+ file_magic_cmd=$lt_file_magic_cmd
+ 
+ # The archiver.
+ AR=$lt_AR
+ AR_FLAGS=$lt_AR_FLAGS
+ 
+ # A symbol stripping program.
+ STRIP=$lt_STRIP
+ 
+ # Commands used to install an old-style archive.
+ RANLIB=$lt_RANLIB
+ old_postinstall_cmds=$lt_old_postinstall_cmds
+ old_postuninstall_cmds=$lt_old_postuninstall_cmds
+ 
+ # A C compiler.
+ LTCC=$lt_CC
+ 
+ # LTCC compiler flags.
+ LTCFLAGS=$lt_CFLAGS
+ 
+ # Take the output of nm and produce a listing of raw symbols and C names.
+ global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+ 
+ # Transform the output of nm in a proper C declaration.
+ global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+ 
+ # Transform the output of nm in a C name address pair.
+ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+ 
+ # Transform the output of nm in a C name address pair when lib prefix is needed.
+ global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+ 
+ # The name of the directory that contains temporary libtool files.
+ objdir=$objdir
+ 
+ # Shell to use when invoking shell scripts.
+ SHELL=$lt_SHELL
+ 
+ # An echo program that does not interpret backslashes.
+ ECHO=$lt_ECHO
+ 
+ # Used to examine libraries when file_magic_cmd begins with "file".
+ MAGIC_CMD=$MAGIC_CMD
+ 
+ # Must we lock files when doing compilation?
+ need_locks=$lt_need_locks
+ 
+ # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+ DSYMUTIL=$lt_DSYMUTIL
+ 
+ # Tool to change global to local symbols on Mac OS X.
+ NMEDIT=$lt_NMEDIT
+ 
+ # Tool to manipulate fat objects and archives on Mac OS X.
+ LIPO=$lt_LIPO
+ 
+ # ldd/readelf like tool for Mach-O binaries on Mac OS X.
+ OTOOL=$lt_OTOOL
+ 
+ # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+ OTOOL64=$lt_OTOOL64
+ 
+ # Old archive suffix (normally "a").
+ libext=$libext
+ 
+ # Shared library suffix (normally ".so").
+ shrext_cmds=$lt_shrext_cmds
+ 
+ # The commands to extract the exported symbol list from a shared archive.
+ extract_expsyms_cmds=$lt_extract_expsyms_cmds
+ 
+ # Variables whose values should be saved in libtool wrapper scripts and
+ # restored at link time.
+ variables_saved_for_relink=$lt_variables_saved_for_relink
+ 
+ # Do we need the "lib" prefix for modules?
+ need_lib_prefix=$need_lib_prefix
+ 
+ # Do we need a version for libraries?
+ need_version=$need_version
+ 
+ # Library versioning type.
+ version_type=$version_type
+ 
+ # Shared library runtime path variable.
+ runpath_var=$runpath_var
+ 
+ # Shared library path variable.
+ shlibpath_var=$shlibpath_var
+ 
+ # Is shlibpath searched before the hard-coded library search path?
+ shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+ 
+ # Format of library name prefix.
+ libname_spec=$lt_libname_spec
+ 
+ # List of archive names.  First name is the real one, the rest are links.
+ # The last name is the one that the linker finds with -lNAME
+ library_names_spec=$lt_library_names_spec
+ 
+ # The coded name of the library, if different from the real name.
+ soname_spec=$lt_soname_spec
+ 
+ # Command to use after installation of a shared archive.
+ postinstall_cmds=$lt_postinstall_cmds
+ 
+ # Command to use after uninstallation of a shared archive.
+ postuninstall_cmds=$lt_postuninstall_cmds
+ 
+ # Commands used to finish a libtool library installation in a directory.
+ finish_cmds=$lt_finish_cmds
+ 
+ # As "finish_cmds", except a single script fragment to be evaled but
+ # not shown.
+ finish_eval=$lt_finish_eval
+ 
+ # Whether we should hardcode library paths into libraries.
+ hardcode_into_libs=$hardcode_into_libs
+ 
+ # Compile-time system search path for libraries.
+ sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+ 
+ # Run-time system search path for libraries.
+ sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+ 
+ # Whether dlopen is supported.
+ dlopen_support=$enable_dlopen
+ 
+ # Whether dlopen of programs is supported.
+ dlopen_self=$enable_dlopen_self
+ 
+ # Whether dlopen of statically linked programs is supported.
+ dlopen_self_static=$enable_dlopen_self_static
+ 
+ # Commands to strip libraries.
+ old_striplib=$lt_old_striplib
+ striplib=$lt_striplib
+ 
+ 
+ # The linker used to build libraries.
+ LD=$lt_LD
+ 
+ # Commands used to build an old-style archive.
+ old_archive_cmds=$lt_old_archive_cmds
+ 
+ # A language specific compiler.
+ CC=$lt_compiler
+ 
+ # Is the compiler the GNU compiler?
+ with_gcc=$GCC
+ 
+ # Compiler flag to turn off builtin functions.
+ no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+ 
+ # How to pass a linker flag through the compiler.
+ wl=$lt_lt_prog_compiler_wl
+ 
+ # Additional compiler flags for building library objects.
+ pic_flag=$lt_lt_prog_compiler_pic
+ 
+ # Compiler flag to prevent dynamic linking.
+ link_static_flag=$lt_lt_prog_compiler_static
+ 
+ # Does compiler simultaneously support -c and -o options?
+ compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+ 
+ # Whether or not to add -lc for building shared libraries.
+ build_libtool_need_lc=$archive_cmds_need_lc
+ 
+ # Whether or not to disallow shared libs when runtime libs are static.
+ allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+ 
+ # Compiler flag to allow reflexive dlopens.
+ export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+ 
+ # Compiler flag to generate shared objects directly from archives.
+ whole_archive_flag_spec=$lt_whole_archive_flag_spec
+ 
+ # Whether the compiler copes with passing no objects directly.
+ compiler_needs_object=$lt_compiler_needs_object
+ 
+ # Create an old-style archive from a shared archive.
+ old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+ 
+ # Create a temporary old-style archive to link instead of a shared archive.
+ old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+ 
+ # Commands used to build a shared archive.
+ archive_cmds=$lt_archive_cmds
+ archive_expsym_cmds=$lt_archive_expsym_cmds
+ 
+ # Commands used to build a loadable module if different from building
+ # a shared archive.
+ module_cmds=$lt_module_cmds
+ module_expsym_cmds=$lt_module_expsym_cmds
+ 
+ # Whether we are building with GNU ld or not.
+ with_gnu_ld=$lt_with_gnu_ld
+ 
+ # Flag that allows shared libraries with undefined symbols to be built.
+ allow_undefined_flag=$lt_allow_undefined_flag
+ 
+ # Flag that enforces no undefined symbols.
+ no_undefined_flag=$lt_no_undefined_flag
+ 
+ # Flag to hardcode \$libdir into a binary during linking.
+ # This must work even if \$libdir does not exist
+ hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+ 
+ # If ld is used when linking, flag to hardcode \$libdir into a binary
+ # during linking.  This must work even if \$libdir does not exist.
+ hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+ 
+ # Whether we need a single "-rpath" flag with a separated argument.
+ hardcode_libdir_separator=$lt_hardcode_libdir_separator
+ 
+ # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+ # DIR into the resulting binary.
+ hardcode_direct=$hardcode_direct
+ 
+ # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+ # DIR into the resulting binary and the resulting library dependency is
+ # "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+ # library is relocated.
+ hardcode_direct_absolute=$hardcode_direct_absolute
+ 
+ # Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+ # into the resulting binary.
+ hardcode_minus_L=$hardcode_minus_L
+ 
+ # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+ # into the resulting binary.
+ hardcode_shlibpath_var=$hardcode_shlibpath_var
+ 
+ # Set to "yes" if building a shared library automatically hardcodes DIR
+ # into the library and all subsequent libraries and executables linked
+ # against it.
+ hardcode_automatic=$hardcode_automatic
+ 
+ # Set to yes if linker adds runtime paths of dependent libraries
+ # to runtime path list.
+ inherit_rpath=$inherit_rpath
+ 
+ # Whether libtool must link a program against all its dependency libraries.
+ link_all_deplibs=$link_all_deplibs
+ 
+ # Fix the shell variable \$srcfile for the compiler.
+ fix_srcfile_path=$lt_fix_srcfile_path
+ 
+ # Set to "yes" if exported symbols are required.
+ always_export_symbols=$always_export_symbols
+ 
+ # The commands to list exported symbols.
+ export_symbols_cmds=$lt_export_symbols_cmds
+ 
+ # Symbols that should not be listed in the preloaded symbols.
+ exclude_expsyms=$lt_exclude_expsyms
+ 
+ # Symbols that must always be exported.
+ include_expsyms=$lt_include_expsyms
+ 
+ # Commands necessary for linking programs (against libraries) with templates.
+ prelink_cmds=$lt_prelink_cmds
+ 
+ # Specify filename containing input files.
+ file_list_spec=$lt_file_list_spec
+ 
+ # How to hardcode a shared library path into an executable.
+ hardcode_action=$hardcode_action
+ 
+ # ### END LIBTOOL CONFIG
+ 
+ _LT_EOF
+ 
+   case $host_os in
+   aix3*)
+     cat <<\_LT_EOF >> "$cfgfile"
+ # AIX sometimes has problems with the GCC collect2 program.  For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+   COLLECT_NAMES=
+   export COLLECT_NAMES
+ fi
+ _LT_EOF
+     ;;
+   esac
+ 
+ 
+ ltmain="$ac_aux_dir/ltmain.sh"
+ 
+ 
+   # We use sed instead of cat because bash on DJGPP gets confused if
+   # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+   # text mode, it properly converts lines to CR/LF.  This bash problem
+   # is reportedly fixed, but why not run on old versions too?
+   sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+     || (rm -f "$cfgfile"; exit 1)
+ 
+   case $xsi_shell in
+   yes)
+     cat << \_LT_EOF >> "$cfgfile"
+ 
+ # func_dirname file append nondir_replacement
+ # Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+ # otherwise set result to NONDIR_REPLACEMENT.
+ func_dirname ()
+ {
+   case ${1} in
+     */*) func_dirname_result="${1%/*}${2}" ;;
+     *  ) func_dirname_result="${3}" ;;
+   esac
+ }
+ 
+ # func_basename file
+ func_basename ()
+ {
+   func_basename_result="${1##*/}"
+ }
+ 
+ # func_dirname_and_basename file append nondir_replacement
+ # perform func_basename and func_dirname in a single function
+ # call:
+ #   dirname:  Compute the dirname of FILE.  If nonempty,
+ #             add APPEND to the result, otherwise set result
+ #             to NONDIR_REPLACEMENT.
+ #             value returned in "$func_dirname_result"
+ #   basename: Compute filename of FILE.
+ #             value retuned in "$func_basename_result"
+ # Implementation must be kept synchronized with func_dirname
+ # and func_basename. For efficiency, we do not delegate to
+ # those functions but instead duplicate the functionality here.
+ func_dirname_and_basename ()
+ {
+   case ${1} in
+     */*) func_dirname_result="${1%/*}${2}" ;;
+     *  ) func_dirname_result="${3}" ;;
+   esac
+   func_basename_result="${1##*/}"
+ }
+ 
+ # func_stripname prefix suffix name
+ # strip PREFIX and SUFFIX off of NAME.
+ # PREFIX and SUFFIX must not contain globbing or regex special
+ # characters, hashes, percent signs, but SUFFIX may contain a leading
+ # dot (in which case that matches only a dot).
+ func_stripname ()
+ {
+   # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+   # positional parameters, so assign one to ordinary parameter first.
+   func_stripname_result=${3}
+   func_stripname_result=${func_stripname_result#"${1}"}
+   func_stripname_result=${func_stripname_result%"${2}"}
+ }
+ 
+ # func_opt_split
+ func_opt_split ()
+ {
+   func_opt_split_opt=${1%%=*}
+   func_opt_split_arg=${1#*=}
+ }
+ 
+ # func_lo2o object
+ func_lo2o ()
+ {
+   case ${1} in
+     *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+     *)    func_lo2o_result=${1} ;;
+   esac
+ }
+ 
+ # func_xform libobj-or-source
+ func_xform ()
+ {
+   func_xform_result=${1%.*}.lo
+ }
+ 
+ # func_arith arithmetic-term...
+ func_arith ()
+ {
+   func_arith_result=$(( $* ))
+ }
+ 
+ # func_len string
+ # STRING may not start with a hyphen.
+ func_len ()
+ {
+   func_len_result=${#1}
+ }
+ 
+ _LT_EOF
+     ;;
+   *) # Bourne compatible functions.
+     cat << \_LT_EOF >> "$cfgfile"
+ 
+ # func_dirname file append nondir_replacement
+ # Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+ # otherwise set result to NONDIR_REPLACEMENT.
+ func_dirname ()
+ {
+   # Extract subdirectory from the argument.
+   func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+   if test "X$func_dirname_result" = "X${1}"; then
+     func_dirname_result="${3}"
+   else
+     func_dirname_result="$func_dirname_result${2}"
+   fi
+ }
+ 
+ # func_basename file
+ func_basename ()
+ {
+   func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+ }
+ 
+ 
+ # func_stripname prefix suffix name
+ # strip PREFIX and SUFFIX off of NAME.
+ # PREFIX and SUFFIX must not contain globbing or regex special
+ # characters, hashes, percent signs, but SUFFIX may contain a leading
+ # dot (in which case that matches only a dot).
+ # func_strip_suffix prefix name
+ func_stripname ()
+ {
+   case ${2} in
+     .*) func_stripname_result=`$ECHO "X${3}" \
+            | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+     *)  func_stripname_result=`$ECHO "X${3}" \
+            | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+   esac
+ }
+ 
+ # sed scripts:
+ my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+ my_sed_long_arg='1s/^-[^=]*=//'
+ 
+ # func_opt_split
+ func_opt_split ()
+ {
+   func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+   func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+ }
+ 
+ # func_lo2o object
+ func_lo2o ()
+ {
+   func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+ }
+ 
+ # func_xform libobj-or-source
+ func_xform ()
+ {
+   func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
+ }
+ 
+ # func_arith arithmetic-term...
+ func_arith ()
+ {
+   func_arith_result=`expr "$@"`
+ }
+ 
+ # func_len string
+ # STRING may not start with a hyphen.
+ func_len ()
+ {
+   func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+ }
+ 
+ _LT_EOF
+ esac
+ 
+ case $lt_shell_append in
+   yes)
+     cat << \_LT_EOF >> "$cfgfile"
+ 
+ # func_append var value
+ # Append VALUE to the end of shell variable VAR.
+ func_append ()
+ {
+   eval "$1+=\$2"
+ }
+ _LT_EOF
+     ;;
+   *)
+     cat << \_LT_EOF >> "$cfgfile"
+ 
+ # func_append var value
+ # Append VALUE to the end of shell variable VAR.
+ func_append ()
+ {
+   eval "$1=\$$1\$2"
+ }
+ 
+ _LT_EOF
+     ;;
+   esac
+ 
+ 
+   sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+     || (rm -f "$cfgfile"; exit 1)
+ 
+   mv -f "$cfgfile" "$ofile" ||
+     (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+   chmod +x "$ofile"
+ 
+  ;;
+ 
+   esac
+ done # for ac_tag
+ 
+ 
+ as_fn_exit 0
+ _ACEOF
+ ac_clean_files=$ac_clean_files_save
+ 
+ test $ac_write_fail = 0 ||
+   as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+ 
+ 
+ # configure is writing to config.log, and then calls config.status.
+ # config.status does its own redirection, appending to config.log.
+ # Unfortunately, on DOS this fails, as config.log is still kept open
+ # by configure, so config.status won't be able to write to it; its
+ # output is simply discarded.  So we exec the FD to /dev/null,
+ # effectively closing config.log, so it can be properly (re)opened and
+ # appended to by config.status.  When coming back to configure, we
+ # need to make the FD available again.
+ if test "$no_create" != yes; then
+   ac_cs_success=:
+   ac_config_status_args=
+   test "$silent" = yes &&
+     ac_config_status_args="$ac_config_status_args --quiet"
+   exec 5>/dev/null
+   $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+   exec 5>>config.log
+   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+   # would make configure fail if this is the last instruction.
+   $ac_cs_success || as_fn_exit $?
+ fi
+ 
+ 
+ 
+ #
+ # CONFIG_SUBDIRS section.
+ #
+ if test "$no_recursion" != yes; then
+ 
+   # Remove --cache-file, --srcdir, and --disable-option-checking arguments
+   # so they do not pile up.
+   ac_sub_configure_args=
+   ac_prev=
+   eval "set x $ac_configure_args"
+   shift
+   for ac_arg
+   do
+     if test -n "$ac_prev"; then
+       ac_prev=
+       continue
+     fi
+     case $ac_arg in
+     -cache-file | --cache-file | --cache-fil | --cache-fi \
+     | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+       ac_prev=cache_file ;;
+     -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+     | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \
+     | --c=*)
+       ;;
+     --config-cache | -C)
+       ;;
+     -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+       ac_prev=srcdir ;;
+     -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+       ;;
+     -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+       ac_prev=prefix ;;
+     -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+       ;;
+     --disable-option-checking)
+       ;;
+     *)
+       case $ac_arg in
+       *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+       esac
+       as_fn_append ac_sub_configure_args " '$ac_arg'" ;;
+     esac
+   done
+ 
+   # Always prepend --prefix to ensure using the same prefix
+   # in subdir configurations.
+   ac_arg="--prefix=$prefix"
+   case $ac_arg in
+   *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+   esac
+   ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args"
+ 
+   # Pass --silent
+   if test "$silent" = yes; then
+     ac_sub_configure_args="--silent $ac_sub_configure_args"
+   fi
+ 
+   # Always prepend --disable-option-checking to silence warnings, since
+   # different subdirs can have different --enable and --with options.
+   ac_sub_configure_args="--disable-option-checking $ac_sub_configure_args"
+ 
+   ac_popdir=`pwd`
+   for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue
+ 
+     # Do not complain, so a configure script can configure whichever
+     # parts of a large source tree are present.
+     test -d "$srcdir/$ac_dir" || continue
+ 
+     ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)"
+     $as_echo "$as_me:${as_lineno-$LINENO}: $ac_msg" >&5
+     $as_echo "$ac_msg" >&6
+     as_dir="$ac_dir"; as_fn_mkdir_p
+     ac_builddir=.
+ 
+ case "$ac_dir" in
+ .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *)
+   ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+   # A ".." for each directory in $ac_dir_suffix.
+   ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+   case $ac_top_builddir_sub in
+   "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+   *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+   esac ;;
+ esac
+ ac_abs_top_builddir=$ac_pwd
+ ac_abs_builddir=$ac_pwd$ac_dir_suffix
+ # for backward compatibility:
+ ac_top_builddir=$ac_top_build_prefix
+ 
+ case $srcdir in
+   .)  # We are building in place.
+     ac_srcdir=.
+     ac_top_srcdir=$ac_top_builddir_sub
+     ac_abs_top_srcdir=$ac_pwd ;;
+   [\\/]* | ?:[\\/]* )  # Absolute name.
+     ac_srcdir=$srcdir$ac_dir_suffix;
+     ac_top_srcdir=$srcdir
+     ac_abs_top_srcdir=$srcdir ;;
+   *) # Relative name.
+     ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+     ac_top_srcdir=$ac_top_build_prefix$srcdir
+     ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+ esac
+ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+ 
+ 
+     cd "$ac_dir"
+ 
+     # Check for guested configure; otherwise get Cygnus style configure.
+     if test -f "$ac_srcdir/configure.gnu"; then
+       ac_sub_configure=$ac_srcdir/configure.gnu
+     elif test -f "$ac_srcdir/configure"; then
+       ac_sub_configure=$ac_srcdir/configure
+     elif test -f "$ac_srcdir/configure.in"; then
+       # This should be Cygnus configure.
+       ac_sub_configure=$ac_aux_dir/configure
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no configuration information is in $ac_dir" >&5
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;}
+       ac_sub_configure=
+     fi
+ 
+     # The recursion is here.
+     if test -n "$ac_sub_configure"; then
+       # Make the cache file name correct relative to the subdirectory.
+       case $cache_file in
+       [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;;
+       *) # Relative name.
+ 	ac_sub_cache_file=$ac_top_build_prefix$cache_file ;;
+       esac
+ 
+       { $as_echo "$as_me:${as_lineno-$LINENO}: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5
+ $as_echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;}
+       # The eval makes quoting arguments work.
+       eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
+ 	   --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
+ 	subdirfailed=yes
+     fi
+ 
+     cd "$ac_popdir"
+   done
+ fi
+ 
+ 	  if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+ fi
+ 
+ 
+ if test "$enable_llvm" = "yes" && test "$subdirfailed" != "no"; then
+     as_fn_error "Failed to configure LLVM, and LLVM was explicitly requested" "$LINENO" 5
+ fi
+  if test "$subdirfailed" != "yes" && test "$enable_llvm" != "no"; then
+   ENABLE_LLVM_TRUE=
+   ENABLE_LLVM_FALSE='#'
+ else
+   ENABLE_LLVM_TRUE='#'
+   ENABLE_LLVM_FALSE=
+ fi
+ 
+ no_recursion="yes";
+ ac_config_files="$ac_config_files libclamav/Makefile"
+ 
+ cat >confcache <<\_ACEOF
+ # This file is a shell script that caches the results of configure
+ # tests run on this system so they can be shared between configure
+ # scripts and configure runs, see configure's option --config-cache.
+ # It is not useful on other systems.  If it contains results you don't
+ # want to keep, you may remove or edit it.
+ #
+ # config.status only pays attention to the cache file if you give it
+ # the --recheck option to rerun configure.
+ #
+ # `ac_cv_env_foo' variables (set or unset) will be overridden when
+ # loading this file, other *unset* `ac_cv_foo' will be assigned the
+ # following values.
+ 
+ _ACEOF
+ 
+ # The following way of writing the cache mishandles newlines in values,
+ # but we know of no workaround that is simple, portable, and efficient.
+ # So, we kill variables containing newlines.
+ # Ultrix sh set writes to stderr and can't be redirected directly,
+ # and sets the high bit in the cache file unless we assign to the vars.
+ (
+   for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+     eval ac_val=\$$ac_var
+     case $ac_val in #(
+     *${as_nl}*)
+       case $ac_var in #(
+       *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+       esac
+       case $ac_var in #(
+       _ | IFS | as_nl) ;; #(
+       BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+       *) { eval $ac_var=; unset $ac_var;} ;;
+       esac ;;
+     esac
+   done
+ 
+   (set) 2>&1 |
+     case $as_nl`(ac_space=' '; set) 2>&1` in #(
+     *${as_nl}ac_space=\ *)
+       # `set' does not quote correctly, so add quotes: double-quote
+       # substitution turns \\\\ into \\, and sed turns \\ into \.
+       sed -n \
+ 	"s/'/'\\\\''/g;
+ 	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+       ;; #(
+     *)
+       # `set' quotes correctly as required by POSIX, so do not add quotes.
+       sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+       ;;
+     esac |
+     sort
+ ) |
+   sed '
+      /^ac_cv_env_/b end
+      t clear
+      :clear
+      s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+      t end
+      s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+      :end' >>confcache
+ if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+   if test -w "$cache_file"; then
+     test "x$cache_file" != "x/dev/null" &&
+       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+ $as_echo "$as_me: updating cache $cache_file" >&6;}
+     cat confcache >$cache_file
+   else
+     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+ $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+   fi
+ fi
+ rm -f confcache
+ 
+ test "x$prefix" = xNONE && prefix=$ac_default_prefix
+ # Let make expand exec_prefix.
+ test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+ 
+ DEFS=-DHAVE_CONFIG_H
+ 
+ ac_libobjs=
+ ac_ltlibobjs=
+ for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+   # 1. Remove the extension, and $U if already installed.
+   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+   ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+   # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+   #    will be set to the directory where LIBOBJS objects are built.
+   as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+   as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+ done
+ LIBOBJS=$ac_libobjs
+ 
+ LTLIBOBJS=$ac_ltlibobjs
+ 
+ 
+  if test -n "$EXEEXT"; then
+   am__EXEEXT_TRUE=
+   am__EXEEXT_FALSE='#'
+ else
+   am__EXEEXT_TRUE='#'
+   am__EXEEXT_FALSE=
+ fi
+ 
+ if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+   as_fn_error "conditional \"AMDEP\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+   as_fn_error "conditional \"am__fastdepCC\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${INSTALL_LTDL_TRUE}" && test -z "${INSTALL_LTDL_FALSE}"; then
+   as_fn_error "conditional \"INSTALL_LTDL\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${CONVENIENCE_LTDL_TRUE}" && test -z "${CONVENIENCE_LTDL_FALSE}"; then
+   as_fn_error "conditional \"CONVENIENCE_LTDL\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ LT_CONFIG_H=clamav-config.h
+ 
+     _ltdl_libobjs=
+     _ltdl_ltlibobjs=
+     if test -n "$_LT_LIBOBJS"; then
+       # Remove the extension.
+       _lt_sed_drop_objext='s/\.o$//;s/\.obj$//'
+       for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do
+         _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext"
+         _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo"
+       done
+     fi
+     ltdl_LIBOBJS=$_ltdl_libobjs
+ 
+     ltdl_LTLIBOBJS=$_ltdl_ltlibobjs
+ 
+ 
+ 
+ if test -z "${VERSIONSCRIPT_TRUE}" && test -z "${VERSIONSCRIPT_FALSE}"; then
+   as_fn_error "conditional \"VERSIONSCRIPT\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${HAVE_LIBCHECK_TRUE}" && test -z "${HAVE_LIBCHECK_FALSE}"; then
+   as_fn_error "conditional \"HAVE_LIBCHECK\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${ENABLE_COVERAGE_TRUE}" && test -z "${ENABLE_COVERAGE_FALSE}"; then
+   as_fn_error "conditional \"ENABLE_COVERAGE\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+   as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${ENABLE_UNRAR_TRUE}" && test -z "${ENABLE_UNRAR_FALSE}"; then
+   as_fn_error "conditional \"ENABLE_UNRAR\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${LINK_TOMMATH_TRUE}" && test -z "${LINK_TOMMATH_FALSE}"; then
+   as_fn_error "conditional \"LINK_TOMMATH\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${BUILD_CLAMD_TRUE}" && test -z "${BUILD_CLAMD_FALSE}"; then
+   as_fn_error "conditional \"BUILD_CLAMD\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${HAVE_MILTER_TRUE}" && test -z "${HAVE_MILTER_FALSE}"; then
+   as_fn_error "conditional \"HAVE_MILTER\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${HAVE_CURSES_TRUE}" && test -z "${HAVE_CURSES_FALSE}"; then
+   as_fn_error "conditional \"HAVE_CURSES\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${am__EXEEXT_TRUE}" && test -z "${am__EXEEXT_FALSE}"; then
+   as_fn_error "conditional \"am__EXEEXT\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ if test -z "${ENABLE_LLVM_TRUE}" && test -z "${ENABLE_LLVM_FALSE}"; then
+   as_fn_error "conditional \"ENABLE_LLVM\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+ 
+ : ${CONFIG_STATUS=./config.status}
+ ac_write_fail=0
+ ac_clean_files_save=$ac_clean_files
+ ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+ $as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+ as_write_fail=0
+ cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+ #! $SHELL
+ # Generated by $as_me.
+ # Run this file to recreate the current configuration.
+ # Compiler output produced by configure, useful for debugging
+ # configure, is in config.log if it exists.
+ 
+ debug=false
+ ac_cs_recheck=false
+ ac_cs_silent=false
+ 
+ SHELL=\${CONFIG_SHELL-$SHELL}
+ export SHELL
+ _ASEOF
+ cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+ ## -------------------- ##
+ ## M4sh Initialization. ##
+ ## -------------------- ##
+ 
+ # Be more Bourne compatible
+ DUALCASE=1; export DUALCASE # for MKS sh
+ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+   emulate sh
+   NULLCMD=:
+   # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+   # is contrary to our usage.  Disable this feature.
+   alias -g '${1+"$@"}'='"$@"'
+   setopt NO_GLOB_SUBST
+ else
+   case `(set -o) 2>/dev/null` in #(
+   *posix*) :
+     set -o posix ;; #(
+   *) :
+      ;;
+ esac
+ fi
+ 
+ 
+ as_nl='
+ '
+ export as_nl
+ # Printing a long string crashes Solaris 7 /usr/bin/printf.
+ as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+ as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+ # Prefer a ksh shell builtin over an external printf program on Solaris,
+ # but without wasting forks for bash or zsh.
+ if test -z "$BASH_VERSION$ZSH_VERSION" \
+     && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+   as_echo='print -r --'
+   as_echo_n='print -rn --'
+ elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+   as_echo='printf %s\n'
+   as_echo_n='printf %s'
+ else
+   if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+     as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+     as_echo_n='/usr/ucb/echo -n'
+   else
+     as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+     as_echo_n_body='eval
+       arg=$1;
+       case $arg in #(
+       *"$as_nl"*)
+ 	expr "X$arg" : "X\\(.*\\)$as_nl";
+ 	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+       esac;
+       expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+     '
+     export as_echo_n_body
+     as_echo_n='sh -c $as_echo_n_body as_echo'
+   fi
+   export as_echo_body
+   as_echo='sh -c $as_echo_body as_echo'
+ fi
+ 
+ # The user is always right.
+ if test "${PATH_SEPARATOR+set}" != set; then
+   PATH_SEPARATOR=:
+   (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+     (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+       PATH_SEPARATOR=';'
+   }
+ fi
+ 
+ 
+ # IFS
+ # We need space, tab and new line, in precisely that order.  Quoting is
+ # there to prevent editors from complaining about space-tab.
+ # (If _AS_PATH_WALK were called with IFS unset, it would disable word
+ # splitting by setting IFS to empty value.)
+ IFS=" ""	$as_nl"
+ 
+ # Find who we are.  Look in the path if we contain no directory separator.
+ case $0 in #((
+   *[\\/]* ) as_myself=$0 ;;
+   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+     test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+   done
+ IFS=$as_save_IFS
+ 
+      ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+   as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+   $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+   exit 1
+ fi
+ 
+ # Unset variables that we do not need and which cause bugs (e.g. in
+ # pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+ # suppresses any "Segmentation fault" message there.  '((' could
+ # trigger a bug in pdksh 5.2.14.
+ for as_var in BASH_ENV ENV MAIL MAILPATH
+ do eval test x\${$as_var+set} = xset \
+   && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+ done
+ PS1='$ '
+ PS2='> '
+ PS4='+ '
+ 
+ # NLS nuisances.
+ LC_ALL=C
+ export LC_ALL
+ LANGUAGE=C
+ export LANGUAGE
+ 
+ # CDPATH.
+ (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+ 
+ 
+ # as_fn_error ERROR [LINENO LOG_FD]
+ # ---------------------------------
+ # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+ # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+ # script with status $?, using 1 if that was 0.
+ as_fn_error ()
+ {
+   as_status=$?; test $as_status -eq 0 && as_status=1
+   if test "$3"; then
+     as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+     $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+   fi
+   $as_echo "$as_me: error: $1" >&2
+   as_fn_exit $as_status
+ } # as_fn_error
+ 
+ 
+ # as_fn_set_status STATUS
+ # -----------------------
+ # Set $? to STATUS, without forking.
+ as_fn_set_status ()
+ {
+   return $1
+ } # as_fn_set_status
+ 
+ # as_fn_exit STATUS
+ # -----------------
+ # Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+ as_fn_exit ()
+ {
+   set +e
+   as_fn_set_status $1
+   exit $1
+ } # as_fn_exit
+ 
+ # as_fn_unset VAR
+ # ---------------
+ # Portably unset VAR.
+ as_fn_unset ()
+ {
+   { eval $1=; unset $1;}
+ }
+ as_unset=as_fn_unset
+ # as_fn_append VAR VALUE
+ # ----------------------
+ # Append the text in VALUE to the end of the definition contained in VAR. Take
+ # advantage of any shell optimizations that allow amortized linear growth over
+ # repeated appends, instead of the typical quadratic growth present in naive
+ # implementations.
+ if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+   eval 'as_fn_append ()
+   {
+     eval $1+=\$2
+   }'
+ else
+   as_fn_append ()
+   {
+     eval $1=\$$1\$2
+   }
+ fi # as_fn_append
+ 
+ # as_fn_arith ARG...
+ # ------------------
+ # Perform arithmetic evaluation on the ARGs, and store the result in the
+ # global $as_val. Take advantage of shells that can avoid forks. The arguments
+ # must be portable across $(()) and expr.
+ if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+   eval 'as_fn_arith ()
+   {
+     as_val=$(( $* ))
+   }'
+ else
+   as_fn_arith ()
+   {
+     as_val=`expr "$@" || test $? -eq 1`
+   }
+ fi # as_fn_arith
+ 
+ 
+ if expr a : '\(a\)' >/dev/null 2>&1 &&
+    test "X`expr 00001 : '.*\(...\)'`" = X001; then
+   as_expr=expr
+ else
+   as_expr=false
+ fi
+ 
+ if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+   as_basename=basename
+ else
+   as_basename=false
+ fi
+ 
+ if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+   as_dirname=dirname
+ else
+   as_dirname=false
+ fi
+ 
+ as_me=`$as_basename -- "$0" ||
+ $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ 	 X"$0" : 'X\(//\)$' \| \
+ 	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+ $as_echo X/"$0" |
+     sed '/^.*\/\([^/][^/]*\)\/*$/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  /^X\/\(\/\/\)$/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  /^X\/\(\/\).*/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  s/.*/./; q'`
+ 
+ # Avoid depending upon Character Ranges.
+ as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+ as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+ as_cr_digits='0123456789'
+ as_cr_alnum=$as_cr_Letters$as_cr_digits
+ 
+ ECHO_C= ECHO_N= ECHO_T=
+ case `echo -n x` in #(((((
+ -n*)
+   case `echo 'xy\c'` in
+   *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+   xy)  ECHO_C='\c';;
+   *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+        ECHO_T='	';;
+   esac;;
+ *)
+   ECHO_N='-n';;
+ esac
+ 
+ rm -f conf$$ conf$$.exe conf$$.file
+ if test -d conf$$.dir; then
+   rm -f conf$$.dir/conf$$.file
+ else
+   rm -f conf$$.dir
+   mkdir conf$$.dir 2>/dev/null
+ fi
+ if (echo >conf$$.file) 2>/dev/null; then
+   if ln -s conf$$.file conf$$ 2>/dev/null; then
+     as_ln_s='ln -s'
+     # ... but there are two gotchas:
+     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+     # In both cases, we have to default to `cp -p'.
+     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+       as_ln_s='cp -p'
+   elif ln conf$$.file conf$$ 2>/dev/null; then
+     as_ln_s=ln
+   else
+     as_ln_s='cp -p'
+   fi
+ else
+   as_ln_s='cp -p'
+ fi
+ rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+ rmdir conf$$.dir 2>/dev/null
+ 
+ 
+ # as_fn_mkdir_p
+ # -------------
+ # Create "$as_dir" as a directory, including parents if necessary.
+ as_fn_mkdir_p ()
+ {
+ 
+   case $as_dir in #(
+   -*) as_dir=./$as_dir;;
+   esac
+   test -d "$as_dir" || eval $as_mkdir_p || {
+     as_dirs=
+     while :; do
+       case $as_dir in #(
+       *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+       *) as_qdir=$as_dir;;
+       esac
+       as_dirs="'$as_qdir' $as_dirs"
+       as_dir=`$as_dirname -- "$as_dir" ||
+ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ 	 X"$as_dir" : 'X\(//\)[^/]' \| \
+ 	 X"$as_dir" : 'X\(//\)$' \| \
+ 	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+ $as_echo X"$as_dir" |
+     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  /^X\(\/\/\)[^/].*/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  /^X\(\/\/\)$/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  /^X\(\/\).*/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  s/.*/./; q'`
+       test -d "$as_dir" && break
+     done
+     test -z "$as_dirs" || eval "mkdir $as_dirs"
+   } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+ 
+ 
+ } # as_fn_mkdir_p
+ if mkdir -p . 2>/dev/null; then
+   as_mkdir_p='mkdir -p "$as_dir"'
+ else
+   test -d ./-p && rmdir ./-p
+   as_mkdir_p=false
+ fi
+ 
+ if test -x / >/dev/null 2>&1; then
+   as_test_x='test -x'
+ else
+   if ls -dL / >/dev/null 2>&1; then
+     as_ls_L_option=L
+   else
+     as_ls_L_option=
+   fi
+   as_test_x='
+     eval sh -c '\''
+       if test -d "$1"; then
+ 	test -d "$1/.";
+       else
+ 	case $1 in #(
+ 	-*)set "./$1";;
+ 	esac;
+ 	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+ 	???[sx]*):;;*)false;;esac;fi
+     '\'' sh
+   '
+ fi
+ as_executable_p=$as_test_x
+ 
+ # Sed expression to map a string onto a valid CPP name.
+ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+ 
+ # Sed expression to map a string onto a valid variable name.
+ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+ 
+ 
+ exec 6>&1
+ ## ----------------------------------- ##
+ ## Main body of $CONFIG_STATUS script. ##
+ ## ----------------------------------- ##
+ _ASEOF
+ test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+ 
+ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ # Save the log message, to keep $0 and so on meaningful, and to
+ # report actual input values of CONFIG_FILES etc. instead of their
+ # values after options handling.
+ ac_log="
 -This file was extended by ClamAV $as_me devel, which was
++This file was extended by ClamAV $as_me 0.96, which was
+ generated by GNU Autoconf 2.65.  Invocation command line was
+ 
+   CONFIG_FILES    = $CONFIG_FILES
+   CONFIG_HEADERS  = $CONFIG_HEADERS
+   CONFIG_LINKS    = $CONFIG_LINKS
+   CONFIG_COMMANDS = $CONFIG_COMMANDS
+   $ $0 $@
+ 
+ on `(hostname || uname -n) 2>/dev/null | sed 1q`
+ "
+ 
+ _ACEOF
+ 
+ case $ac_config_files in *"
+ "*) set x $ac_config_files; shift; ac_config_files=$*;;
+ esac
+ 
+ case $ac_config_headers in *"
+ "*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+ esac
+ 
+ 
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ # Files that config.status was made for.
+ config_files="$ac_config_files"
+ config_headers="$ac_config_headers"
+ config_commands="$ac_config_commands"
+ 
+ _ACEOF
+ 
+ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ ac_cs_usage="\
+ \`$as_me' instantiates files and other configuration actions
+ from templates according to the current configuration.  Unless the files
+ and actions are specified as TAGs, all are instantiated by default.
+ 
+ Usage: $0 [OPTION]... [TAG]...
+ 
+   -h, --help       print this help, then exit
+   -V, --version    print version number and configuration settings, then exit
+       --config     print configuration, then exit
+   -q, --quiet, --silent
+                    do not print progress messages
+   -d, --debug      don't remove temporary files
+       --recheck    update $as_me by reconfiguring in the same conditions
+       --file=FILE[:TEMPLATE]
+                    instantiate the configuration file FILE
+       --header=FILE[:TEMPLATE]
+                    instantiate the configuration header FILE
+ 
+ Configuration files:
+ $config_files
+ 
+ Configuration headers:
+ $config_headers
+ 
+ Configuration commands:
+ $config_commands
+ 
+ Report bugs to <http://bugs.clamav.net/>.
+ ClamAV home page: <http://www.clamav.net/>."
+ 
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ ac_cs_version="\\
 -ClamAV config.status devel
++ClamAV config.status 0.96
+ configured by $0, generated by GNU Autoconf 2.65,
+   with options \\"\$ac_cs_config\\"
+ 
+ Copyright (C) 2009 Free Software Foundation, Inc.
+ This config.status script is free software; the Free Software Foundation
+ gives unlimited permission to copy, distribute and modify it."
+ 
+ ac_pwd='$ac_pwd'
+ srcdir='$srcdir'
+ INSTALL='$INSTALL'
+ MKDIR_P='$MKDIR_P'
+ AWK='$AWK'
+ test -n "\$AWK" || AWK=awk
+ _ACEOF
+ 
+ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ # The default lists apply if the user does not specify any file.
+ ac_need_defaults=:
+ while test $# != 0
+ do
+   case $1 in
+   --*=*)
+     ac_option=`expr "X$1" : 'X\([^=]*\)='`
+     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+     ac_shift=:
+     ;;
+   *)
+     ac_option=$1
+     ac_optarg=$2
+     ac_shift=shift
+     ;;
+   esac
+ 
+   case $ac_option in
+   # Handling of the options.
+   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+     ac_cs_recheck=: ;;
+   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+     $as_echo "$ac_cs_version"; exit ;;
+   --config | --confi | --conf | --con | --co | --c )
+     $as_echo "$ac_cs_config"; exit ;;
+   --debug | --debu | --deb | --de | --d | -d )
+     debug=: ;;
+   --file | --fil | --fi | --f )
+     $ac_shift
+     case $ac_optarg in
+     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+     esac
+     as_fn_append CONFIG_FILES " '$ac_optarg'"
+     ac_need_defaults=false;;
+   --header | --heade | --head | --hea )
+     $ac_shift
+     case $ac_optarg in
+     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+     esac
+     as_fn_append CONFIG_HEADERS " '$ac_optarg'"
+     ac_need_defaults=false;;
+   --he | --h)
+     # Conflict between --help and --header
+     as_fn_error "ambiguous option: \`$1'
+ Try \`$0 --help' for more information.";;
+   --help | --hel | -h )
+     $as_echo "$ac_cs_usage"; exit ;;
+   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+   | -silent | --silent | --silen | --sile | --sil | --si | --s)
+     ac_cs_silent=: ;;
+ 
+   # This is an error.
+   -*) as_fn_error "unrecognized option: \`$1'
+ Try \`$0 --help' for more information." ;;
+ 
+   *) as_fn_append ac_config_targets " $1"
+      ac_need_defaults=false ;;
+ 
+   esac
+   shift
+ done
+ 
+ ac_configure_extra_args=
+ 
+ if $ac_cs_silent; then
+   exec 6>/dev/null
+   ac_configure_extra_args="$ac_configure_extra_args --silent"
+ fi
+ 
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ if \$ac_cs_recheck; then
+   set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+   shift
+   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+   CONFIG_SHELL='$SHELL'
+   export CONFIG_SHELL
+   exec "\$@"
+ fi
+ 
+ _ACEOF
+ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ exec 5>>config.log
+ {
+   echo
+   sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+ ## Running $as_me. ##
+ _ASBOX
+   $as_echo "$ac_log"
+ } >&5
+ 
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ #
+ # INIT-COMMANDS
+ #
+ AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+ 
+ 
+ # The HP-UX ksh and POSIX shell print the target directory to stdout
+ # if CDPATH is set.
+ (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+ 
+ sed_quote_subst='$sed_quote_subst'
+ double_quote_subst='$double_quote_subst'
+ delay_variable_subst='$delay_variable_subst'
+ macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
+ macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
+ enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
+ enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
+ pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
+ enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
+ host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
+ host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
+ host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
+ build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
+ build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
+ build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
+ SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
+ Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
+ GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
+ EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
+ FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
+ LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
+ NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
+ LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
+ max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
+ ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
+ exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
+ lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
+ lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
+ lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
+ reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
+ reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+ OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
+ deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
+ file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
+ AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
+ AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+ STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
+ RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
+ old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+ old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+ old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+ CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
+ CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+ compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
+ GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+ objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
+ SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
+ ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
+ MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
+ lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
+ lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
+ lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
+ lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
+ lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
+ need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
+ DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
+ NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
+ LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
+ OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
+ OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
+ libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
+ shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+ extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+ archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
+ enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
+ export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+ whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+ compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
+ old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+ old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+ archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+ archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+ module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+ module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+ with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
+ allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+ no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+ hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+ hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
+ hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
+ hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
+ hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
+ hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
+ hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+ hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
+ inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
+ link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
+ fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
+ always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
+ export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+ exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+ include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+ prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+ file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
+ variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
+ need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+ need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
+ version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
+ runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+ shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+ shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
+ libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+ library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
+ soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+ postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+ postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+ finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+ finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
+ hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
+ sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+ sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+ hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
+ enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
+ enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
+ enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
+ old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
+ striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
+ 
+ LTCC='$LTCC'
+ LTCFLAGS='$LTCFLAGS'
+ compiler='$compiler_DEFAULT'
+ 
+ # Quote evaled strings.
+ for var in SED \
+ GREP \
+ EGREP \
+ FGREP \
+ LD \
+ NM \
+ LN_S \
+ lt_SP2NL \
+ lt_NL2SP \
+ reload_flag \
+ OBJDUMP \
+ deplibs_check_method \
+ file_magic_cmd \
+ AR \
+ AR_FLAGS \
+ STRIP \
+ RANLIB \
+ CC \
+ CFLAGS \
+ compiler \
+ lt_cv_sys_global_symbol_pipe \
+ lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+ SHELL \
+ ECHO \
+ lt_prog_compiler_no_builtin_flag \
+ lt_prog_compiler_wl \
+ lt_prog_compiler_pic \
+ lt_prog_compiler_static \
+ lt_cv_prog_compiler_c_o \
+ need_locks \
+ DSYMUTIL \
+ NMEDIT \
+ LIPO \
+ OTOOL \
+ OTOOL64 \
+ shrext_cmds \
+ export_dynamic_flag_spec \
+ whole_archive_flag_spec \
+ compiler_needs_object \
+ with_gnu_ld \
+ allow_undefined_flag \
+ no_undefined_flag \
+ hardcode_libdir_flag_spec \
+ hardcode_libdir_flag_spec_ld \
+ hardcode_libdir_separator \
+ fix_srcfile_path \
+ exclude_expsyms \
+ include_expsyms \
+ file_list_spec \
+ variables_saved_for_relink \
+ libname_spec \
+ library_names_spec \
+ soname_spec \
+ finish_eval \
+ old_striplib \
+ striplib; do
+     case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+     *[\\\\\\\`\\"\\\$]*)
+       eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+       ;;
+     *)
+       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+       ;;
+     esac
+ done
+ 
+ # Double-quote double-evaled strings.
+ for var in reload_cmds \
+ old_postinstall_cmds \
+ old_postuninstall_cmds \
+ old_archive_cmds \
+ extract_expsyms_cmds \
+ old_archive_from_new_cmds \
+ old_archive_from_expsyms_cmds \
+ archive_cmds \
+ archive_expsym_cmds \
+ module_cmds \
+ module_expsym_cmds \
+ export_symbols_cmds \
+ prelink_cmds \
+ postinstall_cmds \
+ postuninstall_cmds \
+ finish_cmds \
+ sys_lib_search_path_spec \
+ sys_lib_dlsearch_path_spec; do
+     case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+     *[\\\\\\\`\\"\\\$]*)
+       eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+       ;;
+     *)
+       eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+       ;;
+     esac
+ done
+ 
+ # Fix-up fallback echo if it was mangled by the above quoting rules.
+ case \$lt_ECHO in
+ *'\\\$0 --fallback-echo"')  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
+   ;;
+ esac
+ 
+ ac_aux_dir='$ac_aux_dir'
+ xsi_shell='$xsi_shell'
+ lt_shell_append='$lt_shell_append'
+ 
+ # See if we are running on zsh, and set the options which allow our
+ # commands through without removal of \ escapes INIT.
+ if test -n "\${ZSH_VERSION+set}" ; then
+    setopt NO_GLOB_SUBST
+ fi
+ 
+ 
+     PACKAGE='$PACKAGE'
+     VERSION='$VERSION'
+     TIMESTAMP='$TIMESTAMP'
+     RM='$RM'
+     ofile='$ofile'
+ 
+ ac_aux_dir='$ac_aux_dir'
+ 
+ 
+ 
+ _ACEOF
+ 
+ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ 
+ # Handling of arguments.
+ for ac_config_target in $ac_config_targets
+ do
+   case $ac_config_target in
+     "clamav-config.h") CONFIG_HEADERS="$CONFIG_HEADERS clamav-config.h" ;;
+     "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+     "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+     "libltdl/Makefile") CONFIG_FILES="$CONFIG_FILES libltdl/Makefile" ;;
+     "clamscan/Makefile") CONFIG_FILES="$CONFIG_FILES clamscan/Makefile" ;;
+     "database/Makefile") CONFIG_FILES="$CONFIG_FILES database/Makefile" ;;
+     "docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;;
+     "clamd/Makefile") CONFIG_FILES="$CONFIG_FILES clamd/Makefile" ;;
+     "clamdscan/Makefile") CONFIG_FILES="$CONFIG_FILES clamdscan/Makefile" ;;
+     "clamav-milter/Makefile") CONFIG_FILES="$CONFIG_FILES clamav-milter/Makefile" ;;
+     "freshclam/Makefile") CONFIG_FILES="$CONFIG_FILES freshclam/Makefile" ;;
+     "sigtool/Makefile") CONFIG_FILES="$CONFIG_FILES sigtool/Makefile" ;;
+     "clamconf/Makefile") CONFIG_FILES="$CONFIG_FILES clamconf/Makefile" ;;
+     "etc/Makefile") CONFIG_FILES="$CONFIG_FILES etc/Makefile" ;;
+     "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
+     "unit_tests/Makefile") CONFIG_FILES="$CONFIG_FILES unit_tests/Makefile" ;;
+     "clamdtop/Makefile") CONFIG_FILES="$CONFIG_FILES clamdtop/Makefile" ;;
+     "clambc/Makefile") CONFIG_FILES="$CONFIG_FILES clambc/Makefile" ;;
+     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+     "clamav-config") CONFIG_FILES="$CONFIG_FILES clamav-config" ;;
+     "libclamav.pc") CONFIG_FILES="$CONFIG_FILES libclamav.pc" ;;
+     "platform.h") CONFIG_FILES="$CONFIG_FILES platform.h" ;;
+     "docs/man/clamav-milter.8") CONFIG_FILES="$CONFIG_FILES docs/man/clamav-milter.8" ;;
+     "docs/man/clamconf.1") CONFIG_FILES="$CONFIG_FILES docs/man/clamconf.1" ;;
+     "docs/man/clamd.8") CONFIG_FILES="$CONFIG_FILES docs/man/clamd.8" ;;
+     "docs/man/clamd.conf.5") CONFIG_FILES="$CONFIG_FILES docs/man/clamd.conf.5" ;;
+     "docs/man/clamdscan.1") CONFIG_FILES="$CONFIG_FILES docs/man/clamdscan.1" ;;
+     "docs/man/clamscan.1") CONFIG_FILES="$CONFIG_FILES docs/man/clamscan.1" ;;
+     "docs/man/freshclam.1") CONFIG_FILES="$CONFIG_FILES docs/man/freshclam.1" ;;
+     "docs/man/freshclam.conf.5") CONFIG_FILES="$CONFIG_FILES docs/man/freshclam.conf.5" ;;
+     "docs/man/sigtool.1") CONFIG_FILES="$CONFIG_FILES docs/man/sigtool.1" ;;
+     "docs/man/clamdtop.1") CONFIG_FILES="$CONFIG_FILES docs/man/clamdtop.1" ;;
+     "libclamav/Makefile") CONFIG_FILES="$CONFIG_FILES libclamav/Makefile" ;;
+ 
+   *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+   esac
+ done
+ 
+ 
+ # If the user did not use the arguments to specify the items to instantiate,
+ # then the envvar interface is used.  Set only those that are not.
+ # We use the long form for the default assignment because of an extremely
+ # bizarre bug on SunOS 4.1.3.
+ if $ac_need_defaults; then
+   test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+   test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+   test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+ fi
+ 
+ # Have a temporary directory for convenience.  Make it in the build tree
+ # simply because there is no reason against having it here, and in addition,
+ # creating and moving files from /tmp can sometimes cause problems.
+ # Hook for its removal unless debugging.
+ # Note that there is a small window in which the directory will not be cleaned:
+ # after its creation but before its name has been assigned to `$tmp'.
+ $debug ||
+ {
+   tmp=
+   trap 'exit_status=$?
+   { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+ ' 0
+   trap 'as_fn_exit 1' 1 2 13 15
+ }
+ # Create a (secure) tmp directory for tmp files.
+ 
+ {
+   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+   test -n "$tmp" && test -d "$tmp"
+ }  ||
+ {
+   tmp=./conf$$-$RANDOM
+   (umask 077 && mkdir "$tmp")
+ } || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+ 
+ # Set up the scripts for CONFIG_FILES section.
+ # No need to generate them if there are no CONFIG_FILES.
+ # This happens for instance with `./config.status config.h'.
+ if test -n "$CONFIG_FILES"; then
+ 
+ 
+ ac_cr=`echo X | tr X '\015'`
+ # On cygwin, bash can eat \r inside `` if the user requested igncr.
+ # But we know of no other shell where ac_cr would be empty at this
+ # point, so we can use a bashism as a fallback.
+ if test "x$ac_cr" = x; then
+   eval ac_cr=\$\'\\r\'
+ fi
+ ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+ if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+   ac_cs_awk_cr='\r'
+ else
+   ac_cs_awk_cr=$ac_cr
+ fi
+ 
+ echo 'BEGIN {' >"$tmp/subs1.awk" &&
+ _ACEOF
+ 
+ 
+ {
+   echo "cat >conf$$subs.awk <<_ACEOF" &&
+   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+   echo "_ACEOF"
+ } >conf$$subs.sh ||
+   as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+ ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+ ac_delim='%!_!# '
+ for ac_last_try in false false false false false :; do
+   . ./conf$$subs.sh ||
+     as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+ 
+   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+   if test $ac_delim_n = $ac_delim_num; then
+     break
+   elif $ac_last_try; then
+     as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+   else
+     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+   fi
+ done
+ rm -f conf$$subs.sh
+ 
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+ _ACEOF
+ sed -n '
+ h
+ s/^/S["/; s/!.*/"]=/
+ p
+ g
+ s/^[^!]*!//
+ :repl
+ t repl
+ s/'"$ac_delim"'$//
+ t delim
+ :nl
+ h
+ s/\(.\{148\}\)..*/\1/
+ t more1
+ s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+ p
+ n
+ b repl
+ :more1
+ s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+ p
+ g
+ s/.\{148\}//
+ t nl
+ :delim
+ h
+ s/\(.\{148\}\)..*/\1/
+ t more2
+ s/["\\]/\\&/g; s/^/"/; s/$/"/
+ p
+ b
+ :more2
+ s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+ p
+ g
+ s/.\{148\}//
+ t delim
+ ' <conf$$subs.awk | sed '
+ /^[^""]/{
+   N
+   s/\n//
+ }
+ ' >>$CONFIG_STATUS || ac_write_fail=1
+ rm -f conf$$subs.awk
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ _ACAWK
+ cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+   for (key in S) S_is_set[key] = 1
+   FS = ""
+ 
+ }
+ {
+   line = $ 0
+   nfields = split(line, field, "@")
+   substed = 0
+   len = length(field[1])
+   for (i = 2; i < nfields; i++) {
+     key = field[i]
+     keylen = length(key)
+     if (S_is_set[key]) {
+       value = S[key]
+       line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+       len += length(value) + length(field[++i])
+       substed = 1
+     } else
+       len += 1 + keylen
+   }
+ 
+   print line
+ }
+ 
+ _ACAWK
+ _ACEOF
+ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+ else
+   cat
+ fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+   || as_fn_error "could not setup config files machinery" "$LINENO" 5
+ _ACEOF
+ 
+ # VPATH may cause trouble with some makes, so we remove $(srcdir),
+ # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+ # trailing colons and then remove the whole line if VPATH becomes empty
+ # (actually we leave an empty line to preserve line numbers).
+ if test "x$srcdir" = x.; then
+   ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
+ s/:*\$(srcdir):*/:/
+ s/:*\${srcdir}:*/:/
+ s/:*@srcdir@:*/:/
+ s/^\([^=]*=[	 ]*\):*/\1/
+ s/:*$//
+ s/^[^=]*=[	 ]*$//
+ }'
+ fi
+ 
+ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ fi # test -n "$CONFIG_FILES"
+ 
+ # Set up the scripts for CONFIG_HEADERS section.
+ # No need to generate them if there are no CONFIG_HEADERS.
+ # This happens for instance with `./config.status Makefile'.
+ if test -n "$CONFIG_HEADERS"; then
+ cat >"$tmp/defines.awk" <<\_ACAWK ||
+ BEGIN {
+ _ACEOF
+ 
+ # Transform confdefs.h into an awk script `defines.awk', embedded as
+ # here-document in config.status, that substitutes the proper values into
+ # config.h.in to produce config.h.
+ 
+ # Create a delimiter string that does not exist in confdefs.h, to ease
+ # handling of long lines.
+ ac_delim='%!_!# '
+ for ac_last_try in false false :; do
+   ac_t=`sed -n "/$ac_delim/p" confdefs.h`
+   if test -z "$ac_t"; then
+     break
+   elif $ac_last_try; then
+     as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+   else
+     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+   fi
+ done
+ 
+ # For the awk script, D is an array of macro values keyed by name,
+ # likewise P contains macro parameters if any.  Preserve backslash
+ # newline sequences.
+ 
+ ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+ sed -n '
+ s/.\{148\}/&'"$ac_delim"'/g
+ t rset
+ :rset
+ s/^[	 ]*#[	 ]*define[	 ][	 ]*/ /
+ t def
+ d
+ :def
+ s/\\$//
+ t bsnl
+ s/["\\]/\\&/g
+ s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
+ D["\1"]=" \3"/p
+ s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2"/p
+ d
+ :bsnl
+ s/["\\]/\\&/g
+ s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
+ D["\1"]=" \3\\\\\\n"\\/p
+ t cont
+ s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+ t cont
+ d
+ :cont
+ n
+ s/.\{148\}/&'"$ac_delim"'/g
+ t clear
+ :clear
+ s/\\$//
+ t bsnlc
+ s/["\\]/\\&/g; s/^/"/; s/$/"/p
+ d
+ :bsnlc
+ s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+ b cont
+ ' <confdefs.h | sed '
+ s/'"$ac_delim"'/"\\\
+ "/g' >>$CONFIG_STATUS || ac_write_fail=1
+ 
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+   for (key in D) D_is_set[key] = 1
+   FS = ""
+ }
+ /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+   line = \$ 0
+   split(line, arg, " ")
+   if (arg[1] == "#") {
+     defundef = arg[2]
+     mac1 = arg[3]
+   } else {
+     defundef = substr(arg[1], 2)
+     mac1 = arg[2]
+   }
+   split(mac1, mac2, "(") #)
+   macro = mac2[1]
+   prefix = substr(line, 1, index(line, defundef) - 1)
+   if (D_is_set[macro]) {
+     # Preserve the white space surrounding the "#".
+     print prefix "define", macro P[macro] D[macro]
+     next
+   } else {
+     # Replace #undef with comments.  This is necessary, for example,
+     # in the case of _POSIX_SOURCE, which is predefined and required
+     # on some systems where configure will not decide to define it.
+     if (defundef == "undef") {
+       print "/*", prefix defundef, macro, "*/"
+       next
+     }
+   }
+ }
+ { print }
+ _ACAWK
+ _ACEOF
+ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+   as_fn_error "could not setup config headers machinery" "$LINENO" 5
+ fi # test -n "$CONFIG_HEADERS"
+ 
+ 
+ eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
+ shift
+ for ac_tag
+ do
+   case $ac_tag in
+   :[FHLC]) ac_mode=$ac_tag; continue;;
+   esac
+   case $ac_mode$ac_tag in
+   :[FHL]*:*);;
+   :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+   :[FH]-) ac_tag=-:-;;
+   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+   esac
+   ac_save_IFS=$IFS
+   IFS=:
+   set x $ac_tag
+   IFS=$ac_save_IFS
+   shift
+   ac_file=$1
+   shift
+ 
+   case $ac_mode in
+   :L) ac_source=$1;;
+   :[FH])
+     ac_file_inputs=
+     for ac_f
+     do
+       case $ac_f in
+       -) ac_f="$tmp/stdin";;
+       *) # Look for the file first in the build tree, then in the source tree
+ 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
+ 	 # because $ac_f cannot contain `:'.
+ 	 test -f "$ac_f" ||
+ 	   case $ac_f in
+ 	   [\\/$]*) false;;
+ 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ 	   esac ||
+ 	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+       esac
+       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+       as_fn_append ac_file_inputs " '$ac_f'"
+     done
+ 
+     # Let's still pretend it is `configure' which instantiates (i.e., don't
+     # use $as_me), people would be surprised to read:
+     #    /* config.h.  Generated by config.status.  */
+     configure_input='Generated from '`
+ 	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ 	`' by configure.'
+     if test x"$ac_file" != x-; then
+       configure_input="$ac_file.  $configure_input"
+       { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+ $as_echo "$as_me: creating $ac_file" >&6;}
+     fi
+     # Neutralize special characters interpreted by sed in replacement strings.
+     case $configure_input in #(
+     *\&* | *\|* | *\\* )
+        ac_sed_conf_input=`$as_echo "$configure_input" |
+        sed 's/[\\\\&|]/\\\\&/g'`;; #(
+     *) ac_sed_conf_input=$configure_input;;
+     esac
+ 
+     case $ac_tag in
+     *:-:* | *:-) cat >"$tmp/stdin" \
+       || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+     esac
+     ;;
+   esac
+ 
+   ac_dir=`$as_dirname -- "$ac_file" ||
+ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ 	 X"$ac_file" : 'X\(//\)[^/]' \| \
+ 	 X"$ac_file" : 'X\(//\)$' \| \
+ 	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+ $as_echo X"$ac_file" |
+     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  /^X\(\/\/\)[^/].*/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  /^X\(\/\/\)$/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  /^X\(\/\).*/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  s/.*/./; q'`
+   as_dir="$ac_dir"; as_fn_mkdir_p
+   ac_builddir=.
+ 
+ case "$ac_dir" in
+ .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *)
+   ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+   # A ".." for each directory in $ac_dir_suffix.
+   ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+   case $ac_top_builddir_sub in
+   "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+   *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+   esac ;;
+ esac
+ ac_abs_top_builddir=$ac_pwd
+ ac_abs_builddir=$ac_pwd$ac_dir_suffix
+ # for backward compatibility:
+ ac_top_builddir=$ac_top_build_prefix
+ 
+ case $srcdir in
+   .)  # We are building in place.
+     ac_srcdir=.
+     ac_top_srcdir=$ac_top_builddir_sub
+     ac_abs_top_srcdir=$ac_pwd ;;
+   [\\/]* | ?:[\\/]* )  # Absolute name.
+     ac_srcdir=$srcdir$ac_dir_suffix;
+     ac_top_srcdir=$srcdir
+     ac_abs_top_srcdir=$srcdir ;;
+   *) # Relative name.
+     ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+     ac_top_srcdir=$ac_top_build_prefix$srcdir
+     ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+ esac
+ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+ 
+ 
+   case $ac_mode in
+   :F)
+   #
+   # CONFIG_FILE
+   #
+ 
+   case $INSTALL in
+   [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+   *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+   esac
+   ac_MKDIR_P=$MKDIR_P
+   case $MKDIR_P in
+   [\\/$]* | ?:[\\/]* ) ;;
+   */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+   esac
+ _ACEOF
+ 
+ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ # If the template does not know about datarootdir, expand it.
+ # FIXME: This hack should be removed a few years after 2.60.
+ ac_datarootdir_hack=; ac_datarootdir_seen=
+ ac_sed_dataroot='
+ /datarootdir/ {
+   p
+   q
+ }
+ /@datadir@/p
+ /@docdir@/p
+ /@infodir@/p
+ /@localedir@/p
+ /@mandir@/p'
+ case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+ *datarootdir*) ac_datarootdir_seen=yes;;
+ *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+ $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+   ac_datarootdir_hack='
+   s&@datadir@&$datadir&g
+   s&@docdir@&$docdir&g
+   s&@infodir@&$infodir&g
+   s&@localedir@&$localedir&g
+   s&@mandir@&$mandir&g
+   s&\\\${datarootdir}&$datarootdir&g' ;;
+ esac
+ _ACEOF
+ 
+ # Neutralize VPATH when `$srcdir' = `.'.
+ # Shell code in configure.ac might set extrasub.
+ # FIXME: do we really want to maintain this feature?
+ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_sed_extra="$ac_vpsub
+ $extrasub
+ _ACEOF
+ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ :t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+ s|@configure_input@|$ac_sed_conf_input|;t t
+ s&@top_builddir@&$ac_top_builddir_sub&;t t
+ s&@top_build_prefix@&$ac_top_build_prefix&;t t
+ s&@srcdir@&$ac_srcdir&;t t
+ s&@abs_srcdir@&$ac_abs_srcdir&;t t
+ s&@top_srcdir@&$ac_top_srcdir&;t t
+ s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+ s&@builddir@&$ac_builddir&;t t
+ s&@abs_builddir@&$ac_abs_builddir&;t t
+ s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+ s&@INSTALL@&$ac_INSTALL&;t t
+ s&@MKDIR_P@&$ac_MKDIR_P&;t t
+ $ac_datarootdir_hack
+ "
+ eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+   || as_fn_error "could not create $ac_file" "$LINENO" 5
+ 
+ test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+   { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+   { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+ which seems to be undefined.  Please make sure it is defined." >&5
+ $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+ which seems to be undefined.  Please make sure it is defined." >&2;}
+ 
+   rm -f "$tmp/stdin"
+   case $ac_file in
+   -) cat "$tmp/out" && rm -f "$tmp/out";;
+   *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+   esac \
+   || as_fn_error "could not create $ac_file" "$LINENO" 5
+  ;;
+   :H)
+   #
+   # CONFIG_HEADER
+   #
+   if test x"$ac_file" != x-; then
+     {
+       $as_echo "/* $configure_input  */" \
+       && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+     } >"$tmp/config.h" \
+       || as_fn_error "could not create $ac_file" "$LINENO" 5
+     if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+ $as_echo "$as_me: $ac_file is unchanged" >&6;}
+     else
+       rm -f "$ac_file"
+       mv "$tmp/config.h" "$ac_file" \
+ 	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+     fi
+   else
+     $as_echo "/* $configure_input  */" \
+       && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+       || as_fn_error "could not create -" "$LINENO" 5
+   fi
+ # Compute "$ac_file"'s index in $config_headers.
+ _am_arg="$ac_file"
+ _am_stamp_count=1
+ for _am_header in $config_headers :; do
+   case $_am_header in
+     $_am_arg | $_am_arg:* )
+       break ;;
+     * )
+       _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+   esac
+ done
+ echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+ $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ 	 X"$_am_arg" : 'X\(//\)[^/]' \| \
+ 	 X"$_am_arg" : 'X\(//\)$' \| \
+ 	 X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+ $as_echo X"$_am_arg" |
+     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  /^X\(\/\/\)[^/].*/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  /^X\(\/\/\)$/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  /^X\(\/\).*/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  s/.*/./; q'`/stamp-h$_am_stamp_count
+  ;;
+ 
+   :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+ $as_echo "$as_me: executing $ac_file commands" >&6;}
+  ;;
+   esac
+ 
+ 
+   case $ac_file$ac_mode in
+     "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+   # Autoconf 2.62 quotes --file arguments for eval, but not when files
+   # are listed without --file.  Let's play safe and only enable the eval
+   # if we detect the quoting.
+   case $CONFIG_FILES in
+   *\'*) eval set x "$CONFIG_FILES" ;;
+   *)   set x $CONFIG_FILES ;;
+   esac
+   shift
+   for mf
+   do
+     # Strip MF so we end up with the name of the file.
+     mf=`echo "$mf" | sed -e 's/:.*$//'`
+     # Check whether this is an Automake generated Makefile or not.
+     # We used to match only the files named `Makefile.in', but
+     # some people rename them; so instead we look at the file content.
+     # Grep'ing the first line is not enough: some people post-process
+     # each Makefile.in and add a new line on top of each file to say so.
+     # Grep'ing the whole file is not good either: AIX grep has a line
+     # limit of 2048, but all sed's we know have understand at least 4000.
+     if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+       dirpart=`$as_dirname -- "$mf" ||
+ $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ 	 X"$mf" : 'X\(//\)[^/]' \| \
+ 	 X"$mf" : 'X\(//\)$' \| \
+ 	 X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+ $as_echo X"$mf" |
+     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  /^X\(\/\/\)[^/].*/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  /^X\(\/\/\)$/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  /^X\(\/\).*/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  s/.*/./; q'`
+     else
+       continue
+     fi
+     # Extract the definition of DEPDIR, am__include, and am__quote
+     # from the Makefile without running `make'.
+     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+     test -z "$DEPDIR" && continue
+     am__include=`sed -n 's/^am__include = //p' < "$mf"`
+     test -z "am__include" && continue
+     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+     # When using ansi2knr, U may be empty or an underscore; expand it
+     U=`sed -n 's/^U = //p' < "$mf"`
+     # Find all dependency output files, they are included files with
+     # $(DEPDIR) in their names.  We invoke sed twice because it is the
+     # simplest approach to changing $(DEPDIR) to its actual value in the
+     # expansion.
+     for file in `sed -n "
+       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ 	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+       # Make sure the directory exists.
+       test -f "$dirpart/$file" && continue
+       fdir=`$as_dirname -- "$file" ||
+ $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ 	 X"$file" : 'X\(//\)[^/]' \| \
+ 	 X"$file" : 'X\(//\)$' \| \
+ 	 X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+ $as_echo X"$file" |
+     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  /^X\(\/\/\)[^/].*/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  /^X\(\/\/\)$/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  /^X\(\/\).*/{
+ 	    s//\1/
+ 	    q
+ 	  }
+ 	  s/.*/./; q'`
+       as_dir=$dirpart/$fdir; as_fn_mkdir_p
+       # echo "creating $dirpart/$file"
+       echo '# dummy' > "$dirpart/$file"
+     done
+   done
+ }
+  ;;
+     "libtool":C)
+ 
+     # See if we are running on zsh, and set the options which allow our
+     # commands through without removal of \ escapes.
+     if test -n "${ZSH_VERSION+set}" ; then
+       setopt NO_GLOB_SUBST
+     fi
+ 
+     cfgfile="${ofile}T"
+     trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+     $RM "$cfgfile"
+ 
+     cat <<_LT_EOF >> "$cfgfile"
+ #! $SHELL
+ 
+ # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+ # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+ # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+ # NOTE: Changes made to this file will be lost: look at ltmain.sh.
+ #
+ #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+ #                 2006, 2007, 2008 Free Software Foundation, Inc.
+ #   Written by Gordon Matzigkeit, 1996
+ #
+ #   This file is part of GNU Libtool.
+ #
+ # GNU Libtool is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU General Public License as
+ # published by the Free Software Foundation; either version 2 of
+ # the License, or (at your option) any later version.
+ #
+ # As a special exception to the GNU General Public License,
+ # if you distribute this file as part of a program or library that
+ # is built using GNU Libtool, you may include this file under the
+ # same distribution terms that you use for the rest of that program.
+ #
+ # GNU Libtool is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ # GNU General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with GNU Libtool; see the file COPYING.  If not, a copy
+ # can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+ # obtained by writing to the Free Software Foundation, Inc.,
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ 
+ 
+ # The names of the tagged configurations supported by this script.
+ available_tags=""
+ 
+ # ### BEGIN LIBTOOL CONFIG
+ 
+ # Which release of libtool.m4 was used?
+ macro_version=$macro_version
+ macro_revision=$macro_revision
+ 
  # Whether or not to build static libraries.
  build_old_libs=$enable_static
  
+ # Whether or not to build shared libraries.
+ build_libtool_libs=$enable_shared
+ 
  # What type of objects to build.
  pic_mode=$pic_mode
  
@@@ -22071,12 -24930,391 +24930,391 @@@ if test "$no_create" != yes; the
    # would make configure fail if this is the last instruction.
    $ac_cs_success || as_fn_exit $?
  fi
- if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ 
+ 
+ 
+ #
+ # CONFIG_SUBDIRS section.
+ #
+ if test "$no_recursion" != yes; then
+ 
+   # Remove --cache-file, --srcdir, and --disable-option-checking arguments
+   # so they do not pile up.
+   ac_sub_configure_args=
+   ac_prev=
+   eval "set x $ac_configure_args"
+   shift
+   for ac_arg
+   do
+     if test -n "$ac_prev"; then
+       ac_prev=
+       continue
+     fi
+     case $ac_arg in
+     -cache-file | --cache-file | --cache-fil | --cache-fi \
+     | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+       ac_prev=cache_file ;;
+     -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+     | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \
+     | --c=*)
+       ;;
+     --config-cache | -C)
+       ;;
+     -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+       ac_prev=srcdir ;;
+     -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+       ;;
+     -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+       ac_prev=prefix ;;
+     -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+       ;;
+     --disable-option-checking)
+       ;;
+     *)
+       case $ac_arg in
+       *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+       esac
+       as_fn_append ac_sub_configure_args " '$ac_arg'" ;;
+     esac
+   done
+ 
+   # Always prepend --prefix to ensure using the same prefix
+   # in subdir configurations.
+   ac_arg="--prefix=$prefix"
+   case $ac_arg in
+   *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+   esac
+   ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args"
+ 
+   # Pass --silent
+   if test "$silent" = yes; then
+     ac_sub_configure_args="--silent $ac_sub_configure_args"
+   fi
+ 
+   # Always prepend --disable-option-checking to silence warnings, since
+   # different subdirs can have different --enable and --with options.
+   ac_sub_configure_args="--disable-option-checking $ac_sub_configure_args"
+ 
+   ac_popdir=`pwd`
+   for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue
+ 
+     # Do not complain, so a configure script can configure whichever
+     # parts of a large source tree are present.
+     test -d "$srcdir/$ac_dir" || continue
+ 
+     ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)"
+     $as_echo "$as_me:${as_lineno-$LINENO}: $ac_msg" >&5
+     $as_echo "$ac_msg" >&6
+     as_dir="$ac_dir"; as_fn_mkdir_p
+     ac_builddir=.
+ 
+ case "$ac_dir" in
+ .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *)
+   ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+   # A ".." for each directory in $ac_dir_suffix.
+   ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+   case $ac_top_builddir_sub in
+   "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+   *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+   esac ;;
+ esac
+ ac_abs_top_builddir=$ac_pwd
+ ac_abs_builddir=$ac_pwd$ac_dir_suffix
+ # for backward compatibility:
+ ac_top_builddir=$ac_top_build_prefix
+ 
+ case $srcdir in
+   .)  # We are building in place.
+     ac_srcdir=.
+     ac_top_srcdir=$ac_top_builddir_sub
+     ac_abs_top_srcdir=$ac_pwd ;;
+   [\\/]* | ?:[\\/]* )  # Absolute name.
+     ac_srcdir=$srcdir$ac_dir_suffix;
+     ac_top_srcdir=$srcdir
+     ac_abs_top_srcdir=$srcdir ;;
+   *) # Relative name.
+     ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+     ac_top_srcdir=$ac_top_build_prefix$srcdir
+     ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+ esac
+ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+ 
+ 
+     cd "$ac_dir"
+ 
+     # Check for guested configure; otherwise get Cygnus style configure.
+     if test -f "$ac_srcdir/configure.gnu"; then
+       ac_sub_configure=$ac_srcdir/configure.gnu
+     elif test -f "$ac_srcdir/configure"; then
+       ac_sub_configure=$ac_srcdir/configure
+     elif test -f "$ac_srcdir/configure.in"; then
+       # This should be Cygnus configure.
+       ac_sub_configure=$ac_aux_dir/configure
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no configuration information is in $ac_dir" >&5
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;}
+       ac_sub_configure=
+     fi
+ 
+     # The recursion is here.
+     if test -n "$ac_sub_configure"; then
+       # Make the cache file name correct relative to the subdirectory.
+       case $cache_file in
+       [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;;
+       *) # Relative name.
+ 	ac_sub_cache_file=$ac_top_build_prefix$cache_file ;;
+       esac
+ 
+       { $as_echo "$as_me:${as_lineno-$LINENO}: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5
+ $as_echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;}
+       # The eval makes quoting arguments work.
+       eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
+ 	   --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
+ 	subdirfailed=yes
+     fi
+ 
+     cd "$ac_popdir"
+   done
+ fi
+ 
+ 	  if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
  $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
  fi
  
  
+ # Print a summary of what features we enabled
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Summary of detected features follows" >&5
+ $as_echo "$as_me: Summary of detected features follows" >&6;}
+ 
+ cat <<EOF
+               OS          : $target_os
+               pthreads    : $have_pthreads ($THREAD_LIBS)
+ EOF
+ 
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Summary of miscellaneous  features" >&5
+ $as_echo "$as_me: Summary of miscellaneous  features" >&6;}
+ if test "x$CHECK_LIBS" = "x"; then
+     check_libs="no"
+ else
+     check_libs="$CHECK_LIBS"
+ fi
+ 
+ 
+    $as_echo_n "              check       : "
+    if test "x$enable_check_ut" = "xno"; then :
+   $as_echo "$check_libs (disabled)"
+ elif test "x$enable_check_ut" = "xyes"; then :
+   $as_echo "$check_libs"
+ elif test "x$enable_check_ut" = "x"; then :
+   $as_echo "$check_libs"
+ else
+   $as_echo "$check_libs ($enable_check_ut)"
+ fi
+ 
+ 
+ 
+    $as_echo_n "              clamuko     : "
+    if test "x$want_clamuko" = "xno"; then :
+   $as_echo "$want_clamuko (disabled)"
+ elif test "x$want_clamuko" = "xyes"; then :
+   $as_echo "$want_clamuko"
+ elif test "x$want_clamuko" = "x"; then :
+   $as_echo "$want_clamuko"
+ else
+   $as_echo "$want_clamuko ($want_clamuko)"
+ fi
+ 
+ if test "x$ac_cv_have_control_in_msghdr" = "xyes"; then
+ 
+ 
+    $as_echo_n "              fdpassing   : "
+    if test "x$want_fdpassing" = "xno"; then :
+   $as_echo "$have_fdpass (disabled)"
+ elif test "x$want_fdpassing" = "xyes"; then :
+   $as_echo "$have_fdpass"
+ elif test "x$want_fdpassing" = "x"; then :
+   $as_echo "$have_fdpass"
+ else
+   $as_echo "$have_fdpass ($want_fdpassing)"
+ fi
+ 
+ else
+ 
+ 
+    $as_echo_n "              fdpassing   : "
+    if test "x" = "xno"; then :
+   $as_echo "n/a (disabled)"
+ elif test "x" = "xyes"; then :
+   $as_echo "n/a"
+ elif test "x" = "x"; then :
+   $as_echo "n/a"
+ else
+   $as_echo "n/a ()"
+ fi
+ 
+ fi
+ 
+ 
+    $as_echo_n "              IPv6        : "
+    if test "x$want_ipv6" = "xno"; then :
+   $as_echo "$have_cv_ipv6 (disabled)"
+ elif test "x$want_ipv6" = "xyes"; then :
+   $as_echo "$have_cv_ipv6"
+ elif test "x$want_ipv6" = "x"; then :
+   $as_echo "$have_cv_ipv6"
+ else
+   $as_echo "$have_cv_ipv6 ($want_ipv6)"
+ fi
+ 
+ 
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Summary of optional tools" >&5
+ $as_echo "$as_me: Summary of optional tools" >&6;}
+ 
+ 
+    $as_echo_n "              clamdtop    : "
+    if test "x$enable_clamdtop" = "xno"; then :
+   $as_echo "$CURSES_LIBS (disabled)"
+ elif test "x$enable_clamdtop" = "xyes"; then :
+   $as_echo "$CURSES_LIBS"
+ elif test "x$enable_clamdtop" = "x"; then :
+   $as_echo "$CURSES_LIBS"
+ else
+   $as_echo "$CURSES_LIBS ($enable_clamdtop)"
+ fi
+ 
+ 
+ 
+    $as_echo_n "              milter      : "
+    if test "x$have_milter" = "xno"; then :
+   $as_echo "yes (disabled)"
+ elif test "x$have_milter" = "xyes"; then :
+   $as_echo "yes"
+ elif test "x$have_milter" = "x"; then :
+   $as_echo "yes"
+ else
+   $as_echo "yes ($have_milter)"
+ fi
+ 
+ 
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Summary of engine performance features)" >&5
+ $as_echo "$as_me: Summary of engine performance features)" >&6;}
+ if test "x$enable_debug" = "xyes"; then
+ 
+ 
+    $as_echo_n "              release mode: "
+    if test "xdebug build" = "xno"; then :
+   $as_echo "no (disabled)"
+ elif test "xdebug build" = "xyes"; then :
+   $as_echo "no"
+ elif test "xdebug build" = "x"; then :
+   $as_echo "no"
+ else
+   $as_echo "no (debug build)"
+ fi
+ 
+ else
+ 
+ 
+    $as_echo_n "              release mode: "
+    if test "xyes" = "xno"; then :
+   $as_echo "yes (disabled)"
+ elif test "xyes" = "xyes"; then :
+   $as_echo "yes"
+ elif test "xyes" = "x"; then :
+   $as_echo "yes"
+ else
+   $as_echo "yes (yes)"
+ fi
+ 
+ fi
+ have_jit="no"
+ if test "$subdirfailed" = "no"; then
+     have_jit="yes"
+ fi
+ 
+ 
+    $as_echo_n "              jit         : "
+    if test "x$enable_llvm" = "xno"; then :
+   $as_echo "$have_jit (disabled)"
+ elif test "x$enable_llvm" = "xyes"; then :
+   $as_echo "$have_jit"
+ elif test "x$enable_llvm" = "x"; then :
+   $as_echo "$have_jit"
+ else
+   $as_echo "$have_jit ($enable_llvm)"
+ fi
+ 
+ 
+ 
+    $as_echo_n "              mempool     : "
+    if test "x$enable_mempool" = "xno"; then :
+   $as_echo "$have_mempool (disabled)"
+ elif test "x$enable_mempool" = "xyes"; then :
+   $as_echo "$have_mempool"
+ elif test "x$enable_mempool" = "x"; then :
+   $as_echo "$have_mempool"
+ else
+   $as_echo "$have_mempool ($enable_mempool)"
+ fi
+ 
+ 
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Summary of engine detection features" >&5
+ $as_echo "$as_me: Summary of engine detection features" >&6;}
+ 
+ 
+    $as_echo_n "              autoit_ea06 : "
+    if test "x" = "xno"; then :
+   $as_echo "$have_autoitea06 (disabled)"
+ elif test "x" = "xyes"; then :
+   $as_echo "$have_autoitea06"
+ elif test "x" = "x"; then :
+   $as_echo "$have_autoitea06"
+ else
+   $as_echo "$have_autoitea06 ()"
+ fi
+ 
+ 
+ 
+    $as_echo_n "              bzip2       : "
+    if test "x$want_bzip2" = "xno"; then :
+   $as_echo "$ac_cv_c_cve_2008_1372 (disabled)"
+ elif test "x$want_bzip2" = "xyes"; then :
+   $as_echo "$ac_cv_c_cve_2008_1372"
+ elif test "x$want_bzip2" = "x"; then :
+   $as_echo "$ac_cv_c_cve_2008_1372"
+ else
+   $as_echo "$ac_cv_c_cve_2008_1372 ($want_bzip2)"
+ fi
+ 
+ 
+ 
+    $as_echo_n "              zlib        : "
+    if test "xyes" = "xno"; then :
+   $as_echo "$ZLIB_HOME (disabled)"
+ elif test "xyes" = "xyes"; then :
+   $as_echo "$ZLIB_HOME"
+ elif test "xyes" = "x"; then :
+   $as_echo "$ZLIB_HOME"
+ else
+   $as_echo "$ZLIB_HOME (yes)"
+ fi
+ 
+ 
+ 
+    $as_echo_n "              unrar       : "
+    if test "x$want_unrar" = "xno"; then :
+   $as_echo "$want_unrar (disabled)"
+ elif test "x$want_unrar" = "xyes"; then :
+   $as_echo "$want_unrar"
+ elif test "x$want_unrar" = "x"; then :
+   $as_echo "$want_unrar"
+ else
+   $as_echo "$want_unrar ($want_unrar)"
+ fi
+ 
+ 
  # Yep, downgrading the compiler avoids the bug too:
  # 4.0.x, and 4.1.0 are the known buggy versions
  # 3.4 doesn't have the bug
diff --combined configure.in
index ce4e422,0b9cb47..0401b3d
--- a/configure.in
+++ b/configure.in
@@@ -1,5 -1,5 +1,5 @@@
  dnl   Copyright (C) 2002 - 2006 Tomasz Kojm <tkojm at clamav.net>
- dnl   gethostbyname_r and readdir_r checks (c) COPYRIGHT MIT 1995
+ dnl   readdir_r checks (c) COPYRIGHT MIT 1995
  dnl   socklen_t check (c) Alexander V. Lukyanov <lav at yars.free.net>
  dnl
  dnl   This program is free software; you can redistribute it and/or modify
@@@ -20,8 -20,9 +20,9 @@@ dnl   MA 02110-1301, USA
  AC_PREREQ([2.59])
  dnl For a release change [devel] to the real version [0.xy]
  dnl also change VERSION below
- AC_INIT([ClamAV], [0.95.3], [http://bugs.clamav.net/], [clamav], [http://www.clamav.net/])
 -AC_INIT([ClamAV], [devel], [http://bugs.clamav.net/], [clamav], [http://www.clamav.net/])
++AC_INIT([ClamAV], [0.96], [http://bugs.clamav.net/], [clamav], [http://www.clamav.net/])
  
+ AH_BOTTOM([#include "platform.h"])
  dnl put configure auxiliary into config
  AC_CONFIG_AUX_DIR([config])
  AC_CONFIG_HEADER([clamav-config.h])
@@@ -33,20 -34,21 +34,21 @@@ AC_CREATE_TARGET_H([target.h]
  
  dnl -Wall and -Werror here are NOT CFLAGS, they refer to automake warnings
  dnl enable stealth builds and psychedelic tests
- AM_INIT_AUTOMAKE([-Wall -Wportability -Wno-override -Werror std-options foreign dist-bzip2 no-define])
+ AM_INIT_AUTOMAKE([1.11 -Wall -Wportability -Wno-override -Werror std-options foreign dist-bzip2 no-define color-tests parallel-tests tar-ustar])
+ AM_SILENT_RULES([yes])
  
  dnl we told automake to not define these, since we want to include
  dnl the date in the version
  AC_DEFINE([PACKAGE], PACKAGE_NAME, [Name of package])
  
  dnl change this on a release
- VERSION="0.95.3"
 -VERSION="devel-`date +%Y%m%d`"
 -dnl VERSION="0.94rc1"
 +dnl VERSION="devel-`date +%Y%m%d`"
++VERSION="0.96"
  AC_DEFINE_UNQUOTED([VERSION],"$VERSION",[Version number of package])
  
- LC_CURRENT=6
- LC_REVISION=5
- LC_AGE=0
+ LC_CURRENT=7
+ LC_REVISION=2
+ LC_AGE=1
  LIBCLAMAV_VERSION="$LC_CURRENT":"$LC_REVISION":"$LC_AGE"
  AC_SUBST([LIBCLAMAV_VERSION])
  
@@@ -56,7 -58,7 +58,7 @@@ AC_PROG_LN_
  AC_PROG_MAKE_SET
  
  LT_CONFIG_LTDL_DIR([libltdl])
- LT_INIT([dlopen])
+ LT_INIT([dlopen disable-static])
  LTDL_INIT([recursive])
  AC_CONFIG_FILES([libltdl/Makefile])
  
@@@ -80,6 -82,8 +82,8 @@@ if test $ac_cv_c_bigendian = no; the
      m4_default([], [AC_DEFINE([WORDS_BIGENDIAN], 0)])
  fi
  
+ LT_LIB_M
+ 
  AC_ARG_ENABLE([gcc-vcheck],
  [  --disable-gcc-vcheck	  do not check for buggy gcc version ],
  gcc_check=$enableval, gcc_check="yes")
@@@ -128,7 -132,6 +132,6 @@@ if test "x$ac_compiler_gnu" = "xyes"; t
  			;;
  	esac
  fi
- AM_CONDITIONAL([DISTCHECK_ENABLE_FLAGS], test "x$distcheck_enable_flags" = "x1")
  
  dnl Checks if compiler produces valid code, regardless of compiler
  dnl we do these checks here to avoid receiving endless bugreports about
@@@ -430,13 -433,15 +433,15 @@@ f
  AC_CHECK_LIB([socket], [bind], [LIBS="$LIBS -lsocket"; CLAMAV_MILTER_LIBS="$CLAMAV_MILTER_LIBS -lsocket"; FRESHCLAM_LIBS="$FRESHCLAM_LIBS -lsocket"; CLAMD_LIBS="$CLAMD_LIBS -lsocket"])
  AC_SEARCH_LIBS([gethostent],[nsl], [(LIBS="$LIBS -lnsl"; CLAMAV_MILTER_LIBS="$CLAMAV_MILTER_LIBS -lnsl"; FRESHCLAM_LIBS="$FRESHCLAM_LIBS -lnsl"; CLAMD_LIBS="$CLAMD_LIBS -lnsl")])
  
- AC_CHECK_FUNCS([poll setsid memcpy snprintf vsnprintf strerror_r strlcpy strlcat strcasestr inet_ntop setgroups initgroups ctime_r mkstemp mallinfo])
+ AC_CHECK_FUNCS([poll setsid memcpy snprintf vsnprintf strerror_r strlcpy strlcat strcasestr inet_ntop setgroups initgroups ctime_r mkstemp mallinfo madvise])
  AC_FUNC_FSEEKO
  
  dnl Check if anon maps are available, check if we can determine the page size
  AC_C_FUNC_MMAP_PRIVATE
  AC_C_FUNC_PAGESIZE
+ AC_C_FUNC_MMAP_ANONYMOUS
  AC_ARG_ENABLE([mempool],[  --disable-mempool       disable memory pools], enable_mempool=$enableval, enable_mempool="yes")
+ have_mempool="no"
  if test "$enable_mempool" = "yes"; then
  	if test "$ac_cv_c_mmap_private" != "yes"; then
  		AC_MSG_NOTICE([****** mempool support disabled (mmap not available or not usable)])
@@@ -444,11 -449,11 +449,11 @@@
  		if test "$ac_cv_c_can_get_pagesize" != "yes"; then
  			AC_MSG_NOTICE([****** mempool support disabled (pagesize cannot be determined)])
  		else
- 			AC_C_FUNC_MMAP_ANONYMOUS
  			if test "$ac_cv_c_mmap_anonymous" = "no"; then
  				AC_MSG_NOTICE([****** mempool support disabled (anonymous mmap not available)])
  			else
  				AC_DEFINE([USE_MPOOL],1,[enable memory pools])
+ 				have_mempool="yes"
  			fi
  		fi
  	fi
@@@ -546,19 -551,19 +551,19 @@@ els
  	fi
      fi
  
+     save_LIBS="$LIBS"
      if test "$ZLIB_HOME" != "/usr"; then
  	CPPFLAGS="$CPPFLAGS -I$ZLIB_HOME/include"
  	save_LDFLAGS="$LDFLAGS"
- 	save_LIBS="$LIBS"
  	LDFLAGS="$LDFLAGS -L$ZLIB_HOME/lib"
- 	AC_CHECK_LIB([z], [inflateEnd], [LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -L$ZLIB_HOME/lib -lz";FRESHCLAM_LIBS="$FRESHCLAM_LIBS -L$ZLIB_HOME/lib -lz"], AC_MSG_ERROR([Please install zlib and zlib-devel packages]))
+ 	AC_CHECK_LIB([z], [inflateEnd], [LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -L$ZLIB_HOME/lib -lz"; FRESHCLAM_LIBS="$FRESHCLAM_LIBS -L$ZLIB_HOME/lib -lz"], AC_MSG_ERROR([Please install zlib and zlib-devel packages]))
  	AC_CHECK_LIB([z], [gzopen], [], AC_MSG_ERROR([Your zlib is missing gzopen()]))
  	LDFLAGS="$save_LDFLAGS"
- 	LIBS="$save_LIBS"
      else
  	AC_CHECK_LIB([z], [inflateEnd], [LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -lz";FRESHCLAM_LIBS="$FRESHCLAM_LIBS -lz"], AC_MSG_ERROR([Please install zlib and zlib-devel packages]))
  	AC_CHECK_LIB([z], [gzopen],[], AC_MSG_ERROR([Your zlib is missing gzopen()]))
      fi
+     LIBS="$save_LIBS"
  fi
  
  AC_ARG_ENABLE([bzip2],
@@@ -569,7 -574,8 +574,8 @@@ if test "$want_bzip2" = "yes
  then
      AC_LIB_LINKFLAGS([bz2])
      save_LDFLAGS="$LDFLAGS"
-     LDFLAGS="$LDFLAGS -L$LIBBZ2_PREFIX/$acl_libdirstem";
+     # Only add -L if prefix is not empty
+     test -z "$LIBBZ2_PREFIX" || LDFLAGS="$LDFLAGS -L$LIBBZ2_PREFIX/$acl_libdirstem";
  
      have_bzprefix="no"
      AC_CHECK_LIB([bz2], [BZ2_bzReadOpen], [have_bzprefix="yes"])
@@@ -811,11 -817,23 +817,23 @@@ AC_ARG_ENABLE([debug]
  enable_debug=$enableval, enable_debug="no")
  
  if test "$enable_debug" = "yes"; then
+   VERSION_SUFFIX="$VERSION_SUFFIX-debug"
    AC_DEFINE([CL_DEBUG],1,[enable debugging])
  else
    AC_DEFINE([NDEBUG],1,[disable assertions])
  fi
  
+ AC_ARG_ENABLE([unsigned-bytecode],
+ [  --enable-unsigned-bytecode	  enable load of unsigned bytecode],
+ enable_unsignedbytecode="$enableval", enable_unsignedbytecode="no")
+ 
+ if test "$enable_unsignedbytecode" = "yes"; then
+   VERSION_SUFFIX="$VERSION_SUFFIX-unsigned-bc"
+   AC_DEFINE([CL_BCUNSIGNED],1,[enable loading of unsigned bytecode])
+ else
+   AC_DEFINE([CL_BCUNSIGNED],1,[disable loading of unsigned bytecode])
+ fi
+ 
  AC_ARG_ENABLE([no-cache],
  [  --enable-no-cache	  use "Cache-Control: no-cache" in freshclam],
  enable_nocache=$enableval, enable_nocache="no")
@@@ -951,7 -969,6 +969,6 @@@ freebsd[[45]]*
  	fi
      fi
      AC_DEFINE([C_BSD],1,[os is freebsd 4 or 5])
-     use_gethostbyname_r="no"
      ;;
  freebsd*)
      if test "$have_pthreads" = "yes"; then
@@@ -964,7 -981,6 +981,6 @@@
  	fi
      fi
      AC_DEFINE([C_BSD],1,[os is freebsd 6])
-     use_gethostbyname_r="no"
      ;;
  dragonfly*)
      if test "$have_pthreads" = "yes"; then
@@@ -977,7 -993,6 +993,6 @@@
  	fi
      fi
      AC_DEFINE([C_BSD],1,[os is dragonfly])
-     use_gethostbyname_r="no"
      ;;
  openbsd*)
      if test "$have_pthreads" = "yes"; then
@@@ -989,7 -1004,6 +1004,6 @@@
  	AC_DEFINE([_REENTRANT],1,[thread safe])
      fi
      AC_DEFINE([C_BSD],1,[os is OpenBSD])
-     use_gethostbyname_r="no"
      ;;
  bsdi*)
      if test "$have_pthreads" = "yes"; then
@@@ -999,7 -1013,6 +1013,6 @@@
  	AC_DEFINE([_REENTRANT],1,[thread safe])
      fi
      AC_DEFINE([C_BSD],1,[os is BSDI BSD/OS])
-     use_gethostbyname_r="no"
      ;;
  netbsd*)
       if test "$have_pthreads" = "yes"; then
@@@ -1008,26 -1021,22 +1021,22 @@@
  	AC_DEFINE([_REENTRANT],1,[thread safe])
       fi
      AC_DEFINE([C_BSD],1,[os is NetBSD])
-     use_gethostbyname_r="no"
      ;;
  bsd*)
      AC_MSG_RESULT([Unknown BSD detected. Disabling thread support.])
      have_pthreads="no"
      AC_DEFINE([C_BSD],1,[os is bsd flavor])
-     use_gethostbyname_r="no"
      ;;
  beos*)
      AC_MSG_RESULT([BeOS detected. Disabling thread support.])
      have_pthreads="no"
      AC_DEFINE([C_BEOS],1,[os is beos])
-     use_gethostbyname_r="no"
      ;;
  darwin*)
      AC_DEFINE([C_BSD],1,[os is bsd flavor])
      AC_DEFINE([C_DARWIN],1,[os is darwin])
      AC_DEFINE([BIND_8_COMPAT],1,[enable bind8 compatibility])
      use_netinfo="yes"
-     use_gethostbyname_r="no"
      ;;
  os2*)
      FRESHCLAM_LIBS="$FRESHCLAM_LIBS -lsyslog"
@@@ -1055,7 -1064,6 +1064,6 @@@ hpux*
  	AC_DEFINE([_REENTRANT],1,[thread safe])
      fi
      AC_DEFINE([C_HPUX],1,[os is hpux])
-     use_gethostbyname_r="no"
      ;;
  aix*)
      if test "$have_pthreads" = "yes"; then
@@@ -1167,72 -1175,6 +1175,6 @@@ the
      AC_DEFINE([BUILD_CLAMD], 1, "build clamd")
  fi
  
- dnl Check for gethostbyname_r and number of its arguments
- dnl Code from libwww/configure.in
- AC_MSG_CHECKING([for gethostbyname_r])
- if test -z "$ac_cv_gethostbyname_args"; then
- AC_TRY_COMPILE(
- [
- #include <sys/types.h>
- #include <netdb.h>
- ],[
- struct hostent *hp;
- struct hostent h;
- char *name;
- char buffer[10];
- int  h_errno;
- hp = gethostbyname_r(name, &h, buffer, 10, &h_errno);
- ], ac_cv_gethostbyname_args=5)
- fi
- if test -z "$ac_cv_gethostbyname_args"; then
- AC_TRY_COMPILE(
- [
- #include <sys/types.h>
- #include <netdb.h>
- ],[
- struct hostent h;
- struct hostent_data hdata;
- char *name;
- int  rc;
- rc = gethostbyname_r(name, &h, &hdata);
- ], ac_cv_gethostbyname_args=3)
- fi
- if test -z "$ac_cv_gethostbyname_args"; then
- AC_TRY_COMPILE(
- [
- #include <sys/types.h>
- #include <netdb.h>
- ], [
- struct hostent h;
- struct hostent *hp;
- char *name;
- char buf[10];
- int rc;
- int h_errno;
- 
- rc = gethostbyname_r(name, &h, buf, 10, &hp, &h_errno);
- ], ac_cv_gethostbyname_args=6)
- fi
- 
- AC_ARG_ENABLE([gethostbyname_r],
- [  --disable-gethostbyname_r	  disable support for gethostbyname_r],
- use_gethostbyname_r=$enableval,)
- 
- if test "$use_gethostbyname_r" = "no"; then
-     AC_MSG_RESULT([support disabled])
- elif test -z "$ac_cv_gethostbyname_args"; then
-     AC_MSG_RESULT(no)
- else
-     if test "$ac_cv_gethostbyname_args" = 3; then
- 	AC_DEFINE([HAVE_GETHOSTBYNAME_R_3],1,[gethostbyname_r takes 3 arguments])
-     elif test "$ac_cv_gethostbyname_args" = 5; then
- 	AC_DEFINE([HAVE_GETHOSTBYNAME_R_5],1,[gethostbyname_r takes 5 arguments])
-     elif test "$ac_cv_gethostbyname_args" = 6; then
- 	AC_DEFINE([HAVE_GETHOSTBYNAME_R_6],1,[gethostbyname_r takes 6 arguments])
-     fi
-     AC_MSG_RESULT([yes, and it takes $ac_cv_gethostbyname_args arguments])
- fi
- 
  dnl Check for readdir_r and number of its arguments
  dnl Code from libwww/configure.in
  
@@@ -1468,6 -1410,64 +1410,64 @@@ if test "$have_cv_attrib_aligned" = yes
  	AC_DEFINE([HAVE_ATTRIB_ALIGNED], 1, [attrib aligned])
  fi
  
+ dnl Sanity check that struct packing works
+ AC_MSG_CHECKING([that structure packing works])
+ AC_CACHE_VAL([have_cv_struct_pack],[
+     AC_TRY_RUN([
+ #ifndef HAVE_ATTRIB_PACKED
+ #define __attribute__(x)
+ #endif
+ #ifdef HAVE_PRAGMA_PACK
+ #pragma pack(1) /* has to be in column 1 ! */
+ #endif
+ #ifdef HAVE_PRAGMA_PACK_HPPA
+ #pragma pack 1 /* has to be in column 1 ! */
+ #endif
+ 
+ struct { char c __attribute__((packed)); long l __attribute__((packed)); } s;
+ 
+ #ifdef HAVE_PRAGMA_PACK
+ #pragma pack()
+ #endif
+ #ifdef HAVE_PRAGMA_PACK_HPPA
+ #pragma pack
+ #endif
+ 
+ struct { char c; long l;} s2;
+ 
+ #ifdef HAVE_PRAGMA_PACK
+ #pragma pack(1) /* has to be in column 1 ! */
+ #endif
+ #ifdef HAVE_PRAGMA_PACK_HPPA
+ #pragma pack 1 /* has to be in column 1 ! */
+ #endif
+ 
+ struct { char c; long l; } __attribute__((packed)) s3;
+ 
+ #ifdef HAVE_PRAGMA_PACK
+ #pragma pack()
+ #endif
+ #ifdef HAVE_PRAGMA_PACK_HPPA
+ #pragma pack
+ #endif
+ 
+     int main(int argc, char **argv) {
+         if (sizeof(s)!=sizeof(s.c)+sizeof(s.l))
+ 	    return 1;
+ 	if (sizeof(s) != sizeof(s3))
+ 	    return 2;
+ 	return (sizeof(s2) >= sizeof(s)) ? 0 : 3;
+     }],
+     [have_cv_struct_pack=yes],
+     [have_cv_struct_pack=no],
+     [have_cv_struct_pack=yes])
+ ])
+ AC_MSG_RESULT([$have_cv_struct_pack])
+ 
+ if test "$have_cv_struct_pack" = "no"; then
+     AC_MSG_ERROR([Structure packing seems to be available, but is not working with this compiler])
+ fi
+ 
  dnl Check if <sys/select.h> needs to be included for fd_set
  AC_MSG_CHECKING([for fd_set])
  AC_HEADER_EGREP([fd_mask], [sys/select.h], [have_fd_set=yes])
@@@ -1585,9 -1585,33 +1585,33 @@@ AC_SUBST([CURSES_LIBS]
  AM_CONDITIONAL([HAVE_CURSES],
  	       [test "X$HAVE_LIBNCURSES" = "Xyes" || test "X$HAVE_LIBPDCURSES" = "Xyes"])
  
+ AC_ARG_ENABLE([distcheck-werror],
+ 	      AC_HELP_STRING([--enable-distcheck-werror],
+ 			     [enable warnings as error for distcheck
+ 			      @<:@default=no@:>@]),
+ [enable_distcheckwerror=$enableval],[enable_distcheckwerror="no"])
+ 
+ # Enable distcheck warnings and Werror only for gcc versions that support them,
+ # and only after we've run the configure tests.
+ # Some configure tests fail (like checking for cos in -lm) if we enable these
+ # Werror flags for configure too (for example -Wstrict-prototypes makes
+ # configure think that -lm doesn't have cos, hence its in libc).
+ if test "x$enable_distcheckwerror" = "xyes"; then
+     if test "$distcheck_enable_flags" = "1"; then
+ 	CFLAGS="$CFLAGS -Wno-pointer-sign -Werror-implicit-function-declaration -Werror -Wextra -Wall -Wno-error=bad-function-cast -Wbad-function-cast -Wcast-align -Wendif-labels -Wfloat-equal -Wformat=2 -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wno-error=missing-prototypes -Wnested-externs -Wno-error=nested-externs -Wpointer-arith -Wstrict-prototypes -Wno-error=strict-prototypes -Wno-switch -Wno-switch-enum -Wundef -Wwrite-strings -Wstrict-overflow=1 -Winit-self -Wmissing-include-dirs -Wstrict-aliasing -Wdeclaration-after-statement -Waggregate-return -Wmissing-format-attribute -Wno-error=missing-format-attribute -Wno-error=type-limits -Wno-error=unused-function -Wno-error=unused-value -Wno-error=unused-variable -Wcast-qual -Wno-error=cast-qual -Wno-error=sign-compare -Wshadow -Wno-error=shadow -Wno-error=uninitialized -fdiagnostics-show-option -Wno-unused-parameter -Wno-error=unreachable-code -Winvalid-pch -Wno-error=invalid-pch -O2 -D_FORTIFY_SOURCE=2 -fstack-protector-all -Wstack-protector -Wno-error=aggregate-return"
+     fi
+ fi
+ 
+ AC_ARG_ENABLE([llvm],AC_HELP_STRING([--enable-llvm],
+ 				    [Enable 'llvm' JIT/verifier support @<:@default=auto@:>@]),
+ 				    [enable_llvm=$enableval], [enable_llvm="auto"])
+ 
+ if test "$enable_llvm" != "no"; then
+     dnl Try to configure subdir, optionally
+     AC_CONFIG_SUBDIRS_OPTIONAL([libclamav/c++])
+ fi
+ 
  AC_OUTPUT([
- libclamav/Makefile
- libclamav/lzma/Makefile
  clamscan/Makefile
  database/Makefile
  docs/Makefile
@@@ -1601,9 -1625,11 +1625,11 @@@ etc/Makefil
  test/Makefile
  unit_tests/Makefile
  clamdtop/Makefile
+ clambc/Makefile
  Makefile
  clamav-config
  libclamav.pc
+ platform.h
  docs/man/clamav-milter.8
  docs/man/clamconf.1
  docs/man/clamd.8
@@@ -1616,6 -1642,60 +1642,60 @@@ docs/man/sigtool.
  docs/man/clamdtop.1
  ])
  
+ if test "$enable_llvm" = "yes" && test "$subdirfailed" != "no"; then
+     AC_MSG_ERROR([Failed to configure LLVM, and LLVM was explicitly requested])
+ fi
+ AM_CONDITIONAL([ENABLE_LLVM],
+ 	       [test "$subdirfailed" != "yes" && test "$enable_llvm" != "no"])
+ no_recursion="yes";
+ AC_OUTPUT([libclamav/Makefile])
+ 
+ # Print a summary of what features we enabled
+ AC_MSG_NOTICE([Summary of detected features follows])
+ 
+ cat <<EOF
+               OS          : $target_os
+               pthreads    : $have_pthreads ($THREAD_LIBS)
+ EOF
+ 
+ AC_MSG_NOTICE([Summary of miscellaneous  features])
+ if test "x$CHECK_LIBS" = "x"; then
+     check_libs="no"
+ else
+     check_libs="$CHECK_LIBS"
+ fi
+ CL_MSG_STATUS([check       ],[$check_libs],[$enable_check_ut])
+ CL_MSG_STATUS([clamuko     ],[$want_clamuko],[$want_clamuko])
+ if test "x$ac_cv_have_control_in_msghdr" = "xyes"; then
+     CL_MSG_STATUS([fdpassing   ],[$have_fdpass],[$want_fdpassing])
+ else
+     CL_MSG_STATUS([fdpassing   ],[n/a],[])
+ fi
+ CL_MSG_STATUS([IPv6        ],[$have_cv_ipv6],[$want_ipv6])
+ 
+ AC_MSG_NOTICE([Summary of optional tools])
+ CL_MSG_STATUS([clamdtop    ],[$CURSES_LIBS],[$enable_clamdtop])
+ CL_MSG_STATUS([milter      ],[yes],[$have_milter])
+ 
+ AC_MSG_NOTICE([Summary of engine performance features)])
+ if test "x$enable_debug" = "xyes"; then
+     CL_MSG_STATUS([release mode],[no],[debug build])
+ else
+     CL_MSG_STATUS([release mode],[yes],[yes])
+ fi
+ have_jit="no"
+ if test "$subdirfailed" = "no"; then
+     have_jit="yes"
+ fi
+ CL_MSG_STATUS([jit         ],[$have_jit],[$enable_llvm])
+ CL_MSG_STATUS([mempool     ],[$have_mempool],[$enable_mempool])
+ 
+ AC_MSG_NOTICE([Summary of engine detection features])
+ CL_MSG_STATUS([autoit_ea06 ],[$have_autoitea06],[])
+ CL_MSG_STATUS([bzip2       ],[$ac_cv_c_cve_2008_1372],[$want_bzip2])
+ CL_MSG_STATUS([zlib        ],[$ZLIB_HOME],[yes])
+ CL_MSG_STATUS([unrar       ],[$want_unrar],[$want_unrar])
+ 
  # Yep, downgrading the compiler avoids the bug too:
  # 4.0.x, and 4.1.0 are the known buggy versions
  # 3.4 doesn't have the bug
diff --combined docs/man/clamd.conf.5.in
index a906f62,6a81be9..6953fbc
--- a/docs/man/clamd.conf.5.in
+++ b/docs/man/clamd.conf.5.in
@@@ -1,4 -1,4 +1,4 @@@
 -.TH "clamd.conf" "5" "February 12, 2007" "ClamAV @VERSION@" "Clam AntiVirus"
 +.TH "clamd.conf" "5" "November 2, 2009" "ClamAV @VERSION@" "Clam AntiVirus"
  .SH "NAME"
  .LP 
  \fBclamd.conf\fR \- Configuration file for Clam AntiVirus Daemon
@@@ -78,13 -78,26 +78,26 @@@ Default: system specific (usually /tmp 
  .TP 
  \fBDatabaseDirectory STRING\fR
  Path to a directory containing database files.
+ .TP 
+ \fBOfficialDatabaseOnly BOOL\fR
+ Only load the official signatures published by the ClamAV project.
  .br 
- Default: @DBDIR@
+ Default: no
  .TP 
  \fBLocalSocket STRING\fR
  Path to a local (Unix) socket the daemon will listen on.
  .br 
  Default: no
+ .TP
+ \fBLocalSocketGroup STRING\fR
+ Sets the group ownership on the unix socket.
+ .br
+ Default: the primary group of the user running clamd
+ .TP
+ \fBLocalSocketMode STRING\fR
+ Sets the permissions on the unix socket to the specified mode.
+ .br
+ Default: socket is world readable and writable
  .TP 
  \fBFixStaleSocket BOOL\fR
  Remove stale socket after unclean shutdown.
@@@ -125,7 -138,7 +138,7 @@@ ReadTimeout
  Default: 5
  .TP
  \fBSendBufTimeout NUMBER\fR
- This option specifies how long to wait (in miliseconds) if the send buffer is full.
+ This option specifies how long to wait (in milliseconds) if the send buffer is full.
  Keep this value low to prevent clamd hanging.
  .br
  Default: 500
@@@ -138,7 -151,7 +151,7 @@@ It is recommended to have this value a
  the following condition should hold:
  MaxThreads*MaxRecursion + MaxQueue - MaxThreads + 6 < RLIMIT_NOFILE.\fR
  RLIMIT_NOFILE is the maximum number of open file descriptors (usually 1024), set
 -by \fBulimit -n\fR.
 +by \fBulimit \-n\fR.
  .br
  Default: 100
  .TP 
@@@ -162,6 -175,11 +175,11 @@@ Follow directory symlinks
  .br 
  Default: no
  .TP 
+ \fBCrossFilesystems BOOL\fR
+ Scan files and directories on other filesystems.
+ .br 
+ Default: yes
+ .TP 
  \fBFollowFileSymlinks BOOL\fR
  Follow regular file symlinks.
  .br 
@@@ -221,7 -239,22 +239,22 @@@ Limit data port range
  .br 
  Default: 2048
  .TP 
- \fBDetectPUA\fR
+ \fBBytecode BOOL\fR
+ With this option enabled ClamAV will load bytecode from the database. It is highly recommended you keep this option turned on, otherwise you may miss detections for many new viruses.
+ .br
+ Default: yes
+ .TP 
+ \fBBytecodeSecurity STRING\fR
+ Set bytecode security level. Possible values: \fBNone\fR: no security at all, meant for debugging. DO NOT USE THIS ON PRODUCTION SYSTEMS, \fBTrustSigned\fR: trust bytecode loaded from signed .c[lv]d files and insert runtime safety checks for bytecode loaded from other sources, \fBParanoid\fR: don't trust any bytecode, insert runtime checks for all. The recommended setting is \fBTrustSigned\fR, because bytecode in .cvd files already has safety checks inserted into it.
+ .br 
+ Default: TrustSigned
+ .TP 
+ \fBBytecodeTimeout NUMBER\fR
+ Set bytecode timeout in milliseconds.
+ .br
+ Default: 60000
+ .TP 
+ \fBDetectPUA BOOL\fR
  Detect Possibly Unwanted Applications.
  .br 
  Default: No
@@@ -275,11 -308,6 +308,6 @@@ Default: ye
  Enable scanning of mail files.
  .br 
  Default: yes
- .TP 
- \fBMailFollowURLs BOOL\fR
- If an email contains URLs ClamAV can download and scan them. \fBWARNING: This option may open your system to a DoS attack. Never use it on loaded servers.\fR
- .br 
- Default: no
  .TP
  \fBScanPartialMessages BOOL\fR
  Scan RFC1341 messages split over many emails. You will need to periodically clean up $TemporaryDirectory/clamav-partial directory. \fBWARNING: This option may open your system to a DoS attack. Never use it on loaded servers.\fR
@@@ -359,8 -387,8 +387,8 @@@ Default: ye
  \fBArchiveBlockMax (OBSOLETE)\fR
  \fBWARNING:\fR This option is no longer accepted.
  .TP 
 -\fBArchiveLimitMemoryUsage BOOL\fR
 -Use slower decompression algorithm which uses less memory. This option only affects the bzip2 decompressor.
 +\fBArchiveLimitMemoryUsage (OBSOLETE)\fR
 +\fBWARNING:\fR This option is no longer accepted.
  .br 
  Default: no
  .TP 
@@@ -394,6 -422,11 +422,11 @@@ Enable Clamuko. Dazuko (/dev/dazuko) mu
  .br 
  Default: no
  .TP 
+ \fBClamukoScannerCount NUMBER\fR
+ The number of scanner threads that will be started (DazukoFS only). Having multiple scanner threads allows Clamuko to serve multiple processes simultaneously. This is particularly beneficial on SMP machines.
+ .br 
+ Default: 3
+ .TP 
  \fBClamukoScanOnOpen BOOL\fR
  Scan files on open.
  .br 
diff --combined etc/clamav-milter.conf
index 0b11d55,aafc795..4206e8d
--- a/etc/clamav-milter.conf
+++ b/etc/clamav-milter.conf
@@@ -20,6 -20,14 +20,14 @@@ Exampl
  #MilterSocket /tmp/clamav-milter.socket
  #MilterSocket inet:7357
  
+ # Define the group ownership for the (unix) milter socket.
+ # Default: disabled (the primary group of the user running clamd)
+ #MilterSocketGroup virusgroup
+ 
+ # Sets the permissions on the (unix) milter socket to the specified mode.
+ # Default: disabled (obey umask)
+ #MilterSocketMode 660
+ 
  # Remove stale socket after unclean shutdown.
  #
  # Default: yes
@@@ -56,7 -64,7 +64,7 @@@
  # daemon (main thread).
  #
  # Default: disabled
 -#PidFile /var/run/clamav-milter.pid
 +#PidFile /var/run/clamav/clamav-milter.pid
  
  # Optional path to the global temporary directory.
  # Default: system specific (usually /tmp or /var/tmp).
@@@ -83,7 -91,6 +91,7 @@@
  #
  # Default: no default
  #ClamdSocket tcp:scanner.mydomain:7357
 +ClamdSocket /var/run/clamav/clamd
  
  
  ##
@@@ -113,6 -120,10 +121,10 @@@
  
  # Messages from authenticated SMTP users matching this extended POSIX
  # regular expression (egrep-like) will not be scanned.
+ # As an alternative, a file containing a plain (not regex) list of names (one
+ # per line) can be specified using the prefix "file:".
+ # e.g. SkipAuthenticated file:/etc/good_guys
+ #
  # Note: this is the AUTH login name!
  #
  # Default: unset (no whitelisting based on SMTP auth)
@@@ -170,6 -181,11 +182,11 @@@
  # Default: no
  #AddHeader Replace
  
+ # When AddHeader is in use, this option allows to arbitrary set the reported
+ # hostname. This may be desirable in order to avoid leaking internal names.
+ # If unset the real machine name is used.
+ # Default: disabled
+ #ReportHostname my.mail.server.name
  
  ##
  ## Logging options
@@@ -180,7 -196,7 +197,7 @@@
  # A full path is required.
  #
  # Default: disabled
 -#LogFile /tmp/clamav-milter.log
 +#LogFile /var/log/clamav/clamav-milter.log
  
  # By default the log file is locked for writing - the lock protects against
  # running clamav-milter multiple times.
diff --combined etc/clamd.conf
index 4426396,116b586..755f08d
--- a/etc/clamd.conf
+++ b/etc/clamd.conf
@@@ -11,7 -11,7 +11,7 @@@ Exampl
  # LogFile must be writable for the user running daemon.
  # A full path is required.
  # Default: disabled
 -#LogFile /tmp/clamd.log
 +#LogFile /var/log/clamav/clamd.log
  
  # By default the log file is locked for writing - the lock protects against
  # running clamd multiple times (if want to run another clamd, please
@@@ -54,7 -54,7 +54,7 @@@
  # This option allows you to save a process identifier of the listening
  # daemon (main thread).
  # Default: disabled
 -#PidFile /var/run/clamd.pid
 +#PidFile /var/run/clamav/clamd.pid
  
  # Optional path to the global temporary directory.
  # Default: system specific (usually /tmp or /var/tmp).
@@@ -64,12 -64,24 +64,24 @@@
  # Default: hardcoded (depends on installation options)
  #DatabaseDirectory /var/lib/clamav
  
+ # Only load the official signatures published by the ClamAV project.
+ # Default: no
+ #OfficialDatabaseOnly no
+ 
  # The daemon can work in local mode, network mode or both. 
  # Due to security reasons we recommend the local mode.
  
  # Path to a local socket file the daemon will listen on.
  # Default: disabled (must be specified by a user)
- LocalSocket /var/run/clamav/clamd
 -#LocalSocket /tmp/clamd.socket
++#LocalSocket /var/run/clamav/clamd
+ 
+ # Sets the group ownership on the unix socket.
+ # Default: disabled (the primary group of the user running clamd)
+ #LocalSocketGroup virusgroup
+ 
+ # Sets the permissions on the unix socket to the specified mode.
+ # Default: disabled (socket is world accessible)
+ #LocalSocketMode 660
  
  # Remove stale socket after unclean shutdown.
  # Default: yes
@@@ -156,6 -168,10 +168,10 @@@
  # Default: no
  #FollowFileSymlinks yes
  
+ # Scan files and directories on other filesystems.
+ # Default: yes
+ #CrossFilesystems yes
+ 
  # Perform a database check.
  # Default: 600 (10 min)
  #SelfCheck 600
@@@ -258,12 -274,6 +274,6 @@@
  # Default: yes
  #ScanMail yes
  
- # If an email contains URLs ClamAV can download and scan them.
- # WARNING: This option may open your system to a DoS attack.
- #	   Never use it on loaded servers.
- # Default: no
- #MailFollowURLs no
- 
  # Scan RFC1341 messages split over many emails.
  # You will need to periodically clean up $TemporaryDirectory/clamav-partial directory.
  # WARNING: This option may open your system to a DoS attack.
@@@ -405,15 -415,26 +415,26 @@@
  
  ##
  ## Clamuko settings
- ## WARNING: This is experimental software. It is very likely it will hang
- ##	    up your system!!!
  ##
  
- # Enable Clamuko. Dazuko (/dev/dazuko) must be configured and running.
+ # Enable Clamuko. Dazuko must be configured and running. Clamuko supports
+ # both Dazuko (/dev/dazuko) and DazukoFS (/dev/dazukofs.ctrl). DazukoFS
+ # is the preferred option. For more information please visit www.dazuko.org
  # Default: no
  #ClamukoScanOnAccess yes
  
- # Set access mask for Clamuko.
+ # The number of scanner threads that will be started (DazukoFS only).
+ # Having multiple scanner threads allows Clamuko to serve multiple
+ # processes simultaneously. This is particularly beneficial on SMP machines.
+ # Default: 3
+ #ClamukoScannerCount 3
+ 
+ # Don't scan files larger than ClamukoMaxFileSize
+ # Value of 0 disables the limit.
+ # Default: 5M
+ #ClamukoMaxFileSize 10M
+ 
+ # Set access mask for Clamuko (Dazuko only).
  # Default: no
  #ClamukoScanOnOpen yes
  #ClamukoScanOnClose yes
@@@ -421,16 -442,35 +442,35 @@@
  
  # Set the include paths (all files inside them will be scanned). You can have
  # multiple ClamukoIncludePath directives but each directory must be added
- # in a seperate line.
+ # in a seperate line. (Dazuko only)
  # Default: disabled
  #ClamukoIncludePath /home
  #ClamukoIncludePath /students
  
- # Set the exclude paths. All subdirectories are also excluded.
+ # Set the exclude paths. All subdirectories are also excluded. (Dazuko only)
  # Default: disabled
  #ClamukoExcludePath /home/bofh
  
- # Don't scan files larger than ClamukoMaxFileSize
- # Value of 0 disables the limit.
- # Default: 5M
- #ClamukoMaxFileSize 10M
+ # With this option enabled ClamAV will load bytecode from the database. 
+ # It is highly recommended you keep this option on, otherwise you'll miss detections for many new viruses.
+ # Default: yes
+ #Bytecode yes
+ 
+ # Set bytecode security level.
+ # Possible values:
+ #       None - no security at all, meant for debugging. DO NOT USE THIS ON PRODUCTION SYSTEMS
+ #         This value is only available if clamav was built with --enable-debug!
+ #       TrustSigned - trust bytecode loaded from signed .c[lv]d files,
+ #                insert runtime safety checks for bytecode loaded from other sources
+ #       Paranoid - don't trust any bytecode, insert runtime checks for all
+ # Recommended: TrustSigned, because bytecode in .cvd files already has these checks
+ # Note that by default only signed bytecode is loaded, currently you can only
+ # load unsigned bytecode in --enable-debug mode.
+ #
+ # Default: TrustSigned
+ #BytecodeSecurity TrustSigned
+ 
+ # Set bytecode timeout in miliseconds.
+ # 
+ # Default: 60000
+ # BytecodeTimeout 60000
diff --combined etc/freshclam.conf
index 6e91bbc,14a734b..e062457
--- a/etc/freshclam.conf
+++ b/etc/freshclam.conf
@@@ -14,7 -14,7 +14,7 @@@ Exampl
  
  # Path to the log file (make sure it has proper permissions)
  # Default: disabled
 -#UpdateLogFile /var/log/freshclam.log
 +#UpdateLogFile /var/log/clamav/freshclam.log
  
  # Maximum size of the log file.
  # Value of 0 disables the limit.
@@@ -43,7 -43,7 +43,7 @@@
  
  # This option allows you to save the process identifier of the daemon
  # Default: disabled
 -#PidFile /var/run/freshclam.pid
 +#PidFile /var/run/clamav/freshclam.pid
  
  # By default when started freshclam drops privileges and switches to the
  # "clamav" user. This directive allows you to change the database owner.
@@@ -160,6 -160,21 +160,21 @@@ DatabaseMirror database.clamav.ne
  # Default: disabled
  #DetectionStatsCountry country-code
  
+ # This option enables support for our "Personal Statistics" service. 
+ # When this option is enabled, the information on malware detected by
+ # your clamd installation is made available to you through our website.
+ # To get your HostID, log on http://www.stats.clamav.net and add a new
+ # host to your host list. Once you have the HostID, uncomment this option
+ # and paste the HostID here. As soon as your freshclam starts submitting
+ # information to our stats collecting service, you will be able to view
+ # the statistics of this clamd installation by logging into
+ # http://www.stats.clamav.net with the same credentials you used to
+ # generate the HostID. For more information refer to:
+ # http://www.clamav.net/support/faq/faq-cctts/
+ # This feature requires SubmitDetectionStats to be enabled.
+ # Default: disabled
+ #DetectionStatsHostID unique-id
+ 
  # This option enables support for Google Safe Browsing. When activated for
  # the first time, freshclam will download a new database file (safebrowsing.cvd)
  # which will be automatically loaded by clamd and clamscan during the next
@@@ -173,3 -188,8 +188,8 @@@
  # and http://safebrowsing.clamav.net for more information.
  # Default: disabled
  #SafeBrowsing yes
+ 
+ # This option enables downloading of bytecode.cvd, which includes additional
+ # detection mechanisms and improvements to the ClamAV engine.
+ # Default: enabled
+ #Bytecode yes
diff --combined libclamav/filetypes.h
index 35a1587,0ed8ad4..785805c
--- a/libclamav/filetypes.h
+++ b/libclamav/filetypes.h
@@@ -25,12 -25,14 +25,14 @@@
  
  #include "clamav.h"
  #include "cltypes.h"
+ #include "fmap.h"
  
  #define MAGIC_BUFFER_SIZE 1024
  #define CL_TYPENO 500
  #define MAX_EMBEDDED_OBJ 10
  
  typedef enum {
+     CL_TYPE_ANY = 0,
      CL_TYPE_TEXT_ASCII = CL_TYPENO, /* X3.4, ISO-8859, non-ISO ext. ASCII */
      CL_TYPE_TEXT_UTF8,
      CL_TYPE_TEXT_UTF16LE,
@@@ -39,10 -41,15 +41,15 @@@
      /* Please do not add any new types above this line */
      CL_TYPE_ERROR,
      CL_TYPE_MSEXE,
-     CL_TYPE_PE_DISASM,
      CL_TYPE_ELF,
+     CL_TYPE_MACHO,
+     CL_TYPE_MACHO_UNIBIN,
      CL_TYPE_POSIX_TAR,
      CL_TYPE_OLD_TAR,
+     CL_TYPE_CPIO_OLD,
+     CL_TYPE_CPIO_ODC,
+     CL_TYPE_CPIO_NEWC,
+     CL_TYPE_CPIO_CRC,
      CL_TYPE_GZ,
      CL_TYPE_ZIP,
      CL_TYPE_BZ,
@@@ -64,13 -71,8 +71,14 @@@
      CL_TYPE_SCRIPT,
      CL_TYPE_HTML_UTF16,
      CL_TYPE_RTF,
+     CL_TYPE_7Z,
  
 +    /* for compatibility with daily.cvd < 9954 */
 +    CL_TYPE_CPIO_NEWC,
 +    CL_TYPE_CPIO_CRC,
 +    CL_TYPE_CPIO_ODC,
 +    CL_TYPE_CPIO_OLD,
 +
      /* bigger numbers have higher priority (in o-t-f detection) */
      CL_TYPE_HTML, /* on the fly */
      CL_TYPE_MAIL,  /* magic + on the fly */
@@@ -81,6 -83,7 +89,7 @@@
      CL_TYPE_ARJSFX,
      CL_TYPE_NULSFT, /* on the fly */
      CL_TYPE_AUTOIT,
+     CL_TYPE_ISHIELD_MSI,
      CL_TYPE_IGNORED /* please don't add anything below */
  } cli_file_t;
  
@@@ -103,7 -106,7 +112,7 @@@ struct cli_matched_type 
  cli_file_t cli_ftcode(const char *name);
  void cli_ftfree(const struct cl_engine *engine);
  cli_file_t cli_filetype(const unsigned char *buf, size_t buflen, const struct cl_engine *engine);
- cli_file_t cli_filetype2(int desc, const struct cl_engine *engine);
+ cli_file_t cli_filetype2(fmap_t *map, const struct cl_engine *engine);
  int cli_addtypesigs(struct cl_engine *engine);
  
  #endif
diff --combined libclamav/others_common.c
index 1e1a1a8,68a95e7..4203458
--- a/libclamav/others_common.c
+++ b/libclamav/others_common.c
@@@ -33,30 -33,24 +33,24 @@@
  #endif
  #include <sys/types.h>
  #include <sys/stat.h>
- #ifndef	C_WINDOWS
+ #include <dirent.h>
+ #ifndef	_WIN32
  #include <sys/wait.h>
  #include <sys/time.h>
  #endif
  #include <time.h>
  #include <fcntl.h>
- #ifndef	C_WINDOWS
+ #ifdef	HAVE_PWD_H
  #include <pwd.h>
  #endif
  #include <errno.h>
  #include "target.h"
- #ifndef	C_WINDOWS
- #include <sys/time.h>
- #endif
  #ifdef	HAVE_SYS_PARAM_H
  #include <sys/param.h>
  #endif
  #ifdef	HAVE_MALLOC_H
  #include <malloc.h>
  #endif
- #if	defined(_MSC_VER) && defined(_DEBUG)
- #include <crtdbg.h>
- #endif
  
  #include "clamav.h"
  #include "others.h"
@@@ -67,10 -61,6 +61,6 @@@
  #include "matcher-ac.h"
  #include "md5.h"
  
- #ifndef	O_BINARY
- #define	O_BINARY	0
- #endif
- 
  static unsigned char name_salt[16] = { 16, 38, 97, 12, 8, 4, 72, 196, 217, 144, 33, 124, 18, 11, 17, 253 };
  
  #ifdef CL_NOTHREADS
@@@ -118,9 -108,11 +108,11 @@@ void cli_dbgmsg_internal(const char *st
  int cli_matchregex(const char *str, const char *regex)
  {
  	regex_t reg;
- 	int match;
- 
-     if(cli_regcomp(&reg, regex, REG_EXTENDED | REG_NOSUB) == 0) {
+ 	int match, flags = REG_EXTENDED | REG_NOSUB;
+ #ifdef _WIN32
+     flags |= REG_ICASE;
+ #endif
+     if(cli_regcomp(&reg, regex, flags) == 0) {
  	match = (cli_regexec(&reg, str, 0, NULL, 0) == REG_NOMATCH) ? 0 : 1;
  	cli_regfree(&reg);
  	return match;
@@@ -138,11 -130,7 +130,7 @@@ void *cli_malloc(size_t size
  	return NULL;
      }
  
- #if defined(_MSC_VER) && defined(_DEBUG)
-     alloc = _malloc_dbg(size, _NORMAL_BLOCK, __FILE__, __LINE__);
- #else
      alloc = malloc(size);
- #endif
  
      if(!alloc) {
  	cli_errmsg("cli_malloc(): Can't allocate memory (%lu bytes).\n", (unsigned long int) size);
@@@ -161,11 -149,7 +149,7 @@@ void *cli_calloc(size_t nmemb, size_t s
  	return NULL;
      }
  
- #if defined(_MSC_VER) && defined(_DEBUG)
-     alloc = _calloc_dbg(nmemb, size, _NORMAL_BLOCK, __FILE__, __LINE__);
- #else
      alloc = calloc(nmemb, size);
- #endif
  
      if(!alloc) {
  	cli_errmsg("cli_calloc(): Can't allocate memory (%lu bytes).\n", (unsigned long int) (nmemb * size));
@@@ -224,11 -208,7 +208,7 @@@ char *cli_strdup(const char *s
          return NULL;
      }
  
- #if defined(_MSC_VER) && defined(_DEBUG)
-     alloc = _strdup_dbg(s, _NORMAL_BLOCK, __FILE__, __LINE__);
- #else
      alloc = strdup(s);
- #endif
  
      if(!alloc) {
          cli_errmsg("cli_strdup(): Can't allocate memory (%u bytes).\n", (unsigned int) strlen(s));
@@@ -352,6 -332,10 +332,10 @@@ int cli_writen(int fd, const void *buff
  
  int cli_filecopy(const char *src, const char *dest)
  {
+ 
+ #ifdef _WIN32
+     return (!CopyFileA(src, dest, 0));
+ #else
  	char *buffer;
  	int s, d, bytes;
  
@@@ -377,7 -361,29 +361,29 @@@
      close(s);
  
      return close(d);
+ #endif
  }
+ 
+ #ifndef P_tmpdir
+ #ifdef _WIN32
+ #define P_tmpdir "C:\\"
+ #else
+ #define P_tmpdir "/tmp"
+ #endif /* _WIN32 */
+ #endif /* P_tmpdir */
+ 
+ const char *cli_gettmpdir(void) {
+ 	const char *tmpdir;
+     if(
+ #ifdef _WIN32
+ 	!(tmpdir = getenv("TEMP")) && !(tmpdir = getenv("TMP"))
+ #else
+ 	!(tmpdir = getenv("TMPDIR"))
+ #endif
+     ) tmpdir = P_tmpdir;
+     return tmpdir;
+ }
+ 
  struct dirent_data {
      char *filename;
      const char *dirname;
@@@ -518,9 -524,11 +524,11 @@@ int cli_ftw(char *path, int flags, int 
  	char *pathend;
  	/* trim slashes so that dir and dir/ behave the same when
  	 * they are symlinks, and we are not following symlinks */
- 	while (path[0] == '/' && path[1] == '/') path++;
+ #ifndef _WIN32
+ 	while (path[0] == *PATHSEP && path[1] == *PATHSEP) path++;
+ #endif
  	pathend = path + strlen(path);
- 	while (pathend > path && pathend[-1] == '/') --pathend;
+ 	while (pathend > path && pathend[-1] == *PATHSEP) --pathend;
  	*pathend = '\0';
      }
      if(pathchk && pathchk(path, data) == 1)
@@@ -563,10 -571,11 +571,11 @@@ static int cli_ftw_dir(const char *dirn
  
      if((dd = opendir(dirname)) != NULL) {
  	struct dirent *dent;
+ 	int err;
  	errno = 0;
  	ret = CL_SUCCESS;
  #ifdef HAVE_READDIR_R_3
- 	while(!readdir_r(dd, &result.d, &dent) && dent) {
+ 	while(!(err = readdir_r(dd, &result.d, &dent)) && dent) {
  #elif defined(HAVE_READDIR_R_2)
  	while((dent = (struct dirent *) readdir_r(dd, &result.d))) {
  #else
@@@ -613,16 -622,16 +622,21 @@@
  		if (ret != CL_SUCCESS)
  		    break;
  	    }
-             if(!strcmp(dirname, "/"))
- 		sprintf(fname, "/%s", dent->d_name);
+             if(!strcmp(dirname, PATHSEP))
+ 		sprintf(fname, PATHSEP"%s", dent->d_name);
  	    else
- 		sprintf(fname, "%s/%s", dirname, dent->d_name);
+ 		sprintf(fname, "%s"PATHSEP"%s", dirname, dent->d_name);
+ 
+ 	    if(pathchk && pathchk(fname, data) == 1) {
+ 		free(fname);
+ 		continue;
+ 	    }
  
 +	    if(pathchk && pathchk(fname, data) == 1) {
 +		free(fname);
 +		continue;
 +	    }
 +
  	    ret = handle_filetype(fname, flags, &statbuf, &stated, &ft, callback, data);
  	    if (ret != CL_SUCCESS) {
  		free(fname);
@@@ -674,10 -683,22 +688,22 @@@
  	    }
  	    errno = 0;
  	}
+ #ifndef HAVE_READDIR_R_3
+ 	err = errno;
+ #endif
  	closedir(dd);
+ 	if (err) {
+ 	    char errs[128];
+ 	    cli_errmsg("Unable to readdir() directory %s: %s\n", dirname,
+ 		       cli_strerror(errno, errs, sizeof(errs)));
+ 	    /* report error to callback using error_stat */
+ 	    ret = callback(NULL, NULL, dirname, error_stat, data);
+ 	    if (ret != CL_SUCCESS)
+ 		return ret;
+ 	}
  
  	if (entries) {
- 	    qsort(entries, entries_cnt, sizeof(*entries), ftw_compare);
+ 	    cli_qsort(entries, entries_cnt, sizeof(*entries), ftw_compare);
  	    for (i = 0; i < entries_cnt; i++) {
  		struct dirent_data *entry = &entries[i];
  		ret = handle_entry(entry, flags, maxdepth-1, callback, data, pathchk);
@@@ -761,18 -782,12 +787,12 @@@ char *cli_gentemp(const char *dir
          const char *mdir;
  	unsigned char salt[16 + 32];
  	int i;
+     size_t len;
  
-     if(!dir) {
- 	if((mdir = getenv("TMPDIR")) == NULL)
- #ifdef P_tmpdir
- 	    mdir = P_tmpdir;
- #else
- 	    mdir = "/tmp";
- #endif
-     } else
- 	mdir = dir;
+     mdir = dir ? dir : cli_gettmpdir();
  
-     name = (char *) cli_calloc(strlen(mdir) + 1 + 32 + 1 + 7, sizeof(char));
+     len = strlen(mdir) + 42;
+     name = (char *) cli_calloc(len, sizeof(char));
      if(!name) {
  	cli_dbgmsg("cli_gentemp('%s'): out of memory\n", mdir);
  	return NULL;
@@@ -799,12 -814,7 +819,7 @@@
  	return NULL;
      }
  
- #ifdef	C_WINDOWS
- 	sprintf(name, "%s\\clamav-", mdir);
- #else
- 	sprintf(name, "%s/clamav-", mdir);
- #endif
-     strncat(name, tmp, 32);
+ 	snprintf(name, len, "%s"PATHSEP"clamav-%s", mdir, tmp);
      free(tmp);
  
      return(name);

-- 
Debian repository for ClamAV



More information about the Pkg-clamav-commits mailing list