Browse code

bb11343: Adding configure option to remove yara at compile-time.

Mickey Sola authored on 2015/07/22 05:35:48
Showing 28 changed files
... ...
@@ -190,6 +190,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
190 190
 	$(top_srcdir)/m4/reorganization/distcheck.m4 \
191 191
 	$(top_srcdir)/m4/reorganization/llvm.m4 \
192 192
 	$(top_srcdir)/m4/reorganization/sha_collect.m4 \
193
+	$(top_srcdir)/m4/reorganization/yara.m4 \
193 194
 	$(top_srcdir)/m4/reorganization/bsd.m4 \
194 195
 	$(top_srcdir)/m4/reorganization/libs/curl.m4 \
195 196
 	$(top_srcdir)/m4/reorganization/substitutions.m4 \
... ...
@@ -397,6 +398,7 @@ GENHTML = @GENHTML@
397 397
 GETENT = @GETENT@
398 398
 GPERF = @GPERF@
399 399
 GREP = @GREP@
400
+HAVE_YARA = @HAVE_YARA@
400 401
 INCLTDL = @INCLTDL@
401 402
 INSTALL = @INSTALL@
402 403
 INSTALL_DATA = @INSTALL_DATA@
... ...
@@ -166,6 +166,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
166 166
 	$(top_srcdir)/m4/reorganization/distcheck.m4 \
167 167
 	$(top_srcdir)/m4/reorganization/llvm.m4 \
168 168
 	$(top_srcdir)/m4/reorganization/sha_collect.m4 \
169
+	$(top_srcdir)/m4/reorganization/yara.m4 \
169 170
 	$(top_srcdir)/m4/reorganization/bsd.m4 \
170 171
 	$(top_srcdir)/m4/reorganization/libs/curl.m4 \
171 172
 	$(top_srcdir)/m4/reorganization/substitutions.m4 \
... ...
@@ -352,6 +353,7 @@ GENHTML = @GENHTML@
352 352
 GETENT = @GETENT@
353 353
 GPERF = @GPERF@
354 354
 GREP = @GREP@
355
+HAVE_YARA = @HAVE_YARA@
355 356
 INCLTDL = @INCLTDL@
356 357
 INSTALL = @INSTALL@
357 358
 INSTALL_DATA = @INSTALL_DATA@
... ...
@@ -147,6 +147,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
147 147
 	$(top_srcdir)/m4/reorganization/distcheck.m4 \
148 148
 	$(top_srcdir)/m4/reorganization/llvm.m4 \
149 149
 	$(top_srcdir)/m4/reorganization/sha_collect.m4 \
150
+	$(top_srcdir)/m4/reorganization/yara.m4 \
150 151
 	$(top_srcdir)/m4/reorganization/bsd.m4 \
151 152
 	$(top_srcdir)/m4/reorganization/libs/curl.m4 \
152 153
 	$(top_srcdir)/m4/reorganization/substitutions.m4 \
... ...
@@ -288,6 +289,7 @@ GENHTML = @GENHTML@
288 288
 GETENT = @GETENT@
289 289
 GPERF = @GPERF@
290 290
 GREP = @GREP@
291
+HAVE_YARA = @HAVE_YARA@
291 292
 INCLTDL = @INCLTDL@
292 293
 INSTALL = @INSTALL@
293 294
 INSTALL_DATA = @INSTALL_DATA@
... ...
@@ -165,6 +165,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
165 165
 	$(top_srcdir)/m4/reorganization/distcheck.m4 \
166 166
 	$(top_srcdir)/m4/reorganization/llvm.m4 \
167 167
 	$(top_srcdir)/m4/reorganization/sha_collect.m4 \
168
+	$(top_srcdir)/m4/reorganization/yara.m4 \
168 169
 	$(top_srcdir)/m4/reorganization/bsd.m4 \
169 170
 	$(top_srcdir)/m4/reorganization/libs/curl.m4 \
170 171
 	$(top_srcdir)/m4/reorganization/substitutions.m4 \
... ...
@@ -306,6 +307,7 @@ GENHTML = @GENHTML@
306 306
 GETENT = @GETENT@
307 307
 GPERF = @GPERF@
308 308
 GREP = @GREP@
309
+HAVE_YARA = @HAVE_YARA@
309 310
 INCLTDL = @INCLTDL@
310 311
 INSTALL = @INSTALL@
311 312
 INSTALL_DATA = @INSTALL_DATA@
... ...
@@ -165,6 +165,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
165 165
 	$(top_srcdir)/m4/reorganization/distcheck.m4 \
166 166
 	$(top_srcdir)/m4/reorganization/llvm.m4 \
167 167
 	$(top_srcdir)/m4/reorganization/sha_collect.m4 \
168
+	$(top_srcdir)/m4/reorganization/yara.m4 \
168 169
 	$(top_srcdir)/m4/reorganization/bsd.m4 \
169 170
 	$(top_srcdir)/m4/reorganization/libs/curl.m4 \
170 171
 	$(top_srcdir)/m4/reorganization/substitutions.m4 \
... ...
@@ -319,6 +320,7 @@ GENHTML = @GENHTML@
319 319
 GETENT = @GETENT@
320 320
 GPERF = @GPERF@
321 321
 GREP = @GREP@
322
+HAVE_YARA = @HAVE_YARA@
322 323
 INCLTDL = @INCLTDL@
323 324
 INSTALL = @INSTALL@
324 325
 INSTALL_DATA = @INSTALL_DATA@
... ...
@@ -165,6 +165,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
165 165
 	$(top_srcdir)/m4/reorganization/distcheck.m4 \
166 166
 	$(top_srcdir)/m4/reorganization/llvm.m4 \
167 167
 	$(top_srcdir)/m4/reorganization/sha_collect.m4 \
168
+	$(top_srcdir)/m4/reorganization/yara.m4 \
168 169
 	$(top_srcdir)/m4/reorganization/bsd.m4 \
169 170
 	$(top_srcdir)/m4/reorganization/libs/curl.m4 \
170 171
 	$(top_srcdir)/m4/reorganization/substitutions.m4 \
... ...
@@ -317,6 +318,7 @@ GENHTML = @GENHTML@
317 317
 GETENT = @GETENT@
318 318
 GPERF = @GPERF@
319 319
 GREP = @GREP@
320
+HAVE_YARA = @HAVE_YARA@
320 321
 INCLTDL = @INCLTDL@
321 322
 INSTALL = @INSTALL@
322 323
 INSTALL_DATA = @INSTALL_DATA@
... ...
@@ -147,6 +147,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
147 147
 	$(top_srcdir)/m4/reorganization/distcheck.m4 \
148 148
 	$(top_srcdir)/m4/reorganization/llvm.m4 \
149 149
 	$(top_srcdir)/m4/reorganization/sha_collect.m4 \
150
+	$(top_srcdir)/m4/reorganization/yara.m4 \
150 151
 	$(top_srcdir)/m4/reorganization/bsd.m4 \
151 152
 	$(top_srcdir)/m4/reorganization/libs/curl.m4 \
152 153
 	$(top_srcdir)/m4/reorganization/substitutions.m4 \
... ...
@@ -323,6 +324,7 @@ GENHTML = @GENHTML@
323 323
 GETENT = @GETENT@
324 324
 GPERF = @GPERF@
325 325
 GREP = @GREP@
326
+HAVE_YARA = @HAVE_YARA@
326 327
 INCLTDL = @INCLTDL@
327 328
 INSTALL = @INSTALL@
328 329
 INSTALL_DATA = @INSTALL_DATA@
... ...
@@ -166,6 +166,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
166 166
 	$(top_srcdir)/m4/reorganization/distcheck.m4 \
167 167
 	$(top_srcdir)/m4/reorganization/llvm.m4 \
168 168
 	$(top_srcdir)/m4/reorganization/sha_collect.m4 \
169
+	$(top_srcdir)/m4/reorganization/yara.m4 \
169 170
 	$(top_srcdir)/m4/reorganization/bsd.m4 \
170 171
 	$(top_srcdir)/m4/reorganization/libs/curl.m4 \
171 172
 	$(top_srcdir)/m4/reorganization/substitutions.m4 \
... ...
@@ -308,6 +309,7 @@ GENHTML = @GENHTML@
308 308
 GETENT = @GETENT@
309 309
 GPERF = @GPERF@
310 310
 GREP = @GREP@
311
+HAVE_YARA = @HAVE_YARA@
311 312
 INCLTDL = @INCLTDL@
312 313
 INSTALL = @INSTALL@
313 314
 INSTALL_DATA = @INSTALL_DATA@
... ...
@@ -165,6 +165,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
165 165
 	$(top_srcdir)/m4/reorganization/distcheck.m4 \
166 166
 	$(top_srcdir)/m4/reorganization/llvm.m4 \
167 167
 	$(top_srcdir)/m4/reorganization/sha_collect.m4 \
168
+	$(top_srcdir)/m4/reorganization/yara.m4 \
168 169
 	$(top_srcdir)/m4/reorganization/bsd.m4 \
169 170
 	$(top_srcdir)/m4/reorganization/libs/curl.m4 \
