Commit graph

6667 commits

Author SHA1 Message Date
Robin Sommer
4bdb94955d Merge remote branch 'origin/topic/seth/ssl-binpac'
* origin/topic/seth/ssl-binpac:
  Fixed bug due to vectors now initially indexed on 0.
  Finished core support for new SSL analyzer.
  SSL analyzer changes with accompanying BiF.
  A table_s_of_s type to get around bifcl type limitation.
  Regenerated the Mozilla CA bundle without the untrusted server authentication certs.
  Complete rewrite to SSL analyzer.

Conflicts:
	src/AnalyzerTags.h
	src/CMakeLists.txt

Notes:

    - Haven't looked at the script-level, postponed to
      policy-scripts-new.

    - I renamed X509Extension to X509_extension for consistency.
2011-06-07 10:12:25 -07:00
Robin Sommer
6e6af4c541 Merge remote branch 'origin/topic/seth/syslog-analyzer'
Note: I didn't merge anything in policy/*. Seems there was some
unrelated stuff in there, and the ticket says that the policy script
was a dummy for now anyway.

* origin/topic/seth/syslog-analyzer:
  Updates for syslog analyzer to prepare it for merging.
  Added the initial syslog analyzer and policy script.
  Adding some of the initial scripts that are going to be merged from my script repository.
2011-06-05 18:37:48 -07:00
Seth Hall
6322130c37 Updates for syslog analyzer to prepare it for merging.
- Integrated with CMake.
- Analyzer only support syslog over UDP right now.
- Fixed small bug in the analyzer to make it generate events correctly.
2011-06-03 10:28:10 -04:00
Seth Hall
b621b8eccc Merge remote branch 'origin/master' into topic/seth/syslog-analyzer
Conflicts:
	src/Analyzer.cc
	src/Makefile.am
2011-06-03 09:38:23 -04:00
Seth Hall
72f2472d1d Updates for the pcap.bro script.
- The install_pcap_filter BiF no longer will prevent
  a filter from being installed if a -f filter was
  provided.  This was already causing a problem where
  command line supplied filters weren't working.
  The pcap.bro script is now where the filter update
  limitation is placed making it possible for users
  to still update the filter at runtime if they really
  want to.
2011-06-03 07:50:30 -04:00
Seth Hall
fbf207deda Merge remote branch 'origin/master' into topic/policy-scripts-new 2011-06-03 07:38:28 -04:00
Robin Sommer
fac328685b @load now supports loading a directory.
With a directory "foo" somewhere in BROPATH, "@load foo" now checks if
there's a file "foo/__load__.bro". If so, it reads that file in. (If
not, Bro reports the same error as before, complaining that it can't
read a directory).
2011-06-02 21:57:24 -07:00
Robin Sommer
5c0704eec8 ASCII logger now escapes non-printable characters.
Closes #450.
2011-06-01 22:33:44 -07:00
Robin Sommer
909c5daf6c Revert "Setting the snaplen to 0 to capture the full packet regardless of size."
This reverts commit fe274c3e64.
2011-06-01 11:27:53 -07:00
Seth Hall
fe274c3e64 Setting the snaplen to 0 to capture the full packet regardless of size.
In my limited testing this seemed to work fine but we should
make an actual test for this eventually.
2011-05-25 13:37:21 -04:00
Seth Hall
19c9aaebb9 Fixed bug due to vectors now initially indexed on 0. 2011-05-24 10:08:17 -04:00
Seth Hall
15bfa23ce1 Merge remote branch 'origin/master' into topic/seth/ssl-binpac
Conflicts:
	src/bro.bif
2011-05-23 17:09:41 -04:00
Seth Hall
6918c225db Finished core support for new SSL analyzer.
- Certificate and certificate chain validation is now done
  fully in policy script land.  The script to do this will
  be written in the new policy scripts branch once this is
  merged.

- Removed hand written SSL analyzer.

- Rewrote and reworked much of the BinPAC SSL analyzer.
2011-05-23 17:04:27 -04:00
Seth Hall
a57e50da35 SSL analyzer changes with accompanying BiF.
- Full DER certificates are extracted as strings to be used with
  corresponding BiFs.
- x509_verify function to verify single certs and/or full certificate chains.
2011-05-23 14:54:52 -04:00
Jon Siwek
f0143c3c5f Merge branch 'master' into topic/policy-scripts-new 2011-05-18 11:44:45 -05:00
Robin Sommer
b829c269ff Merge remote branch 'origin/fastpath'
* origin/fastpath:
  Fix reST markup generated for record redefs.
  Fixes for more doc mode corner cases caused by type cloning.

Jon, I added the line below, please double-check.

