Using poll in clamd/others.c causes clamd to fail with message "ERROR" under SFU/Interix. I undefined HAVE_POLL and HAVE_POLL_H in clamav-config.h.
It now functions as expected: bash-2.05b$ /usr/local/sbin/clamd --debug bash-2.05b$ telnet localhost 3310 Trying 127.0.0.1... Connected to johngalt.wolfereiter.priv. Escape character is '^]'. PING PONG Connection closed by foreign host. bash-2.05b$ clamdscan /dev/fs/D/breiter/SFU/clamav-devel/contrib/clamdwatch/clamdwatch.tar.gz: Eicar-Test-Signature FOUND /dev/fs/D/breiter/SFU/clamav-devel/test/test: ClamAV-Test-Signature FOUND /dev/fs/D/breiter/SFU/clamav-devel/test/test-zip-noext: ClamAV-Test-Signature FOUND /dev/fs/D/breiter/SFU/clamav-devel/test/test.bz2: ClamAV-Test-Signature FOUND /dev/fs/D/breiter/SFU/clamav-devel/test/test.cab: ClamAV-Test-Signature FOUND /dev/fs/D/breiter/SFU/clamav-devel/test/test.msc: ClamAV-Test-Signature FOUND /dev/fs/D/breiter/SFU/clamav-devel/test/test.zip: ClamAV-Test-Signature FOUND /dev/fs/D/breiter/SFU/clamav-devel: OK ----------- SCAN SUMMARY ----------- Infected files: 7 Time: 2.663 sec (0 m 2 s) Brian A. Reiter WolfeReiter, LLC <http://www.wolfereiter.com> 941 O Street NW | Washington, DC | 20001 This electronic message and attachments, if any, are intended only for the individual or entity named above (or those properly entitled to access the information) and may contain information that is privileged, confidential and exempt from disclosure under applicable law.� If the reader of this transmission is not the intended or an authorized recipient, you are hereby notified to destroy this transmission and that that any unauthorized distribution, dissemination, or copying of this transmission and the attachments, if any, is prohibited. WolfeReiter encourages the use of S/MIME signatures and encryption to ensure the privacy and integrity of email transmissions. S/MIME certificates are available free-of-charge from Thawte <https://www.thawte.com/email/>.
/* clamav-config.h. Generated by configure. */ /* clamav-config.h.in. Generated from configure.in by autoheader. */ /* Define if your snprintf is busted */ /* #undef BROKEN_SNPRINTF */ /* "build clamd" */ #define BUILD_CLAMD 1 /* name of the clamav group */ #define CLAMAVGROUP "clamav" /* name of the clamav user */ #define CLAMAVUSER "clamav" /* enable clamuko */ /* #undef CLAMUKO */ /* enable debugging */ /* #undef CL_DEBUG */ /* thread safe */ /* #undef CL_THREAD_SAFE */ /* where to look for the config file */ #define CONFDIR "/usr/local/etc" /* os is aix */ /* #undef C_AIX */ /* os is beos */ /* #undef C_BEOS */ /* Increase thread stack size. */ /* #undef C_BIGSTACK */ /* os is bsd flavor */ /* #undef C_BSD */ /* os is cygwin */ /* #undef C_CYGWIN */ /* os is darwin */ /* #undef C_DARWIN */ /* os is hpux */ /* #undef C_HPUX */ /* os is irix */ /* #undef C_IRIX */ /* target is linux */ /* #undef C_LINUX */ /* os is solaris */ /* #undef C_SOLARIS */ /* Path to virus database directory. */ #define DATADIR "/usr/local/share/clamav" /* Name of the main database */ #define DB1NAME "main.cvd" /* Name of the daily database */ #define DB2NAME "daily.cvd" /* "default FD_SETSIZE value" */ #define DEFAULT_FD_SETSIZE 4096 /* file i/o buffer size */ #define FILEBUFF 8192 /* "attrib packed" */ #define HAVE_ATTRIB_PACKED 1 /* have bzip2 */ #define HAVE_BZLIB_H 1 /* Define to 1 if you have the <dlfcn.h> header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ /* #undef HAVE_FSEEKO */ /* Define to 1 if you have the `getpagesize' function. */ #define HAVE_GETPAGESIZE 1 /* have gmp installed */ #define HAVE_GMP 1 /* Define to 1 if you have the `inet_ntop' function. */ /* #undef HAVE_INET_NTOP */ /* Define to 1 if you have the `initgroups' function. */ /* #undef HAVE_INITGROUPS */ /* Define to 1 if you have the <inttypes.h> header file. */ /* #undef HAVE_INTTYPES_H */ /* in_port_t is defined */ #define HAVE_IN_PORT_T 1 /* Define to 1 if you have the <limits.h> header file. */ #define HAVE_LIMITS_H 1 /* Define to 1 if you have the <malloc.h> header file. */ #define HAVE_MALLOC_H 1 /* Define to 1 if you have the `memcpy' function. */ #define HAVE_MEMCPY 1 /* Define to 1 if you have the <memory.h> header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have a working `mmap' system call. */ /* #undef HAVE_MMAP */ /* Define to 1 if you have the <ndir.h> header file. */ /* #undef HAVE_NDIR_H */ /* Define to 1 if you have the `poll' function. */ /* __INTERIX do not use Poll */ /* #undef HAVE_POLL 0 */ /* Define to 1 if you have the <poll.h> header file. */ /* __INTERIX do not use Poll */ /*#undef HAVE_POLL_H 0 */ /* "pragma pack" */ /* #undef HAVE_PRAGMA_PACK */ /* Define to 1 if you have the <regex.h> header file. */ #define HAVE_REGEX_H 0 /* Define to 1 if you have the `setgroups' function. */ /* #undef HAVE_SETGROUPS */ /* Define to 1 if you have the `setsid' function. */ #define HAVE_SETSID 1 /* Define to 1 if you have the `snprintf' function. */ #define HAVE_SNPRINTF 1 /* Define to 1 if you have the <stdint.h> header file. */ /* #undef HAVE_STDINT_H */ /* Define to 1 if you have the <stdlib.h> header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 /* Define to 1 if you have the <strings.h> header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the <string.h> header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strlcat' function. */ #define HAVE_STRLCAT 1 /* Define to 1 if you have the `strlcpy' function. */ #define HAVE_STRLCPY 1 /* Define to 1 if you have the <sys/inttypes.h> header file. */ /* #undef HAVE_SYS_INTTYPES_H */ /* Define to 1 if you have the <sys/int_types.h> header file. */ /* #undef HAVE_SYS_INT_TYPES_H */ /* Define to 1 if you have the <sys/mman.h> header file. */ #define HAVE_SYS_MMAN_H 1 /* Define to 1 if you have the <sys/param.h> header file. */ #define HAVE_SYS_PARAM_H 1 /* "have <sys/select.h>" */ #define HAVE_SYS_SELECT_H 1 /* Define to 1 if you have the <sys/stat.h> header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the <sys/types.h> header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the <tcpd.h> header file. */ /* #undef HAVE_TCPD_H */ /* Define to 1 if you have the <unistd.h> header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `vsnprintf' function. */ #define HAVE_VSNPRINTF 1 /* zlib installed */ #define HAVE_ZLIB_H 1 /* bzip funtions do not have bz2 prefix */ /* #undef NOBZ2PREFIX */ /* "no fd_set" */ /* #undef NO_FD_SET */ /* Name of package */ #define PACKAGE "clamav" /* Define to the address where bug reports for this package should be sent. */ #define PACKAGE_BUGREPORT "" /* Define to the full name of this package. */ #define PACKAGE_NAME "" /* Define to the full name and version of this package. */ #define PACKAGE_STRING "" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "" /* Define to the version of this package. */ #define PACKAGE_VERSION "" /* scan buffer size */ #define SCANBUFF 131072 /* Define to 1 if the `setpgrp' function takes no argument. */ #define SETPGRP_VOID 1 /* The number of bytes in type int */ #define SIZEOF_INT 4 /* The number of bytes in type long */ #define SIZEOF_LONG 4 /* The number of bytes in type short */ #define SIZEOF_SHORT 2 /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 /* use syslog */ #define USE_SYSLOG 1 /* Version number of package */ #define VERSION "devel-20040618" /* tcpwrappers support */ /* #undef WITH_TCPWRAP */ /* endianess */ #define WORDS_BIGENDIAN 0 /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ /* #undef _LARGEFILE_SOURCE */ /* thread safe */ /* #undef _REENTRANT */ /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `long' if <sys/types.h> does not define. */ /* #undef off_t */
