Commit graph

2894 commits

Author SHA1 Message Date
Bernhard Amann
f6c9b69eda reorder a few statements in scan.l to make 1.5msecs etc work.
Adresses #872
2012-09-07 10:57:52 -07:00
Robin Sommer
7e3f06fca3 Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath:
  Fix the "-=" operator for intervals
  Fix "!=" operator for subnets
  Add sleeps to configuration_update test for better reliability.
  Fix a segfault when iterating over a set
2012-09-06 23:24:13 -07:00
Robin Sommer
11f66076a1 Starting 2.2 release notes. 2012-09-06 23:05:57 -07:00
Daniel Thayer
cd21eb5b6a Fix the "-=" operator for intervals
Fixed a bug where "a -= b" (both operands are intervals) was not allowed in
bro scripts (although "a = a - b" is allowed).
2012-09-05 17:17:43 -05:00
Daniel Thayer
9357aeb6b1 Fix "!=" operator for subnets
Fixed a bug where the "!=" operator with subnet operands
was treated the same as the "==" operator.
2012-09-05 16:52:14 -05:00
Jon Siwek
a10093b620 Add sleeps to configuration_update test for better reliability.
Not the greatest solution, but makes the 3 bro processes more likely to
run sequentially so that the controller2 process doesn't happen to be
scheduled before the controller process.  In that case, the controllee
gets the shutdown request before the configuration update.  FreeBSD
especially seemed to schedule them the unintended way frequently.
2012-09-05 16:20:34 -05:00
Daniel Thayer
63a550fa9e Fix a segfault when iterating over a set
When iterating over a set with a "for" loop, bro would segfault
when the number of index variables was less than required.
Example:  for ( [c1,c2] in s1 ) ...
where s1 is defined as set[addr,port,count].
2012-09-05 12:00:21 -05:00
Robin Sommer
22cf75dae5 Two fixes.
- Typo in recent scanner fix.

    - Make bif.identify_magic robust against FreeBSD's libmagic config.
2012-08-29 08:11:16 -07:00
Robin Sommer
b915db86d5 Updating CHANGES and VERSION. 2012-08-28 16:47:49 -07:00
Robin Sommer
e4b7ffa8ac Updating CHANGES and VERSION. 2012-08-28 16:44:30 -07:00
Robin Sommer
a24abddc5f Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath:
  Remove automatic use of gperftools on non-Linux systems.
  Fix uninitialized value for 'is_partial' in TCP analyzer.
  parse 64-bit consts correctly.
  on 32-bit machines only unsigned long longs are 64-bits long. Not just unsigned longs...
2012-08-28 16:35:06 -07:00
Jon Siwek
cc49193f93 Remove automatic use of gperftools on non-Linux systems.
--enable-perftools must now explicity be supplied to ./configure on
non-Linux systems to link against the tcmalloc library that a
gperftools installation provides.  Linux systems still automatically
link it if it's found.  The rationale is that gperftools was developed
and most throroughly tested on Linux so it's safer there.

There especially seems to be potential problems with gperftools on OS X
(e.g. see http://code.google.com/p/gperftools/issues/detail?id=413),
and Bro currently doesn't work with gpertools there using clang or gcc.
2012-08-28 13:11:12 -05:00
Robin Sommer
393ded1efe Set VERSION to 2.1-rc3 so that we don't get confused. 2012-08-28 09:19:33 -07:00
Jon Siwek
b815b7ca5c Fix uninitialized value for 'is_partial' in TCP analyzer.
This led to non-deterministic behavior in cases where the first packet
analyzed wasn't from the originator side (see the conditionals in
TCP_Analyzer::CheckFlagCombos()).

The 'short' test in private test suite showed this behavior most often.
2012-08-28 10:57:21 -05:00
Bernhard Amann
03f5795095 parse 64-bit consts correctly. 2012-08-28 07:33:05 -07:00
Bernhard Amann
26f5aee7f6 on 32-bit machines only unsigned long longs are 64-bits long. Not just unsigned longs...
Note that this means that up to now all outputs (including logs) of counts > 32 bits were broken on 32-bit systems.
2012-08-28 00:44:39 -07:00
Robin Sommer
20c71cac51 Merge remote-tracking branch 'remotes/origin/topic/bernhard/input-warn-on-invalid-numbers'
* remotes/origin/topic/bernhard/input-warn-on-invalid-numbers:
  ...and another small change to error handling -> now errors in single lines do not kill processing, but simply ignore the line, log it, and continue.
  Ok, this one was a little bit sneaky.
  ok, this one might really be a bit too big for 2.1
