summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/man/firehose.163
-rw-r--r--docs/manual/mod/allmodules.xml.de1
-rw-r--r--docs/manual/mod/allmodules.xml.es1
-rw-r--r--docs/manual/mod/allmodules.xml.fr1
-rw-r--r--docs/manual/mod/allmodules.xml.ja1
-rw-r--r--docs/manual/mod/allmodules.xml.ko1
-rw-r--r--docs/manual/mod/allmodules.xml.tr1
-rw-r--r--docs/manual/mod/allmodules.xml.zh-cn1
-rw-r--r--docs/manual/mod/directives.html.en6
-rw-r--r--docs/manual/mod/index.html.en1
-rw-r--r--docs/manual/mod/mod_firehose.html5
-rw-r--r--docs/manual/mod/mod_firehose.html.en282
-rw-r--r--docs/manual/mod/mod_firehose.xml.meta12
-rw-r--r--docs/manual/mod/quickreference.html.en6
-rw-r--r--docs/manual/new_features_2_4.html.en6
-rw-r--r--docs/manual/programs/firehose.html5
-rw-r--r--docs/manual/programs/firehose.html.en77
-rw-r--r--docs/manual/programs/firehose.xml75
-rw-r--r--docs/manual/programs/firehose.xml.meta12
-rw-r--r--docs/manual/programs/index.html.en4
-rw-r--r--docs/manual/sitemap.html.en1
21 files changed, 560 insertions, 2 deletions
diff --git a/docs/man/firehose.1 b/docs/man/firehose.1
new file mode 100644
index 0000000000..fffac9ae3c
--- /dev/null
+++ b/docs/man/firehose.1
@@ -0,0 +1,63 @@
+.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+.\" DO NOT EDIT! Generated from XML source.
+.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "FIREHOSE" 1 "2011-12-17" "Apache HTTP Server" "firehose"
+
+.SH NAME
+firehose \- Demultiplex a firehose stream
+
+.SH "SYNOPSIS"
+
+.PP
+\fBfirehose\fR [ -\fBf\fR \fIinput\fR ] [ -\fBo\fR \fIoutput-directory\fR ] [ -\fBu\fR \fIuuid\fR ] [ -\fBh\fR ] [ --\fBversion\fR ] [\fIprefix1\fR [\&.\&.\&.]]
+
+
+.SH "SUMMARY"
+
+.PP
+firehose demultiplexes the given stream of multiplexed connections, and writes each connection to an individual file\&.
+
+.PP
+When writing to files, each connection is placed into a dedicated file named after the UUID of the connection within the stream\&. Separate files will be created if requests and responses are found in the stream\&.
+
+.PP
+If an optional prefix is specified as a parameter, connections that start with the given prefix will be included\&. The prefix needs to fit completely within the first fragment for a successful match to occur\&.
+
+
+.SH "OPTIONS"
+
+
+.TP
+--file, -f \fIfilename\fR
+File to read the firehose from\&. Defaults to stdin\&.
+.TP
+--output-directory, -o \fIoutput-directory\fR
+Directory to write demultiplexed connections to\&.
+.TP
+--uuid, -u \fIuuid\fR
+The UUID of the connection to demultiplex\&. Can be specified more than once\&. If not specified, all UUIDs will be demultiplexed\&.
+.TP
+--help, -h
+This help text\&.
+.TP
+--version
+Display the version of the program\&.
+
diff --git a/docs/manual/mod/allmodules.xml.de b/docs/manual/mod/allmodules.xml.de
index bd204e8247..57aca67d9e 100644
--- a/docs/manual/mod/allmodules.xml.de
+++ b/docs/manual/mod/allmodules.xml.de
@@ -49,6 +49,7 @@
<modulefile>mod_ext_filter.xml</modulefile>
<modulefile>mod_file_cache.xml</modulefile>
<modulefile>mod_filter.xml</modulefile>
+ <modulefile>mod_firehose.xml</modulefile>
<modulefile>mod_headers.xml</modulefile>
<modulefile>mod_heartbeat.xml</modulefile>
<modulefile>mod_heartmonitor.xml</modulefile>
diff --git a/docs/manual/mod/allmodules.xml.es b/docs/manual/mod/allmodules.xml.es
index ff7038cb65..ee0cebbc9f 100644
--- a/docs/manual/mod/allmodules.xml.es
+++ b/docs/manual/mod/allmodules.xml.es
@@ -49,6 +49,7 @@
<modulefile>mod_ext_filter.xml</modulefile>
<modulefile>mod_file_cache.xml</modulefile>
<modulefile>mod_filter.xml</modulefile>
+ <modulefile>mod_firehose.xml</modulefile>
<modulefile>mod_headers.xml</modulefile>
<modulefile>mod_heartbeat.xml</modulefile>
<modulefile>mod_heartmonitor.xml</modulefile>
diff --git a/docs/manual/mod/allmodules.xml.fr b/docs/manual/mod/allmodules.xml.fr
index 1732a41583..4d4a82b87e 100644
--- a/docs/manual/mod/allmodules.xml.fr
+++ b/docs/manual/mod/allmodules.xml.fr
@@ -49,6 +49,7 @@
<modulefile>mod_ext_filter.xml</modulefile>
<modulefile>mod_file_cache.xml</modulefile>
<modulefile>mod_filter.xml</modulefile>
+ <modulefile>mod_firehose.xml</modulefile>
<modulefile>mod_headers.xml.fr</modulefile>
<modulefile>mod_heartbeat.xml</modulefile>
<modulefile>mod_heartmonitor.xml</modulefile>
diff --git a/docs/manual/mod/allmodules.xml.ja b/docs/manual/mod/allmodules.xml.ja
index ff21f6691f..61409458a2 100644
--- a/docs/manual/mod/allmodules.xml.ja
+++ b/docs/manual/mod/allmodules.xml.ja
@@ -49,6 +49,7 @@
<modulefile>mod_ext_filter.xml.ja</modulefile>
<modulefile>mod_file_cache.xml</modulefile>
<modulefile>mod_filter.xml</modulefile>
+ <modulefile>mod_firehose.xml</modulefile>
<modulefile>mod_headers.xml.ja</modulefile>
<modulefile>mod_heartbeat.xml</modulefile>
<modulefile>mod_heartmonitor.xml</modulefile>
diff --git a/docs/manual/mod/allmodules.xml.ko b/docs/manual/mod/allmodules.xml.ko
index 714c673617..7d67de05ca 100644
--- a/docs/manual/mod/allmodules.xml.ko
+++ b/docs/manual/mod/allmodules.xml.ko
@@ -49,6 +49,7 @@
<modulefile>mod_ext_filter.xml.ko</modulefile>
<modulefile>mod_file_cache.xml.ko</modulefile>
<modulefile>mod_filter.xml</modulefile>
+ <modulefile>mod_firehose.xml</modulefile>
<modulefile>mod_headers.xml.ko</modulefile>
<modulefile>mod_heartbeat.xml</modulefile>
<modulefile>mod_heartmonitor.xml</modulefile>
diff --git a/docs/manual/mod/allmodules.xml.tr b/docs/manual/mod/allmodules.xml.tr
index 941fcc54ba..54ce00e750 100644
--- a/docs/manual/mod/allmodules.xml.tr
+++ b/docs/manual/mod/allmodules.xml.tr
@@ -49,6 +49,7 @@
<modulefile>mod_ext_filter.xml</modulefile>
<modulefile>mod_file_cache.xml</modulefile>
<modulefile>mod_filter.xml</modulefile>
+ <modulefile>mod_firehose.xml</modulefile>
<modulefile>mod_headers.xml</modulefile>
<modulefile>mod_heartbeat.xml</modulefile>
<modulefile>mod_heartmonitor.xml</modulefile>
diff --git a/docs/manual/mod/allmodules.xml.zh-cn b/docs/manual/mod/allmodules.xml.zh-cn
index 2e0706ca80..a26ed7b80e 100644
--- a/docs/manual/mod/allmodules.xml.zh-cn
+++ b/docs/manual/mod/allmodules.xml.zh-cn
@@ -49,6 +49,7 @@
<modulefile>mod_ext_filter.xml</modulefile>
<modulefile>mod_file_cache.xml</modulefile>
<modulefile>mod_filter.xml</modulefile>
+ <modulefile>mod_firehose.xml</modulefile>
<modulefile>mod_headers.xml</modulefile>
<modulefile>mod_heartbeat.xml</modulefile>
<modulefile>mod_heartmonitor.xml</modulefile>
diff --git a/docs/manual/mod/directives.html.en b/docs/manual/mod/directives.html.en
index d1554a84d2..cc11a45de6 100644
--- a/docs/manual/mod/directives.html.en
+++ b/docs/manual/mod/directives.html.en
@@ -253,6 +253,12 @@
<li><a href="mod_filter.html#filterprotocol">FilterProtocol</a></li>
<li><a href="mod_filter.html#filterprovider">FilterProvider</a></li>
<li><a href="mod_filter.html#filtertrace">FilterTrace</a></li>
+<li><a href="mod_firehose.html#firehoseconnectioninput">FirehoseConnectionInput</a></li>
+<li><a href="mod_firehose.html#firehoseconnectionoutput">FirehoseConnectionOutput</a></li>
+<li><a href="mod_firehose.html#firehoseproxyconnectioninput">FirehoseProxyConnectionInput</a></li>
+<li><a href="mod_firehose.html#firehoseproxyconnectionoutput">FirehoseProxyConnectionOutput</a></li>
+<li><a href="mod_firehose.html#firehoserequestinput">FirehoseRequestInput</a></li>
+<li><a href="mod_firehose.html#firehoserequestoutput">FirehoseRequestOutput</a></li>
<li><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority</a></li>
<li><a href="core.html#forcetype">ForceType</a></li>
<li><a href="mod_log_forensic.html#forensiclog">ForensicLog</a></li>
diff --git a/docs/manual/mod/index.html.en b/docs/manual/mod/index.html.en
index 8212423890..16fc237cad 100644
--- a/docs/manual/mod/index.html.en
+++ b/docs/manual/mod/index.html.en
@@ -132,6 +132,7 @@ criteria</dd>
delivery to the client</dd>
<dt><a href="mod_file_cache.html" id="F" name="F">mod_file_cache</a></dt><dd>Caches a static list of files in memory</dd>
<dt><a href="mod_filter.html">mod_filter</a></dt><dd>Context-sensitive smart filter configuration module</dd>
+<dt><a href="mod_firehose.html">mod_firehose</a></dt><dd>Multiplexes all I/O to a given file or pipe.</dd>
<dt><a href="mod_headers.html" id="H" name="H">mod_headers</a></dt><dd>Customization of HTTP request and response
headers</dd>
<dt><a href="mod_heartbeat.html">mod_heartbeat</a></dt><dd />
diff --git a/docs/manual/mod/mod_firehose.html b/docs/manual/mod/mod_firehose.html
new file mode 100644
index 0000000000..0b78953976
--- /dev/null
+++ b/docs/manual/mod/mod_firehose.html
@@ -0,0 +1,5 @@
+# GENERATED FROM XML -- DO NOT EDIT
+
+URI: mod_firehose.html.en
+Content-Language: en
+Content-type: text/html; charset=ISO-8859-1
diff --git a/docs/manual/mod/mod_firehose.html.en b/docs/manual/mod/mod_firehose.html.en
new file mode 100644
index 0000000000..370cbd8cec
--- /dev/null
+++ b/docs/manual/mod/mod_firehose.html.en
@@ -0,0 +1,282 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>mod_firehose - Apache HTTP Server</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
+<p class="apache">Apache HTTP Server Version 2.5</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Apache Module mod_firehose</h1>
+<div class="toplang">
+<p><span>Available Languages: </span><a href="../en/mod/mod_firehose.html" title="English">&nbsp;en&nbsp;</a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Multiplexes all I/O to a given file or pipe.</td></tr>
+<tr><th><a href="module-dict.html#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="module-dict.html#ModuleIdentifier">Module Identifier:</a></th><td>firehose_module</td></tr>
+<tr><th><a href="module-dict.html#SourceFile">Source File:</a></th><td>mod_firehose.c</td></tr></table>
+<h3>Summary</h3>
+
+ <p><code>mod_firehose</code> provides a mechanism to record data
+ being passed between the httpd server and the client at the raw
+ connection level to either a file or a pipe in such a way that the
+ data can be analysed or played back to the server at a future date.
+ It can be thought of as "tcpdump for httpd".</p>
+
+ <p>Connections are recorded after the SSL has been stripped, and can
+ be used for forensic debugging.</p>
+
+ <p>The <code class="program"><a href="../programs/firehose.html">firehose</a></code> tool can be used to demultiplex
+ the recorded stream back into individual files for analysis, or
+ playback using a tool like <code>netcat</code>.</p>
+
+ <div class="note"><h3>WARNING</h3>This module IGNORES all request level
+ mechanisms to keep data private. It is the responsibility of the
+ administrator to ensure that private data is not inadvertently
+ exposed using this module.
+ </div>
+
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#firehoseconnectioninput">FirehoseConnectionInput</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#firehoseconnectionoutput">FirehoseConnectionOutput</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#firehoseproxyconnectioninput">FirehoseProxyConnectionInput</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#firehoseproxyconnectionoutput">FirehoseProxyConnectionOutput</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#firehoserequestinput">FirehoseRequestInput</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#firehoserequestoutput">FirehoseRequestOutput</a></li>
+</ul>
+<h3>Topics</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#enable">Enabling a Firehose</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#format">Stream Format</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="enable" id="enable">Enabling a Firehose</a></h2>
+
+
+ <p>To enable the module, it should be compiled and loaded
+ in to your running Apache configuration, and the directives below
+ used to record the data you are interested in.</p>
+
+ <p>It is possible to record both incoming and outgoing data to
+ the same filename if desired, as the direction of flow is recorded
+ within each fragment.</p>
+
+ <p>It is possible to write to both normal files and fifos (pipes).
+ In the case of fifos, mod_firehose ensures that the packet size is
+ no larger than PIPE_BUF to ensure writes are atomic.</p>
+
+ <p>If a pipe is being used, something must be reading from the pipe
+ before httpd is started for the pipe to be successfully opened for
+ write. If the request to open the pipe fails, mod_firehose will
+ silently stand down and not record anything, and the server will
+ keep running as normal.</p>
+
+ <p>All file writes are non blocking, and buffer overflows will cause
+ debugging data to be lost. The module makes the call that the
+ reliable running of the server takes precedence over the recording
+ of firehose data.</p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="format" id="format">Stream Format</a></h2>
+
+
+ <p>The server typically serves multiple connections simultaneously,
+ and as a result requests and responses need to be multiplexed before
+ being written to the firehose.</p>
+
+ <p>The fragment format is designed as clear text, so that a firehose
+ can be opened with and inspected by a normal text editor.
+ Alternatively, the <code class="program"><a href="../programs/firehose.html">firehose</a></code> tool can be used to
+ demultiplex the firehose back into individual requests or
+ connections.</p>
+
+ <p>The size of the multiplexed fragments is governed by PIPE_BUF,
+ the maximum size of write the system is prepared to perform
+ atomically. By keeping the multiplexed fragments below PIPE_BUF in
+ size, the module guarantees that data from different fragments does
+ not interleave. The size of PIPE_BUF varies on different operating
+ systems.</p>
+
+ <p>The BNF for the fragment format is as follows:</p>
+
+ <pre>
+ stream = 0*(fragment)
+
+ fragment = header CRLF body CRLF
+
+ header = length SPC timestamp SPC ( request | response ) SPC uuid SPC count
+
+ length = &lt;up to 16 byte hex fragment length&gt;
+ timestamp = &lt;up to 16 byte hex timestamp microseconds since 1970&gt;
+ request = "&lt;"
+ response = "&gt;"
+ uuid = &lt;formatted uuid of the connection&gt;
+ count = &lt;hex fragment number in the connection&gt;
+
+ body = &lt;the binary content of the fragment&gt;
+
+ SPC = &lt;a single space&gt;
+ CRLF = &lt;a carriage return, followed by a line feed&gt;
+ </pre>
+
+ <p>All fragments for a connection or a request will share the same
+ UUID, depending on whether connections or requests are being recorded.
+ If connections are being recorded, multiple requests may appear within
+ a connection. A fragment with a zero length indicates the end of the
+ connection.</p>
+
+ <p>Fragments may go missing or be dropped if the process reading the
+ fragments is too slow. If this happens, gaps will exist in the
+ connection counter numbering. A warning will be logged in the error
+ log to indicate the UUID and counter of the dropped fragment, so it
+ can be confirmed the fragment was dropped.</p>
+
+ <p>It is possible that the terminating empty fragment may not appear,
+ caused by the httpd process crashing, or being terminated ungracefully.
+ The terminating fragment may be dropped if the process reading the
+ fragments is not fast enough.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="FirehoseConnectionInput" id="FirehoseConnectionInput">FirehoseConnectionInput</a> <a name="firehoseconnectioninput" id="firehoseconnectioninput">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture traffic coming into the server on each connection</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FirehoseConnectionInput <var>filename</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_firehose</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>FirehoseConnectionInput is only available in Apache 2.5.0 and
+later.</td></tr>
+</table>
+ <p>Capture traffic coming into the server on each connection. Multiple
+ requests will be captured within the same connection if keepalive is
+ present.</p>
+
+ <div class="example"><h3>Example</h3><p><code>
+ FirehoseConnectionInput connection-input.firehose
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="FirehoseConnectionOutput" id="FirehoseConnectionOutput">FirehoseConnectionOutput</a> <a name="firehoseconnectionoutput" id="firehoseconnectionoutput">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture traffic going out of the server on each connection</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FirehoseConnectionOutput <var>filename</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_firehose</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>FirehoseConnectionOutput is only available in Apache 2.5.0 and
+later.</td></tr>
+</table>
+ <p>Capture traffic going out of the server on each connection.
+ Multiple requests will be captured within the same connection if
+ keepalive is present.</p>
+
+ <div class="example"><h3>Example</h3><p><code>
+ FirehoseConnectionOutput connection-output.firehose
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="FirehoseProxyConnectionInput" id="FirehoseProxyConnectionInput">FirehoseProxyConnectionInput</a> <a name="firehoseproxyconnectioninput" id="firehoseproxyconnectioninput">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture traffic coming into the back of mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FirehoseProxyConnectionInput <var>filename</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_firehose</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>FirehoseProxyConnectionInput is only available in Apache 2.5.0 and
+later.</td></tr>
+</table>
+ <p>Capture traffic being received by mod_proxy.</p>
+
+ <div class="example"><h3>Example</h3><p><code>
+ FirehoseProxyConnectionInput proxy-input.firehose
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="FirehoseProxyConnectionOutput" id="FirehoseProxyConnectionOutput">FirehoseProxyConnectionOutput</a> <a name="firehoseproxyconnectionoutput" id="firehoseproxyconnectionoutput">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture traffic sent out from the back of mod_proxy</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FirehoseProxyConnectionOutput <var>filename</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_firehose</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>FirehoseProxyConnectionOutput is only available in Apache 2.5.0 and
+later.</td></tr>
+</table>
+ <p>Capture traffic being sent out by mod_proxy.</p>
+
+ <div class="example"><h3>Example</h3><p><code>
+ FirehoseProxyConnectionOutput proxy-output.firehose
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="FirehoseRequestInput" id="FirehoseRequestInput">FirehoseRequestInput</a> <a name="firehoserequestinput" id="firehoserequestinput">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture traffic coming into the server on each request</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FirehoseRequestInput <var>filename</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_firehose</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>FirehoseRequestInput is only available in Apache 2.5.0 and
+later.</td></tr>
+</table>
+ <p>Capture traffic coming into the server on each request. Requests
+ will be captured separately, regardless of the presence of keepalive.</p>
+
+ <div class="example"><h3>Example</h3><p><code>
+ FirehoseRequestInput request-input.firehose
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="FirehoseRequestOutput" id="FirehoseRequestOutput">FirehoseRequestOutput</a> <a name="firehoserequestoutput" id="firehoserequestoutput">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Capture traffic going out of the server on each request</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>FirehoseRequestOutput <var>filename</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>none</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_firehose</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>FirehoseRequestOutput is only available in Apache 2.5.0 and
+later.</td></tr>
+</table>
+ <p>Capture traffic going out of the server on each request. Requests
+ will be captured separately, regardless of the presence of keepalive.</p>
+
+ <div class="example"><h3>Example</h3><p><code>
+ FirehoseRequestOutput request-output.firehose
+ </code></p></div>
+
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Available Languages: </span><a href="../en/mod/mod_firehose.html" title="English">&nbsp;en&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/mod/mod_firehose.xml.meta b/docs/manual/mod/mod_firehose.xml.meta
new file mode 100644
index 0000000000..af0e693035
--- /dev/null
+++ b/docs/manual/mod/mod_firehose.xml.meta
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!-- GENERATED FROM XML: DO NOT EDIT -->
+
+<metafile reference="mod_firehose.xml">
+ <basename>mod_firehose</basename>
+ <path>/mod/</path>
+ <relpath>..</relpath>
+
+ <variants>
+ <variant>en</variant>
+ </variants>
+</metafile>
diff --git a/docs/manual/mod/quickreference.html.en b/docs/manual/mod/quickreference.html.en
index e03639c6b4..6544020344 100644
--- a/docs/manual/mod/quickreference.html.en
+++ b/docs/manual/mod/quickreference.html.en
@@ -419,6 +419,12 @@ filenames</td></tr>
<var>expression</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Register a content filter</td></tr>
<tr class="odd"><td><a href="mod_filter.html#filtertrace">FilterTrace <var>filter-name</var> <var>level</var></a></td><td></td><td>svd</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Get debug/diagnostic information from
<code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code></td></tr>
+<tr><td><a href="mod_firehose.html#firehoseconnectioninput">FirehoseConnectionInput <var>filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Capture traffic coming into the server on each connection</td></tr>
+<tr class="odd"><td><a href="mod_firehose.html#firehoseconnectionoutput">FirehoseConnectionOutput <var>filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Capture traffic going out of the server on each connection</td></tr>
+<tr><td><a href="mod_firehose.html#firehoseproxyconnectioninput">FirehoseProxyConnectionInput <var>filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Capture traffic coming into the back of mod_proxy</td></tr>
+<tr class="odd"><td><a href="mod_firehose.html#firehoseproxyconnectionoutput">FirehoseProxyConnectionOutput <var>filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Capture traffic sent out from the back of mod_proxy</td></tr>
+<tr><td><a href="mod_firehose.html#firehoserequestinput">FirehoseRequestInput <var>filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr><td class="descr" colspan="4">Capture traffic coming into the server on each request</td></tr>
+<tr class="odd"><td><a href="mod_firehose.html#firehoserequestoutput">FirehoseRequestOutput <var>filename</var></a></td><td></td><td>s</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Capture traffic going out of the server on each request</td></tr>
<tr><td><a href="mod_negotiation.html#forcelanguagepriority">ForceLanguagePriority None|Prefer|Fallback [Prefer|Fallback]</a></td><td> Prefer </td><td>svdh</td><td>B</td></tr><tr><td class="descr" colspan="4">Action to take if a single acceptable document is not
found</td></tr>
<tr class="odd"><td><a href="core.html#forcetype">ForceType <var>media-type</var>|None</a></td><td></td><td>dh</td><td>C</td></tr><tr class="odd"><td class="descr" colspan="4">Forces all matching files to be served with the specified
diff --git a/docs/manual/new_features_2_4.html.en b/docs/manual/new_features_2_4.html.en
index f42c7c80eb..2449721fc1 100644
--- a/docs/manual/new_features_2_4.html.en
+++ b/docs/manual/new_features_2_4.html.en
@@ -19,7 +19,8 @@
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Overview of new features in Apache HTTP Server 2.4</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="./en/new_features_2_4.html" title="English">&nbsp;en&nbsp;</a> |
-<a href="./fr/new_features_2_4.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
+<a href="./fr/new_features_2_4.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="./tr/new_features_2_4.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>
<p>This document describes some of the major changes between the
@@ -319,7 +320,8 @@
</div></div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="./en/new_features_2_4.html" title="English">&nbsp;en&nbsp;</a> |
-<a href="./fr/new_features_2_4.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a></p>
+<a href="./fr/new_features_2_4.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
+<a href="./tr/new_features_2_4.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>
diff --git a/docs/manual/programs/firehose.html b/docs/manual/programs/firehose.html
new file mode 100644
index 0000000000..be4e77d886
--- /dev/null
+++ b/docs/manual/programs/firehose.html
@@ -0,0 +1,5 @@
+# GENERATED FROM XML -- DO NOT EDIT
+
+URI: firehose.html.en
+Content-Language: en
+Content-type: text/html; charset=ISO-8859-1
diff --git a/docs/manual/programs/firehose.html.en b/docs/manual/programs/firehose.html.en
new file mode 100644
index 0000000000..475b7685ac
--- /dev/null
+++ b/docs/manual/programs/firehose.html.en
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>firehose - Demultiplex a firehose stream - Apache HTTP Server</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p>
+<p class="apache">Apache HTTP Server Version 2.5</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Programs</a></div><div id="page-content"><div id="preamble"><h1>firehose - Demultiplex a firehose stream</h1>
+<div class="toplang">
+<p><span>Available Languages: </span><a href="../en/programs/firehose.html" title="English">&nbsp;en&nbsp;</a></p>
+</div>
+
+ <p><code>firehose</code> demultiplexes the given stream of multiplexed
+ connections, and writes each connection to an individual file.</p>
+
+ <p>When writing to files, each connection is placed into a dedicated file
+ named after the UUID of the connection within the stream. Separate files
+ will be created if requests and responses are found in the stream.</p>
+
+ <p>If an optional prefix is specified as a parameter, connections that
+ start with the given prefix will be included. The prefix needs to fit
+ completely within the first fragment for a successful match to occur.</p>
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#synopsis">Synopsis</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
+</ul><h3>See also</h3><ul class="seealso"><li><code class="module"><a href="../mod/mod_firehose.html">mod_firehose</a></code></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="synopsis" id="synopsis">Synopsis</a></h2>
+ <p><code><strong>firehose</strong>
+ [ -<strong>f</strong> <var>input</var> ]
+ [ -<strong>o</strong> <var>output-directory</var> ]
+ [ -<strong>u</strong> <var>uuid</var> ]
+ [ -<strong>h</strong> ]
+ [ --<strong>version</strong> ]
+ [<var>prefix1</var> [...]]</code></p>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="options" id="options">Options</a></h2>
+ <dl>
+ <dt><code>--file, -f <var>filename</var></code></dt>
+ <dd>File to read the firehose from. Defaults to stdin.</dd>
+
+ <dt><code>--output-directory, -o </code> <var>output-directory</var></dt>
+ <dd>Directory to write demultiplexed connections to.</dd>
+
+ <dt><code>--uuid, -u</code> <var>uuid</var></dt>
+ <dd>The UUID of the connection to demultiplex. Can be specified more
+ than once. If not specified, all UUIDs will be demultiplexed.</dd>
+
+ <dt><code>--help, -h</code></dt>
+ <dd>This help text.</dd>
+
+ <dt><code>--version</code></dt>
+ <dd>Display the version of the program.</dd>
+ </dl>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Available Languages: </span><a href="../en/programs/firehose.html" title="English">&nbsp;en&nbsp;</a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div>
+</body></html> \ No newline at end of file
diff --git a/docs/manual/programs/firehose.xml b/docs/manual/programs/firehose.xml
new file mode 100644
index 0000000000..27cbf22a1e
--- /dev/null
+++ b/docs/manual/programs/firehose.xml
@@ -0,0 +1,75 @@
+<?xml version='1.0' encoding='UTF-8' ?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
+<!-- $LastChangedRevision: 1174747 $ -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="firehose.xml.meta">
+<parentdocument href="./">Programs</parentdocument>
+
+<title>firehose - Demultiplex a firehose stream</title>
+
+<summary>
+ <p><code>firehose</code> demultiplexes the given stream of multiplexed
+ connections, and writes each connection to an individual file.</p>
+
+ <p>When writing to files, each connection is placed into a dedicated file
+ named after the UUID of the connection within the stream. Separate files
+ will be created if requests and responses are found in the stream.</p>
+
+ <p>If an optional prefix is specified as a parameter, connections that
+ start with the given prefix will be included. The prefix needs to fit
+ completely within the first fragment for a successful match to occur.</p>
+
+</summary>
+<seealso><module>mod_firehose</module></seealso>
+
+<section id="synopsis"><title>Synopsis</title>
+ <p><code><strong>firehose</strong>
+ [ -<strong>f</strong> <var>input</var> ]
+ [ -<strong>o</strong> <var>output-directory</var> ]
+ [ -<strong>u</strong> <var>uuid</var> ]
+ [ -<strong>h</strong> ]
+ [ --<strong>version</strong> ]
+ [<var>prefix1</var> [...]]</code></p>
+
+</section>
+
+<section id="options"><title>Options</title>
+ <dl>
+ <dt><code>--file, -f <var>filename</var></code></dt>
+ <dd>File to read the firehose from. Defaults to stdin.</dd>
+
+ <dt><code>--output-directory, -o </code> <var>output-directory</var></dt>
+ <dd>Directory to write demultiplexed connections to.</dd>
+
+ <dt><code>--uuid, -u</code> <var>uuid</var></dt>
+ <dd>The UUID of the connection to demultiplex. Can be specified more
+ than once. If not specified, all UUIDs will be demultiplexed.</dd>
+
+ <dt><code>--help, -h</code></dt>
+ <dd>This help text.</dd>
+
+ <dt><code>--version</code></dt>
+ <dd>Display the version of the program.</dd>
+ </dl>
+
+</section>
+
+</manualpage>
diff --git a/docs/manual/programs/firehose.xml.meta b/docs/manual/programs/firehose.xml.meta
new file mode 100644
index 0000000000..7567aca9f4
--- /dev/null
+++ b/docs/manual/programs/firehose.xml.meta
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!-- GENERATED FROM XML: DO NOT EDIT -->
+
+<metafile reference="firehose.xml">
+ <basename>firehose</basename>
+ <path>/programs/</path>
+ <relpath>..</relpath>
+
+ <variants>
+ <variant>en</variant>
+ </variants>
+</metafile>
diff --git a/docs/manual/programs/index.html.en b/docs/manual/programs/index.html.en
index 21cbce353b..041e4e5658 100644
--- a/docs/manual/programs/index.html.en
+++ b/docs/manual/programs/index.html.en
@@ -62,6 +62,10 @@
<dd>Start a FastCGI program</dd>
+ <dt><code class="program"><a href="../programs/firehose.html">firehose</a></code></dt>
+
+ <dd>Demultiplex a firehose from <code class="module"><a href="../mod/mod_firehose.html">mod_firehose</a></code></dd>
+
<dt><code class="program"><a href="../programs/htcacheclean.html">htcacheclean</a></code></dt>
<dd>Clean up the disk cache</dd>
diff --git a/docs/manual/sitemap.html.en b/docs/manual/sitemap.html.en
index c652d00c1f..78dc40fb71 100644
--- a/docs/manual/sitemap.html.en
+++ b/docs/manual/sitemap.html.en
@@ -216,6 +216,7 @@ Server on HPUX</a></li>
<li><a href="mod/mod_ext_filter.html">Apache Module mod_ext_filter</a></li>
<li><a href="mod/mod_file_cache.html">Apache Module mod_file_cache</a></li>
<li><a href="mod/mod_filter.html">Apache Module mod_filter</a></li>
+<li><a href="mod/mod_firehose.html">Apache Module mod_firehose</a></li>
<li><a href="mod/mod_headers.html">Apache Module mod_headers</a></li>
<li><a href="mod/mod_heartbeat.html">Apache Module mod_heartbeat</a></li>
<li><a href="mod/mod_heartmonitor.html">Apache Module mod_heartmonitor</a></li>