Commit graph

1565 commits

Author SHA1 Message Date
Seth Hall
8f8a4fd911 Fixed memory leak in SSL analyzer.
- This is a small enough fix and critical enough that I feel reasonably
  safe committing it directly to master.
2011-07-29 23:11:22 -04:00
Seth Hall
c3b850d6c1 Merge branch 'master' of ssh://git.bro-ids.org/bro
Conflicts:
	policy/protocols/http/base/detect-sqli.bro
2011-07-29 23:09:39 -04:00
Seth Hall
c2725ed58e In progress commit on a few items.
- Beginning rework of metrics interface.
- Updates to URI based SQLI detection to match metrics framework.
- Addition to SQLI regex to catch use of XOR.
2011-07-29 23:07:36 -04: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
ca95ad9618 Install example config files dynamically.
They'll only get installed when the distribution version differs
from existing version on disk.
2011-07-29 17:29:57 -05:00
Jon Siwek
4b741293b1 Make the doc.coverage test happy. 2011-07-29 15:20:35 -05: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
Robin Sommer
4baf344278 Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath:
  Normalize Notice::Type identifiers per convention. (closes #484)
  Another fix to the default-loaded-scripts test.
  Add new piped_exec BiF.
  Revert "Fixes for email_notice_to() function."
  Fixes for email_notice_to() function.
2011-07-28 17:05:55 -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
73bb046b97 Revert "Fixes for email_notice_to() function."
This reverts commit a7db43efb1. We
decided to redo the interface between Bro and sendmail.
2011-07-27 08:14:28 -07:00
Jon Siwek
a7db43efb1 Fixes for email_notice_to() function.
Newline characters need escaping so that an echo command can interpret
them into a newline in the output piped to sendmail, else sendmail can't
parse the headers correctly.

I made the echo command a configurable option of the notice framework
in case `echo -e` is overshadowed by some shell-specific implementation
that doesn't support that option for interpreting char sequences.
2011-07-26 16:03:03 -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
Robin Sommer
5e7b727433 Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath:
  Updating baseline for default loaded scripts... again.
  Update core.conn-uid test baseline.
  Rename/change policy.misc.loaded-scripts, again baselines default loaded scripts
  Changes to unit tests that rely on libmagic.
  Change policy.misc.loaded-scripts tests.
  core.load-pkg test now insensitive to default-loaded scripts.
  LogWriterAscii now prints time values w/ constant 6 digit precision.
2011-07-24 15:19:47 -07:00
Robin Sommer
1ce492e78c Merge branch 'master' of ssh://git.bro-ids.org/bro 2011-07-24 15:09:50 -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
454fd9578e Fixes to relative @load'ing.
The currently loading script's path is prepended (vs. appended) to
BROPATH to search for the @load'd file to prevent being overshadowed by
scripts/directories/packages in the normal BROPATH with the same name.

This extra search path should also only be prepended to BROPATH in the
case when the @load'd file we're looking for is actually relative
(i.e. the name starts with "./" or "../").
2011-07-23 20:46:35 -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
d8cbccd0eb Merge branch 'master' into fastpath 2011-07-23 13:21:14 -05:00
Seth Hall
64bc53e621 Lots of script updates.
- Updates to cluster framework to finish the separation between broctl and bro

- Extension technique for extending notice emails with extra content.

- Deleting the connection record from notices after calling apply_policy.
  It may have been causing some load and memory issues from copying
  lots of data to other cluster members.  This is a test to see if we are
  right about the memory trouble.

- Abstracted some of the notice actions into separate scripts.

-

- Lots of small cleanup and fixes.
2011-07-23 01:21:20 -04: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
8fd632f858 Removing release checklist.
Need to write a new one, but later when we actually do a release.
2011-07-22 17:38:23 -07:00
Robin Sommer
ae9c6a8fea Updating submodule(s). 2011-07-22 17:37:44 -07:00
Robin Sommer
ba40200ba2 Moving devel-tools to bro-aux. 2011-07-22 17:34:18 -07:00
Robin Sommer
6b857094c9 Updating submodule(s). 2011-07-22 17:16:08 -07: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
Robin Sommer
8dc1a52d9d Fix for disable_analyzer() problem.
When calling an Analyzer's method to remove a child analyzer, we now
postpone the actual removal to later, as otherwise the call to Done()
might trigger further analyzer activity that can interfere with code
running after that that triggered the removal.

This should fix the SSL assertion crashes that we have seen.

This change is a bit tricky internally, but the trace-based tests
produce the same output as before so things should be fine ...
2011-07-22 16:19:24 -07:00
Robin Sommer
d01b8c9d3d Removing non-existent script from test-all.bro. 2011-07-22 16:18:47 -07:00
Robin Sommer
e9bd122f8a Fixing potential segfault in DebugLogger.
The Reporter may not have been initialized yet when the logger ctor runs.
2011-07-22 13:36:21 -07:00
Robin Sommer
1a46d78584 Some small layout tweaks that didn't get committed with the last merge. 2011-07-22 13:35:29 -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
54c14025d9 Fix reST file name associated w/ stdin when in doc mode (closes #497) 2011-07-20 16:13:22 -05: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