Commit graph

619 commits

Author SHA1 Message Date
Robin Sommer
be0316ee29 Fixes for running tests in parallel. 2012-05-30 19:26:43 -07:00
Robin Sommer
c0e0481af2 Merge branch 'topic/robin/input-threads-merge'
* topic/robin/input-threads-merge: (130 commits)
  And now it even compiles after my earlier changes.
  A set of input framework refactoring, cleanup, and polishing.
  another small memory leak in ascii reader:
  and another small memory leak when using streaming reads.
  fix another memory lead (when updating tables).
  Input framework merge in progress.
  filters have been called streams for eternity. And I always was too lazy to change it everywhere...
  reactivate network_time check in threading manager. previously this line made all input framework tests fail - it works now. Some of the other recent changes of the threading manager must have fixed that problem.
  fix up the executeraw test - now it works for the first time and does not always fail
  baselines for the autostart removal.
  remove last remnants of autostart, which has been removed for quite a while.
  make input framework source (hopefully) adhere to the usual indentation style. No functional changes.
  fix two memory leaks which occured when one used filters.
  update description to current interface.
  rename a couple of structures and make the names in manager fit the api more.
  fix memory leak in tables and vectors that are read into tables
  fix missing get call for heart beat in benchmark reader.
  fix heart_beat_interval -- initialization in constructor does not work anymore (probably due to change in init ordering?)
  fix memory leak for tables... nearly completely.
  fix a couple more leaks. But - still leaking quite a lot with tables.
  ...
