Commit graph

6667 commits

Author SHA1 Message Date
Gilbert Clark
d639488d36 Incremental commit: implementing a wrapper for the Val class.
Just a checkpoint: need to add / update tests to make sure things work as expected.  Should build / pass core btests, though.
2014-09-27 08:03:30 -04:00
Seth Hall
e4ca588127 Does the initial effort to add the SMB2 SetInfo command and better handle file lengths. 2014-09-27 03:11:01 -04:00
Hui Lin
6e7a4a4fee Merge branch 'fastpath' of git://git.bro-ids.org/bro into fastpath 2014-09-26 14:48:58 -05:00
Hui Lin
f933899b17 adding a function in dnp3-analyzer.pac to translate the time stamp format 2014-09-26 14:47:51 -05:00
Jon Siwek
57d0346789 Make unexpected pipe errors fatal as precaution.
Addresses BIT-1260.
2014-09-26 10:59:40 -05:00
Seth Hall
cafd35e746 Updates the files event api and brings file reassembly up to master. 2014-09-26 00:40:37 -04:00
Robin Sommer
cce09b75de Changing prefix for packet sources/dumper from ':' to '%'.
Addresses BIT-1249.
2014-09-25 17:54:36 -07:00
Robin Sommer
e9692958f0 Merge remote-tracking branch 'origin/topic/jsiwek/improve_comm_loop'
* origin/topic/jsiwek/improve_comm_loop:
  Add a simple FD_Set wrapper/helper class.
  Fix Pipe copy/assignment to make a copy of flags.
  Fix possible abort on writing to a full pipe.
  Remove timeouts from remote communication loop.
2014-09-25 12:46:48 -07:00
Robin Sommer
a98dd29259 Merge remote-tracking branch 'origin/topic/jsiwek/missing-plugin'
* origin/topic/jsiwek/missing-plugin:
  Improve error message when failing to activate a plugin.

BIT-1252 #merged
2014-09-25 10:54:21 -07:00
Vlad Grigorescu
6ee2ec666f Merge remote-tracking branch 'origin/master' into topic/vladg/smb
Conflicts:
	src/analyzer/protocol/smb/Plugin.cc
2014-09-24 18:38:43 -04:00
Seth Hall
42b2d56279 Merge remote-tracking branch 'origin/master' into topic/seth/files-tracking
Conflicts:
	scripts/base/frameworks/files/main.bro
	src/file_analysis/File.cc
	testing/btest/Baseline/scripts.base.frameworks.file-analysis.actions.data_event/out
2014-09-23 13:05:39 -04:00
Jon Siwek
dae80fc119 Fix issue w/ duplicate TCP reassembly deliveries.
Due to the change in f1cef9d2a9, it was possible for the TCP reassembler
to deliver the same data twice because Undelivered did not take in to
account that the reassembly stream could now advance past the end of the
gap.

Addresses BIT-1259.
2014-09-22 13:00:58 -05:00
Gilbert Clark
8d04f58eda Reverting change to const status of network_time. Also, see FIXME: in Func.cc / HandlePluginResult ... 2014-09-19 21:55:47 -04:00
Jon Siwek
17d60ea8ac Fix file analysis events from coming after bro_done().
BIT-1256 #close
2014-09-18 14:33:20 -05:00
Jon Siwek
687b085d32 Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath:
  Fixed some "make doc" warnings caused by reST formatting
2014-09-17 09:37:40 -05:00
Daniel Thayer
d226fef723 Fixed some "make doc" warnings caused by reST formatting 2014-09-16 12:44:51 -05:00
Jon Siwek
d342cde22c Improve error message when failing to activate a plugin.
Also fix a unit test helper script that checks plugin availability.
2014-09-16 10:09:46 -05:00
Jon Siwek
a7373a1ca4 Remove unneeded allocations for HTTP messages. 2014-09-15 13:40:45 -05:00
Jon Siwek
a87b22cd0a Fix a compile error on systems without pcap-int.h. 2014-09-15 11:16:39 -05:00
Robin Sommer
160543cbc6 Merge remote-tracking branch 'origin/topic/jsiwek/jj-bugs'
* origin/topic/jsiwek/jj-bugs:
  Fix incorrect data delivery skips after gap in HTTP Content-Range.
  Fix file analysis placement of data after gap in HTTP Content-Range.
  Fix issue w/ TCP reassembler not delivering some segments.
  Raise http_entity_data in line with data arrival.
  Implement file ID caching for MIME_Mail.
  BIT-1240: Fix MIME entity file data/gap ordering.

