zeek/doc
Jon Siwek b22ca5d0a3 Replace libmagic w/ Bro signatures for file MIME type identification.
Notable changes:

- libmagic is no longer used at all.  All MIME type detection is
  done through new Bro signatures, and there's no longer a means to get
  verbose file type descriptions (e.g. "PNG image data, 1435 x 170").
  The majority of the default file magic signatures are derived
  from the default magic database of libmagic ~5.17.

- File magic signatures consist of two new constructs in the
  signature rule parsing grammar: "file-magic" gives a regular
  expression to match against, and "file-mime" gives the MIME type
  string of content that matches the magic and an optional strength
  value for the match.

- Modified signature/rule syntax for identifiers: they can no longer
  start with a '-', which made for ambiguous syntax when doing negative
  strength values in "file-mime".  Also brought syntax for Bro script
  identifiers in line with reality (they can't start with numbers or
  include '-' at all).

- A new Built-In Function, "file_magic", can be used to get all
  file magic matches and their corresponding strength against a given
  chunk of data

- The second parameter of the "identify_data" Built-In Function
  can no longer be used to get verbose file type descriptions, though it
  can still be used to get the strongest matching file magic signature.

- The "file_transferred" event's "descr" parameter no longer
  contains verbose file type descriptions.

- The BROMAGIC environment variable no longer changes any behavior
  in Bro as magic databases are no longer used/installed.

- Reverted back to minimum requirement of CMake 2.6.3 from 2.8.0
  (it's back to being the same requirement as the Bro v2.2 release).
  The bump was to accomodate building libmagic as an external project,
  which is no longer needed.

Addresses BIT-1143.
2014-03-04 11:12:06 -06:00
..
_static New Bro Manual Development Edition and basic.css to fix btest output overflow problem (Update 1). 2013-11-21 12:56:00 -06:00
_templates s/bro-ids.org/bro.org/g 2013-03-07 19:33:04 -08:00
broids Merge remote-tracking branch 'origin/topic/jdopheid/bro_documentation' 2014-02-07 09:12:44 -08:00
cluster Merge remote-tracking branch 'origin/topic/jdopheid/bro_documentation' 2014-02-07 09:12:44 -08:00
components Fix broken links in the documentation 2013-09-11 16:32:02 -05:00
ext Minor Broxygen improvements, addresses BIT-1098. 2013-12-06 09:35:35 -06:00
frameworks Replace libmagic w/ Bro signatures for file MIME type identification. 2014-03-04 11:12:06 -06:00
httpmonitor Updates to httpmonitor and mimestats documentation. 2014-01-30 13:23:58 -06:00
images Adapt more www niceties to broxygen (stylesheets, pygments); add more docs 2011-11-15 15:39:31 -06:00
install Replace libmagic w/ Bro signatures for file MIME type identification. 2014-03-04 11:12:06 -06:00
intro Fix broken links in the documentation 2013-09-11 16:32:02 -05:00
logs Updates to Logs and Cluster documentation 2014-01-30 13:22:25 -06:00
mimestats Updates to httpmonitor and mimestats documentation. 2014-01-30 13:23:58 -06:00
quickstart Added some grammar and spelling corrections to Installation and Quick Start Guide. 2014-01-29 11:23:31 -06:00
script-reference Merge remote-tracking branch 'origin/master' into topic/dnthayer/doc-updates 2013-12-18 14:35:22 -06:00
scripting Change dns.log to include only standard DNS queries. 2014-01-28 13:56:22 -06:00
.gitignore A set of script-reference polishing. 2012-01-09 18:04:34 -08:00
broxygen.conf.in Change Broxygen config file format. 2013-11-22 14:37:07 -06:00
CMakeLists.txt Replace libmagic w/ Bro signatures for file MIME type identification. 2014-03-04 11:12:06 -06:00
conf.py.in Minor Broxygen improvements, addresses BIT-1098. 2013-12-06 09:35:35 -06:00
index.rst Pass over doc xref links and linking style. 2014-01-21 11:32:55 -06:00
LICENSE New branch for documentation, with an initial skeleton. 2012-10-24 11:13:02 -07:00
README Merge remote-tracking branch 'origin/topic/jsiwek/broxygen' 2013-12-04 11:14:19 -08:00

Documentation
=============

This directory contains Bro documentation in reStructuredText format
(see http://docutils.sourceforge.net/rst.html).

It is the root of a Sphinx source tree and can be modified to add more
common/general documentation, style sheets, JavaScript, etc.  The Sphinx
config file is produced from ``conf.py.in``, and can be edited to change
various Sphinx options.

There is also a custom Sphinx domain implemented in ``source/ext/bro.py``
which adds some reST directives and roles that aid in generating useful
index entries and cross-references.  Other extensions can be added in
a similar fashion.

The ``make doc`` target in the top-level Makefile can be used to locally
render the reST files into HTML.  That target depends on:

* Python interpreter >= 2.5
* `Sphinx <http://sphinx.pocoo.org/>`_ >= 1.0.1

After completion, HTML documentation is symlinked in ``build/html``.

There's also a ``make docclean`` target which deletes any files
created during the documentation build process.

Notes for Writing Documentation
-------------------------------

* If you want to refer to a document that's part of the
  distribution, it currently needs to be copied or otherwise symlinked
  somewhere in to this Sphinx source tree. Then, it can be referenced
  in a toc tree or with the :doc: role.  Use the :download: role to
  refer to static files that will not undergo sphinx rendering.

* If you want to refer to a page on the Bro web site, use an HTTP URL.

Guidelines
----------

TODO.