170 171
 	$(top_srcdir)/m4/reorganization/substitutions.m4 \
... ...
@@ -306,6 +307,7 @@ GENHTML = @GENHTML@
306 306
 GETENT = @GETENT@
307 307
 GPERF = @GPERF@
308 308
 GREP = @GREP@
309
+HAVE_YARA = @HAVE_YARA@
309 310
 INCLTDL = @INCLTDL@
310 311
 INSTALL = @INSTALL@
311 312
 INSTALL_DATA = @INSTALL_DATA@
... ...
@@ -635,7 +635,9 @@ ac_includes_default="\
635 635
 #endif"
636 636
 
637 637
 enable_option_checking=no
638
-ac_subst_vars='ENABLE_LLVM_FALSE
638
+ac_subst_vars='ENABLE_YARA_FALSE
639
+ENABLE_YARA_TRUE
640
+ENABLE_LLVM_FALSE
639 641
 ENABLE_LLVM_TRUE
640 642
 ltdl_LTLIBOBJS
641 643
 ltdl_LIBOBJS
... ...
@@ -679,6 +681,7 @@ CLAMSCAN_CPPFLAGS
679 679
 FRESHCLAM_CPPFLAGS
680 680
 CLAMSUBMIT_CFLAGS
681 681
 CLAMSUBMIT_LIBS
682
+HAVE_YARA
682 683
 subdirs
683 684
 WERR_CFLAGS_MILTER
684 685
 WERR_CFLAGS
... ...
@@ -925,6 +928,7 @@ with_system_llvm
925 925
 with_llvm_linking
926 926
 enable_llvm
927 927
 enable_sha_collector_for_internal_use
928
+enable_yara
928 929
 with_libcurl
929 930
 '
930 931
       ac_precious_vars='build_alias
... ...
@@ -1604,6 +1608,7 @@ Optional Features:
1604 1604
                           enable warnings as error for distcheck [default=no]
1605 1605
   --enable-llvm           enable 'llvm' JIT/verifier support [default=auto]
1606 1606
 
1607
+  --disable-yara          do not include yara support
1607 1608
 
1608 1609
 Optional Packages:
1609 1610
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
... ...
@@ -22828,6 +22833,24 @@ $as_echo "#define HAVE__INTERNAL__SHA_COLLECT 1" >>confdefs.h
22828 22828
 fi
22829 22829
 
22830 22830
 
22831
+# Check whether --enable-yara was given.
22832
+if test "${enable_yara+set}" = set; then :
22833
+  enableval=$enable_yara; enable_yara=$enableval
22834
+else
22835
+  enable_yara="yes"
22836
+fi
22837
+
22838
+
22839
+if test "$enable_yara" = "yes"; then
22840
+
22841
+$as_echo "#define HAVE_YARA 1" >>confdefs.h
22842
+]
22843
+
22844
+fi
22845
+
22846
+
22847
+
22848
+
22831 22849
 case "$host_os" in
22832 22850
 freebsd*)
22833 22851
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for kinfo_getvmmap in -lutil" >&5
... ...
@@ -25655,7 +25678,16 @@ else
25655 25655
   ENABLE_LLVM_FALSE=
25656 25656
 fi
25657 25657
 
25658
+ if test "$enable_yara" != "no"; then
25659
+  ENABLE_YARA_TRUE=
25660
+  ENABLE_YARA_FALSE='#'
25661
+else
25662
+  ENABLE_YARA_TRUE='#'
25663
+  ENABLE_YARA_FALSE=
25664
+fi
25665
+
25658 25666
 no_recursion="yes";
25667
+
25659 25668
 ac_config_files="$ac_config_files libclamav/Makefile"
25660 25669
 
25661 25670
 cat >confcache <<\_ACEOF
... ...
@@ -25873,6 +25905,10 @@ if test -z "${ENABLE_LLVM_TRUE}" && test -z "${ENABLE_LLVM_FALSE}"; then
25873 25873
   as_fn_error $? "conditional \"ENABLE_LLVM\" was never defined.
25874 25874
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
25875 25875
 fi
25876
+if test -z "${ENABLE_YARA_TRUE}" && test -z "${ENABLE_YARA_FALSE}"; then
25877
+  as_fn_error $? "conditional \"ENABLE_YARA\" was never defined.
25878
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
25879
+fi
25876 25880
 
25877 25881
 : "${CONFIG_STATUS=./config.status}"
25878 25882
 ac_write_fail=0
... ...
@@ -28606,6 +28642,19 @@ fi
28606 28606
 
28607 28607
 fi
28608 28608
 
28609
+
28610
+   $as_echo_n "              yara        : "
28611
+   if test "x$enable_yara" = "xno"; then :
28612
+  $as_echo "$enable_yara (disabled)"
28613
+elif test "x$enable_yara" = "xyes"; then :
28614
+  $as_echo "$enable_yara"
28615
+elif test "x$enable_yara" = "x"; then :
28616
+  $as_echo "$enable_yara"
28617
+else
28618
+  $as_echo "$enable_yara ($enable_yara)"
28619
+fi
28620
+
28621
+
28609 28622
 # Yep, downgrading the compiler avoids the bug too:
28610 28623
 # 4.0.x, and 4.1.0 are the known buggy versions
28611 28624
 # 3.4 doesn't have the bug
... ...
@@ -123,6 +123,7 @@ m4_include([m4/reorganization/clamdtop.m4])
123 123
 m4_include([m4/reorganization/distcheck.m4])
124 124
 m4_include([m4/reorganization/llvm.m4])
125 125
 m4_include([m4/reorganization/sha_collect.m4])
126
+m4_include([m4/reorganization/yara.m4])
126 127
 
127 128
 m4_include([m4/reorganization/bsd.m4])
128 129
 
... ...
@@ -180,7 +181,10 @@ fi
180 180
 
181 181
 AM_CONDITIONAL([ENABLE_LLVM],
182 182
 	       [test "$subdirfailed" != "yes" && test "$enable_llvm" != "no"])
183
+AM_CONDITIONAL([ENABLE_YARA],
184
+	       [test "$enable_yara" != "no"])
183 185
 no_recursion="yes";
186
+
184 187
 AC_OUTPUT([libclamav/Makefile])
185 188
 
186 189
 # Print a summary of what features we enabled
... ...
@@ -245,6 +249,7 @@ if test "x$XML_LIBS" = "x"; then
245 245
 else
246 246
     CL_MSG_STATUS([libxml2     ],[yes, from $XML_HOME],[])
247 247
 fi
248
+CL_MSG_STATUS([yara        ],[$enable_yara],[$enable_yara])
248 249
 
249 250
 # Yep, downgrading the compiler avoids the bug too:
250 251
 # 4.0.x, and 4.1.0 are the known buggy versions
... ...
@@ -163,6 +163,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
163 163
 	$(top_srcdir)/m4/reorganization/distcheck.m4 \
164 164
 	$(top_srcdir)/m4/reorganization/llvm.m4 \
165 165
 	$(top_srcdir)/m4/reorganization/sha_collect.m4 \
166
+	$(top_srcdir)/m4/reorganization/yara.m4 \
166 167
 	$(top_srcdir)/m4/reorganization/bsd.m4 \
167 168
 	$(top_srcdir)/m4/reorganization/libs/curl.m4 \
168 169
 	$(top_srcdir)/m4/reorganization/substitutions.m4 \
... ...
@@ -254,6 +255,7 @@ GENHTML = @GENHTML@
254 254
 GETENT = @GETENT@
255 255
 GPERF = @GPERF@
256 256
 GREP = @GREP@
257
+HAVE_YARA = @HAVE_YARA@
257 258
 INCLTDL = @INCLTDL@
258 259
 INSTALL = @INSTALL@
259 260
 INSTALL_DATA = @INSTALL_DATA@
... ...
@@ -163,6 +163,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
163 163
 	$(top_srcdir)/m4/reorganization/distcheck.m4 \
164 164
 	$(top_srcdir)/m4/reorganization/llvm.m4 \
165 165
 	$(top_srcdir)/m4/reorganization/sha_collect.m4 \
166
+	$(top_srcdir)/m4/reorganization/yara.m4 \
166 167
 	$(top_srcdir)/m4/reorganization/bsd.m4 \
167 168
 	$(top_srcdir)/m4/reorganization/libs/curl.m4 \
168 169
 	$(top_srcdir)/m4/reorganization/substitutions.m4 \
... ...
@@ -288,6 +289,7 @@ GENHTML = @GENHTML@
288 288
 GETENT = @GETENT@
289 289
 GPERF = @GPERF@
290 290
 GREP = @GREP@
291
+HAVE_YARA = @HAVE_YARA@
291 292
 INCLTDL = @INCLTDL@
292 293
 INSTALL = @INSTALL@
293 294
 INSTALL_DATA = @INSTALL_DATA@
... ...
@@ -164,6 +164,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
164 164
 	$(top_srcdir)/m4/reorganization/distcheck.m4 \
165 165
 	$(top_srcdir)/m4/reorganization/llvm.m4 \
