]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Merge pull request #2312 in SNORT/snort3 from ~MIALTIZE/snort3:3_0_2_build_1 to master 3.0.2-1
authorMichael Altizer (mialtize) <mialtize@cisco.com>
Mon, 6 Jul 2020 14:45:41 +0000 (14:45 +0000)
committerMichael Altizer (mialtize) <mialtize@cisco.com>
Mon, 6 Jul 2020 14:45:41 +0000 (14:45 +0000)
Squashed commit of the following:

commit b27307246e7cc6bdca8efef0f8112116c836bc3a
Author: Michael Altizer <mialtize@cisco.com>
Date:   Mon Jul 6 10:01:15 2020 -0400

    build: generate and tag 3.0.2 build 1

ChangeLog
doc/snort_manual.html
doc/snort_manual.pdf
doc/snort_manual.text
src/main/build.h

index 9c03a413b511a8171823bd9e38e80854f5c5dffb..c3b6211b8c09814391e16f96773d8b484280e197 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,55 @@
+2020/07/06 - 3.0.2 build 1
+
+-- appid: Appid coverity issues
+-- appid: Create lua states and lua detectors in control thread
+-- appid: Delete stale third-party connections when reloading third-party on midstream
+-- appid: Fix the format of the IPv6 strings in the Service State unit tests
+-- appid: include appid session api in appid event
+-- appid: use configured search method for multi-pattern matching
+-- build: Eradicate u_int usage
+-- build: Fix unit tests to build and work properly on a 32-bit system
+-- build: Fix various cppcheck warnings about constness
+-- build: Increment version to 3.0.2
+-- build: Miscellaneous 32-bit build fixes
+-- build: Use sanity check results (HAVE_*) for optional packages in CMake
+-- cmake: Properly handle SIGNAL_SNORT_* options in configure_cmake.sh
+-- codecs: add tunnel bypass logic based on DAQ payload_offset
+-- dce_tcp: parse only endpoint mapper messages
+-- detection: remove checksum drop fixit
+-- detection: remove unused code
+-- framework: fix global data bus cloning during reload module and policy
+-- helpers: Add a signal-safe formatted printing utility class
+-- helpers: Add support for dumping a backtrace via libunwind on fatal signals
+-- helpers: Dump additional information to stderr when a fatal signal is received
+-- helpers: Revamp signal handler installation and removal
+-- http2_inspect: Make print_flow_issues() regtest-only
+-- inspectors: add a virtual disable method for controls
+-- ips: add http fast pattern buffers
+-- ips: add ips service vs buffer checks; add missing services
+-- ips: enable non-service rules when service is detected
+-- ips: minimize port group construction for any-any and bidirectional rules
+-- ips: refactor fast pattern selection.
+-- ips: update detection trees for earliest header checks
+-- main: configure and set main thread affinity
+-- main: set thread type for main thread
+-- managers: format lua whitelist output and ignore internal whitelist keywords
+-- max_detect: detained inspection disabled pending further work
+-- mpse: remove unused pattern trimming support
+-- oops_handler: Operate on DAQ message instead of Snort Packets
+-- payload_injector: add payload injection utility
+-- regex: convert to same syntax as pcre plus fast_pattern option
+-- rna: Adding initial support for reload_fingerprint command
+-- rna: remove custom_fingerprint_dir from configuration
+-- snort_defaults.lua: remove unused AIM_SERVERS var
+-- snort: fix --dump-rule-meta with ips.states
+-- stream_ip: Avoid modifying the original fragmented packet during rebuild
+-- stream_ip: use lowercase fragmentation policy names for verbose output
+-- stream: lock xtradata stream_impl to avoid data race on logging
+-- trace: add thread type and thread instance id to each log message for stdout logger
+-- tweaks: enable file signature for sec and max until depth issue resolved
+-- tweaks: updates for efficacy and performance
+-- wizard: Add FTP pattern to recognize FileZilla FTP Server
+
 2020/06/18 - 3.0.1 build 5
 
 -- actions: on a reload_config() free the memory allocated for react page on previous configuration
index 6b28fd1bdf8f2b390a95c194b34e7ab1b4d778f2..ba52b11cf304c7fd585e5912a2023dea13481c0a 100644 (file)
@@ -782,7 +782,7 @@ asciidoc.install(2);
 <div class="literalblock">\r
 <div class="content">\r
 <pre><code> ,,_     -*&gt; Snort++ &lt;*-\r