BIT-1240 #closed
BIT-1246 #closed
BIT-1247 #closed
BIT-1248 #closed
2014-09-12 19:44:54 -07:00
Jon Siwek
af9d31dcc1 Fix incorrect data delivery skips after gap in HTTP Content-Range.
The logic for determining whether a gap was entirely within a MIME
entity body was not asking the current entity, which may be better able
to answer that question if it was using the Content-Range header and
thus knows if the gap exceeds the length of the body that's still
expected.

Addresses BIT-1247
2014-09-11 14:53:47 -05:00
Jon Siwek
1e02d5d5b5 Fix file analysis placement of data after gap in HTTP Content-Range.
Addresses BIT-1248.
2014-09-11 12:25:43 -05:00
Jon Siwek
f1cef9d2a9 Fix issue w/ TCP reassembler not delivering some segments.
For example, if we have a connection between TCP "A" and TCP "B" and "A"
sends segments "1" and "2", but we don't see the first and then the next
acknowledgement from "B" is for everything up to, and including, "2",
the gap would be reported to include both segments instead of just the
first and then delivering the second.  Put generally: any segments that
weren't yet delivered because they're waiting for an earlier gap to be
filled would be dropped when an ACK comes in that includes the gap as
well as those pending segments.  (If a distinct ACK was seen for just
the gap, that situation would have worked).

Addresses BIT-1246.
2014-09-11 10:47:56 -05:00
Jon Siwek
f97f58e9db Raise http_entity_data in line with data arrival.
As opposed to delaying until a certain-sized-buffer fills, which is
problematic because then the event becomes out of sync with the "rest of
the world".  E.g. content_gap handlers being called sooner than
expected.

Addresses BIT-1240.
2014-09-10 13:20:47 -05:00
Jon Siwek
59c54a0fc6 Add a simple FD_Set wrapper/helper class. 2014-09-09 16:28:04 -05:00
Jon Siwek
450680f72b Fix a compile error. 2014-09-09 14:36:19 -05:00
Jon Siwek
cf66bd8b69 Merge branch 'master' into topic/jsiwek/improve_comm_loop
Conflicts:
	src/CMakeLists.txt
	src/FlowSrc.cc
	src/FlowSrc.h
	src/IOSource.h
	src/PktSrc.cc
	src/PktSrc.h
	src/iosource/Manager.cc
2014-09-09 14:19:43 -05:00
Jon Siwek
eb16c971c0 Merge remote-tracking branch 'origin/topic/robin/pktsrc'
* origin/topic/robin/pktsrc:
  Fixing link-layer handling.
  Bugfixes and test updates.
  Fixing remaining tests.
  Adding test for dynamic packet dumper plugin.
  Test updates.
  Fixing Bro-level BPF filtering.
  A set of smaller API tweaks, and polishing.
  Adding test creating a dynamic pktsrc plugin.
  Interface tweaks for PktSrc, plus docs for PktSrc and PktDumper.
  A set of various fixes and smaller API tweaks, plus tests.
  Moving some of the BPF filtering code into base class.
  Small packet dumper API change.
  Moving Pkt{Src,Dumper} a directory level up.
  Removing FlowSrc.
  Removing netmap, remaining pieces of the 2ndary path, and left-over files of packet sorter.
  Prototype of a netmap packet source.
  A series of updates and tweaks to the new PktSrc interface.
  Fixing rebase relicts.
  IOSource reorg.

BIT-1243 #close
2014-09-09 12:46:45 -05:00
Jon Siwek
3caecadf0a Fix Broxygen's rendering of opaque types.
BIT-1245 #close
2014-09-08 19:05:01 -05:00
Jon Siwek
9563726612 Implement file ID caching for MIME_Mail. 2014-09-08 18:16:20 -05:00
Jon Siwek
7a46a70b77 BIT-1240: Fix MIME entity file data/gap ordering.
MIME entities buffered data and passed it along to protocol analyzers in
discrete amounts, but a gap is always passed along right away, so the
ordering of these "events" can cause incorrect file analysis.  The
change here is to never leave any MIME data buffered -- it should now be
passed along line by line as it is seen, but may still temporarily make
use of a buffer allocated by the analyzer as it works on decoding
content.
2014-09-08 18:04:03 -05:00
Robin Sommer
265438b84c Merge remote-tracking branch 'origin/master' into topic/robin/pktsrc 2014-09-08 14:03:16 -07:00
Robin Sommer
ded592868c A bit more DNP3 tweaking.
Two changes:

    - Renaming the base class from DNP3_Analyzer to DNP3_Base. The
      "*_Analyzer" postfix could be confusing here because it's not
      actually derived from Analyzer.

    - Factoring some further code/state that's joined between TCP and
      UDP into the base clase.

