Commit graph

3113 commits

Author SHA1 Message Date
Jon Siwek
2eea193d79 Update default/bare loaded scripts test and test-all-policy coverage. 2011-08-10 20:34:49 -05:00
Jon Siwek
f517d0e0ad Merge branch 'master' into topic/jsiwek/reorg-followup 2011-08-10 19:59:18 -05:00
Jon Siwek
47500ceef4 Add a test that checks each individual script can be loaded in bare-mode.
Fixed most @load dependency issues in the process.  The test is still
failing in a "known" way due to hot.conn.bro and scan.bro.

Adressess #545
2011-08-10 15:38:21 -05: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
Gilbert Clark gc355804@ohio.edu
8feae0b7a7 Test no longer relevant. Need a way to generate and test collisions. 2011-08-09 09:47:47 -07:00
Seth Hall
29425c29e2 Communication framework updates now that communications can be enabled dynamically. 2011-08-09 11:13:36 -04:00
Seth Hall
3437220fe3 piped_exec can now write nulls in the "to_write" argument.
- Additional test for testing writing null values.
2011-08-09 09:51:03 -04:00
Gilbert Clark gc355804@ohio.edu
df142b9c4b Testing long (>32 character) pool names. 2011-08-08 23:16:16 -07:00
Gilbert Clark gc355804@ohio.edu
90bad36e49 Simple test to verify various pools are not affecting each other. 2011-08-08 22:50:36 -07:00
Gilbert Clark gc355804@ohio.edu
9322c063cc Some working code. Adds UID pools classified by string. Just compiles
and runs; need to go back through and make sure this code is actually
doing what I want it to do.

Note: Added new function unique_id_from(pool: string, prefix: string)
that allows the user to explicitly specify a randomness pool to use when
generating unique IDs.
2011-08-08 22:12:40 -07: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
Jon Siwek
4ac6d0ae2e Fixes for script auto-documentation.
- Fixing the parts of the `make restdoc` and `make doc` process that were
  broken by the last Bro script re-organization

- Generated documentation for Bro scripts derived from BiFs now use the
  original BiF source file as the "original source file" link

- Renaming of the internal POLICYDEST definition and other misc places that
  refer to "policy" scripts; that terminology doesn't make total sense now

- Added a documentation blacklist reminder test that will fail if there's
  scripts that are blacklisted from being documentated because they're still
  in progress

- Some minor Bro script changes to fix small @load dependency errors

Addresses #543
2011-08-08 19:50:45 -05: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
Robin Sommer
d8aece07d7 Merge remote-tracking branch 'origin/topic/jsiwek/raw_output'
* origin/topic/jsiwek/raw_output:
  Fix &raw_output and enable_raw_output interpretation of NUL characters
2011-08-03 16:27:52 -07:00
Jon Siwek
648e1bda26 Fix &raw_output and enable_raw_output interpretation of NUL characters
When using a `print` statement to write to a file that has raw output
enabled, NUL characters in string are no longer interpreted into "\0",
no newline is appended afterwards, and each argument to `print` is
written to the file without any additional separation.

(Re)Assigning to identifiers with the &raw_output attribute should also
now correctly apply the attribute to the file value being assigned.

Note that the write_file BiF should already be capable of raw string
data to a file, expect it bypasses the print_hook event.

Addresses #474
2011-08-03 10:51:40 -05:00
Jon Siwek
d6d34f3a1f Fix PktSrc::Statistics returning bogus stats.
When reading from trace files, 'dropped' and 'link' fields are now
just zeroed.

When reading from an interface, the values filled in by pcap_stats()
are now only used when that function indicates success.