166 166
 	$(top_srcdir)/m4/reorganization/sha_collect.m4 \
167
+	$(top_srcdir)/m4/reorganization/yara.m4 \
167 168
 	$(top_srcdir)/m4/reorganization/bsd.m4 \
168 169
 	$(top_srcdir)/m4/reorganization/libs/curl.m4 \
169 170
 	$(top_srcdir)/m4/reorganization/substitutions.m4 \
... ...
@@ -284,6 +285,7 @@ GENHTML = @GENHTML@
284 284
 GETENT = @GETENT@
285 285
 GPERF = @GPERF@
286 286
 GREP = @GREP@
287
+HAVE_YARA = @HAVE_YARA@
287 288
 INCLTDL = @INCLTDL@
288 289
 INSTALL = @INSTALL@
289 290
 INSTALL_DATA = @INSTALL_DATA@
... ...
@@ -166,6 +166,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
166 166
 	$(top_srcdir)/m4/reorganization/distcheck.m4 \
167 167
 	$(top_srcdir)/m4/reorganization/llvm.m4 \
168 168
 	$(top_srcdir)/m4/reorganization/sha_collect.m4 \
169
+	$(top_srcdir)/m4/reorganization/yara.m4 \
169 170
 	$(top_srcdir)/m4/reorganization/bsd.m4 \
170 171
 	$(top_srcdir)/m4/reorganization/libs/curl.m4 \
171 172
 	$(top_srcdir)/m4/reorganization/substitutions.m4 \
... ...
@@ -310,6 +311,7 @@ GENHTML = @GENHTML@
310 310
 GETENT = @GETENT@
311 311
 GPERF = @GPERF@
312 312
 GREP = @GREP@
313
+HAVE_YARA = @HAVE_YARA@
313 314
 INCLTDL = @INCLTDL@
314 315
 INSTALL = @INSTALL@
315 316
 INSTALL_DATA = @INSTALL_DATA@
... ...
@@ -138,12 +138,16 @@ c++/Makefile: c++/Makefile.nollvm.in
138 138
 distclean-recursive distdir maintainer-clean-recursive: c++/Makefile
139 139
 endif
140 140
 
141
+if ENABLE_YARA
142
+YARA_CFLAGS=-DHAVE_YARA
143
+endif
144
+
141 145
 libclamav_nocxx_la_SOURCES = bytecode_nojit.c
142 146
 libclamav_nocxx_la_CFLAGS=$(AM_CFLAGS) @SSL_CPPFLAGS@ @JSON_CPPFLAGS@ @PCRE_CPPFLAGS@
143 147
 
144 148
 libclamav_la_LIBADD = @SSL_LIBS@ @JSON_LIBS@ @PCRE_LIBS@ @LIBCLAMAV_LIBS@ @LIBLTDL@ $(IFACELIBADD) $(LLVMLIBADD) libclamav_internal_utils.la @THREAD_LIBS@ @LIBM@
145 149
 libclamav_la_DEPENDENCIES =  @LTDLDEPS@ $(IFACEDEP) $(LLVMDEP) libclamav_internal_utils.la
146
-libclamav_la_CFLAGS =$(AM_CFLAGS) $(XML_CPPFLAGS) -DSEARCH_LIBDIR=\"$(libdir)\" @LIBCLAMAV_CPPFLAGS@ @SSL_CPPFLAGS@ @JSON_CPPFLAGS@ @PCRE_CPPFLAGS@
150
+libclamav_la_CFLAGS =$(AM_CFLAGS) $(XML_CPPFLAGS) $(YARA_CFLAGS) -DSEARCH_LIBDIR=\"$(libdir)\" @LIBCLAMAV_CPPFLAGS@ @SSL_CPPFLAGS@ @JSON_CPPFLAGS@ @PCRE_CPPFLAGS@
147 151
 libclamav_la_LDFLAGS = @SSL_LDFLAGS@ @TH_SAFE@ @JSON_LDFLAGS@ $(XML_LIBS) -version-info @LIBCLAMAV_VERSION@ -no-undefined
148 152
 
149 153
 if VERSIONSCRIPT
... ...
@@ -445,7 +449,19 @@ libclamav_la_SOURCES = \
445 445
 	hostid.h \
446 446
 	openioc.c \
447 447
 	openioc.h \
448
-	yara_arena.c \
448
+	msdoc.c \
449
+	msdoc.h \
450
+	matcher-pcre.c \
451
+	matcher-pcre.h \
452
+	regex_pcre.c \
453
+	regex_pcre.h \
454
+	msxml.c \
455
+	msxml.h \
456
+	msxml_parser.c \
457
+	msxml_parser.h
458
+
459
+if ENABLE_YARA
460
+libclamav_la_SOURCES += yara_arena.c \
449 461
 	yara_arena.h \
450 462
 	yara_compiler.c \
451 463
 	yara_compiler.h \
... ...
@@ -458,17 +474,8 @@ libclamav_la_SOURCES = \
458 458
 	yara_lexer.h \
459 459
 	yara_parser.c \
460 460
 	yara_parser.h \
461
-	yara_clam.h \
462
-	msdoc.c \
463
-	msdoc.h \
464
-	matcher-pcre.c \
465
-	matcher-pcre.h \
466
-	regex_pcre.c \
467
-	regex_pcre.h \
468
-	msxml.c \
469
-	msxml.h \
470
-	msxml_parser.c \
471
-	msxml_parser.h
461
+	yara_clam.h
462
+endif
472 463
 
473 464
 libclamav_la_SOURCES += bignum.h\
474 465
 	bignum_fast.h\
... ...
@@ -108,6 +108,21 @@ target_triplet = @target@
108 108
 @ENABLE_UNRAR_TRUE@	@top_srcdir@/libclamunrar_iface/libclamunrar_iface.map
109 109
 @ENABLE_UNRAR_TRUE@@VERSIONSCRIPT_TRUE@am__append_5 = -Wl,@VERSIONSCRIPTFLAG@,@top_srcdir@/libclamunrar_iface/libclamunrar_iface.map
110 110
 @VERSIONSCRIPT_TRUE@am__append_6 = -Wl,@VERSIONSCRIPTFLAG@,@top_srcdir@/libclamav/libclamav.map
111
+@ENABLE_YARA_TRUE@am__append_7 = yara_arena.c \
112
+@ENABLE_YARA_TRUE@	yara_arena.h \
113
+@ENABLE_YARA_TRUE@	yara_compiler.c \
114
+@ENABLE_YARA_TRUE@	yara_compiler.h \
115
+@ENABLE_YARA_TRUE@	yara_exec.c \
116
+@ENABLE_YARA_TRUE@	yara_exec.h \
117
+@ENABLE_YARA_TRUE@	yara_hash.c \
118
+@ENABLE_YARA_TRUE@	yara_hash.h \
119
+@ENABLE_YARA_TRUE@	yara_grammar.y \
120
+@ENABLE_YARA_TRUE@	yara_lexer.l \
121
+@ENABLE_YARA_TRUE@	yara_lexer.h \
122
+@ENABLE_YARA_TRUE@	yara_parser.c \
123
+@ENABLE_YARA_TRUE@	yara_parser.h \
124
+@ENABLE_YARA_TRUE@	yara_clam.h
125
+
111 126
 subdir = libclamav
112 127
 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
113 128
 	yara_grammar.h yara_grammar.c yara_lexer.c \
... ...
@@ -177,6 +192,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
177 177
 	$(top_srcdir)/m4/reorganization/distcheck.m4 \
178 178
 	$(top_srcdir)/m4/reorganization/llvm.m4 \
179 179
 	$(top_srcdir)/m4/reorganization/sha_collect.m4 \
180
+	$(top_srcdir)/m4/reorganization/yara.m4 \
180 181
 	$(top_srcdir)/m4/reorganization/bsd.m4 \
181 182
 	$(top_srcdir)/m4/reorganization/libs/curl.m4 \
182 183
 	$(top_srcdir)/m4/reorganization/substitutions.m4 \
... ...
@@ -219,6 +235,135 @@ LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
219 219
 @ENABLE_UNRAR_TRUE@am__DEPENDENCIES_1 = libclamunrar_iface.la
220 220
 @ENABLE_LLVM_FALSE@am__DEPENDENCIES_2 = libclamav_nocxx.la
221 221
 @ENABLE_LLVM_TRUE@am__DEPENDENCIES_2 = c++/libclamavcxx.la