2012-08-27 12:43:36 -07:00
Robin Sommer
48c6bdf467 Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath:
  fix handline of sets only containing a zero-length string.

Conflicts:
	src/input/readers/Ascii.cc
2012-08-27 12:27:24 -07:00
Bernhard Amann
56fa56ffa9 ...and another small change to error handling -> now errors in single lines
do not kill processing, but simply ignore the line, log it, and continue.
2012-08-27 11:38:20 -07:00
Bernhard Amann
5c486dae7e Ok, this one was a little bit sneaky.
If I understand things correctly, calling other string functions
on an stl string may alter the contents of the buffer to which
earlier .c_str()-calls pointed. Kind of makes sense when thinking
about it.

Basically moving around a few lines should fix this.

(And thank you again Robin)
2012-08-27 10:54:33 -07:00
Bernhard Amann
a4ca5b0d82 fix handline of sets only containing a zero-length string.
Thank you Robin...
2012-08-27 09:50:51 -07:00
Robin Sommer
352d4bd5e2 Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath:
  Ok, this one is not really necessary for 2.1 and more of a nice-to-have
  another small bug found while searching for something else...
  Fix two little bugs:
  sorry. the patch for the set_separator.
  make set_separators different from , work for input framework.
  Bug found bei Keith & Seth: input framework was not handling counts and ints out of 32-bit-range correctly.
2012-08-27 09:31:17 -07:00
Bernhard Amann
f133e8808a ok, this one might really be a bit too big for 2.1
Give all kinds of errors when encountering invalid numbers (like out-of-range-warnings, etc).
2012-08-26 22:00:37 -07:00
Bernhard Amann
7e46936728 Ok, this one is not really necessary for 2.1 and more of a nice-to-have
Before this patch, empty values were not hashed at all. Which had the unfortunate side-effect
that e.g. the lines

TEST	-
and
-	TEST

have the same hash values. On re-reads that means that the change will
be ignored.

This is probably pretty academic, but this patch changes it and adds a testcase.

Output of the reread test changes due to re-ordering of the output (probably
due to the fact that the internal hash values are changed and thus transferred
in a different order)
2012-08-26 20:49:21 -07:00
Bernhard Amann
fbe464ffa3 another small bug found while searching for something else...
...one of the change events got the wrong parameters. This actually is a bit embarassing...
2012-08-26 20:26:08 -07:00
Bernhard Amann
a9e6d9ae81 Fix two little bugs:
Escaped ,'s in sets and vectors were unescaped before tokenization

Handling of zero-length-strings as last element in a set was broken (sets ending with a ,).

Hashing of lines just containing zero-length-strings was broken (now a \0 is appended to each
string before it is hashed - giving us a hash of something for a line just consisting of \0s.
This also allows to differentiate between vectors with varying numbers of zero-length-strings).
2012-08-26 19:17:21 -07:00
Bernhard Amann
6bf733ce51 sorry. the patch for the set_separator. 2012-08-26 17:53:34 -07:00
Bernhard Amann
977c1d7c5a make set_separators different from , work for input framework.
1-line-patch + test.
2012-08-26 17:52:07 -07:00
Bernhard Amann
124c985d7a Bug found bei Keith & Seth: input framework was not handling counts and ints out of 32-bit-range correctly.
Note - another bugfix will be coming later (problem reading sets containing zero-length-strings & un-escaping-bug in sets)
2012-08-26 14:49:37 -07:00
Robin Sommer
b5c6945189 Updating submodule(s).
[nomail]
2012-08-24 15:12:09 -07:00
Robin Sommer
70f1403f14 Updating submodule(s).
[nomail]
2012-08-24 13:19:05 -07:00
Robin Sommer
6dd43ea017 Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath:
  Update documentation for builtin types
  Adding an identifier to the SMTP blocklist notices for duplicate suppression.
  Doc fixes for signature 'eval' conditions.
  Remove orphaned unit tests.
  Add type checking for signature 'eval' condition functions.