-o"  )~   Version 3.0.1 (Build 5)\r
+o"  )~   Version 3.0.2 (Build 1)\r
  ''''    By Martin Roesch &amp; The Snort Team\r
          http://snort.org/contact#team\r
          Copyright (C) 2014-2020 Cisco and/or its affiliates. All rights reserved.\r
@@ -2105,7 +2105,8 @@ dnet from <a href="https://github.com/dugsong/libdnet.git">https://github.com/du
 </li>\r
 <li>\r
 <p>\r
-hwloc from <a href="https://www.open-mpi.org/projects/hwloc/">https://www.open-mpi.org/projects/hwloc/</a> for CPU affinity management\r
+hwloc from <a href="https://www.open-mpi.org/projects/hwloc/">https://www.open-mpi.org/projects/hwloc/</a> for CPU affinity\r
+  management\r
 </p>\r
 </li>\r
 <li>\r
@@ -2131,7 +2132,8 @@ pcre from <a href="http://www.pcre.org">http://www.pcre.org</a> for regular expr
 </li>\r
 <li>\r
 <p>\r
-pkgconfig from <a href="https://www.freedesktop.org/wiki/Software/pkg-config/">https://www.freedesktop.org/wiki/Software/pkg-config/</a> to locate build dependencies\r
+pkgconfig from <a href="https://www.freedesktop.org/wiki/Software/pkg-config/">https://www.freedesktop.org/wiki/Software/pkg-config/</a> to locate\r
+  build dependencies\r
 </p>\r
 </li>\r
 <li>\r
@@ -2182,6 +2184,12 @@ iconv from <a href="https://ftp.gnu.org/pub/gnu/libiconv/">https://ftp.gnu.org/p
 </li>\r
 <li>\r
 <p>\r
+libunwind from <a href="https://www.nongnu.org/libunwind/">https://www.nongnu.org/libunwind/</a> to attempt to dump a\r
+  somewhat readable backtrace when a fatal signal is received\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
 lzma &gt;= 5.1.2 from <a href="http://tukaani.org/xz/">http://tukaani.org/xz/</a> for decompression of SWF and\r
   PDF files\r
 </p>\r
@@ -6999,6 +7007,13 @@ the trace module:</p></div>
 <div class="content">\r
 <pre><code>&lt;module_name&gt;:&lt;option_name&gt;:&lt;message_log_level&gt;: &lt;particular_message&gt;</code></pre>\r
 </div></div>\r
+<div class="paragraph"><p>The stdout logger also prints thread type and thread instance ID at the beginning\r
+of each trace message in a colon-separated manner.</p></div>\r
+<div class="paragraph"><p>The capital letter at the beginning of the trace message indicates the thread type.</p></div>\r
+<div class="paragraph"><p>Possible thread types:\r
+C – main (control) thread\r
+P – packet thread\r
+O – other thread</p></div>\r
 </div>\r
 <div class="sect3">\r
 <h4 id="_example_debugging_rules_using_detection_trace">Example - Debugging rules using detection trace</h4>\r
@@ -8007,6 +8022,36 @@ bool <strong>detection.enable_address_anomaly_checks</strong> = false: enable ch
 </li>\r
 <li>\r
 <p>\r
+<strong>detection.raw_key_searches</strong>: fast pattern searches in raw key buffer (sum)\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+<strong>detection.raw_header_searches</strong>: fast pattern searches in raw header buffer (sum)\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+<strong>detection.method_searches</strong>: fast pattern searches in method buffer (sum)\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+<strong>detection.stat_code_searches</strong>: fast pattern searches in status code buffer (sum)\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+<strong>detection.stat_msg_searches</strong>: fast pattern searches in status message buffer (sum)\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+<strong>detection.cookie_searches</strong>: fast pattern searches in cookie buffer (sum)\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
 <strong>detection.offloads</strong>: fast pattern searches that were offloaded (sum)\r
 </p>\r
 </li>\r
@@ -8851,6 +8896,20 @@ bool <strong>packets.vlan_agnostic</strong> = false: determines whether VLAN inf
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
+<h3 id="_payload_injector">payload_injector</h3>\r
+<div class="paragraph"><p>What: payload injection utility</p></div>\r
+<div class="paragraph"><p>Type: basic</p></div>\r
+<div class="paragraph"><p>Usage: global</p></div>\r
+<div class="paragraph"><p>Peg counts:</p></div>\r
+<div class="ulist"><ul>\r
+<li>\r
+<p>\r
+<strong>payload_injector.http_injects</strong>: total number of http injections (sum)\r
+</p>\r
+</li>\r
+</ul></div>\r
+</div>\r
+<div class="sect2">\r
 <h3 id="_process">process</h3>\r
 <div class="paragraph"><p>What: configure basic process setup</p></div>\r
 <div class="paragraph"><p>Type: basic</p></div>\r
@@ -8869,7 +8928,17 @@ string <strong><code>process.threads[].cpuset</code></strong>: pin the associate
 </li>\r
 <li>\r
 <p>\r
-int <strong><code>process.threads[].thread</code></strong> = 0: set cpu affinity for the &lt;cur_thread_num&gt; thread that runs { 0:65535 }\r
+int <strong><code>process.threads[].thread</code></strong>: set cpu affinity for the &lt;cur_thread_num&gt; thread that runs { 0:65535 }\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+enum <strong><code>process.threads[].type</code></strong>: define which threads will have specified affinity, by their type { other|packet|main }\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+string <strong><code>process.threads[].name</code></strong>: define which threads will have specified affinity, by thread name\r
 </p>\r
 </li>\r
 <li>\r
@@ -11518,6 +11587,11 @@ bool <strong>appid.tp_appid_config_dump</strong>: print third party configuratio
 bool <strong>appid.log_all_sessions</strong> = false: enable logging of all appid sessions\r
 </p>\r
 </li>\r
+<li>\r
+<p>\r
+bool <strong>appid.load_odp_detectors_in_ctrl</strong> = false: load odp detectors in control thread\r
+</p>\r
+</li>\r
 </ul></div>\r
 <div class="paragraph"><p>Commands:</p></div>\r
 <div class="ulist"><ul>\r
@@ -13396,73 +13470,6 @@ bool <strong>file_log.log_sys_time</strong> = false: log the system time when ev
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_finalize_packet">finalize_packet</h3>\r
-<div class="paragraph"><p>What: handle the finalize packet event</p></div>\r
-<div class="paragraph"><p>Type: inspector</p></div>\r
-<div class="paragraph"><p>Usage: inspect</p></div>\r
-<div class="paragraph"><p>Configuration:</p></div>\r
-<div class="ulist"><ul>\r
-<li>\r
-<p>\r
-int <strong>finalize_packet.start_pdu</strong> = 0: Register to receive finalize packet event starting on this PDU { 0:max32 }\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-int <strong>finalize_packet.end_pdu</strong> = 0: Deregister for finalize packet events on this PDU { 0:max32 }\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-int <strong>finalize_packet.modify.pdu</strong> = 0: Modify verdict in finalize packet for this PDU { 0:max32 }\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-enum <strong>finalize_packet.modify.verdict</strong>: output format for stats { pass | block | replace | whitelist | blacklist | ignore | retry }\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-bool <strong>finalize_packet.switch_to_wizard</strong> = false: Switch to wizard on first finalize event\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-bool <strong>finalize_packet.use_direct_inject</strong> = false: Use ioctl to do payload and reset injects\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-bool <strong>finalize_packet.defer_whitelist</strong> = false: Turn on defer whitelist until we switch to wizard\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-bool <strong>finalize_packet.force_whitelist</strong> = false: Set ignore direction to both so that flow will be whitelisted\r
-</p>\r
-</li>\r
-</ul></div>\r
-<div class="paragraph"><p>Peg counts:</p></div>\r
-<div class="ulist"><ul>\r
-<li>\r
-<p>\r
-<strong>finalize_packet.pdus</strong>: total PDUs seen (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>finalize_packet.events</strong>: total events seen (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>finalize_packet.other_messages</strong>: total other message seen (sum)\r
-</p>\r
-</li>\r
-</ul></div>\r
-</div>\r
-<div class="sect2">\r
 <h3 id="_ftp_client">ftp_client</h3>\r
 <div class="paragraph"><p>What: FTP client configuration module for use with ftp_server</p></div>\r
 <div class="paragraph"><p>Type: inspector</p></div>\r
@@ -16284,12 +16291,7 @@ string <strong>reputation.whitelist</strong>: whitelist file name with IP lists
 <div class="ulist"><ul>\r
 <li>\r
 <p>\r
-string <strong>rna.rna_conf_path</strong>: path to RNA configuration\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-string <strong>rna.rna_util_lib_path</strong>: path to library for utilities such as fingerprint decoder\r
+string <strong>rna.rna_conf_path</strong>: path to rna configuration\r
 </p>\r
 </li>\r
 <li>\r
@@ -16299,17 +16301,20 @@ string <strong>rna.fingerprint_dir</strong>: directory to fingerprint patterns
 </li>\r
 <li>\r
 <p>\r
-string <strong>rna.custom_fingerprint_dir</strong>: directory to custom fingerprint patterns\r
+bool <strong>rna.enable_logger</strong> = true: enable or disable writing discovery events into logger\r
 </p>\r
 </li>\r
 <li>\r
 <p>\r
-bool <strong>rna.enable_logger</strong> = true: enable or disable writing discovery events into logger\r
+bool <strong>rna.log_when_idle</strong> = false: enable host update logging when snort is idle\r
 </p>\r
 </li>\r
+</ul></div>\r
+<div class="paragraph"><p>Commands:</p></div>\r
+<div class="ulist"><ul>\r
 <li>\r
 <p>\r
-bool <strong>rna.log_when_idle</strong> = false: enable host update logging when snort is idle\r
+<strong>rna.reload_fingerprint</strong>(): reload rna database of fingerprint patterns/signatures\r
 </p>\r
 </li>\r
 </ul></div>\r
@@ -16425,124 +16430,6 @@ bool <strong>rna.log_when_idle</strong> = false: enable host update logging when
 </ul></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_rt_global">rt_global</h3>\r
-<div class="paragraph"><p>What: The regression test global inspector is used for regression tests specific to a global inspector</p></div>\r
-<div class="paragraph"><p>Type: inspector</p></div>\r
-<div class="paragraph"><p>Usage: global</p></div>\r
-<div class="paragraph"><p>Configuration:</p></div>\r
-<div class="ulist"><ul>\r
-<li>\r
-<p>\r
-int <strong>rt_global.downshift_packet</strong> = 0: attempt downshift at this packet on flow (0 is disabled) { 0:max32 }\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-int <strong>rt_global.downshift_mode</strong> = 3: 1 = unconditional, 2 = !ctl and !tls, 3 = !ctl and !file { 1:3 }\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-int <strong>rt_global.memcap</strong> = 2048: cap on amount of memory used (0 is disabled) { 0:max53 }\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-bool <strong>rt_global.empty_ips</strong> = false: ips policy with no rules\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-bool <strong>rt_global.init_drop_reason</strong> = false: populate drop reason map\r
-</p>\r
-</li>\r
-</ul></div>\r
-<div class="paragraph"><p>Peg counts:</p></div>\r
-<div class="ulist"><ul>\r
-<li>\r
-<p>\r
-<strong>rt_global.packets</strong>: total packets (sum)\r
-</p>\r
-</li>\r
-</ul></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_rt_packet">rt_packet</h3>\r
-<div class="paragraph"><p>What: The regression test packet inspector is used when special packet handling is required for a reg test</p></div>\r
-<div class="paragraph"><p>Type: inspector</p></div>\r
-<div class="paragraph"><p>Usage: context</p></div>\r
-<div class="paragraph"><p>Configuration:</p></div>\r
-<div class="ulist"><ul>\r
-<li>\r
-<p>\r
-bool <strong>rt_packet.retry_targeted</strong> = false: request retry for packets whose data starts with <em>A</em>\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-bool <strong>rt_packet.retry_all</strong> = false: request retry for all non-retry packets\r
-</p>\r
-</li>\r
-</ul></div>\r
-<div class="paragraph"><p>Peg counts:</p></div>\r
-<div class="ulist"><ul>\r
-<li>\r
-<p>\r
-<strong>rt_packet.packets</strong>: total packets (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>rt_packet.retry_requests</strong>: total retry packets requested (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>rt_packet.retry_packets</strong>: total retried packets received (sum)\r
-</p>\r
-</li>\r
-</ul></div>\r
-</div>\r
-<div class="sect2">\r
-<h3 id="_rt_service">rt_service</h3>\r
-<div class="paragraph"><p>What: The regression test service inspector is used by regression tests that require custom service inspector support.</p></div>\r
-<div class="paragraph"><p>Type: inspector</p></div>\r
-<div class="paragraph"><p>Usage: context</p></div>\r
-<div class="paragraph"><p>Peg counts:</p></div>\r
-<div class="ulist"><ul>\r
-<li>\r
-<p>\r
-<strong>rt_service.packets</strong>: total packets (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>rt_service.flush_requests</strong>: total splitter flush requests (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>rt_service.hold_requests</strong>: total splitter hold requests (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>rt_service.search_requests</strong>: total splitter search requests (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>rt_service.send_data_requests</strong>: total send data via daq inject requests (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>rt_service.send_data_direct_requests</strong>: total send data via direct inject requests (sum)\r
-</p>\r
-</li>\r
-</ul></div>\r
-</div>\r
-<div class="sect2">\r
 <h3 id="_s7commplus">s7commplus</h3>\r
 <div class="paragraph"><p>What: s7commplus inspection</p></div>\r
 <div class="paragraph"><p>Type: inspector</p></div>\r
@@ -20524,7 +20411,7 @@ string <strong>reference.~ref</strong>: reference: &lt;scheme&gt;,&lt;id&gt;
 </div>\r
 <div class="sect2">\r
 <h3 id="_regex">regex</h3>\r
-<div class="paragraph"><p>What: rule option for matching payload data with hyperscan regex</p></div>\r
+<div class="paragraph"><p>What: rule option for matching payload data with hyperscan regex; uses pcre syntax</p></div>\r
 <div class="paragraph"><p>Type: ips_option</p></div>\r
 <div class="paragraph"><p>Usage: detect</p></div>\r
 <div class="paragraph"><p>Configuration:</p></div>\r
@@ -25146,6 +25033,11 @@ present.  There is no need to explicitly enable.</p></div>
 </li>\r
 <li>\r
 <p>\r
+<strong>libunwind</strong>: for printing a backtrace when a fatal signal is received.\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
 <strong>lzma</strong>: for decompression of SWF and PDF files.\r
 </p>\r
 </li>\r
@@ -26046,6 +25938,11 @@ bool <strong>appid.list_odp_detectors</strong> = false: enable logging of odp de
 </li>\r
 <li>\r
 <p>\r
+bool <strong>appid.load_odp_detectors_in_ctrl</strong> = false: load odp detectors in control thread\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
 bool <strong>appid.log_all_sessions</strong> = false: enable logging of all appid sessions\r
 </p>\r
 </li>\r
@@ -27291,46 +27188,6 @@ string <strong>file_type.~</strong>: list of file type IDs to match
 </li>\r
 <li>\r
 <p>\r
-bool <strong>finalize_packet.defer_whitelist</strong> = false: Turn on defer whitelist until we switch to wizard\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-int <strong>finalize_packet.end_pdu</strong> = 0: Deregister for finalize packet events on this PDU { 0:max32 }\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-bool <strong>finalize_packet.force_whitelist</strong> = false: Set ignore direction to both so that flow will be whitelisted\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-int <strong>finalize_packet.modify.pdu</strong> = 0: Modify verdict in finalize packet for this PDU { 0:max32 }\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-enum <strong>finalize_packet.modify.verdict</strong>: output format for stats { pass | block | replace | whitelist | blacklist | ignore | retry }\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-int <strong>finalize_packet.start_pdu</strong> = 0: Register to receive finalize packet event starting on this PDU { 0:max32 }\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-bool <strong>finalize_packet.switch_to_wizard</strong> = false: Switch to wizard on first finalize event\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-bool <strong>finalize_packet.use_direct_inject</strong> = false: Use ioctl to do payload and reset injects\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
 string <strong>flags.~mask_flags</strong>: these flags are don&#8217;t cares\r
 </p>\r
 </li>\r
@@ -29141,7 +28998,17 @@ string <strong><code>process.threads[].cpuset</code></strong>: pin the associate
 </li>\r
 <li>\r
 <p>\r
-int <strong><code>process.threads[].thread</code></strong> = 0: set cpu affinity for the &lt;cur_thread_num&gt; thread that runs { 0:65535 }\r
+string <strong><code>process.threads[].name</code></strong>: define which threads will have specified affinity, by thread name\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+int <strong><code>process.threads[].thread</code></strong>: set cpu affinity for the &lt;cur_thread_num&gt; thread that runs { 0:65535 }\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+enum <strong><code>process.threads[].type</code></strong>: define which threads will have specified affinity, by their type { other|packet|main }\r
 </p>\r
 </li>\r
 <li>\r
@@ -29371,11 +29238,6 @@ bool <strong>rewrite.disable_replace</strong> = false: disable replace of packet
 </li>\r
 <li>\r
 <p>\r
-string <strong>rna.custom_fingerprint_dir</strong>: directory to custom fingerprint patterns\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
 bool <strong>rna.enable_logger</strong> = true: enable or disable writing discovery events into logger\r
 </p>\r
 </li>\r
@@ -29391,12 +29253,7 @@ bool <strong>rna.log_when_idle</strong> = false: enable host update logging when
 </li>\r
 <li>\r
 <p>\r
-string <strong>rna.rna_conf_path</strong>: path to RNA configuration\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-string <strong>rna.rna_util_lib_path</strong>: path to library for utilities such as fingerprint decoder\r
+string <strong>rna.rna_conf_path</strong>: path to rna configuration\r
 </p>\r
 </li>\r
 <li>\r
@@ -29416,41 +29273,6 @@ string <strong>rpc.~ver</strong>: version number or * for any
 </li>\r
 <li>\r
 <p>\r
-int <strong>rt_global.downshift_mode</strong> = 3: 1 = unconditional, 2 = !ctl and !tls, 3 = !ctl and !file { 1:3 }\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-int <strong>rt_global.downshift_packet</strong> = 0: attempt downshift at this packet on flow (0 is disabled) { 0:max32 }\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-bool <strong>rt_global.empty_ips</strong> = false: ips policy with no rules\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-bool <strong>rt_global.init_drop_reason</strong> = false: populate drop reason map\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-int <strong>rt_global.memcap</strong> = 2048: cap on amount of memory used (0 is disabled) { 0:max53 }\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-bool <strong>rt_packet.retry_all</strong> = false: request retry for all non-retry packets\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-bool <strong>rt_packet.retry_targeted</strong> = false: request retry for packets whose data starts with <em>A</em>\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
 enum <strong><code>rule_state.$gid_sid[].action</code></strong> = alert: apply action if rule matches or inherit from rule definition { log | pass | alert | drop | block | reset }\r
 </p>\r
 </li>\r
@@ -32051,6 +31873,11 @@ interval <strong>wscale.~range</strong>: check if TCP window scale is in given r
 </li>\r
 <li>\r
 <p>\r
+<strong>detection.cookie_searches</strong>: fast pattern searches in cookie buffer (sum)\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
 <strong>detection.event_limit</strong>: events filtered (sum)\r
 </p>\r
 </li>\r
@@ -32091,6 +31918,11 @@ interval <strong>wscale.~range</strong>: check if TCP window scale is in given r
 </li>\r
 <li>\r
 <p>\r
+<strong>detection.method_searches</strong>: fast pattern searches in method buffer (sum)\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
 <strong>detection.offload_busy</strong>: times offload was not available (sum)\r
 </p>\r
 </li>\r
@@ -32151,11 +31983,31 @@ interval <strong>wscale.~range</strong>: check if TCP window scale is in given r
 </li>\r
 <li>\r
 <p>\r
+<strong>detection.raw_header_searches</strong>: fast pattern searches in raw header buffer (sum)\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+<strong>detection.raw_key_searches</strong>: fast pattern searches in raw key buffer (sum)\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
 <strong>detection.raw_searches</strong>: fast pattern searches in raw packet data (sum)\r
 </p>\r
 </li>\r
 <li>\r
 <p>\r
+<strong>detection.stat_code_searches</strong>: fast pattern searches in status code buffer (sum)\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
+<strong>detection.stat_msg_searches</strong>: fast pattern searches in status message buffer (sum)\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
 <strong>detection.total_alerts</strong>: alerts including IP reputation (sum)\r
 </p>\r
 </li>\r
@@ -32281,21 +32133,6 @@ interval <strong>wscale.~range</strong>: check if TCP window scale is in given r
 </li>\r
 <li>\r
 <p>\r
-<strong>finalize_packet.events</strong>: total events seen (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>finalize_packet.other_messages</strong>: total other message seen (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>finalize_packet.pdus</strong>: total PDUs seen (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
 <strong>ftp_data.packets</strong>: total packets (sum)\r
 </p>\r
 </li>\r
@@ -33121,6 +32958,11 @@ interval <strong>wscale.~range</strong>: check if TCP window scale is in given r
 </li>\r
 <li>\r
 <p>\r
+<strong>payload_injector.http_injects</strong>: total number of http injections (sum)\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
 <strong>pcre.pcre_native</strong>: total pcre rules compiled by pcre engine (sum)\r
 </p>\r
 </li>\r
@@ -33351,56 +33193,6 @@ interval <strong>wscale.~range</strong>: check if TCP window scale is in given r
 </li>\r
 <li>\r
 <p>\r
-<strong>rt_global.packets</strong>: total packets (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>rt_packet.packets</strong>: total packets (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>rt_packet.retry_packets</strong>: total retried packets received (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>rt_packet.retry_requests</strong>: total retry packets requested (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>rt_service.flush_requests</strong>: total splitter flush requests (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>rt_service.hold_requests</strong>: total splitter hold requests (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>rt_service.packets</strong>: total packets (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>rt_service.search_requests</strong>: total splitter search requests (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>rt_service.send_data_direct_requests</strong>: total send data via direct inject requests (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>rt_service.send_data_requests</strong>: total send data via daq inject requests (sum)\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
 <strong>s7commplus.concurrent_sessions</strong>: total concurrent s7commplus sessions (now)\r
 </p>\r
 </li>\r
@@ -37521,6 +37313,11 @@ interval <strong>wscale.~range</strong>: check if TCP window scale is in given r
 </li>\r
 <li>\r
 <p>\r
+<strong>rna.reload_fingerprint</strong>(): reload rna database of fingerprint patterns/signatures\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
 <strong>snort.show_plugins</strong>(): show available plugins\r
 </p>\r
 </li>\r
@@ -38428,11 +38225,6 @@ deleted -&gt; unified2: 'vlan_event_types'</code></pre>
 </li>\r
 <li>\r
 <p>\r
-<strong>finalize_packet</strong> (inspector): handle the finalize packet event\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
 <strong>flags</strong> (ips_option): rule option to test TCP control flags\r
 </p>\r
 </li>\r
@@ -38833,6 +38625,11 @@ deleted -&gt; unified2: 'vlan_event_types'</code></pre>
 </li>\r
 <li>\r
 <p>\r
+<strong>payload_injector</strong> (basic): payload injection utility\r
+</p>\r
+</li>\r
+<li>\r
+<p>\r
 <strong>pbb</strong> (codec): support for 802.1ah protocol\r
 </p>\r
 </li>\r
@@ -38918,7 +38715,7 @@ deleted -&gt; unified2: 'vlan_event_types'</code></pre>
 </li>\r
 <li>\r
 <p>\r
-<strong>regex</strong> (ips_option): rule option for matching payload data with hyperscan regex\r
+<strong>regex</strong> (ips_option): rule option for matching payload data with hyperscan regex; uses pcre syntax\r
 </p>\r
 </li>\r
 <li>\r
@@ -38968,21 +38765,6 @@ deleted -&gt; unified2: 'vlan_event_types'</code></pre>
 </li>\r
 <li>\r
 <p>\r
-<strong>rt_global</strong> (inspector): The regression test global inspector is used for regression tests specific to a global inspector\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>rt_packet</strong> (inspector): The regression test packet inspector is used when special packet handling is required for a reg test\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>rt_service</strong> (inspector): The regression test service inspector is used by regression tests that require custom service inspector support.\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
 <strong>rule_state</strong> (basic): enable/disable and set actions for specific IPS rules; deprecated, use rule state stubs with enable instead\r
 </p>\r
 </li>\r
@@ -39593,11 +39375,6 @@ deleted -&gt; unified2: 'vlan_event_types'</code></pre>
 </li>\r
 <li>\r
 <p>\r
-<strong>inspector::finalize_packet</strong>: handle the finalize packet event\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
 <strong>inspector::ftp_client</strong>: FTP inspector client module\r
 </p>\r
 </li>\r
@@ -39683,21 +39460,6 @@ deleted -&gt; unified2: 'vlan_event_types'</code></pre>
 </li>\r
 <li>\r
 <p>\r
-<strong>inspector::rt_global</strong>: The regression test global inspector is used for regression tests specific to a global inspector\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>inspector::rt_packet</strong>: The regression test packet inspector is used when special packet handling is required for a reg test\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
-<strong>inspector::rt_service</strong>: The regression test service inspector is used by regression tests that require custom service inspector support.\r
-</p>\r
-</li>\r
-<li>\r
-<p>\r
 <strong>inspector::s7commplus</strong>: s7commplus inspection\r
 </p>\r
 </li>\r
@@ -40228,7 +39990,7 @@ deleted -&gt; unified2: 'vlan_event_types'</code></pre>
 </li>\r
 <li>\r
 <p>\r
-<strong>ips_option::regex</strong>: rule option for matching payload data with hyperscan regex\r
+<strong>ips_option::regex</strong>: rule option for matching payload data with hyperscan regex; uses pcre syntax\r
 </p>\r
 </li>\r
 <li>\r
@@ -40621,7 +40383,7 @@ Adding/removing stream_* inspectors if stream was already configured
 <div id="footer">\r
 <div id="footer-text">\r
 Last updated\r
- 2020-06-18 08:11:48 EDT\r
+ 2020-07-06 10:25:58 EDT\r
 </div>\r
 </div>\r
 </body>\r
index 47863d415d0f35fac7bae85cfa6c1f596bdedfb9..8b7eb8bcfb5b4e1c49627a864971730593fc59c7 100644 (file)
Binary files a/doc/snort_manual.pdf and b/doc/snort_manual.pdf differ
index 7d713db2a13ec3d1dcd81cc3540970f58de93465..8ca3b0cd62e07c5ad78869c4816f0bcade71365c 100644 (file)
@@ -95,16 +95,17 @@ Table of Contents
     6.19. output
     6.20. packet_tracer
     6.21. packets
-    6.22. process
-    6.23. profiler
-    6.24. rate_filter
-    6.25. references
-    6.26. rule_state
-    6.27. search_engine
-    6.28. side_channel
-    6.29. snort
-    6.30. suppress
-    6.31. trace
+    6.22. payload_injector
+    6.23. process
+    6.24. profiler
+    6.25. rate_filter
+    6.26. references
+    6.27. rule_state
+    6.28. search_engine
+    6.29. side_channel
+    6.30. snort
+    6.31. suppress
+    6.32. trace
 
 7. Codec Modules
 
@@ -160,42 +161,38 @@ Table of Contents
     9.16. dpx
     9.17. file_id
     9.18. file_log
-    9.19. finalize_packet
-    9.20. ftp_client
-    9.21. ftp_data
-    9.22. ftp_server
-    9.23. gtp_inspect
-    9.24. http2_inspect
-    9.25. http_inspect
-    9.26. imap
-    9.27. mem_test
-    9.28. modbus
-    9.29. normalizer
-    9.30. packet_capture
-    9.31. perf_monitor
-    9.32. pop
-    9.33. port_scan
-    9.34. reputation
-    9.35. rna
-    9.36. rpc_decode
-    9.37. rt_global
-    9.38. rt_packet
-    9.39. rt_service
-    9.40. s7commplus
-    9.41. sip
-    9.42. smtp
-    9.43. so_proxy
-    9.44. ssh
-    9.45. ssl
-    9.46. stream
-    9.47. stream_file
-    9.48. stream_icmp
-    9.49. stream_ip
-    9.50. stream_tcp
-    9.51. stream_udp
-    9.52. stream_user
-    9.53. telnet
-    9.54. wizard
+    9.19. ftp_client
+    9.20. ftp_data
+    9.21. ftp_server
+    9.22. gtp_inspect
+    9.23. http2_inspect
+    9.24. http_inspect
+    9.25. imap
+    9.26. mem_test
+    9.27. modbus
+    9.28. normalizer
+    9.29. packet_capture
+    9.30. perf_monitor
+    9.31. pop
+    9.32. port_scan
+    9.33. reputation
+    9.34. rna
+    9.35. rpc_decode
+    9.36. s7commplus
+    9.37. sip
+    9.38. smtp
+    9.39. so_proxy
+    9.40. ssh
+    9.41. ssl
+    9.42. stream
+    9.43. stream_file
+    9.44. stream_icmp
+    9.45. stream_ip
+    9.46. stream_tcp
+    9.47. stream_udp
+    9.48. stream_user
+    9.49. telnet
+    9.50. wizard
 
 10. IPS Action Modules
 
@@ -412,7 +409,7 @@ Table of Contents
 Snorty
 
  ,,_     -*> Snort++ <*-
-o"  )~   Version 3.0.1 (Build 5)
+o"  )~   Version 3.0.2 (Build 1)
  ''''    By Martin Roesch & The Snort Team
          http://snort.org/contact#team
          Copyright (C) 2014-2020 Cisco and/or its affiliates. All rights reserved.