222
+am__libclamav_la_SOURCES_DIST = matcher-ac.c matcher-ac.h matcher-bm.c \
223
+	matcher-bm.h matcher-hash.c matcher-hash.h matcher.c matcher.h \
224
+	others.c others.h readdb.c readdb.h cvd.c cvd.h dsig.c dsig.h \
225
+	scanners.c scanners.h textdet.c textdet.h filetypes.c \
226
+	filetypes.h filetypes_int.h rtf.c rtf.h blob.c blob.h mbox.c \
227
+	mbox.h message.c message.h table.c table.h text.c text.h \
228
+	ole2_extract.c ole2_extract.h vba_extract.c vba_extract.h \
229
+	cltypes.h msexpand.c msexpand.h pe.c pe.h pe_icons.c \
230
+	pe_icons.h disasm.c disasm.h disasm-common.h disasmpriv.h \
231
+	upx.c upx.h htmlnorm.c htmlnorm.h chmunpack.c chmunpack.h \
232
+	rebuildpe.c rebuildpe.h petite.c petite.h wwunpack.c \
233
+	wwunpack.h unsp.c unsp.h aspack.c aspack.h packlibs.c \
234
+	packlibs.h fsg.c fsg.h mew.c mew.h upack.c upack.h line.c \
235
+	line.h untar.c untar.h unzip.c unzip.h ooxml.c ooxml.h \
236
+	inflate64.c inflate64.h inffixed64.h inflate64_priv.h \
237
+	special.c special.h binhex.c binhex.h is_tar.c is_tar.h tnef.c \
238
+	tnef.h autoit.c autoit.h unarj.c unarj.h nsis/bzlib.c \
239
+	nsis/bzlib_private.h nsis/nsis_bzlib.h nsis/nulsft.c \
240
+	nsis/nulsft.h nsis/infblock.c nsis/nsis_zconf.h \
241
+	nsis/nsis_zlib.h nsis/nsis_zutil.h pdf.c pdf.h pdfng.c spin.c \
242
+	spin.h yc.c yc.h elf.c elf.h execs.h sis.c sis.h uuencode.c \
243
+	uuencode.h phishcheck.c phishcheck.h phish_domaincheck_db.c \
244
+	phish_domaincheck_db.h phish_whitelist.c phish_whitelist.h \
245
+	iana_cctld.h iana_tld.h regex_list.c regex_list.h \
246
+	regex_suffix.c regex_suffix.h mspack.c mspack.h cab.c cab.h \
247
+	entconv.c entconv.h entitylist.h encoding_aliases.h hashtab.c \
248
+	hashtab.h dconf.c dconf.h lzma_iface.c lzma_iface.h 7z_iface.c \
249
+	7z_iface.h 7z/7z.h 7z/7zAlloc.c 7z/7zAlloc.h 7z/7zBuf.c \
250
+	7z/7zBuf.h 7z/7zBuf2.c 7z/7zCrc.c 7z/7zCrc.h 7z/7zDec.c \
251
+	7z/7zFile.c 7z/7zFile.h 7z/7zIn.c 7z/7zStream.c 7z/7zVersion.h \
252
+	7z/Bcj2.c 7z/Bcj2.h 7z/Bra.c 7z/Bra.h 7z/Bra86.c 7z/CpuArch.h \
253
+	7z/Lzma2Dec.c 7z/Lzma2Dec.h 7z/LzmaDec.c 7z/LzmaDec.h \
254
+	7z/Ppmd.h 7z/Ppmd7.c 7z/Ppmd7.h 7z/Ppmd7Dec.c 7z/Types.h \
255
+	7z/Xz.c 7z/Xz.h 7z/XzCrc64.c 7z/XzCrc64.h 7z/XzDec.c 7z/XzIn.c \
256
+	7z/Delta.c 7z/Delta.h 7z/Alloc.h 7z/BraIA64.c 7z/CpuArch.c \
257
+	7z/7zCrcOpt.c 7z/RotateDefs.h explode.c explode.h textnorm.c \
258
+	textnorm.h dlp.c dlp.h jsparse/js-norm.c jsparse/js-norm.h \
259
+	jsparse/lexglobal.h jsparse/textbuf.h uniq.c uniq.h version.c \
260
+	version.h mpool.c mpool.h filtering.h filtering.c fmap.c \
261
+	fmap.h perflogging.c perflogging.h default.h bytecode.c \
262
+	bytecode.h bytecode_vm.c bytecode_priv.h clambc.h cpio.c \
263
+	cpio.h macho.c macho.h ishield.c ishield.h type_desc.h \
264
+	bcfeatures.h bytecode_api.c bytecode_api_decl.c bytecode_api.h \
265
+	bytecode_api_impl.h bytecode_hooks.h cache.c cache.h \
266
+	bytecode_detect.c bytecode_detect.h builtin_bytecodes.h \
267
+	events.c events.h adc.c adc.h dmg.c dmg.h xar.c xar.h xdp.c \
268
+	xdp.h mbr.c mbr.h gpt.c gpt.h apm.c apm.h prtn_intxn.c \
269
+	prtn_intxn.h json_api.c json_api.h xz_iface.c xz_iface.h \
270
+	sf_base64decode.c sf_base64decode.h hfsplus.c hfsplus.h swf.c \
271
+	swf.h jpeg.c jpeg.h png.c png.h iso9660.c iso9660.h arc4.c \
272
+	arc4.h rijndael.c rijndael.h crtmgr.c crtmgr.h asn1.c asn1.h \
273
+	fpu.c fpu.h stats.c stats.h www.c www.h stats_json.c \
274
+	stats_json.h hostid.c hostid.h openioc.c openioc.h msdoc.c \
275
+	msdoc.h matcher-pcre.c matcher-pcre.h regex_pcre.c \
276
+	regex_pcre.h msxml.c msxml.h msxml_parser.c msxml_parser.h \
277
+	yara_arena.c yara_arena.h yara_compiler.c yara_compiler.h \
278
+	yara_exec.c yara_exec.h yara_hash.c yara_hash.h yara_grammar.y \
279
+	yara_lexer.l yara_lexer.h yara_parser.c yara_parser.h \
280
+	yara_clam.h bignum.h bignum_fast.h \
281
+	tomsfastmath/addsub/fp_add.c tomsfastmath/addsub/fp_add_d.c \
282
+	tomsfastmath/addsub/fp_addmod.c tomsfastmath/addsub/fp_cmp.c \
283
+	tomsfastmath/addsub/fp_cmp_d.c \
284
+	tomsfastmath/addsub/fp_cmp_mag.c tomsfastmath/addsub/fp_sub.c \
285
+	tomsfastmath/addsub/fp_sub_d.c tomsfastmath/addsub/fp_submod.c \
286
+	tomsfastmath/addsub/s_fp_add.c tomsfastmath/addsub/s_fp_sub.c \
287
+	tomsfastmath/bin/fp_radix_size.c \
288
+	tomsfastmath/bin/fp_read_radix.c \
289
+	tomsfastmath/bin/fp_read_signed_bin.c \
290
+	tomsfastmath/bin/fp_read_unsigned_bin.c \
291
+	tomsfastmath/bin/fp_reverse.c tomsfastmath/bin/fp_s_rmap.c \
292
+	tomsfastmath/bin/fp_signed_bin_size.c \
293
+	tomsfastmath/bin/fp_to_signed_bin.c \
294
+	tomsfastmath/bin/fp_to_unsigned_bin.c \
295
+	tomsfastmath/bin/fp_toradix.c tomsfastmath/bin/fp_toradix_n.c \
296
+	tomsfastmath/bin/fp_unsigned_bin_size.c \
297
+	tomsfastmath/bit/fp_cnt_lsb.c tomsfastmath/bit/fp_count_bits.c \
298
+	tomsfastmath/bit/fp_div_2.c tomsfastmath/bit/fp_div_2d.c \
299
+	tomsfastmath/bit/fp_lshd.c tomsfastmath/bit/fp_mod_2d.c \
300
+	tomsfastmath/bit/fp_rshd.c tomsfastmath/divide/fp_div.c \
301
+	tomsfastmath/divide/fp_div_d.c tomsfastmath/divide/fp_mod.c \
302
+	tomsfastmath/divide/fp_mod_d.c tomsfastmath/exptmod/fp_2expt.c \
303
+	tomsfastmath/exptmod/fp_exptmod.c tomsfastmath/misc/fp_ident.c \
304
+	tomsfastmath/misc/fp_set.c \
305
+	tomsfastmath/mont/fp_montgomery_calc_normalization.c \
306
+	tomsfastmath/mont/fp_montgomery_reduce.c \
307
+	tomsfastmath/mont/fp_montgomery_setup.c \
308
+	tomsfastmath/mul/fp_mul.c tomsfastmath/mul/fp_mul_comba.c \
309
+	tomsfastmath/mul/fp_mul_2.c tomsfastmath/mul/fp_mul_2d.c \
310
+	tomsfastmath/mul/fp_mul_comba_12.c \
311
+	tomsfastmath/mul/fp_mul_comba_17.c \
312
+	tomsfastmath/mul/fp_mul_comba_20.c \
313
+	tomsfastmath/mul/fp_mul_comba_24.c \
314
+	tomsfastmath/mul/fp_mul_comba_28.c \
315
+	tomsfastmath/mul/fp_mul_comba_3.c \
316
+	tomsfastmath/mul/fp_mul_comba_32.c \
317
+	tomsfastmath/mul/fp_mul_comba_4.c \
318
+	tomsfastmath/mul/fp_mul_comba_48.c \
319
+	tomsfastmath/mul/fp_mul_comba_6.c \
320
+	tomsfastmath/mul/fp_mul_comba_64.c \
321
+	tomsfastmath/mul/fp_mul_comba_7.c \
322
+	tomsfastmath/mul/fp_mul_comba_8.c \
323
+	tomsfastmath/mul/fp_mul_comba_9.c \
324
+	tomsfastmath/mul/fp_mul_comba_small_set.c \
325
+	tomsfastmath/mul/fp_mul_d.c tomsfastmath/mul/fp_mulmod.c \
326
+	tomsfastmath/numtheory/fp_invmod.c tomsfastmath/sqr/fp_sqr.c \
327
+	tomsfastmath/sqr/fp_sqr_comba_12.c \
328
+	tomsfastmath/sqr/fp_sqr_comba_17.c \
329
+	tomsfastmath/sqr/fp_sqr_comba_20.c \
330
+	tomsfastmath/sqr/fp_sqr_comba_24.c \
331
+	tomsfastmath/sqr/fp_sqr_comba_28.c \
332
+	tomsfastmath/sqr/fp_sqr_comba_3.c \
333
+	tomsfastmath/sqr/fp_sqr_comba_32.c \
334
+	tomsfastmath/sqr/fp_sqr_comba_4.c \
335
+	tomsfastmath/sqr/fp_sqr_comba_48.c \
336
+	tomsfastmath/sqr/fp_sqr_comba_6.c \
337
+	tomsfastmath/sqr/fp_sqr_comba_64.c \
338
+	tomsfastmath/sqr/fp_sqr_comba_7.c \
339
+	tomsfastmath/sqr/fp_sqr_comba_8.c \
340
+	tomsfastmath/sqr/fp_sqr_comba_9.c \
341
+	tomsfastmath/sqr/fp_sqr_comba_generic.c \
342
+	tomsfastmath/sqr/fp_sqr_comba_small_set.c \
343
+	tomsfastmath/sqr/fp_sqrmod.c
344
+@ENABLE_YARA_TRUE@am__objects_1 = libclamav_la-yara_arena.lo \
345
+@ENABLE_YARA_TRUE@	libclamav_la-yara_compiler.lo \
346
+@ENABLE_YARA_TRUE@	libclamav_la-yara_exec.lo \
347
+@ENABLE_YARA_TRUE@	libclamav_la-yara_hash.lo \
348
+@ENABLE_YARA_TRUE@	libclamav_la-yara_grammar.lo \
349
+@ENABLE_YARA_TRUE@	libclamav_la-yara_lexer.lo \
350
+@ENABLE_YARA_TRUE@	libclamav_la-yara_parser.lo
222 351
 am_libclamav_la_OBJECTS = libclamav_la-matcher-ac.lo \