diff --git a/src/Var.cc b/src/Var.cc
index 7880325..00ac734 100644
--- a/src/Var.cc
+++ b/src/Var.cc
@@ -260,6 +260,7 @@ void add_type(ID* id, BroType* t, attr_list* attr, int /* is_event */)
 			tnew = new FuncType(t->AsFuncType()->Args(),
 			                    t->AsFuncType()->YieldType(),
 			                    t->AsFuncType()->IsEvent());
+			break;
 		default:
 			SerializationFormat* form = new BinarySerializationFormat();
 			form->StartWrite();
2011-05-18 09:06:41 -07:00
Jon Siwek
73a18714b3 Fix reST markup generated for record redefs.
They should have been using reST roles to xref the original record type
instead of a reST directive to declare a new type.
2011-05-17 15:27:45 -05:00
Jon Siwek
d69c3edf21 Fixes for more doc mode corner cases caused by type cloning.
"shallow" copying has to be done for any type that can contain
record types in order to accommodate record redefs that add fields.
2011-05-17 15:03:40 -05:00
Jon Siwek
56a946568a More changes to how Bro generates docs for scripts in subdirs of BROPATH
The output reST filename now reflects the subdir information (by flattening
'/' path separators into the '^' character).  This is to prevent file name
conflicts when generated reST docs, but during the CMake 'doc' target to
build HTML docs, everything gets unflattened.
2011-05-16 20:17:58 -05:00
Jon Siwek
e608aae0ba Merge remote-tracking branch 'origin/master' into topic/policy-scripts-new 2011-05-16 13:59:02 -05:00
Robin Sommer
1199085b27 An extension to the ICMP analyzer to handle redirects.
The analyzer now raises icmp_redirect() events that come with the
redirection address.

By Julien Sentier.
2011-05-13 18:47:50 -07:00
Gregor Maier
cbf3390762 Merge branch 'fastpath' of ssh://git.bro-ids.org/bro into fastpath 2011-05-13 08:07:23 -07:00
Jon Siwek
70e14cb7d5 Fix CommentedTypeDecl to track whether it's in a record like TypeDecl does. 2011-05-12 19:55:26 -05:00
Jon Siwek
6b7e300e0b Remove unused events 'bro_signal' and 'no_handler' 2011-05-12 13:00:22 -05:00
Jon Siwek
68784634ff Fixing doc tests in the btest suite.
- reduce number of docs generated by `make doc`; will add as they're reviewed

- Conforming to new Notice::Type enum for notices
2011-05-12 11:21:20 -05:00
Robin Sommer
4ed9969f83 Fixing bug with uninitialized counter. 2011-05-10 20:54:24 -07:00
Robin Sommer
69391afc42 A hack to report missing GeoIP support only once.
This closes #357, but #455 captures the need for a more general
solution.
2011-05-10 18:29:05 -07:00
Robin Sommer
63f7359e1e Bugfix: vectors in records were not initalized.
Closes #421.
2011-05-10 18:19:27 -07:00
Robin Sommer
ee872c12c8 New bif bro_has_ipv6() to check whether IPv6 support is compiled in. 2011-05-10 18:02:10 -07:00
Robin Sommer
d1db768624 Fix for major bug in POP3 analyzer, which didn't recognize '.'
terminators in multi-line replies if the terminator was bare (no
newline). This caused it to ignore the rest of the session that it's
analyzing.

