Commit graph

61 commits

Author SHA1 Message Date
Seth Hall
3919a35b9b Metrics framework update. Mostly to make metrics work on clusters.
- Metrics now work on cluster deployments with no caveats.  It should be
  completely transparent.  Intermediate updates to speed some detection
  will come later.
2011-08-15 15:57:48 -04:00
Robin Sommer
cb31fd3bb9 Logging's path_func now receives the log record as argument.
Closes #555.
2011-08-12 22:18:45 -07:00
Robin Sommer
c436930acf Functions can now be logged.
The function's code is rendered as ASCII and included as a string.
Closes #506.

Note that I'm not sure if the formatting is as desired: should the LFs
and tabs be rendered as \xXX or removed?.
2011-08-12 22:15:57 -07:00
Seth Hall
adc486c673 Merge remote-tracking branch 'origin/topic/jsiwek/smtp-refactor'
- While updating, I did some further work on the branch.

- New function in the base/utils/files for extracting filenames
  from content-dispositions.

- New script for entity excerpt extraction if you aren't interested
  in full extraction.  The data goes a log field too.

- Some renaming and reorganization of types.

- Updated tests to work with new code.

* origin/topic/jsiwek/smtp-refactor:
  Make the doc.coverage test happy.
  SMTP script refactor. (addresses #509)

Conflicts:
	doc/scripts/DocSourcesList.cmake
	policy/protocols/smtp/__load__.bro
	policy/protocols/smtp/base/__load__.bro
2011-08-10 13:34:31 -04:00
Seth Hall
29425c29e2 Communication framework updates now that communications can be enabled dynamically. 2011-08-09 11:13:36 -04:00
Robin Sommer
1289e115c1 A set of new/changed tests regarding the new policy script organisation.
* test-all.bro renamed to test-all-policy.bro because it lists
      only the optional scripts now.

    * A new test that checks that the default config loads everything
      in base/*/

    * A new test that runs bare mode but loads all optional policy
      scripts (which fails horribly right now ...)

    * A new loaded_scripts test for the bare mode.
2011-08-08 18:29:35 -07:00
Robin Sommer
f506b5682f Adding a loaded-scripts test for the bare mode. 2011-08-08 17:07:51 -07:00
Robin Sommer
bbb0b855a2 Merge branch 'topic/robin/rotation-pp'
* topic/robin/rotation-pp:
  Adding a default_path_func that makes the default naming scheme script-level controlled.
  Reworking logging's postprocessor logic.

Conflicts:
	scripts/base/frameworks/logging/main.bro
	testing/btest/policy/frameworks/logging/rotate-custom.bro
2011-08-08 16:14:54 -07:00
Seth Hall
c4f4df6a79 Renaming the default loaded "init" scripts and added command line arg for "bare-mode"
- bro.init was renamed to base/init-bare.bro and base/all.bro
  was renamed to init-default.bro.

- To run in "bare mode" with only the init-bare.bro and no other
  scripts from base/, use either -b or --bare-mode.

- The environment variable to run in "bare mode" has been removed.
2011-08-08 13:40:43 -04:00
Seth Hall
597a4d6704 Hopefully the last major script reorganization.
- policy/ renamed to scripts/

- By default BROPATH now contains:
	- scripts/
	- scripts/policy
	- scripts/site

- *Nearly* all tests pass.

- All of scripts/base/ is loaded by main.cc
	- Can be disabled by setting $BRO_NO_BASE_SCRIPTS
	- Scripts in scripts/base/ don't use relative path loading to ease use of BRO_NO_BASE_SCRIPTS (to copy and paste that script).

- The scripts in scripts/base/protocols/ only (or soon will only) do logging and state building.

- The scripts in scripts/base/frameworks/ add functionality without causing any additional overhead.

- All "detection" activity happens through scripts in scripts/policy/.

- Communications framework modified temporarily to need an environment variable to actually enable (ENABLE_COMMUNICATION=1)
	- This is so the communications framework can be loaded as part
	  of the base without causing trouble when it's not needed.
	- This will be removed once a resolution to ticket #540 is reached.
2011-08-05 23:09:53 -04:00
Jon Siwek
31622bd35f Merge branch 'master' into topic/jsiwek/smtp-refactor 2011-08-01 10:34:21 -05:00
Robin Sommer
47d9b59263 Merge remote-tracking branch 'origin/topic/jsiwek/unit-tests'
* origin/topic/jsiwek/unit-tests:
  Fix utils/conn-ids test due to renamed conn-ids.bro
  Moving the test for site.bro to live w/ other utils/ tests.
  Fix test due to moving of site.bro
  More policy/utils unit tests and documentation.
  Updating documentation for some utils/ policy scripts
  Add unit tests for utils/paths.bro with some changes
  Adding unit tests for utils.
  Adding test for utils/addrs.bro.
  Add unit test for site.bro.

Conflicts:
	policy/utils/site.bro

Closes #525.
2011-07-30 18:18:26 -07:00
Robin Sommer
96a9d488e0 Reworking logging's postprocessor logic.
The main change is that the postprocessor commands are no longer run
by the log writers themselves. Instead, the writers send back a
message to the log mgr once they have rotated. The manager then calls
a script level function to do somethign with the rotated file. By
default, it will be renamed to somethingn nice and then a
postprocessor shell command will be run on it if defined.

Pieces going into this:

    - Terminology change: "postprocessor" now refers to a script
    *function*. In addition, there are "postprocessor commands", which
    are shell commands that may be triggered by the function to run on
    a rotated file.

    - The RotationInfo record now comes with all the information that
    was previously provided internally to the C++ function running the
    post-processor command.

    - Changing the default time format to %Y-%m-%d-%H-%M-%S

    - rotation_path_func is gone

    - The default postprocessor function is defined individually by
      each LogWriter in frameworks/logging/plugin/*

    - The interface to postprocessor shell commands remains the same.

Needs a bit more testing ...
2011-07-29 17:32:33 -07:00
Jon Siwek
17d74c23db SMTP script refactor. (addresses #509)
- message header state tracking is now done by handling mime_one_header
  instead of parsing the data in the smtp_data event
- changed the logging point to be when an smtp_reply is seen in response
  to the end of a DATA section
- the smtp package now uses it's own mime script and logging stream for
  logging entities, extraction, etc.
- fixes for mime file extraction: now logs the extracted file name, and
  the count of extracted files needed to be maintained in the State record
2011-07-29 14:55:53 -05:00
Jon Siwek
451b43498f Another fix to the default-loaded-scripts test.
sed on some platforms like OS X (maybe FreeBSD in general) won't recognize
semi-colon delimited commands as multiple commands, instead use the -e
option multiple times to build the command list.
2011-07-27 15:11:05 -05:00
Robin Sommer
58ceceac31 Fixing a couple tests. 2011-07-25 21:44:51 -07:00
Jon Siwek
e59c4b8c3c Rename/change policy.misc.loaded-scripts, again baselines default loaded scripts 2011-07-22 20:27:39 -05:00
Jon Siwek
624abd642f Changes to unit tests that rely on libmagic.
If a test doesn't rely on libmagic, mime type related columns of baselined
logs are filtered out.

If a test does rely on libmagic, it needs to use the TEST-REQUIRES btest
macro to check that the bro build supports it, and then mime type related
columns of logs can be normalized via a logging filter to reduce sensitivity
to varying version of libmagic.
2011-07-22 13:32:02 -05:00
Jon Siwek
cd5c564eb4 Change policy.misc.loaded-scripts tests.
To make it insensitive to scripts loaded by default, now it just
checks that the loaded_scripts log is created and has contents.
2011-07-22 11:59:17 -05:00
Jon Siwek
d30a335dba LogWriterAscii now prints time values w/ constant 6 digit precision.
closes #508
2011-07-22 10:49:43 -05:00
Jon Siwek
717a2a54f6 Merge branch 'master' into topic/jsiwek/irc-orig 2011-07-20 15:11:43 -05:00
Jon Siwek
73c138152c Add IRC unit tests. 2011-07-20 14:49:20 -05:00
Robin Sommer
b2a3723a1d Fixing tests that need a diff canonifier. 2011-07-19 17:39:46 -07:00
Jon Siwek
77ceb105df Fix utils/conn-ids test due to renamed conn-ids.bro 2011-07-19 11:17:52 -05:00
Jon Siwek
1b1905fcea Moving the test for site.bro to live w/ other utils/ tests. 2011-07-19 10:38:52 -05:00
Jon Siwek
613b7a1405 Fix test due to moving of site.bro 2011-07-19 10:34:51 -05:00
Jon Siwek
caf798def0 Merge branch 'master' into topic/jsiwek/unit-tests 2011-07-19 10:29:56 -05:00
Jon Siwek
27ba228fa1 More policy/utils unit tests and documentation. 2011-07-19 10:28:26 -05:00
Seth Hall
cee3991822 Script updates.
- Fixing more vestiges from moving site.bro and removing functions.bro

- Updates comments on analysis-groups.bro

- Added the trim-trace-file script from broctl.
2011-07-19 10:41:54 -04:00
Jon Siwek
c5e98a8116 Updating documentation for some utils/ policy scripts 2011-07-18 20:14:06 -05:00
Jon Siwek
9b27a98e93 Add unit tests for utils/paths.bro with some changes
- rename extract_directory() to extract_path() (later seemed clearer)
  and made it work with more than just path string in FTP response msgs
- rename build_full_path() and absolute_path()
- compress_path() should now work with relative paths also
2011-07-18 20:05:16 -05:00
Jon Siwek
4437ee59f7 Adding unit tests for utils.
Also fixing id_matches_direction() function to check both connection
endpoints when determining direction respectful of local network.
2011-07-15 16:42:09 -05:00
Jon Siwek
f71010a013 Adding test for utils/addrs.bro.
Also fixed the TODO about making check for valid IPv6 string formats
more robust.
2011-07-13 20:25:57 -05:00
Jon Siwek
0dfd5b867e Add unit test for site.bro.
Small fix in site.bro's find_all_emails() to get rid of errors
about accessing non-existent table indices.
2011-07-13 18:35:43 -05:00
Seth Hall
d9f0612546 Lots of cleanup, tests, and the new Control framework.
- Control framework is for runtime control of Bro instances.
  It was extracted from BroControl and made more generic.

- Tests for cluster frameworks and control framework.

- Small fix for btest.cfg

- Fixed a bug in the cluster framework that was causing things to break.
2011-07-13 17:09:20 -04:00
Seth Hall
427855a40d Fixing the name of a test so that it actually runs. 2011-07-12 16:19:47 -04:00
Seth Hall
0332a06012 Fixed most of the tests after the script reorganization. 2011-07-12 14:12:25 -04:00
Robin Sommer
97b5f812c7 A new event bro_script_loaded() raised for each policy script loaded.
Also removing the -l command-line option as that can now be done at
the script-level.

A couple tests fail now that use -l. Leaving that until we have
script-level replacement.
2011-07-07 19:56:26 -07:00
Robin Sommer
4577787d9c Test for the HTTP problem in #488.
The test is currently failing until fixed.
2011-06-30 22:54:25 -07:00
Robin Sommer
a34e5e0973 Test for problem in DNS scripts.
It's currently failing.
2011-06-30 22:54:25 -07:00
Robin Sommer
b57624aabf Adding new policy file test-all.bro that loads all other policies.
This is for testing only. There are also two test: one that checks
that test-all.bro loads correctly, and one that ensures that test-all
is actually loading all scripts found in policy/*.
2011-06-30 17:47:23 -07:00
Jon Siwek
0d4be5d772 Fixing tests / updating baselines.
- core.load-unload: scripts that get loaded by default changed, so to
  make the test insensitive to that in the future, I changed the test
  to just check that the stdout is empty (the @unload'd script would have
  had output there)

- policy.frameworks.logging.rotate-custom: I saw that the ordering of
  the log postprocessor output caused a failure for me even though the
  overall content was the same, so it now sorts that part before diff'ing

- core.print-bpf-filters-ipv[4|6]: packet-filter log file name changed

- policy.protocols.conn.known-services: logging file names changes and
  local_nets is now in the Site module
2011-06-29 12:34:14 -05:00
Seth Hall
cb3d312d5a Intel framework test passes now. 2011-06-24 16:10:13 -04:00
Seth Hall
0b918eb140 Reorganized some of the tests for consistency. 2011-06-24 15:40:56 -04:00
Jon Siwek
4f33dcf59e Updating software version parsing test.
Tweaked parsing code a bit catch a couple that were failing.
2011-06-24 13:27:35 -05:00
Jon Siwek
ecaae75e65 Reorganize where HTTP pipelining test lives. 2011-06-24 11:25:16 -05:00
Jon Siwek
b7b3e9c5a2 Tweak known-hosts test to explicitly do local asset tracking 2011-06-24 11:22:18 -05:00
Jon Siwek
e180761eb4 Update/improve known-services test. 2011-06-24 11:18:25 -05:00
Jon Siwek
dc4dc7c56a Update/improve known-hosts unit test. 2011-06-22 16:50:42 -05:00
Seth Hall
a8893052ac Added some HTTP tests.
- Tests HTTP pipelining, MD5 summing and general HTTP handling.
- I checked over the baseline closely and it appears correct.
2011-06-15 13:29:04 -04:00