223 352
 	libclamav_la-matcher-bm.lo libclamav_la-matcher-hash.lo \
224 353
 	libclamav_la-matcher.lo libclamav_la-others.lo \
... ...
@@ -284,12 +429,9 @@ am_libclamav_la_OBJECTS = libclamav_la-matcher-ac.lo \
284 284
 	libclamav_la-asn1.lo libclamav_la-fpu.lo libclamav_la-stats.lo \
285 285
 	libclamav_la-www.lo libclamav_la-stats_json.lo \
286 286
 	libclamav_la-hostid.lo libclamav_la-openioc.lo \
287
-	libclamav_la-yara_arena.lo libclamav_la-yara_compiler.lo \
288
-	libclamav_la-yara_exec.lo libclamav_la-yara_hash.lo \
289
-	libclamav_la-yara_grammar.lo libclamav_la-yara_lexer.lo \
290
-	libclamav_la-yara_parser.lo libclamav_la-msdoc.lo \
291
-	libclamav_la-matcher-pcre.lo libclamav_la-regex_pcre.lo \
292
-	libclamav_la-msxml.lo libclamav_la-msxml_parser.lo \
287
+	libclamav_la-msdoc.lo libclamav_la-matcher-pcre.lo \
288
+	libclamav_la-regex_pcre.lo libclamav_la-msxml.lo \
289
+	libclamav_la-msxml_parser.lo $(am__objects_1) \
293 290
 	libclamav_la-fp_add.lo libclamav_la-fp_add_d.lo \
294 291
 	libclamav_la-fp_addmod.lo libclamav_la-fp_cmp.lo \
295 292
 	libclamav_la-fp_cmp_d.lo libclamav_la-fp_cmp_mag.lo \
... ...
@@ -486,7 +628,7 @@ SOURCES = $(libclamav_la_SOURCES) \
486 486
 	$(libclamav_internal_utils_nothreads_la_SOURCES) \
487 487
 	$(libclamav_nocxx_la_SOURCES) $(libclamunrar_la_SOURCES) \
488 488
 	$(libclamunrar_iface_la_SOURCES)
489
-DIST_SOURCES = $(libclamav_la_SOURCES) \
489
+DIST_SOURCES = $(am__libclamav_la_SOURCES_DIST) \
490 490
 	$(libclamav_internal_utils_la_SOURCES) \
491 491
 	$(libclamav_internal_utils_nothreads_la_SOURCES) \
492 492
 	$(libclamav_nocxx_la_SOURCES) \
... ...
@@ -620,6 +762,7 @@ GENHTML = @GENHTML@
620 620
 GETENT = @GETENT@
621 621
 GPERF = @GPERF@
622 622
 GREP = @GREP@
623
+HAVE_YARA = @HAVE_YARA@
623 624
 INCLTDL = @INCLTDL@
624 625
 INSTALL = @INSTALL@
625 626
 INSTALL_DATA = @INSTALL_DATA@
... ...
@@ -859,11 +1002,12 @@ libclamav_internal_utils_nothreads_la_LIBADD = @SSL_LIBS@ @JSON_LIBS@ @PCRE_LIBS
859 859
 @ENABLE_LLVM_FALSE@LLVMDEP = libclamav_nocxx.la
860 860
 @ENABLE_LLVM_TRUE@LLVMDEP = c++/libclamavcxx.la
861 861
 @ENABLE_LLVM_TRUE@SUBDIRS = c++
862
+@ENABLE_YARA_TRUE@YARA_CFLAGS = -DHAVE_YARA
862 863
 libclamav_nocxx_la_SOURCES = bytecode_nojit.c
863 864
 libclamav_nocxx_la_CFLAGS = $(AM_CFLAGS) @SSL_CPPFLAGS@ @JSON_CPPFLAGS@ @PCRE_CPPFLAGS@
864 865
 libclamav_la_LIBADD = @SSL_LIBS@ @JSON_LIBS@ @PCRE_LIBS@ @LIBCLAMAV_LIBS@ @LIBLTDL@ $(IFACELIBADD) $(LLVMLIBADD) libclamav_internal_utils.la @THREAD_LIBS@ @LIBM@
865 866
 libclamav_la_DEPENDENCIES = @LTDLDEPS@ $(IFACEDEP) $(LLVMDEP) libclamav_internal_utils.la
866
-libclamav_la_CFLAGS = $(AM_CFLAGS) $(XML_CPPFLAGS) -DSEARCH_LIBDIR=\"$(libdir)\" @LIBCLAMAV_CPPFLAGS@ @SSL_CPPFLAGS@ @JSON_CPPFLAGS@ @PCRE_CPPFLAGS@
867
+libclamav_la_CFLAGS = $(AM_CFLAGS) $(XML_CPPFLAGS) $(YARA_CFLAGS) -DSEARCH_LIBDIR=\"$(libdir)\" @LIBCLAMAV_CPPFLAGS@ @SSL_CPPFLAGS@ @JSON_CPPFLAGS@ @PCRE_CPPFLAGS@
867 868
 libclamav_la_LDFLAGS = @SSL_LDFLAGS@ @TH_SAFE@ @JSON_LDFLAGS@ \
868 869
 	$(XML_LIBS) -version-info @LIBCLAMAV_VERSION@ -no-undefined \
869 870
 	$(am__append_6)
... ...
@@ -921,15 +1065,12 @@ libclamav_la_SOURCES = matcher-ac.c matcher-ac.h matcher-bm.c \
921 921
 	iso9660.h arc4.c arc4.h rijndael.c rijndael.h crtmgr.c \
922 922
 	crtmgr.h asn1.c asn1.h fpu.c fpu.h stats.c stats.h www.c www.h \
923 923
 	stats_json.c stats_json.h hostid.c hostid.h openioc.c \
924
-	openioc.h yara_arena.c yara_arena.h yara_compiler.c \
925
-	yara_compiler.h yara_exec.c yara_exec.h yara_hash.c \
926
-	yara_hash.h yara_grammar.y yara_lexer.l yara_lexer.h \
927
-	yara_parser.c yara_parser.h yara_clam.h msdoc.c msdoc.h \
928
-	matcher-pcre.c matcher-pcre.h regex_pcre.c regex_pcre.h \
929
-	msxml.c msxml.h msxml_parser.c msxml_parser.h bignum.h \
930
-	bignum_fast.h tomsfastmath/addsub/fp_add.c \
931
-	tomsfastmath/addsub/fp_add_d.c tomsfastmath/addsub/fp_addmod.c \
932
-	tomsfastmath/addsub/fp_cmp.c tomsfastmath/addsub/fp_cmp_d.c \
924
+	openioc.h msdoc.c msdoc.h matcher-pcre.c matcher-pcre.h \
925
+	regex_pcre.c regex_pcre.h msxml.c msxml.h msxml_parser.c \
926
+	msxml_parser.h $(am__append_7) bignum.h bignum_fast.h \
927
+	tomsfastmath/addsub/fp_add.c tomsfastmath/addsub/fp_add_d.c \
928
+	tomsfastmath/addsub/fp_addmod.c tomsfastmath/addsub/fp_cmp.c \
929
+	tomsfastmath/addsub/fp_cmp_d.c \
933 930
 	tomsfastmath/addsub/fp_cmp_mag.c tomsfastmath/addsub/fp_sub.c \