@@ -1321,6 +1318,9 @@ Optional:
     their instructions for building it as a shared library.
   * iconv from https://ftp.gnu.org/pub/gnu/libiconv/ for converting
     UTF16-LE filenames to UTF8 (usually included in glibc)
+  * libunwind from https://www.nongnu.org/libunwind/ to attempt to
+    dump a somewhat readable backtrace when a fatal signal is
+    received
   * lzma >= 5.1.2 from http://tukaani.org/xz/ for decompression of
     SWF and PDF files
   * safec >= 3.5 from https://github.com/rurban/safeclib/ for runtime
@@ -5409,6 +5409,15 @@ Each tracing message has a standard format:
 
 <module_name>:<option_name>:<message_log_level>: <particular_message>
 
+The stdout logger also prints thread type and thread instance ID at
+the beginning of each trace message in a colon-separated manner.
+
+The capital letter at the beginning of the trace message indicates
+the thread type.
+
+Possible thread types: C – main (control) thread P – packet thread O
+– other thread
+
 5.17.7. Example - Debugging rules using detection trace
 
 The detection engine is responsible for rule evaluation. Turning on
@@ -6070,6 +6079,18 @@ Peg counts:
     (sum)
   * detection.file_searches: fast pattern searches in file buffer
     (sum)