Patch from #444 by Vern.
2011-05-10 17:11:01 -07:00
Gregor Maier
c24f3391a3 Fix compiler warning with gcc-4.4.4 2011-05-10 12:31:53 -07:00
Robin Sommer
5cd6394916 Merge remote branch 'remotes/origin/topic/jsiwek/doc-framework'
* remotes/origin/topic/jsiwek/doc-framework:
  Adding example documentation for a script's use of logging features.
  Adding &log attribute to static attr_names array.
  Small typo fix.
  Bro doc mode now tracks record redefs that extend its field list.
  BroBifDoc was unneeded; now dead code, so removed.
  Bro doc mode now only does a "shallow" copy of declared record types
  Bro's doc mode now terminates after processing bro_init but before net_run
  Fixes related to `make doc` handling of script summary text (##! comments)
  Overhaul of "doc" build target for generating policy script documentation.
  Add parser error hint when in doc mode about checking ## comment syntax.
  Move stuff related to policy script documentation from doc/ to doc/scripts/
  Fixing example.bro's auto-reST generation baseline test.
2011-05-09 19:02:39 -07:00
Robin Sommer
bd9855a380 Merge of Gregor's conn-size branch.
If 'use_conn_size_analyzer' is true, the event engine tracks number of
packets and raw IP bytes per connection. If report_conn_size_analyzer
is true, these values are included as four new columns into conn.log

I changed conn.bro so that the value of report_conn_size_analyzer
follows that of use_conn_size_analyzer. For the new conn.log, we
probably want to get rid of report_conn_size_analyzer anyway.
2011-05-09 17:14:31 -07:00
Jon Siwek
35b7caf44f Fix compile errors possible on some platforms.
Include <algorithm> in some sources that require it; addresses #430

Places where STL's min() template function could get used with
arguments of differing types can fail to deduce the right template type.
These are fixed with some type tweaking of local variables and also
giving an explicit template argument for good measure.
2011-05-08 19:53:41 -05:00
Jon Siwek
2a21ebba2e Adding &log attribute to static attr_names array. 2011-05-06 18:52:23 -05:00
Jon Siwek
cf0a542f7c Bro doc mode now tracks record redefs that extend its field list. 2011-05-05 10:43:15 -05:00
Jon Siwek
aec63df90f BroBifDoc was unneeded; now dead code, so removed. 2011-05-04 22:01:01 -05:00
Jon Siwek
6d867cf999 Bro doc mode now only does a "shallow" copy of declared record types
This is necessary so that the cloned type will be able to see additions
to the original type's list of fields
2011-05-04 21:53:51 -05:00
Jon Siwek
d919ebed58 Bro's doc mode now terminates after processing bro_init but before net_run
Generated script reST documentation is also written out at this time
instead of at the end of lexical scanning.

The persistence serializer will no longer write out Bro's state to the
.state directory when in doc mode.
2011-05-04 21:33:21 -05:00
Jon Siwek
481a1d097b Merge branch 'master' into topic/jsiwek/doc-framework 2011-05-04 19:38:03 -05:00
Robin Sommer
4aa844aa87 Switching vectors from being 1-based to 0-based.
This is obviously a change that break backwards-compatibility. I hope
I caught all cases where vectors are used ...

I've completely removed the VECTOR_MIN constant. Turns out that was
already not working: some code pieces were nevertheless hard-coding
the 1-based indexing ...
2011-05-02 17:10:18 -07:00
Jon Siwek
7490095e42 Merge branch 'master' into topic/jsiwek/doc-framework 2011-05-02 15:50:21 -05:00
Jon Siwek
ceaba8077b Fixes related to make doc handling of script summary text (##! comments)
- Summary comments (##!) can now be placed at the beginning of
BiF files (but still outside C segments).  An issue was fixed where
these comments would mistakenly be transferred into the generated
.func_def file and cause a compile error. I completely removed writing
any opt_ws value into the .func_def file because it was currently not
writing anything besides whitespace.

- The generation of reST for the collecting of "groups" of policy
script documentation now happens at build time of `make doc` through the
use of a helper script rather than doing this at configure time so that
changes to summary text will always be reflected in the documentation.
2011-05-02 15:34:34 -05:00
Jon Siwek
54e9946fc7 Merge branch 'master' into topic/jsiwek/doc-framework 2011-05-02 12:23:56 -05:00
Robin Sommer
eed759b7b5 Increasing serialization format version for the recent 64-bit changes. 2011-05-02 08:43:55 -07:00
Robin Sommer
9ddc26328d Support for (mixed) MPLS and VLAN traffic, and a new default BPF
filter. (Seth Hall and Robin Sommer)

- Merging in the patch from #264, which provides support for mixed
  VLAN and MPLS traffic.

- Changing Bro's default filter from being built dynamically to being
  a static "ip or not ip". To get the old behaviour back (i.e., the
  dynamically built filter), redef "all_packets" to false.

- print-filter.bro now always prints the filter that Bro is actually
  using, even if overriden from the command line.
2011-04-29 09:10:43 -07:00
Robin Sommer
b01aa66fe6 Fixing some more format strings. 2011-04-27 21:31:23 -07:00
Robin Sommer
714289bd13 Changing the HTTP's analyzers internals to use 64-bit integers.
(Gregor Maier).

This is the patch from #326, plus some cleanup.
2011-04-27 21:25:51 -07:00
Jon Siwek
f10d2e10ea Overhaul of "doc" build target for generating policy script documentation.
It's now all implemented in CMake scripting.

The generation of reST docs is now a distinct target, "restdoc", while
the target to generate HTML docs, "doc", depends on "restdoc".  reST doc
generation supports incremental builds (documentation for a given policy
script is only regenerated when it is out of date), but HTML doc generation
via ``make doc`` is not incremental (Sphinx always starts with fresh input).

Building the "restdoc" target is now covered by a btest to ensure all
policy scripts are parse-able when Bro is in "doc mode".

Generated reST docs should now support "@load"ing from subdirectories.  e.g.
"@load foo/baz" and "@load bar/baz" will now generate the right xref links.
2011-04-26 22:13:04 -05:00
Jon Siwek
9875c2ba9c Merge branch 'master' into topic/jsiwek/doc-framework 2011-04-26 10:27:06 -05:00