diff --git a/scripts/base/protocols/smtp/entities.bro b/scripts/base/protocols/smtp/entities.bro index e2bb40b7aa..e3c89ff36c 100644 --- a/scripts/base/protocols/smtp/entities.bro +++ b/scripts/base/protocols/smtp/entities.bro @@ -69,6 +69,11 @@ export { ## The on-disk prefix for files to be extracted from MIME entity bodies. const extraction_prefix = "smtp-entity" &redef; + ## If set, never generate MD5s. This is mainly for testing purposes to create + ## reproducable output in the case that the decision whether to create + ## checksums depends on environment specifics. + const never_calc_md5 = F &redef; + global log_mime: event(rec: EntityInfo); } @@ -121,7 +126,7 @@ event mime_segment_data(c: connection, length: count, data: string) &priority=-5 if ( c$smtp$current_entity$content_len == 0 ) { - if ( generate_md5 in c$smtp$current_entity$mime_type ) + if ( generate_md5 in c$smtp$current_entity$mime_type && ! never_calc_md5 ) c$smtp$current_entity$calc_md5 = T; if ( c$smtp$current_entity$calc_md5 ) diff --git a/testing/external/scripts/skel/test.skeleton b/testing/external/scripts/skel/test.skeleton index e0291d70df..becd970d78 100644 --- a/testing/external/scripts/skel/test.skeleton +++ b/testing/external/scripts/skel/test.skeleton @@ -1,2 +1,6 @@ -@TEST-EXEC: zcat $TRACES/test.trace.gz | bro -r - test-all-policy -@TEST-EXEC: $SCRIPTS/diff-all *.log +# @TEST-EXEC: zcat $TRACES/trace.gz | bro -r - %INPUT +# @TEST-EXEC: $SCRIPTS/diff-all *.log + +@load testing-setup +@load test-all-policy + diff --git a/testing/external/scripts/testing-setup.bro b/testing/external/scripts/testing-setup.bro new file mode 100644 index 0000000000..fa5664a877 --- /dev/null +++ b/testing/external/scripts/testing-setup.bro @@ -0,0 +1,6 @@ +# Sets some testing specific options. + +@ifdef ( SMTP::never_calc_md5 ) + # MDD5s can depend on libmagic output. + redef SMTP::never_calc_md5 = T; +@endif diff --git a/testing/external/subdir-btest.cfg b/testing/external/subdir-btest.cfg index f780f7f90a..dd9a57c879 100644 --- a/testing/external/subdir-btest.cfg +++ b/testing/external/subdir-btest.cfg @@ -6,7 +6,7 @@ IgnoreDirs = .svn CVS .tmp IgnoreFiles = *.tmp *.swp #* *.trace .gitignore *.skeleton [environment] -BROPATH=`bash -c %(testbase)s/../../../build/bro-path-dev` +BROPATH=`bash -c %(testbase)s/../../../build/bro-path-dev`:%(testbase)s/../scripts BRO_SEED_FILE=%(testbase)s/../random.seed TZ=UTC LC_ALL=C