+  * detection.raw_key_searches: fast pattern searches in raw key
+    buffer (sum)
+  * detection.raw_header_searches: fast pattern searches in raw
+    header buffer (sum)
+  * detection.method_searches: fast pattern searches in method buffer
+    (sum)
+  * detection.stat_code_searches: fast pattern searches in status
+    code buffer (sum)
+  * detection.stat_msg_searches: fast pattern searches in status
+    message buffer (sum)
+  * detection.cookie_searches: fast pattern searches in cookie buffer
+    (sum)
   * detection.offloads: fast pattern searches that were offloaded
     (sum)
   * detection.alerts: alerts not including IP reputation (sum)
@@ -6522,7 +6543,23 @@ Configuration:
     is used to track fragments and connections
 
 
-6.22. process
+6.22. payload_injector
+
+--------------
+
+What: payload injection utility
+
+Type: basic
+
+Usage: global
+
+Peg counts:
+
+  * payload_injector.http_injects: total number of http injections
+    (sum)
+
+
+6.23. process
 
 --------------
 
@@ -6537,8 +6574,12 @@ Configuration:
   * string process.chroot: set chroot directory (same as -t)
   * string process.threads[].cpuset: pin the associated thread to
     this cpuset
-  * int process.threads[].thread = 0: set cpu affinity for the
+  * int process.threads[].thread: set cpu affinity for the
     <cur_thread_num> thread that runs { 0:65535 }