934 931
 	tomsfastmath/addsub/fp_sub_d.c tomsfastmath/addsub/fp_submod.c \
935 932
 	tomsfastmath/addsub/s_fp_add.c tomsfastmath/addsub/s_fp_sub.c \
... ...
@@ -2350,6 +2491,41 @@ libclamav_la-openioc.lo: openioc.c
2350 2350
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
2351 2351
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -c -o libclamav_la-openioc.lo `test -f 'openioc.c' || echo '$(srcdir)/'`openioc.c
2352 2352
 
2353
+libclamav_la-msdoc.lo: msdoc.c
2354
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -MT libclamav_la-msdoc.lo -MD -MP -MF $(DEPDIR)/libclamav_la-msdoc.Tpo -c -o libclamav_la-msdoc.lo `test -f 'msdoc.c' || echo '$(srcdir)/'`msdoc.c
2355
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libclamav_la-msdoc.Tpo $(DEPDIR)/libclamav_la-msdoc.Plo
2356
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='msdoc.c' object='libclamav_la-msdoc.lo' libtool=yes @AMDEPBACKSLASH@
2357
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
2358
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -c -o libclamav_la-msdoc.lo `test -f 'msdoc.c' || echo '$(srcdir)/'`msdoc.c
2359
+
2360
+libclamav_la-matcher-pcre.lo: matcher-pcre.c
2361
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -MT libclamav_la-matcher-pcre.lo -MD -MP -MF $(DEPDIR)/libclamav_la-matcher-pcre.Tpo -c -o libclamav_la-matcher-pcre.lo `test -f 'matcher-pcre.c' || echo '$(srcdir)/'`matcher-pcre.c
2362
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libclamav_la-matcher-pcre.Tpo $(DEPDIR)/libclamav_la-matcher-pcre.Plo
2363
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='matcher-pcre.c' object='libclamav_la-matcher-pcre.lo' libtool=yes @AMDEPBACKSLASH@
2364
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
2365
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -c -o libclamav_la-matcher-pcre.lo `test -f 'matcher-pcre.c' || echo '$(srcdir)/'`matcher-pcre.c
2366
+
2367
+libclamav_la-regex_pcre.lo: regex_pcre.c
2368
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -MT libclamav_la-regex_pcre.lo -MD -MP -MF $(DEPDIR)/libclamav_la-regex_pcre.Tpo -c -o libclamav_la-regex_pcre.lo `test -f 'regex_pcre.c' || echo '$(srcdir)/'`regex_pcre.c
2369
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libclamav_la-regex_pcre.Tpo $(DEPDIR)/libclamav_la-regex_pcre.Plo
2370
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='regex_pcre.c' object='libclamav_la-regex_pcre.lo' libtool=yes @AMDEPBACKSLASH@
2371
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
2372
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -c -o libclamav_la-regex_pcre.lo `test -f 'regex_pcre.c' || echo '$(srcdir)/'`regex_pcre.c
2373
+
2374
+libclamav_la-msxml.lo: msxml.c
2375
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -MT libclamav_la-msxml.lo -MD -MP -MF $(DEPDIR)/libclamav_la-msxml.Tpo -c -o libclamav_la-msxml.lo `test -f 'msxml.c' || echo '$(srcdir)/'`msxml.c
2376
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libclamav_la-msxml.Tpo $(DEPDIR)/libclamav_la-msxml.Plo
2377
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='msxml.c' object='libclamav_la-msxml.lo' libtool=yes @AMDEPBACKSLASH@
2378
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
2379
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -c -o libclamav_la-msxml.lo `test -f 'msxml.c' || echo '$(srcdir)/'`msxml.c
2380
+
2381
+libclamav_la-msxml_parser.lo: msxml_parser.c
2382
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -MT libclamav_la-msxml_parser.lo -MD -MP -MF $(DEPDIR)/libclamav_la-msxml_parser.Tpo -c -o libclamav_la-msxml_parser.lo `test -f 'msxml_parser.c' || echo '$(srcdir)/'`msxml_parser.c
2383
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libclamav_la-msxml_parser.Tpo $(DEPDIR)/libclamav_la-msxml_parser.Plo
2384
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='msxml_parser.c' object='libclamav_la-msxml_parser.lo' libtool=yes @AMDEPBACKSLASH@
2385
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
2386
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -c -o libclamav_la-msxml_parser.lo `test -f 'msxml_parser.c' || echo '$(srcdir)/'`msxml_parser.c
2387
+
2353 2388
 libclamav_la-yara_arena.lo: yara_arena.c
2354 2389
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -MT libclamav_la-yara_arena.lo -MD -MP -MF $(DEPDIR)/libclamav_la-yara_arena.Tpo -c -o libclamav_la-yara_arena.lo `test -f 'yara_arena.c' || echo '$(srcdir)/'`yara_arena.c
2355 2390
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libclamav_la-yara_arena.Tpo $(DEPDIR)/libclamav_la-yara_arena.Plo
... ...
@@ -2399,41 +2575,6 @@ libclamav_la-yara_parser.lo: yara_parser.c
2399 2399
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
2400 2400
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -c -o libclamav_la-yara_parser.lo `test -f 'yara_parser.c' || echo '$(srcdir)/'`yara_parser.c
2401 2401
 
2402
-libclamav_la-msdoc.lo: msdoc.c
2403
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -MT libclamav_la-msdoc.lo -MD -MP -MF $(DEPDIR)/libclamav_la-msdoc.Tpo -c -o libclamav_la-msdoc.lo `test -f 'msdoc.c' || echo '$(srcdir)/'`msdoc.c
2404
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libclamav_la-msdoc.Tpo $(DEPDIR)/libclamav_la-msdoc.Plo
2405
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='msdoc.c' object='libclamav_la-msdoc.lo' libtool=yes @AMDEPBACKSLASH@
2406
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
2407
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -c -o libclamav_la-msdoc.lo `test -f 'msdoc.c' || echo '$(srcdir)/'`msdoc.c
2408
-
2409
-libclamav_la-matcher-pcre.lo: matcher-pcre.c
2410
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -MT libclamav_la-matcher-pcre.lo -MD -MP -MF $(DEPDIR)/libclamav_la-matcher-pcre.Tpo -c -o libclamav_la-matcher-pcre.lo `test -f 'matcher-pcre.c' || echo '$(srcdir)/'`matcher-pcre.c
2411
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libclamav_la-matcher-pcre.Tpo $(DEPDIR)/libclamav_la-matcher-pcre.Plo
2412
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='matcher-pcre.c' object='libclamav_la-matcher-pcre.lo' libtool=yes @AMDEPBACKSLASH@
2413
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
2414
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -c -o libclamav_la-matcher-pcre.lo `test -f 'matcher-pcre.c' || echo '$(srcdir)/'`matcher-pcre.c
2415
-
2416
-libclamav_la-regex_pcre.lo: regex_pcre.c
2417
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -MT libclamav_la-regex_pcre.lo -MD -MP -MF $(DEPDIR)/libclamav_la-regex_pcre.Tpo -c -o libclamav_la-regex_pcre.lo `test -f 'regex_pcre.c' || echo '$(srcdir)/'`regex_pcre.c
2418
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libclamav_la-regex_pcre.Tpo $(DEPDIR)/libclamav_la-regex_pcre.Plo
2419
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='regex_pcre.c' object='libclamav_la-regex_pcre.lo' libtool=yes @AMDEPBACKSLASH@
2420
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
2421
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -c -o libclamav_la-regex_pcre.lo `test -f 'regex_pcre.c' || echo '$(srcdir)/'`regex_pcre.c
2422
-
2423
-libclamav_la-msxml.lo: msxml.c
2424
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -MT libclamav_la-msxml.lo -MD -MP -MF $(DEPDIR)/libclamav_la-msxml.Tpo -c -o libclamav_la-msxml.lo `test -f 'msxml.c' || echo '$(srcdir)/'`msxml.c
2425
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libclamav_la-msxml.Tpo $(DEPDIR)/libclamav_la-msxml.Plo
2426
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='msxml.c' object='libclamav_la-msxml.lo' libtool=yes @AMDEPBACKSLASH@
2427
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
2428
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -c -o libclamav_la-msxml.lo `test -f 'msxml.c' || echo '$(srcdir)/'`msxml.c
2429
-
2430
-libclamav_la-msxml_parser.lo: msxml_parser.c
2431
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -MT libclamav_la-msxml_parser.lo -MD -MP -MF $(DEPDIR)/libclamav_la-msxml_parser.Tpo -c -o libclamav_la-msxml_parser.lo `test -f 'msxml_parser.c' || echo '$(srcdir)/'`msxml_parser.c
2432
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libclamav_la-msxml_parser.Tpo $(DEPDIR)/libclamav_la-msxml_parser.Plo
2433
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='msxml_parser.c' object='libclamav_la-msxml_parser.lo' libtool=yes @AMDEPBACKSLASH@
2434
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
2435
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -c -o libclamav_la-msxml_parser.lo `test -f 'msxml_parser.c' || echo '$(srcdir)/'`msxml_parser.c
2436
-
2437 2402
 libclamav_la-fp_add.lo: tomsfastmath/addsub/fp_add.c
