Commit graph

1207 commits

Author SHA1 Message Date
Jon Siwek
d412aa9d63 Fix H3 assumption of an 8-bit byte/char.
The hash function was internally casting the void* data argument into an
unsigned char* and then using values from that to index another internal
array that's dimensioned based on the assumption of 256 values possible
for an unsigned char (8-bit chars/bytes).  This is probably a correct
assumption most of the time, but should be safer to use the limits as
defined in standard headers to get it right for the particular
system/compiler.

There was an unused uint8* casted variable in HashKey::HashBytes that
seemed like it might have been meant to be passed to H3's hash function
as an unfinished attempt to solve the 8-bit byte assumption problem, but
that doesn't seem as good as taking care of that internally in H3 so
users of the API are only concerned with byte sizes as reported by
`sizeof`.  Removing the unused variable addresses #530.

Also a minor tweak to an hmac_md5 call that was casting away const from
one argument (which doesn't match the prototype).
2011-08-17 15:03:18 -05:00
Seth Hall
82f94881c0 Improvements to metrics. SSH bruteforcing detection now done with metrics framework. 2011-08-16 11:47:49 -04:00
Seth Hall
8286fdeea1 Updates for SQL injection attack detection to match the metrics framework updates. 2011-08-16 08:28:08 -04:00
Robin Sommer
79601ca0c3 Merge branch 'master' of ssh://git.bro-ids.org/bro 2011-08-15 21:11:55 -07:00
Robin Sommer
63eac6c174 Reclassifying more DNS manager errors.
Closes #461.
2011-08-15 21:10:30 -07:00
Robin Sommer
f9cd97d78d Fixing ref'counting problem. 2011-08-15 20:56:59 -07:00
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
2af9d9bc20 Updating submodule(s). 2011-08-13 12:15:13 -07:00
Robin Sommer
2ca791f110 Updating submodule(s). 2011-08-13 12:09:32 -07:00
Robin Sommer
1ca9def9e6 Merge remote-tracking branch 'origin/topic/jsiwek/autodoc-fixes'
* origin/topic/jsiwek/autodoc-fixes:
  Update doc sources and touch up a few script comments.
  Fixes for script auto-documentation.

Conflicts:
	scripts/base/frameworks/logging/main.bro
2011-08-13 12:09:13 -07:00
Jon Siwek
a3147033e2 Update doc sources and touch up a few script comments. 2011-08-13 09:45:42 -05:00
Jon Siwek
2a9ea6b8ba Merge branch 'master' into topic/jsiwek/autodoc-fixes
Conflicts:
	scripts/CMakeLists.txt
	scripts/base/frameworks/cluster/setup-connections.bro
	scripts/base/frameworks/communication/__load__.bro
	scripts/base/frameworks/metrics/conn-example.bro
	scripts/base/frameworks/metrics/http-example.bro
	scripts/site/local.bro
2011-08-13 09:31:06 -05:00
Robin Sommer
1aff02ea96 Merge remote-tracking branch 'origin/topic/jsiwek/debug-flags'
* origin/topic/jsiwek/debug-flags:
  Workaround for FreeBSD CMake port missing debug flags
2011-08-12 23:37:12 -07:00
Robin Sommer
045fd4690b Merge remote-tracking branch 'origin/topic/seth/piped_exec-update'
* origin/topic/seth/piped_exec-update:
  piped_exec can now write nulls in the "to_write" argument.
2011-08-12 23:35:15 -07:00
Jon Siwek
6f060a58d6 Fix vector initialization for lists of records with optional types.
If possible the list elements now get promoted to the yield type of the
vector.  There was also a problem with the value returned by the record
constructor expression's eval being completely unref'd since the vector
element assignment function doesn't ref the element -- so I changed it
to ref values if they just constructed before assigning them to the
vector.

Addresses #485.
2011-08-12 23:25:01 -07:00
Jon Siwek
560685f1c6 Fix redef'ing records with &default empty set fields.
Attributes have state to track whether they're in a record and should
apply to a record field, but this state wasn't being set for TypeDecls
that are part of a redef'd record.

Closes #460
2011-08-12 23:24:49 -07:00
Gregor Maier
03a73899a9 Fix ConnSize_Analyzer with ConnCompressor.
The num_pkts and num_bytes_ip in endpoint are optional and
should only be assigned to if ConnSize_Anlyzer is active.
2011-08-12 23:24:44 -07:00
Jon Siwek
00de88f4cb Fix reporter using part of the actual message as a format string
When not reporting via events, the final contents of the message buffer
after formatting was being used as a format string to fprintf instead of
writing out the actual string.
2011-08-12 23:24:44 -07:00
Robin Sommer
33b064bdb2 Fixing reporter's location tracking.
Closes #492.
2011-08-12 22:39:36 -07:00
Robin Sommer
46d3570bf5 Turning DNS errors into a warning.
It seems these errors aren't Bro's fault, and in any case it's clearly
not an internal error. This should finally solve the problem in #255.

Closes #255.
2011-08-12 22:29:38 -07: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
cc258b29aa Single character bugfix for hostname notice email extension. 2011-08-11 15:16:32 -04:00
Seth Hall
240ae9790b Small updates for notice framework.
- New ACTION_ADD_GEODATA to add geodata to notices in an extension
  field named remote_location.

- Loading extend-email/hostnames by default now that it only
  does anything when the ACTION_EMAIL action is applied (finally).
2011-08-11 14:59:01 -04:00
Seth Hall
423769c61d Updates to local.bro 2011-08-11 08:26:40 -04:00
Seth Hall
b45c175147 Split out more SMTP analysis functionality. 2011-08-11 08:26:20 -04:00
Seth Hall
d201215359 Added the profiling script. 2011-08-11 01:37:57 -04:00
Seth Hall
9c2273b7a7 Updates for SSH scripts. 2011-08-11 01:35:50 -04:00
Seth Hall
9a06cece67 ConnSize analyzer is turned on by default now. 2011-08-11 01:32:31 -04:00
Seth Hall
6f50e362db Updates for the build system and site local scripts for cluster. 2011-08-11 01:32:05 -04:00
Seth Hall
8e7a76b548 HTTP now uses the extract_filename_from_content_disposition function. 2011-08-10 13:37:58 -04: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
Jon Siwek
b783732f7d Workaround for FreeBSD CMake port missing debug flags 2011-08-09 13:34:12 -05:00
Seth Hall
78e69a0bc8 Cluster nodes aren't in fact inherently controllable.
- This @load needs to move to broctl.
2011-08-09 11:15:49 -04:00
Seth Hall
5f61c9bde9 New variable in utils/site for mapping address to defined local subnet.
- Site::local_nets_table[1.2.3.4] might yield "1.2.0.0/16" if that
  subnet is defined in the Site::local_nets variable.
2011-08-09 11:15:07 -04:00
Seth Hall
29425c29e2 Communication framework updates now that communications can be enabled dynamically. 2011-08-09 11:13:36 -04:00
Seth Hall
9fa3bcffdd Metrics framework checkpoint.
- Metrics API is much more similar to the Logging framework's API now.

- Filters define all output and metrics collection now.

- Initial attempt at thresholding and generating notices.
2011-08-09 11:12:02 -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
Robin Sommer
f36310dc0e Updating submodule(s). 2011-08-08 19:23:20 -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
e9f7d82ac2 Updating submodule(s). 2011-08-08 16:34:36 -07:00
Robin Sommer
d7075aa17a Fixing compiler warning. 2011-08-08 16:31:33 -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
Robin Sommer
103396f6d3 Communication must now be enabled explicitly.
The communication subsystem is now disabled until a new BiF,
enable_communication(), is called. The base scripts do this
automatically when either a Communication::Node is defined, or Bro is
asked to listen for incoming connections.
2011-08-08 13:49:50 -07:00
Seth Hall
0e2a1605b3 Updates to local.bro.
- More functionality scripts loaded from policy/.

- More documentation.
2011-08-08 13:41:21 -04: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
Robin Sommer
e026533875 Adding a default_path_func that makes the default naming scheme
script-level controlled.
2011-08-07 13:01:11 -07:00
Seth Hall
e60213ac11 Fixing default policy search path. 2011-08-06 00:46:12 -04:00