+  * enum process.threads[].type: define which threads will have
+    specified affinity, by their type { other|packet|main }
+  * string process.threads[].name: define which threads will have
+    specified affinity, by thread name
   * bool process.daemon = false: fork as a daemon (same as -D)
   * bool process.dirty_pig = false: shutdown without internal cleanup
   * string process.set_gid: set group ID (same as -g)
@@ -6548,7 +6589,7 @@ Configuration:
     timestamps
 
 
-6.23. profiler
+6.24. profiler
 
 --------------
 
@@ -6583,7 +6624,7 @@ Configuration:
     avg_match | avg_no_match }
 
 
-6.24. rate_filter
+6.25. rate_filter
 
 --------------
 
@@ -6614,7 +6655,7 @@ Peg counts:
     memory (sum)
 
 
-6.25. references
+6.26. references
 
 --------------
 
@@ -6630,7 +6671,7 @@ Configuration:
   * string references[].url: where this reference is defined
 
 
-6.26. rule_state
+6.27. rule_state
 
 --------------
 
@@ -6651,7 +6692,7 @@ Configuration:
     no | yes | inherit }
 
 
-6.27. search_engine
+6.28. search_engine
 
 --------------
 
@@ -6718,7 +6759,7 @@ Peg counts:
   * search_engine.searched_bytes: total bytes searched (sum)
 
 
-6.28. side_channel
+6.29. side_channel
 
 --------------
 
@@ -6740,7 +6781,7 @@ Peg counts:
   * side_channel.packets: total packets (sum)
 
 
-6.29. snort
+6.30. snort
 
 --------------
 
@@ -7007,7 +7048,7 @@ Peg counts:
     failed due to attribute table full (sum)
 
 
-6.30. suppress
+6.31. suppress
 
 --------------
 
@@ -7027,7 +7068,7 @@ Configuration:
     according to track
 
 