2438 2403
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libclamav_la_CFLAGS) $(CFLAGS) -MT libclamav_la-fp_add.lo -MD -MP -MF $(DEPDIR)/libclamav_la-fp_add.Tpo -c -o libclamav_la-fp_add.lo `test -f 'tomsfastmath/addsub/fp_add.c' || echo '$(srcdir)/'`tomsfastmath/addsub/fp_add.c
2439 2404
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libclamav_la-fp_add.Tpo $(DEPDIR)/libclamav_la-fp_add.Plo
... ...
@@ -55,8 +55,10 @@
55 55
 #include "perflogging.h"
56 56
 #include "bytecode_priv.h"
57 57
 #include "bytecode_api_impl.h"
58
+#ifdef HAVE_YARA
58 59
 #include "yara_clam.h"
59 60
 #include "yara_exec.h"
61
+#endif
60 62
 
61 63
 #ifdef CLI_PERF_LOGGING
62 64
 
... ...
@@ -763,6 +765,7 @@ static int lsig_eval(cli_ctx *ctx, struct cli_matcher *root, struct cli_ac_data
763 763
     return CL_CLEAN;
764 764
 }
765 765
 
766
+#ifdef HAVE_YARA
766 767
 static int yara_eval(cli_ctx *ctx, struct cli_matcher *root, struct cli_ac_data *acdata, struct cli_target_info *target_info, const char *hash, uint32_t lsid)
767 768
 {
768 769
     struct cli_ac_lsig *ac_lsig = root->ac_lsigtable[lsid];
... ...
@@ -787,6 +790,7 @@ static int yara_eval(cli_ctx *ctx, struct cli_matcher *root, struct cli_ac_data
787 787
     }
788 788
     return rc;
789 789
 }
790
+#endif
790 791
 
791 792
 int cli_exp_eval(cli_ctx *ctx, struct cli_matcher *root, struct cli_ac_data *acdata, struct cli_target_info *target_info, const char *hash)
