Fix build with content-scan enabled but all malware types disabled
[exim.git] / src / src / malware.c
index 4b28760afc836f06c5887998e0ede3736f950ffa..521c546f6fa0d5befac48031b28329aa1ad690d5 100644 (file)
@@ -49,6 +49,7 @@ typedef enum {
 #ifndef DISABLE_MAL_CMDLINE
        M_CMDL,
 #endif
+       M_DUMMY
        } scanner_t;
 typedef enum {MC_NONE, MC_TCP, MC_UNIX, MC_STRM} contype_t;
 static struct scan
@@ -191,11 +192,12 @@ static const pcre * fprot6d_re_virus = NULL;
 
 /******************************************************************************/
 
+#ifndef DISABLE_MAL_KAV
 /* Routine to check whether a system is big- or little-endian.
    Ripped from http://www.faqs.org/faqs/graphics/fileformats-faq/part4/section-7.html
    Needed for proper kavdaemon implementation. Sigh. */
-#define BIG_MY_ENDIAN      0
-#define LITTLE_MY_ENDIAN   1
+# define BIG_MY_ENDIAN      0
+# define LITTLE_MY_ENDIAN   1
 static int test_byte_order(void);
 static inline int
 test_byte_order()
@@ -204,6 +206,7 @@ test_byte_order()
   char *byte = CS  &word;
   return(byte[0] ? LITTLE_MY_ENDIAN : BIG_MY_ENDIAN);
 }
+#endif
 
 BOOL malware_ok = FALSE;
 
@@ -262,13 +265,6 @@ m_panic_defer_3(struct scan * scanent, const uschar * hostport,
 (void) close(fd_to_close);
 return m_panic_defer(scanent, hostport, str);
 }
-static inline int
-m_log_defer_3(struct scan * scanent, const uschar * hostport,
-  const uschar * str, int fd_to_close)
-{
-(void) close(fd_to_close);
-return m_log_defer(scanent, hostport, str);
-}
 
 /*************************************************/
 
@@ -1578,6 +1574,7 @@ badseek:  err = errno;
           * on both connections (as one host could resolve to multiple ips) */
          for (;;)
            {
+           /*XXX we trust that the cmd_str is ideempotent */
            if ((malware_daemon_ctx.sock = m_tcpsocket(cd->hostspec, cd->tcp_port,
                                    &connhost, &errstr, &cmd_str)) >= 0)
              {
@@ -2287,7 +2284,7 @@ malware_show_supported(FILE * f)
 {
 struct scan * sc;
 fprintf(f, "Malware:");
-for (sc = m_scans; sc->scancode != -1; sc++) fprintf(f, " %s", sc->name);
+for (sc = m_scans; sc->scancode != (scanner_t)-1; sc++) fprintf(f, " %s", sc->name);
 fprintf(f, "\n");
 }