-6.31. trace
+6.32. trace
 
 --------------
 
@@ -7811,6 +7852,8 @@ Configuration:
     on startup
   * bool appid.log_all_sessions = false: enable logging of all appid
     sessions
+  * bool appid.load_odp_detectors_in_ctrl = false: load odp detectors
+    in control thread
 
 Commands:
 
@@ -8623,43 +8666,7 @@ Peg counts:
   * file_log.total_events: total file events (sum)
 
 
-9.19. finalize_packet
-
---------------
-
-What: handle the finalize packet event
-
-Type: inspector
-
-Usage: inspect
-
-Configuration:
-
-  * int finalize_packet.start_pdu = 0: Register to receive finalize
-    packet event starting on this PDU { 0:max32 }
-  * int finalize_packet.end_pdu = 0: Deregister for finalize packet
-    events on this PDU { 0:max32 }
-  * int finalize_packet.modify.pdu = 0: Modify verdict in finalize
-    packet for this PDU { 0:max32 }
-  * enum finalize_packet.modify.verdict: output format for stats {
-    pass | block | replace | whitelist | blacklist | ignore | retry }
-  * bool finalize_packet.switch_to_wizard = false: Switch to wizard
-    on first finalize event
-  * bool finalize_packet.use_direct_inject = false: Use ioctl to do
-    payload and reset injects
-  * bool finalize_packet.defer_whitelist = false: Turn on defer
-    whitelist until we switch to wizard
-  * bool finalize_packet.force_whitelist = false: Set ignore
-    direction to both so that flow will be whitelisted
-
-Peg counts:
-
-  * finalize_packet.pdus: total PDUs seen (sum)
-  * finalize_packet.events: total events seen (sum)
-  * finalize_packet.other_messages: total other message seen (sum)
-
-
-9.20. ftp_client
+9.19. ftp_client
 
 --------------
 
@@ -8685,7 +8692,7 @@ Configuration:
     sequences on FTP control channel
 
 
-9.21. ftp_data
+9.20. ftp_data
 
 --------------
 
@@ -8700,7 +8707,7 @@ Peg counts:
   * ftp_data.packets: total packets (sum)
 
 
-9.22. ftp_server
+9.21. ftp_server
 
 --------------
 
@@ -8776,7 +8783,7 @@ Peg counts:
     sessions (max)
 
 
-9.23. gtp_inspect
+9.22. gtp_inspect
 
 --------------
 
@@ -8817,7 +8824,7 @@ Peg counts:
   * gtp_inspect.unknown_infos: unknown information elements (sum)
 
 
-9.24. http2_inspect
+9.23. http2_inspect
 
 --------------
 
@@ -8861,7 +8868,7 @@ Peg counts:
     transfers per HTTP/2 connection (max)
 
 
-9.25. http_inspect
+9.24. http_inspect
 
 --------------
 
@@ -9108,7 +9115,7 @@ Peg counts:
     cutovers to wizard (sum)
 
 
-9.26. imap
+9.25. imap
 
 --------------
 
@@ -9163,7 +9170,7 @@ Peg counts:
   * imap.non_encoded_bytes: total non-encoded extracted bytes (sum)
 
 
-9.27. mem_test
+9.26. mem_test
 
 --------------
 
@@ -9178,7 +9185,7 @@ Peg counts:
   * mem_test.packets: total packets (sum)
 
 
-9.28. modbus
+9.27. modbus
 
 --------------
 
@@ -9205,7 +9212,7 @@ Peg counts:
     sessions (max)
 
 
-9.29. normalizer
+9.28. normalizer
 
 --------------
 
@@ -9341,7 +9348,7 @@ Peg counts:
   * normalizer.tcp_block: blocked segments (sum)
 
 
-9.30. packet_capture
+9.29. packet_capture
 
 --------------
 
@@ -9369,7 +9376,7 @@ Peg counts:
     filter (sum)
 
 
-9.31. perf_monitor
+9.30. perf_monitor
 
 --------------
 
@@ -9427,7 +9434,7 @@ Peg counts:
     by new flows (sum)
 
 
-9.32. pop
+9.31. pop
 
 --------------
 
@@ -9483,7 +9490,7 @@ Peg counts:
   * pop.non_encoded_bytes: total non-encoded extracted bytes (sum)
 
 
-9.33. port_scan
+9.32. port_scan
 
 --------------
 
@@ -9653,7 +9660,7 @@ Peg counts:
     to reduced memcap (sum)
 
 
-9.34. reputation
+9.33. reputation
 
 --------------
 
@@ -9698,7 +9705,7 @@ Peg counts:
   * reputation.memory_allocated: total memory allocated (sum)
 
 
-9.35. rna
+9.34. rna
 
 --------------
 
@@ -9711,17 +9718,18 @@ Usage: context
 
 Configuration:
 
-  * string rna.rna_conf_path: path to RNA configuration
-  * string rna.rna_util_lib_path: path to library for utilities such
-    as fingerprint decoder
+  * string rna.rna_conf_path: path to rna configuration
   * string rna.fingerprint_dir: directory to fingerprint patterns
-  * string rna.custom_fingerprint_dir: directory to custom
-    fingerprint patterns
   * bool rna.enable_logger = true: enable or disable writing
     discovery events into logger
   * bool rna.log_when_idle = false: enable host update logging when
     snort is idle
 
+Commands:
+
+  * rna.reload_fingerprint(): reload rna database of fingerprint
+    patterns/signatures
+
 Peg counts:
 
   * rna.icmp_bidirectional: count of bidirectional ICMP flows
@@ -9741,7 +9749,7 @@ Peg counts:
     (sum)
 
 
-9.36. rpc_decode
+9.35. rpc_decode
 
 --------------
 
@@ -9768,82 +9776,7 @@ Peg counts:
     sessions (max)
 
 
-9.37. rt_global
-
---------------
-
-What: The regression test global inspector is used for regression
-tests specific to a global inspector
-
-Type: inspector
-
-Usage: global
-
-Configuration:
-
-  * int rt_global.downshift_packet = 0: attempt downshift at this
-    packet on flow (0 is disabled) { 0:max32 }
-  * int rt_global.downshift_mode = 3: 1 = unconditional, 2 = !ctl and
-    !tls, 3 = !ctl and !file { 1:3 }
-  * int rt_global.memcap = 2048: cap on amount of memory used (0 is
-    disabled) { 0:max53 }
-  * bool rt_global.empty_ips = false: ips policy with no rules
-  * bool rt_global.init_drop_reason = false: populate drop reason map
-
-Peg counts:
-
-  * rt_global.packets: total packets (sum)
-
-
-9.38. rt_packet
-
---------------
-
-What: The regression test packet inspector is used when special
-packet handling is required for a reg test
-
-Type: inspector
-
-Usage: context
-
-Configuration:
-
-  * bool rt_packet.retry_targeted = false: request retry for packets
-    whose data starts with A
-  * bool rt_packet.retry_all = false: request retry for all non-retry
-    packets
-
-Peg counts:
-
-  * rt_packet.packets: total packets (sum)
-  * rt_packet.retry_requests: total retry packets requested (sum)
-  * rt_packet.retry_packets: total retried packets received (sum)
-
-
-9.39. rt_service
-
---------------
-
-What: The regression test service inspector is used by regression
-tests that require custom service inspector support.
-
-Type: inspector
-
-Usage: context
-
-Peg counts:
-
-  * rt_service.packets: total packets (sum)
-  * rt_service.flush_requests: total splitter flush requests (sum)
-  * rt_service.hold_requests: total splitter hold requests (sum)
-  * rt_service.search_requests: total splitter search requests (sum)
-  * rt_service.send_data_requests: total send data via daq inject
-    requests (sum)
-  * rt_service.send_data_direct_requests: total send data via direct
-    inject requests (sum)
-
-
-9.40. s7commplus
+9.36. s7commplus
 
 --------------
 