2012-05-30 19:12:18 -07:00
Jon Siwek
0aecca979e Remove unnecessary assert in ICMP analyzer (addresses #822).
The ICMP/ICMPv6 analyzers function correctly when full packets have
not been captured, but everything up to and including the ICMP header
is there (e.g. the functions that inspect ICMP error message context
correctly check the caplen to see if more info can be extracted).

The "Should have been caught earlier already." comment may have referred
to NetSessions::CheckHeaderTrunc, which works as intended to catch cases
where the ICMP header is not there in full, but then the assert was
still not correctly formulated for that...

Also changed the ICMP checksum calculation to not occur when the full
packet has not been captured, which seems consistent with what the UDP
analysis does.
2012-05-29 17:29:11 -05:00
Bernhard Amann
f4864c69af fix another memory lead (when updating tables).
Adjust twotables testcase - now it is faster. Shorten the output
-- because of threading, the results did not always come out in
the same order (it depends on which thread manages to sneak in
the results into the queue earlier).
2012-05-29 09:21:16 -07:00
Robin Sommer
b37f9e38f6 Input framework merge in progress. 2012-05-25 16:16:53 -07:00
Bernhard Amann
4de6d76488 fix up the executeraw test - now it works for the first time and does not always fail 2012-05-25 11:30:18 -07:00
Bernhard Amann
96a7e068f0 baselines for the autostart removal. 2012-05-25 11:29:57 -07:00
Bernhard Amann
976d8f7ba7 Merge remote-tracking branch 'origin/master' into topic/bernhard/input-threads 2012-05-25 10:33:50 -07:00
Robin Sommer
d2c756cac4 Make tests even quieter. 2012-05-24 17:33:02 -07:00
Robin Sommer
7e961606cd Merge remote-tracking branch 'origin/topic/jsiwek/ipv6-flow-label'
* origin/topic/jsiwek/ipv6-flow-label:
  Improve availability of IPv6 flow label in connection records.

Closes #821.
2012-05-24 17:05:55 -07:00
Robin Sommer
f7261a7851 Merge remote-tracking branch 'origin/topic/jsiwek/ipv6-comm'
* origin/topic/jsiwek/ipv6-comm:
  Enable Bro to communicate with peers over non-global IPv6 addresses.
  Add unit tests for Broccoli SSL and Broccoli IPv6 connectivity.
  Remove AI_ADDRCONFIG getaddrinfo hints flag for listening sockets.
  Undo communication protocol version bump.
  Add support to Bro for connecting with peers over IPv6.

Closes #820.

Conflicts:
	src/bro.bif
2012-05-24 17:01:34 -07:00
Robin Sommer
aaa16133a7 Make tests even quieter. 2012-05-24 16:48:15 -07:00
Jon Siwek
5312b21d7b Improve availability of IPv6 flow label in connection records.
Without this change, flow labeling of connections over IPv6 are
only available in the per-packet types of events (e.g. new_packet)
in which header fields can be inspected, but now minimal tracking
of the most recent flow label is done internally and that's available
per-connection for all events that use connection record arguments.

Specifically, this adds a "flow_label" field to the "endpoint" record
type, which is used for both the "orig" and "resp" fields of
"connection" records.  The new "connection_flow_label_changed" event
also allows tracking of changes in flow labels: it's raised each time
one direction of the connection starts using a different label.
2012-05-22 15:18:33 -05:00
Bernhard Amann
3b82d69eb3 Merge remote-tracking branch 'origin/master' into topic/bernhard/input-threads
Conflicts:
	src/CMakeLists.txt
	testing/btest/Baseline/coverage.bare-load-baseline/canonified_loaded_scripts.log
	testing/btest/Baseline/coverage.default-load-baseline/canonified_loaded_scripts.log
2012-05-18 15:26:36 -07:00
Jon Siwek
2108ea0ac1 Merge branch 'master' into fastpath 2012-05-17 15:21:09 -05:00
Jon Siwek
3fedd32f4d Fix mobility checksums unit test.
Was failing because it depended on weirds being sent to stderr.
2012-05-17 14:47:09 -05:00
Robin Sommer
ea2bd659f3 Adding target update-doc-sources to top-level Makefile that runs
genDocSourcesList.sh.
2012-05-17 12:41:10 -07:00
Robin Sommer
7cc863c5fc Fix for when not producing local output; that hung.
* origin/topic/robin/dataseries:
  Moving trace for rotation test into traces directory.
  Fixing a rotation race condition at termination.
  Portability fixes.
  Extending DS docs with some examples.
  Updating doc.
  Fixing pack_scale and time-as-int.
  Adding format specifier to DS spec to print out double as %.6f.
  DataSeries updates and fixes.
  DataSeries tuning.
  Tweaking DataSeries support.
  Extending log post-processor call to include the name of the writer.
  Removing an unnecessary const cast.
  DataSeries TODO list with open issues/questions.
  Starting DataSeries HowTo.
  Additional test output canonification for ds2txt's timestamps.
  In threads, an internal error now immediately aborts.
  DataSeries cleanup.
  Working on DataSeries support.
  Merging in DataSeries support from topic/gilbert/logging.
  Fixing  threads' DoFinish() method.
2012-05-17 12:38:47 -07:00
Jon Siwek
f819a966d8 Merge branch 'master' into topic/jsiwek/ipv6-comm 2012-05-17 14:28:16 -05:00
Robin Sommer
122f6ee4c6 Moving trace for rotation test into traces directory. 2012-05-16 18:28:51 -07:00
Robin Sommer
99db264775 Portability fixes.
- Fix for time-as-int on 32-bit systems.

    - Skipping ds2txt's index output for test diffing, as it seems
      non-portable.
2012-05-16 18:01:28 -07:00
Robin Sommer
be6567f437 Merge remote-tracking branch 'origin/master' into topic/robin/dataseries 2012-05-14 22:17:26 -07:00
Robin Sommer
fabe891d4f Fixing pack_scale and time-as-int.
Also removing now unneccessary canonifier script, and updating test
baselines.
2012-05-14 22:04:57 -07:00
Robin Sommer
99f59dc5c0 Quieting external test output somehwat. 2012-05-14 18:18:30 -07:00
Robin Sommer
87c68e8ce7 Merge remote-tracking branch 'origin/topic/dnthayer/bug805'
* origin/topic/dnthayer/bug805:
  Update tests (use weird.log instead of stderr)
  Don't print the various "weird" events to stderr

Closes #805.
2012-05-14 17:16:45 -07:00
Robin Sommer
cb1e9a7c6f Merge remote-tracking branch 'origin/topic/jsiwek/ipv6-output-format'
* origin/topic/jsiwek/ipv6-output-format:
  Change IPv6 output format to no longer automatically be bracketed.
  Change IPv6 address/prefix output format to be bracketed.

Closes #818.
2012-05-14 17:07:02 -07:00
Robin Sommer
c0257c5521 Switching to new btest command TEST-SERIALIZE for communication tests. 2012-05-14 16:50:48 -07:00
Jon Siwek
d3ea312782 Add unit tests for Broccoli SSL and Broccoli IPv6 connectivity. 2012-05-11 17:16:57 -05:00
Daniel Thayer
508d39457a Update tests (use weird.log instead of stderr) 2012-05-11 17:09:01 -05:00
Jon Siwek
2338a32288 Remove AI_ADDRCONFIG getaddrinfo hints flag for listening sockets.
Because, according to RFC 3493, that will cause getaddrinfo to
overlook the ::1 loopback if there's not some other interface with
a global IPv6 address.  The rationale being that the flag helps
prevent unnecessary AAAA lookups, but since I set AI_NUMERICHOST,
lookups aren't going to happen anyway.

Also update the IPv6 Bro communication test to get it to work more
reliably.
2012-05-10 10:47:39 -05:00
Jon Siwek
1e66fe905a Add support to Bro for connecting with peers over IPv6.
- Communication::listen_ipv6 needs to be redef'd to true in order
  for IPv6 listening sockets to be opened.

- Added Communication::listen_retry option as an interval at which
  to retry binding to socket addresses that were already in use.

- Added some explicit baselines to check in the istate.events
  and istate.events-ssl tests -- the SSL test was incorrectly
  passing because it compared two empty files.  (The files being
  empty because "http/base" was given as an argument to Bro which
  it couldn't handle because that script doesn't exist anymore).
2012-05-09 15:08:36 -05:00
Jon Siwek
905e4d3a14 Change IPv6 output format to no longer automatically be bracketed.
Instead, the `addr_to_uri` script-level function can be used to
explicitly add brackets to an address if it's IPv6 and will be
included in a URI or when a ":<port>" needs to be appended to it.
2012-05-07 12:55:54 -05:00
Jon Siwek
af4be0bbe6 Merge branch 'master' into topic/jsiwek/ipv6-output-format 2012-05-07 11:19:15 -05:00
Robin Sommer
a0575158ef DataSeries updates and fixes. 2012-05-04 21:58:39 -07:00
Robin Sommer
ed9801db98 Merge remote-tracking branch 'origin/topic/jsiwek/digests'
* origin/topic/jsiwek/digests:
  Add SHA1 and SHA256 hashing BIFs. (addresses #542)

Closes #542.
2012-05-04 21:29:29 -07:00
Jon Siwek
79afc834ce Add SHA1 and SHA256 hashing BIFs. (addresses #542)
Also refactor all internal MD5 stuff to use OpenSSL's.
2012-05-04 16:09:05 -05:00
Jon Siwek
5984564946 Change IPv6 address/prefix output format to be bracketed.
Also add a test case for content extraction.
2012-05-04 11:21:18 -05:00
Robin Sommer
87ac88cfd2 Merge remote-tracking branch 'origin/topic/jsiwek/file-caching-serialization'
* origin/topic/jsiwek/file-caching-serialization:
  Changes to open-file caching limits and uncached file unserialization.

Closes #780.
2012-05-03 13:42:42 -07:00
Jon Siwek
bbac44a6a4 Changes to open-file caching limits and uncached file unserialization.
- Unserializing files that were previously kicked out of the open-file
  cache would cause them to be fopen'd with the original access
  permissions which is usually 'w' and causes truncation.  They
  are now opened in 'a' mode.  (addresses #780)

- Add 'max_files_in_cache' script option to manually set the maximum
  amount of opened files to keep cached.  Mainly this just helped
  to create a simple test case for the above change.

- Remove unused NO_HAVE_SETRLIMIT preprocessor switch.

- On systems that don't enforce a limit on number of files opened for
  the process, raise default max size of open-file cache from
  32 to 512.
2012-05-03 13:13:58 -05:00
Seth Hall
0a6104fe66 More bugfixs, cleanup, and test for SSL analyzer
- SSL related files and classes renamed to remove the "binpac" term.

- A small fix for DPD scripts to make the DPD log more helpful if
  there are multiple continued failures.  Also, fixed the SSL
  analyzer to make it stop doing repeated violation messages for
  some handshake failures.

- Added a $issuer_subject to the SSL log.

- Created a basic test for SSL.
2012-05-03 10:52:24 -04:00
Robin Sommer
c91563fe75 DataSeries tuning.
- Now using the new DS interface from git to remove warning.

- New leak tests, not yet tried,
2012-04-24 17:57:05 -07:00
Robin Sommer
4b70adcb4b Tweaking DataSeries support. 2012-04-19 10:42:09 -07:00
Jon Siwek
b933184b25 Changes related to ICMPv6 Neighbor Discovery messages.
- The 'icmp_conn' record now contains an 'hlim' field since hop limit
  in the IP header is an interesting field for at least these ND
  messages.

- Changed 'icmp_router_advertisement' event parameters.
  'router_lifetime' is now an interval. Fix 'reachable_time' and
  'retrans_timer' using wrong internal Val type for intervals.
  Made more of the known router advertisement flags available through
  boolean parameters.

- Changed 'icmp_neighbor_advertisement' event parameters to add
  more of the known boolean flags.
2012-04-18 13:13:56 -05:00
Bernhard Amann
a2f1af12fa Merge remote-tracking branch 'origin/master' into topic/bernhard/input-threads 2012-04-18 09:28:49 -07:00
Robin Sommer
5350cab371 Merge remote-tracking branch 'origin/topic/icmp6'
* origin/topic/icmp6:
  Fixes for IPv6 truncation and ICMP/ICMP6 analysis.
  Change ICMPv6 checksum calculation to use IP_Hdr wrapper.
  Update IPv6 atomic fragment unit test to filter output of ICMPv6.
  Add more data to icmp events
  More code cleanup
  Add more icmpv6 events, and general code cleanup
  Fix compile failure after merge from master
  Significant edit pass over ICMPv6 code.
  Porting Matti's branch to git.

Closes #808.
2012-04-17 19:02:59 -07:00
Robin Sommer
a7bc12066b Merge remote-tracking branch 'origin/master' into topic/robin/dataseries
Conflicts:
	CMakeLists.txt
	cmake
2012-04-17 16:37:37 -07:00
Robin Sommer
fe2535b08d Updating baselines for DNS change. 2012-04-16 18:08:16 -07:00
Robin Sommer
91a3ce9518 Additional test output canonification for ds2txt's timestamps. 2012-04-16 15:20:10 -07:00
Jon Siwek
51bad73e1e Fixes for IPv6 truncation and ICMP/ICMP6 analysis.
- Add more guards against trying to analyze captured packets with a
  truncated IPv6 static header or extension header chain.

- Add back in the ICMP payload tracking for ICMP "connections".

- Fix 'icmp_context' record construction.  Some field assignments
  were mismatched for ICMP and ICMP6.  Source and destination
  addresses were set incorrectly for context packets that don't
  contain a full IP header.  Some fields for ICMP6 weren't filled out.

- Changed ICMP Time Exceeded packets to raise the 'icmp_time_exceeded'
  event instead of 'icmp_error_message'.

- Add unit tests for truncation and the main types of ICMP/ICMP6
  that have specific events.

- Documentation clarifications.
2012-04-11 16:27:31 -05:00
Robin Sommer
86834c941c Adding missing leak groups to a couple tests.
Also activating leak checking for proxy in basic-cluster test.
2012-04-10 16:14:33 -07:00