Closes #500.
2011-08-01 16:49:43 -05: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
Robin Sommer
0e5bc16a60 Merge remote-tracking branch 'origin/topic/jsiwek/mask_addr_rval'
* origin/topic/jsiwek/mask_addr_rval:
  mask_addr bif now returns subnet (addresses #512)
2011-07-28 17:11:15 -07:00
Jon Siwek
771728720d Normalize Notice::Type identifiers per convention. (closes #484) 2011-07-28 14:54:18 -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
Jon Siwek
19dab4fdda Add new piped_exec BiF.
And changing email_notice_to() function in notice framework to
interface with sendmail through it.
2011-07-27 13:52:24 -05:00
Robin Sommer
58ceceac31 Fixing a couple tests. 2011-07-25 21:44:51 -07:00
Robin Sommer
28513b8325 Merge remote-tracking branch 'origin/topic/jsiwek/update-restdoc-target'
* origin/topic/jsiwek/update-restdoc-target:
  Adding a documentation coverage test.
  Fixes to relative @load'ing.

Closes #513.
2011-07-25 17:50:57 -07:00
Jon Siwek
78e2d768c7 Adding a documentation coverage test.
- The CMake targets for generating reST docs from policy scripts are now
  automatically generated via the genDocSourcesList.sh script

- Fixed a lot of parsing errors in policy scripts that I saw along the way
2011-07-23 20:55:06 -05:00
Jon Siwek
b6f030dd1a Updating baseline for default loaded scripts... again. 2011-07-23 18:53:23 -05:00
Jon Siwek
b6a371f32d mask_addr bif now returns subnet (addresses #512) 2011-07-23 16:45:29 -05:00
Jon Siwek
6dd202a061 Update core.conn-uid test baseline.
The UIDs changed because notice policy isn't generating unique_ids anymore.
2011-07-23 13:24:05 -05: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
dc839ff3f7 Merge branch 'master' into fastpath 2011-07-22 20:18:40 -05:00
Robin Sommer
4a15b8668f Merge remote-tracking branch 'origin/topic/jsiwek/pybroccoli-float-repr'
* origin/topic/jsiwek/pybroccoli-float-repr:
  Update pybroccoli unit test baseline.

Closes #507.
2011-07-22 17:15:50 -07:00
Jon Siwek
a4029006ed 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 16:33:51 -07:00
Jon Siwek
b340604346 core.load-pkg test now insensitive to default-loaded scripts. 2011-07-22 16:33:50 -07:00
Jon Siwek
b05c34ed29 LogWriterAscii now prints time values w/ constant 6 digit precision.
closes #508
2011-07-22 16:33:50 -07: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
6fb488c587 core.load-pkg test now insensitive to default-loaded scripts. 2011-07-22 11:14:53 -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
Robin Sommer
eb1e76600c Merge remote-tracking branch 'origin/topic/script-load-changes'
* origin/topic/script-load-changes:
  Fix reST file name associated w/ stdin when in doc mode (closes #497)
  Update @prefixes test.
  Rewrite a test using btest's TEST-START-FILE directive
  Fix @unload'd files from generating bro_script_loaded event.
  Renaming a test better.
  Reimplementation of the @prefixes statement.
  Fix accidental overwrite of BROPATH copy.
  Make @load statements recognize relative paths.
2011-07-21 15:29:15 -07:00
Jon Siwek
8a24d8d410 Update pybroccoli unit test baseline.
Corresponds to commit 46e1b99c1d90900689fb47cf12ac9c5e2340a023
in broccoli-python repo.
2011-07-21 15:26:44 -05:00
Robin Sommer
2892026201 Merge remote-tracking branch 'origin/topic/jsiwek/irc-orig'
* origin/topic/jsiwek/irc-orig:
  Shorten what's displayed in the IRC's log mime_type column for DCC transfers
  Add IRC unit tests.
  Small tweak to IRC event handlder priorities
  Fix IRC analyzer supplying wrong type to irc_dcc_message event.
  Changes to IRC analyzer and events (addresses #469).
2011-07-20 17:13:06 -07:00
Jon Siwek
2a997f5ef3 Update @prefixes test. 2011-07-20 16:02:38 -05:00
Jon Siwek
f6dfbef952 Rewrite a test using btest's TEST-START-FILE directive 2011-07-20 15:59:07 -05:00
Jon Siwek
0dd1a1e21e Fix @unload'd files from generating bro_script_loaded event. 2011-07-20 15:56:25 -05:00
Jon Siwek
089b822302 Merge branch 'master' into topic/script-load-changes 2011-07-20 15:38:22 -05:00