@@ -9870,7 +9803,7 @@ Peg counts:
     sessions (max)
 
 
-9.41. sip
+9.37. sip
 
 --------------
 
@@ -9969,7 +9902,7 @@ Peg counts:
   * sip.code_9xx: 9xx (sum)
 
 
-9.42. smtp
+9.38. smtp
 
 --------------
 
@@ -10072,7 +10005,7 @@ Peg counts:
   * smtp.non_encoded_bytes: total non-encoded extracted bytes (sum)
 
 
-9.43. so_proxy
+9.39. so_proxy
 
 --------------
 
@@ -10084,7 +10017,7 @@ Type: inspector
 Usage: global
 
 
-9.44. ssh
+9.40. ssh
 
 --------------
 
@@ -10122,7 +10055,7 @@ Peg counts:
     (max)
 
 
-9.45. ssl
+9.41. ssl
 
 --------------
 
@@ -10171,7 +10104,7 @@ Peg counts:
     (max)
 
 
-9.46. stream
+9.42. stream
 
 --------------
 
@@ -10258,7 +10191,7 @@ Peg counts:
     deleted by config reloads (sum)
 
 
-9.47. stream_file
+9.43. stream_file
 
 --------------
 
@@ -10273,7 +10206,7 @@ Configuration:
   * bool stream_file.upload = false: indicate file transfer direction
 
 
-9.48. stream_icmp
+9.44. stream_icmp
 
 --------------
 
@@ -10298,7 +10231,7 @@ Peg counts:
   * stream_icmp.prunes: icmp session prunes (sum)
 
 
-9.49. stream_ip
+9.45. stream_ip
 
 --------------
 
@@ -10368,7 +10301,7 @@ Peg counts:
   * stream_ip.fragmented_bytes: total fragmented bytes (sum)
 
 
-9.50. stream_tcp
+9.46. stream_tcp
 
 --------------
 
@@ -10520,7 +10453,7 @@ Peg counts:
     service stream splitter (sum)
 
 
-9.51. stream_udp
+9.47. stream_udp
 
 --------------
 
@@ -10547,7 +10480,7 @@ Peg counts:
   * stream_udp.ignored: udp packets ignored (sum)
 
 
-9.52. stream_user
+9.48. stream_user
 
 --------------
 
@@ -10563,7 +10496,7 @@ Configuration:
     1:max31 }
 
 
-9.53. telnet
+9.49. telnet
 
 --------------
 
@@ -10597,7 +10530,7 @@ Peg counts:
     sessions (max)
 
 
-9.54. wizard
+9.50. wizard
 
 --------------
 
@@ -12256,7 +12189,8 @@ Configuration:
 
 --------------
 
-What: rule option for matching payload data with hyperscan regex
+What: rule option for matching payload data with hyperscan regex;
+uses pcre syntax
 
 Type: ips_option
 
@@ -15058,6 +14992,8 @@ are present. There is no need to explicitly enable.
     the hyperscan search engine.
   * iconv: for converting UTF16-LE filenames to UTF8 (usually
     included in glibc)
+  * libunwind: for printing a backtrace when a fatal signal is
+    received.
   * lzma: for decompression of SWF and PDF files.
   * safec: for additional runtime error checking of some memory copy
     operations.
@@ -15377,6 +15313,8 @@ these libraries see the Getting Started section of the manual.
     appid stats before rolling over the log file { 0:max32 }
   * bool appid.list_odp_detectors = false: enable logging of odp
     detectors statistics
+  * bool appid.load_odp_detectors_in_ctrl = false: load odp detectors
+    in control thread
   * bool appid.log_all_sessions = false: enable logging of all appid
     sessions
   * bool appid.log_stats = false: enable logging of appid statistics
@@ -15786,22 +15724,6 @@ these libraries see the Getting Started section of the manual.
   * bool file_log.log_sys_time = false: log the system time when
     event generated
   * string file_type.~: list of file type IDs to match
-  * bool finalize_packet.defer_whitelist = false: Turn on defer
-    whitelist until we switch to wizard
-  * int finalize_packet.end_pdu = 0: Deregister for finalize packet
-    events on this PDU { 0:max32 }
-  * bool finalize_packet.force_whitelist = false: Set ignore
-    direction to both so that flow will be whitelisted
-  * int finalize_packet.modify.pdu = 0: Modify verdict in finalize
-    packet for this PDU { 0:max32 }
-  * enum finalize_packet.modify.verdict: output format for stats {
-    pass | block | replace | whitelist | blacklist | ignore | retry }
-  * int finalize_packet.start_pdu = 0: Register to receive finalize
-    packet event starting on this PDU { 0:max32 }
-  * bool finalize_packet.switch_to_wizard = false: Switch to wizard
-    on first finalize event
-  * bool finalize_packet.use_direct_inject = false: Use ioctl to do
-    payload and reset injects
   * string flags.~mask_flags: these flags are don’t cares
   * string flags.~test_flags: these flags are tested
   * string flowbits.~bits: bit [|bit]* or bit [&bit]*
@@ -16443,8 +16365,12 @@ these libraries see the Getting Started section of the manual.
   * string process.set_uid: set user ID (same as -u)
   * string process.threads[].cpuset: pin the associated thread to
     this cpuset
-  * int process.threads[].thread = 0: set cpu affinity for the
+  * string process.threads[].name: define which threads will have
+    specified affinity, by thread name
+  * int process.threads[].thread: set cpu affinity for the
     <cur_thread_num> thread that runs { 0:65535 }
+  * enum process.threads[].type: define which threads will have
+    specified affinity, by their type { other|packet|main }
   * int process.umask: set process umask (same as -m) { 0x000:0x1FF }
   * bool process.utc = false: use UTC instead of local time for
     timestamps
@@ -16518,31 +16444,15 @@ these libraries see the Getting Started section of the manual.
   * int rev.~: revision { 1:max32 }
   * bool rewrite.disable_replace = false: disable replace of packet
     contents with rewrite rules
-  * string rna.custom_fingerprint_dir: directory to custom
-    fingerprint patterns
   * bool rna.enable_logger = true: enable or disable writing
     discovery events into logger
   * string rna.fingerprint_dir: directory to fingerprint patterns
   * bool rna.log_when_idle = false: enable host update logging when
     snort is idle
-  * string rna.rna_conf_path: path to RNA configuration
-  * string rna.rna_util_lib_path: path to library for utilities such
-    as fingerprint decoder
+  * string rna.rna_conf_path: path to rna configuration
   * int rpc.~app: application number { 0:max32 }
   * string rpc.~proc: procedure number or * for any
   * string rpc.~ver: version number or * for any
-  * int rt_global.downshift_mode = 3: 1 = unconditional, 2 = !ctl and
-    !tls, 3 = !ctl and !file { 1:3 }
-  * int rt_global.downshift_packet = 0: attempt downshift at this
-    packet on flow (0 is disabled) { 0:max32 }
-  * bool rt_global.empty_ips = false: ips policy with no rules
-  * bool rt_global.init_drop_reason = false: populate drop reason map
-  * int rt_global.memcap = 2048: cap on amount of memory used (0 is
-    disabled) { 0:max53 }
-  * bool rt_packet.retry_all = false: request retry for all non-retry
-    packets
-  * bool rt_packet.retry_targeted = false: request retry for packets
-    whose data starts with A
   * enum rule_state.$gid_sid[].action = alert: apply action if rule
     matches or inherit from rule definition { log | pass | alert |
     drop | block | reset }
@@ -17399,6 +17309,8 @@ these libraries see the Getting Started section of the manual.
     available context (sum)
   * detection.cooked_searches: fast pattern searches in cooked packet
     data (sum)
+  * detection.cookie_searches: fast pattern searches in cookie buffer
+    (sum)
   * detection.event_limit: events filtered (sum)
   * detection.file_searches: fast pattern searches in file buffer
     (sum)