2012-08-23 12:00:10 -07:00
Daniel Thayer
c1c9c9e34a Update documentation for builtin types
Add missing description of interval "msec" unit.
Improved description of pattern by clarifying the issue of operand
order and difference between exact and embedded matching.
2012-08-23 13:04:18 -05:00
Seth Hall
58b5109e01 Merge branch 'fastpath' of ssh://git.bro-ids.org/bro into fastpath 2012-08-23 13:55:21 -04:00
Seth Hall
5f40e153a8 Adding an identifier to the SMTP blocklist notices for duplicate suppression.
- Slight addition and revision to inline docs.
2012-08-23 13:55:04 -04:00
Jon Siwek
558ca2867c Doc fixes for signature 'eval' conditions. 2012-08-23 12:29:42 -05:00
Jon Siwek
ff60b0bb4b Remove orphaned unit tests.
Looks like they're maybe from 1.5 and not applicable/updateable.
2012-08-23 11:59:51 -05:00
Jon Siwek
bef0ce1c98 Add type checking for signature 'eval' condition functions.
Otherwise functions could be called with a mismatching argument list
and cause a crash at run-time.  The incorrect function type is now
reported at parse-time.
2012-08-23 11:52:39 -05:00
Robin Sommer
25ef0a89e7 Updating NEWS. 2012-08-22 18:15:55 -07:00
Robin Sommer
95d7055373 Updating submodule(s).
[nomail]
2012-08-22 16:17:27 -07:00
Robin Sommer
42355bf6f1 Merge remote-tracking branch 'origin/topic/bernhard/input-allow_invalid_types'
* origin/topic/bernhard/input-allow_invalid_types:
  to be sure - add a small assertion
  add an option to the input framework that allows the user to chose to not die upon encountering files/functions.

That's the last feature for 2.1!
2012-08-22 16:11:28 -07:00
Robin Sommer
2eff64944b Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath:
  Add test serialization to "leak" unit tests that use communication.
  Change to metrics/basic-cluster unit test for reliability.
  Minor tweak to coverage.bare-mode-errors unit test.
  Fixed ack tracking which could overflow quickly in some situations.
2012-08-22 16:06:17 -07:00
Jon Siwek
93744c8d9b Add test serialization to "leak" unit tests that use communication. 2012-08-22 16:54:00 -05:00
Jon Siwek
655a73bc13 Change to metrics/basic-cluster unit test for reliability.
If the metrics break interval happened to occur between first and second
worker starting up and getting connected to the cluster, the test
would fail because the second worker didn't get a chance to connect and
send data.  The test now waits for the cluster setup to complete
before workers send metrics data.
2012-08-22 16:46:47 -05:00
Bernhard Amann
201c4aa43a to be sure - add a small assertion 2012-08-22 13:25:22 -07:00
Jon Siwek
acdce70bcc Merge branch 'fastpath' of git://git.bro-ids.org/bro into fastpath 2012-08-22 11:14:00 -05:00
Jon Siwek
e66e9e5d32 Minor tweak to coverage.bare-mode-errors unit test.
Adding trailing slash to $DIST/scripts makes the `find` work
with a symlinked 'scripts' dir.
2012-08-22 11:12:27 -05:00
Seth Hall
b6bd849018 Fixed ack tracking which could overflow quickly in some situations.
- Problem presented itself through incorrect results in capture-loss.bro
  under odd traffic circumstances (exact circumstances unknown).

- Changed variables involved in ack tracking to all be uint64 values.
2012-08-22 12:12:16 -04:00
Robin Sommer
d877a04c79 Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath:
  single-line documentation addition to main input framework script.
  add testcase for input of set. Sets can be imported by not specifying $val in the add_table call.
2012-08-22 08:45:32 -07:00
Bernhard Amann
1498a3bd59 Merge remote-tracking branch 'origin/master' into topic/bernhard/input-allow_invalid_types 2012-08-22 07:30:58 -07:00