792 793
 {
... ...
@@ -797,8 +801,10 @@ int cli_exp_eval(cli_ctx *ctx, struct cli_matcher *root, struct cli_ac_data *acd
797 797
     for(i = 0; i < root->ac_lsigs; i++) {
798 798
         if (root->ac_lsigtable[i]->type == CLI_LSIG_NORMAL)
799 799
             rc = lsig_eval(ctx, root, acdata, target_info, hash, i);
800
+#ifdef HAVE_YARA
800 801
         else if (root->ac_lsigtable[i]->type == CLI_YARA_NORMAL || root->ac_lsigtable[i]->type == CLI_YARA_OFFSET)
801 802
             rc = yara_eval(ctx, root, acdata, target_info, hash, i);
803
+#endif
802 804
         if (rc == CL_VIRUS) {
803 805
             viruses_found = 1;
804 806
             if (SCAN_ALL)
... ...
@@ -450,6 +450,8 @@ struct cl_engine *cl_engine_new(void)
450 450
     new->pcre_recmatch_limit = CLI_DEFAULT_PCRE_RECMATCH_LIMIT;
451 451
     new->pcre_max_filesize = CLI_DEFAULT_PCRE_MAX_FILESIZE;
452 452
 
453
+#ifdef HAVE_YARA
454
+
453 455
     /* YARA */
454 456
     if (cli_yara_init(new) != CL_SUCCESS) {
455 457
         cli_errmsg("cli_engine_new: failed to initialize YARA\n");
... ...
@@ -464,6 +466,8 @@ struct cl_engine *cl_engine_new(void)
464 464
         return NULL;
465 465
     }
466 466
 
467
+#endif
468
+
467 469
     cli_dbgmsg("Initialized %s engine\n", cl_retver());
468 470
     return new;
469 471
 }
... ...
@@ -50,10 +50,14 @@
50 50
 #include "bytecode_api.h"
51 51
 #include "events.h"
52 52
 #include "crtmgr.h"
53
+
53 54
 #ifdef HAVE_JSON
54 55
 #include "json.h"
55 56
 #endif
57
+
58
+#ifdef HAVE_YARA
56 59
 #include "yara_clam.h"
60
+#endif
57 61
 
58 62
 #if HAVE_LIBXML2
59 63
 #define CLAMAV_MIN_XMLREADER_FLAGS (XML_PARSE_NOERROR | XML_PARSE_NONET)
... ...
@@ -375,8 +379,10 @@ struct cl_engine {
375 375
     uint64_t pcre_recmatch_limit;
376 376
     uint64_t pcre_max_filesize;
377 377
 
378
+#ifdef HAVE_YARA
378 379
     /* YARA */
379 380
     struct _yara_global * yara_global;
381
+#endif
380 382
 };
381 383
 
382 384
 struct cl_settings {
... ...
@@ -78,14 +78,18 @@
78 78
 #include "bytecode_priv.h"
79 79
 #include "cache.h"
80 80
 #include "openioc.h"
81
+
81 82
 #ifdef CL_THREAD_SAFE
82 83
 #  include <pthread.h>
83 84
 static pthread_mutex_t cli_ref_mutex = PTHREAD_MUTEX_INITIALIZER;
84 85
 #endif
86
+
87
+#ifdef HAVE_YARA
85 88
 #include "yara_clam.h"
86 89
 #include "yara_compiler.h"
87 90
 #include "yara_grammar.h"
88 91
 #include "yara_lexer.h"
92
+#endif
89 93
 
90 94
 
91 95
 #define MAX_LDB_SUBSIGS 64
... ...
@@ -2986,6 +2990,7 @@ static int cli_loadopenioc(FILE *fs, const char *dbname, struct cl_engine *engin
2986 2986
     return rc;
2987 2987
 }
2988 2988
 
2989
+#ifdef HAVE_YARA
2989 2990
 #define YARA_DEBUG 1
2990 2991
 #if (YARA_DEBUG == 2)
2991 2992
 #define cli_yaramsg(...) cli_errmsg(__VA_ARGS__)
... ...
@@ -4054,6 +4059,7 @@ static int cli_loadyara(FILE *fs, struct cl_engine *engine, unsigned int *signo,
4054 4054
 
4055 4055
     return CL_SUCCESS;
4056 4056
 }
4057
+#endif
4057 4058
 
4058 4059
 /*      0            1           2          3
4059 4060
  * PasswordName;Attributes;PWStorageType;Password
... ...
@@ -4352,8 +4358,10 @@ int cli_load(const char *filename, struct cl_engine *engine, unsigned int *signo
4352 4352
 	ret = cli_loadmscat(fs, dbname, engine, options, dbio);
4353 4353
     } else if(cli_strbcasestr(dbname, ".ioc")) {
4354 4354
 	ret = cli_loadopenioc(fs, dbname, engine, options);
4355
+#ifdef HAVE_YARA
4355 4356
     } else if(cli_strbcasestr(dbname, ".yar") || cli_strbcasestr(dbname, ".yara")) {
4356 4357
         ret = cli_loadyara(fs, engine, signo, options, dbio, filename);
4358
+#endif
4357 4359
     } else if(cli_strbcasestr(dbname, ".pwdb")) {
4358 4360
         ret = cli_loadpwdb(fs, engine, options, 0, dbio);
4359 4361
     } else {
... ...
@@ -5049,7 +5057,9 @@ int cl_engine_free(struct cl_engine *engine)
5049 5049
     if(engine->mempool) mpool_destroy(engine->mempool);
5050 5050
 #endif
5051 5051
 
5052
+#ifdef HAVE_YARA
5052 5053
     cli_yara_free(engine);
5054
+#endif
5053 5055
 
5054 5056
     free(engine);
5055 5057
     return CL_SUCCESS;
... ...
@@ -5063,7 +5073,7 @@ int cl_engine_compile(struct cl_engine *engine)
5063 5063
 
5064 5064
     if(!engine)
5065 5065
 	return CL_ENULLARG;
5066
-
5066
+#ifdef HAVE_YARA
5067 5067
     /* Free YARA hash tables - only needed for parse and load */
5068 5068
     if (engine->yara_global != NULL) {
5069 5069
         if (engine->yara_global->rules_table)
... ...
@@ -5072,6 +5082,7 @@ int cl_engine_compile(struct cl_engine *engine)
5072 5072
             yr_hash_table_destroy(engine->yara_global->objects_table, NULL);
5073 5073
         engine->yara_global->rules_table = engine->yara_global->objects_table = NULL;
5074 5074
     }
5075
+#endif
5075 5076
 
5076 5077
     if(!engine->ftypes)
5077 5078
 	if((ret = cli_loadftm(NULL, engine, 0, 1, NULL)))
... ...
@@ -27,6 +27,7 @@
27 27
 #include "cltypes.h"
28 28
 #include "cvd.h"
29 29
 
30
+#ifdef HAVE_YARA
30 31
 #define CLI_DBEXT(ext)				\
31 32
     (						\
32 33
 	cli_strbcasestr(ext, ".db")    ||	\
... ...
@@ -67,6 +68,45 @@
67 67
 	cli_strbcasestr(ext, ".yara")  ||	\
68 68
 	cli_strbcasestr(ext, ".pwdb")		\
69 69
     )
70
+#else
71
+#define CLI_DBEXT(ext)				\
72
+    (						\
73
+	cli_strbcasestr(ext, ".db")    ||	\
74
+	cli_strbcasestr(ext, ".db2")   ||	\
75
+	cli_strbcasestr(ext, ".db3")   ||	\
76
+	cli_strbcasestr(ext, ".hdb")   ||	\
77
+	cli_strbcasestr(ext, ".hdu")   ||	\
78
+	cli_strbcasestr(ext, ".fp")    ||	\
79
+	cli_strbcasestr(ext, ".mdb")   ||	\
80
+	cli_strbcasestr(ext, ".mdu")   ||	\
81
+	cli_strbcasestr(ext, ".hsb")   ||	\
82
+	cli_strbcasestr(ext, ".hsu")   ||	\
83
+	cli_strbcasestr(ext, ".sfp")   ||	\
84
+	cli_strbcasestr(ext, ".msb")   ||	\
85
+	cli_strbcasestr(ext, ".msu")   ||	\
86
+	cli_strbcasestr(ext, ".ndb")   ||	\
87
+	cli_strbcasestr(ext, ".ndu")   ||	\
88
+	cli_strbcasestr(ext, ".ldb")   ||	\
89
+	cli_strbcasestr(ext, ".ldu")   ||	\
90
+	cli_strbcasestr(ext, ".sdb")   ||	\
91
+	cli_strbcasestr(ext, ".zmd")   ||	\
92
+	cli_strbcasestr(ext, ".rmd")   ||	\
93
+	cli_strbcasestr(ext, ".pdb")   ||	\
94
+	cli_strbcasestr(ext, ".gdb")   ||	\
95
+	cli_strbcasestr(ext, ".wdb")   ||	\
96
+	cli_strbcasestr(ext, ".cbc")   ||	\
97
+	cli_strbcasestr(ext, ".ftm")   ||	\
98
+	cli_strbcasestr(ext, ".cfg")   ||	\
99
+	cli_strbcasestr(ext, ".cvd")   ||	\
100
+	cli_strbcasestr(ext, ".cld")   ||	\
101
+	cli_strbcasestr(ext, ".cud")   ||	\
102
+	cli_strbcasestr(ext, ".cdb")   ||	\
103
+	cli_strbcasestr(ext, ".cat")   ||	\
104
+	cli_strbcasestr(ext, ".crb")   ||	\
105
+	cli_strbcasestr(ext, ".idb")   ||	\
106
+	cli_strbcasestr(ext, ".ioc")		\
107
+    )
108
+#endif
70 109
 
71 110
 char *cli_virname(const char *virname, unsigned int official);
72 111
 
... ...
@@ -80,8 +120,10 @@ char *cli_dbgets(char *buff, unsigned int size, FILE *fs, struct cli_dbio *dbio)
80 80
 
81 81
 int cli_initroots(struct cl_engine *engine, unsigned int options);
82 82
 
83
+#ifdef HAVE_YARA
83 84
 int cli_yara_init(struct cl_engine *engine);
84 85
 
85 86
 void cli_yara_free(struct cl_engine *engine);
87
+#endif
86 88
 
87 89
 #endif
... ...
@@ -153,6 +153,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
153 153
 	$(top_srcdir)/m4/reorganization/distcheck.m4 \
154 154
 	$(top_srcdir)/m4/reorganization/llvm.m4 \
155 155
 	$(top_srcdir)/m4/reorganization/sha_collect.m4 \
156
+	$(top_srcdir)/m4/reorganization/yara.m4 \
156 157
 	$(top_srcdir)/m4/reorganization/bsd.m4 \
157 158
 	$(top_srcdir)/m4/reorganization/libs/curl.m4 \
158 159
 	$(top_srcdir)/m4/reorganization/substitutions.m4 \
... ...
@@ -385,6 +386,7 @@ GENHTML = @GENHTML@
385 385
 GETENT = @GETENT@
386 386
 GPERF = @GPERF@
387 387
 GREP = @GREP@
388
+HAVE_YARA = @HAVE_YARA@
388 389
 INCLTDL = @INCLTDL@
389 390
 INSTALL = @INSTALL@
390 391
 INSTALL_DATA = @INSTALL_DATA@
391 392
new file mode 100644
... ...
@@ -0,0 +1,12 @@
0
+
1
+AC_ARG_ENABLE([yara],
2
+[AS_HELP_STRING([--disable-yara],
3
+[do not include yara support])],
4
+enable_yara=$enableval, enable_yara="yes")
5
+
6
+if test "$enable_yara" = "yes"; then
7
+    AC_DEFINE([HAVE_YARA],1,[yara sources are compiled in])]
8
+    AC_SUBST([HAVE_YARA])
9
+fi
10
+
11
+
... ...
@@ -165,6 +165,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
165 165
 	$(top_srcdir)/m4/reorganization/distcheck.m4 \
166 166
 	$(top_srcdir)/m4/reorganization/llvm.m4 \
167 167
 	$(top_srcdir)/m4/reorganization/sha_collect.m4 \
168
+	$(top_srcdir)/m4/reorganization/yara.m4 \
168 169
 	$(top_srcdir)/m4/reorganization/bsd.m4 \
169 170
 	$(top_srcdir)/m4/reorganization/libs/curl.m4 \
170 171
 	$(top_srcdir)/m4/reorganization/substitutions.m4 \
... ...
@@ -307,6 +308,7 @@ GENHTML = @GENHTML@
307 307
 GETENT = @GETENT@
308 308
 GPERF = @GPERF@
309 309
 GREP = @GREP@
310
+HAVE_YARA = @HAVE_YARA@
310 311
 INCLTDL = @INCLTDL@
311 312
 INSTALL = @INSTALL@
312 313
 INSTALL_DATA = @INSTALL_DATA@
... ...
@@ -146,6 +146,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
146 146
 	$(top_srcdir)/m4/reorganization/distcheck.m4 \
147 147
 	$(top_srcdir)/m4/reorganization/llvm.m4 \
148 148
 	$(top_srcdir)/m4/reorganization/sha_collect.m4 \
149
+	$(top_srcdir)/m4/reorganization/yara.m4 \
149 150
 	$(top_srcdir)/m4/reorganization/bsd.m4 \
150 151
 	$(top_srcdir)/m4/reorganization/libs/curl.m4 \
151 152
 	$(top_srcdir)/m4/reorganization/substitutions.m4 \
... ...
@@ -237,6 +238,7 @@ GENHTML = @GENHTML@
237 237
 GETENT = @GETENT@
238 238
 GPERF = @GPERF@
239 239
 GREP = @GREP@
240
+HAVE_YARA = @HAVE_YARA@
240 241
 INCLTDL = @INCLTDL@
241 242
 INSTALL = @INSTALL@
242 243
 INSTALL_DATA = @INSTALL_DATA@
... ...
@@ -148,6 +148,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \
148 148
 	$(top_srcdir)/m4/reorganization/distcheck.m4 \
149 149
 	$(top_srcdir)/m4/reorganization/llvm.m4 \
150 150
 	$(top_srcdir)/m4/reorganization/sha_collect.m4 \
151
+	$(top_srcdir)/m4/reorganization/yara.m4 \
151 152
 	$(top_srcdir)/m4/reorganization/bsd.m4 \
152 153
 	$(top_srcdir)/m4/reorganization/libs/curl.m4 \
153 154
 	$(top_srcdir)/m4/reorganization/substitutions.m4 \
... ...
@@ -527,6 +528,7 @@ GENHTML = @GENHTML@
527 527
 GETENT = @GETENT@
528 528
 GPERF = @GPERF@
529 529
 GREP = @GREP@
530
+HAVE_YARA = @HAVE_YARA@
530 531
 INCLTDL = @INCLTDL@
531 532
 INSTALL = @INSTALL@
532 533
 INSTALL_DATA = @INSTALL_DATA@
... ...
@@ -577,4 +577,7 @@
577 577
 
578 578
 #define LLVM_VERSION 28
579 579
 
580
+/* YARA */
581
+#define HAVE_YARA 1
582
+
580 583
 #include "platform.h"