@@ -17409,6 +17321,8 @@ these libraries see the Getting Started section of the manual.
   * detection.logged: logged packets (sum)
   * detection.log_limit: events queued but not logged (sum)
   * detection.match_limit: fast pattern matches not processed (sum)
+  * detection.method_searches: fast pattern searches in method buffer
+    (sum)
   * detection.offload_busy: times offload was not available (sum)
   * detection.offload_failures: fast pattern offload search failures
     (sum)
@@ -17430,8 +17344,16 @@ these libraries see the Getting Started section of the manual.
   * detection.pkt_searches: fast pattern searches in packet data
     (sum)
   * detection.queue_limit: events not queued because queue full (sum)
+  * detection.raw_header_searches: fast pattern searches in raw
+    header buffer (sum)
+  * detection.raw_key_searches: fast pattern searches in raw key
+    buffer (sum)
   * detection.raw_searches: fast pattern searches in raw packet data
     (sum)
+  * detection.stat_code_searches: fast pattern searches in status
+    code buffer (sum)
+  * detection.stat_msg_searches: fast pattern searches in status
+    message buffer (sum)
   * detection.total_alerts: alerts including IP reputation (sum)
   * dnp3.concurrent_sessions: total concurrent dnp3 sessions (now)
   * dnp3.dnp3_application_pdus: total dnp3 application pdus (sum)
@@ -17464,9 +17386,6 @@ these libraries see the Getting Started section of the manual.
     (sum)
   * file_id.total_files: number of files processed (sum)
   * file_log.total_events: total file events (sum)
-  * finalize_packet.events: total events seen (sum)
-  * finalize_packet.other_messages: total other message seen (sum)
-  * finalize_packet.pdus: total PDUs seen (sum)
   * ftp_data.packets: total packets (sum)
   * ftp_server.concurrent_sessions: total concurrent FTP sessions
     (now)
@@ -17691,6 +17610,8 @@ these libraries see the Getting Started section of the manual.
   * packet_capture.captured: packets matching dumped after matching
     filter (sum)
   * packet_capture.processed: packets processed against filter (sum)
+  * payload_injector.http_injects: total number of http injections
+    (sum)
   * pcre.pcre_native: total pcre rules compiled by pcre engine (sum)
   * pcre.pcre_negated: total pcre rules using negation syntax (sum)
   * pcre.pcre_rules: total rules processed with pcre option (sum)
@@ -17755,18 +17676,6 @@ these libraries see the Getting Started section of the manual.
   * rpc_decode.max_concurrent_sessions: maximum concurrent rpc
     sessions (max)
   * rpc_decode.total_packets: total packets (sum)
-  * rt_global.packets: total packets (sum)
-  * rt_packet.packets: total packets (sum)
-  * rt_packet.retry_packets: total retried packets received (sum)
-  * rt_packet.retry_requests: total retry packets requested (sum)
-  * rt_service.flush_requests: total splitter flush requests (sum)
-  * rt_service.hold_requests: total splitter hold requests (sum)
-  * rt_service.packets: total packets (sum)
-  * rt_service.search_requests: total splitter search requests (sum)
-  * rt_service.send_data_direct_requests: total send data via direct
-    inject requests (sum)
-  * rt_service.send_data_requests: total send data via daq inject
-    requests (sum)
   * s7commplus.concurrent_sessions: total concurrent s7commplus
     sessions (now)
   * s7commplus.frames: total S7commplus messages (sum)
@@ -18775,6 +18684,8 @@ these libraries see the Getting Started section of the manual.
     host pairs
   * perf_monitor.show_flow_ip_profiling(): show status of statistics
     on host pairs
+  * rna.reload_fingerprint(): reload rna database of fingerprint
+    patterns/signatures
   * snort.show_plugins(): show available plugins
   * snort.delete_inspector(inspector): delete an inspector from the
     default policy
@@ -19290,7 +19201,6 @@ deleted -> unified2: 'vlan_event_types'
   * file_id (inspector): configure file identification
   * file_log (inspector): log file event to file.log
   * file_type (ips_option): rule option to check file type
-  * finalize_packet (inspector): handle the finalize packet event
   * flags (ips_option): rule option to test TCP control flags
   * flow (ips_option): rule option to check session properties
   * flowbits (ips_option): rule option to set and test arbitrary
@@ -19405,6 +19315,7 @@ deleted -> unified2: 'vlan_event_types'
   * packet_capture (inspector): raw packet dumping facility
   * packet_tracer (basic): generate debug trace messages for packets
   * packets (basic): configure basic packet handling
+  * payload_injector (basic): payload injection utility
   * pbb (codec): support for 802.1ah protocol
   * pcre (ips_option): rule option for matching payload data with
     pcre
@@ -19430,7 +19341,7 @@ deleted -> unified2: 'vlan_event_types'
     identification system
   * references (basic): define reference systems used in rules
   * regex (ips_option): rule option for matching payload data with
-    hyperscan regex
+    hyperscan regex; uses pcre syntax
   * reject (ips_action): terminate session with TCP reset or ICMP
     unreachable
   * rem (ips_option): rule option to convey an arbitrary comment in
@@ -19445,13 +19356,6 @@ deleted -> unified2: 'vlan_event_types'
     fingerprinting (experimental)
   * rpc (ips_option): rule option to check SUNRPC CALL parameters
   * rpc_decode (inspector): RPC inspector
-  * rt_global (inspector): The regression test global inspector is
-    used for regression tests specific to a global inspector
-  * rt_packet (inspector): The regression test packet inspector is
-    used when special packet handling is required for a reg test
-  * rt_service (inspector): The regression test service inspector is
-    used by regression tests that require custom service inspector
-    support.
   * rule_state (basic): enable/disable and set actions for specific
     IPS rules; deprecated, use rule state stubs with enable instead
   * s7commplus (inspector): s7commplus inspection
@@ -19606,7 +19510,6 @@ deleted -> unified2: 'vlan_event_types'
   * inspector::dpx: dynamic inspector example
   * inspector::file_id: configure file identification
   * inspector::file_log: log file event to file.log
-  * inspector::finalize_packet: handle the finalize packet event
   * inspector::ftp_client: FTP inspector client module
   * inspector::ftp_data: FTP data channel handler
   * inspector::ftp_server: FTP inspector server module
@@ -19627,13 +19530,6 @@ deleted -> unified2: 'vlan_event_types'
   * inspector::rna: Real-time network awareness and OS fingerprinting
     (experimental)
   * inspector::rpc_decode: RPC inspector
-  * inspector::rt_global: The regression test global inspector is
-    used for regression tests specific to a global inspector
-  * inspector::rt_packet: The regression test packet inspector is
-    used when special packet handling is required for a reg test
-  * inspector::rt_service: The regression test service inspector is
-    used by regression tests that require custom service inspector
-    support.
   * inspector::s7commplus: s7commplus inspection
   * inspector::sip: sip inspection
   * inspector::smtp: smtp inspection
@@ -19799,7 +19695,7 @@ deleted -> unified2: 'vlan_event_types'
   * ips_option::reference: rule option to indicate relevant attack
     identification system
   * ips_option::regex: rule option for matching payload data with
-    hyperscan regex
+    hyperscan regex; uses pcre syntax
   * ips_option::rem: rule option to convey an arbitrary comment in
     the rule body
   * ips_option::replace: rule option to overwrite payload data; use
index bc92893684c85e38678fd80d68cc36d5379927fd..46eb7321115333ccd7bf745af374aad4258ee8a2 100644 (file)
@@ -12,7 +12,7 @@
 //                                               //
 //-----------------------------------------------//
 
-#define BUILD_NUMBER 0
+#define BUILD_NUMBER 1
 
 #ifndef EXTRABUILD
 #define BUILD STRINGIFY_MX(BUILD_NUMBER)