All tests still pass.
2014-09-07 21:35:48 -07:00
Robin Sommer
525816b03d Merge remote-tracking branch 'origin/topic/hui/dnp3-udp'
* origin/topic/hui/dnp3-udp:
  remove redundnt codes; find a way to use the analyzer function, such as Weird; fix a small bug in ProcessData function in DNP3.cc; passed the test
  Renameing the DNP3 TCP analyzer
  quickly fix another bug; adding missing field of the declaration of dnp3_request_application_header and dnp3_response_application_header
  Removing the debug printf in DNP3.cc
  fixed the bug of deciding the size of object 1 varition 1 in DNP3
  Fix some things in DNP3 UDP analyzer.
  changed a bug, but still not working
  modify DNP3.cc and DNP3.h to add DNP3_UDP_Analyzer; binpac unchanged
2014-09-07 21:09:53 -07:00
Robin Sommer
5c6dfb2408 Fixing link-layer handling.
Something had gotten mixed up here.
2014-09-06 12:31:25 -07:00
Gilbert Clark
1a456cf9f7 Tweaks to result handling to make things a little more sane. 2014-09-06 13:48:44 -04:00
Robin Sommer
4a66a8e341 Bugfixes and test updates. 2014-09-05 18:20:23 -07:00
Robin Sommer
c1c4e6eb63 Merge remote-tracking branch 'origin/master' into topic/robin/pktsrc 2014-09-05 16:01:23 -07:00
Robin Sommer
042afd2feb Fixing remaining tests. 2014-09-04 20:55:44 -07:00
Gilbert Clark
2446a942e0 Plugin API: minor change (adding parent frame) to support calling methods from hook. Also declare network time update argument to be const because good practice. 2014-09-04 20:41:44 -04:00
Robin Sommer
daae28c72e Merge remote-tracking branch 'origin/topic/johanna/ticket-1212'
* origin/topic/johanna/ticket-1212:
  Fix ocsp reply validation - there were a few things that definitely were wrong.
  fix null pointer dereference in ocsp verification code in case no certificate is sent as part as the ocsp reply.
2014-09-04 16:17:36 -07:00
Johanna Amann
8f1cbb8b0a Fix ocsp reply validation - there were a few things that definitely were wrong.
Now the right signer certificate for the reply is looked up (and no longer assumed that it is the first one) and a few compares are fixed. Plus - there are more test cases that partially send certificates in the ocsp message and partially do not - and it seems to work fine in all cases.

Addresses BIT-1212
2014-09-04 12:22:55 -07:00
Johanna Amann
2d8368fee9 fix null pointer dereference in ocsp verification code in case no certificate
is sent as part as the ocsp reply.

Addresses BIT-1212

There is an additional issue here that prevents the correct verification of
proofs in quite a few cases; this will be addressed in a separate commit.
2014-09-03 22:07:21 -07:00
Robin Sommer
43e63daa45 Fixing Bro-level BPF filtering. 2014-09-03 17:37:35 -07:00
Jon Siwek
0921465297 Fix Pipe copy/assignment to make a copy of flags. 2014-09-03 16:23:13 -05:00
Robin Sommer
569853444f A set of smaller API tweaks, and polishing. 2014-09-03 12:45:38 -07:00
Jon Siwek
77955d7677 Fix possible abort on writing to a full pipe. 2014-09-03 09:51:34 -05:00
Jon Siwek
26887dd71b Merge branch 'master' into topic/jsiwek/improve_comm_loop 2014-09-03 09:20:38 -05:00
Vlad Grigorescu
f1696ab534 Update NetVar for the SMB changes. 2014-09-02 20:44:58 -04:00
Vlad Grigorescu
a06577d285 Update the NetBIOS analyzer for the SMB changes. 2014-09-02 20:44:26 -04:00