This is an automated email from the ASF dual-hosted git repository.

zwoop pushed a commit to branch 7.1.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/7.1.x by this push:
     new e3019fa  Doc: Fix 7.1.x documentation building for Sphinx 1.7.0.
e3019fa is described below

commit e3019facdd65d06670955b22ccf8ea99c140798f
Author: Alan M. Carroll <a...@apache.org>
AuthorDate: Thu Feb 22 13:42:27 2018 -0600

    Doc: Fix 7.1.x documentation building for Sphinx 1.7.0.
---
 doc/Makefile.am                                    |   4 +-
 doc/admin-guide/configuration/cache-basics.en.rst  |  13 +-
 .../monitoring/statistics/core/general.en.rst      |   2 +-
 doc/admin-guide/storage/index.en.rst               |   3 +-
 doc/appendices/faq.en.rst                          |  12 -
 .../api/functions/TSHttpHdrHostGet.en.rst          |   2 +-
 .../api/functions/TSHttpTxnIntercept.en.rst        |   2 +-
 .../api/functions/TSHttpTxnServerIntercept.en.rst  |   2 +-
 .../api/functions/TSSslServerContextCreate.en.rst  |  10 +-
 doc/developer-guide/api/functions/TSTypes.en.rst   |  11 -
 .../api/functions/TSUrlStringGet.en.rst            |  10 +
 doc/developer-guide/api/types/TSHttpHookID.en.rst  |  66 +--
 doc/developer-guide/api/types/TSHttpStatus.en.rst  |  11 +-
 .../api/types/TSOverridableConfigKey.en.rst        | 220 ++++-----
 .../architecture/architecture.en.rst               |  47 +-
 .../architecture/data-structures.en.rst            |  31 +-
 doc/developer-guide/documentation/building.en.rst  |  57 ++-
 doc/developer-guide/documentation/plugins.en.rst   |   3 +
 .../plugins/http-headers/mime-headers.en.rst       | 491 ++++++++++++---------
 .../plugins/http-headers/urls.en.rst               |  91 ++--
 doc/developer-guide/plugins/io/io-buffers.en.rst   |   4 +-
 doc/ext/traffic-server.py                          |  77 +++-
 doc/getting-started/index.en.rst                   |   3 +-
 23 files changed, 681 insertions(+), 491 deletions(-)

diff --git a/doc/Makefile.am b/doc/Makefile.am
index d3c8e5a..45cba8b 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -48,8 +48,8 @@ PAPER         = letter
 BUILDDIR      = docbuild
 
 # Internal variables.
-PAPEROPT_a4     = -D latex_paper_size=a4
-PAPEROPT_letter = -D latex_paper_size=letter
+PAPEROPT_a4     = -t latex_a4
+PAPEROPT_letter = -t latex_letter
 ALLSPHINXOPTS   = $(SPHINXOPTS)
 # the i18n builder cannot share the environment and doctrees with the others
 I18NSPHINXOPTS  = $(SPHINXOPTS)
diff --git a/doc/admin-guide/configuration/cache-basics.en.rst 
b/doc/admin-guide/configuration/cache-basics.en.rst
index 7351d1e..2adec92 100644
--- a/doc/admin-guide/configuration/cache-basics.en.rst
+++ b/doc/admin-guide/configuration/cache-basics.en.rst
@@ -708,13 +708,13 @@ any buffers associated with :ref:`transform plugins 
<developer-plugins-http-tran
 Transaction buffering control can be enabled globally by using configuration
 variables or by :c:func:`TSHttpTxnConfigIntSet` in a plugin.
 
-================= ================================================== 
================================================
+================= ================================================== 
=======================================================
 Value             Variable                                           
:c:func:`TSHttpTxnConfigIntSet` key
-================= ================================================== 
================================================
-Enable buffering  :ts:cv:`proxy.config.http.flow_control.enabled`    
:c:data:`TS_CONFIG_HTTP_FLOW_CONTROL_ENABLED`
-Set high water    :ts:cv:`proxy.config.http.flow_control.high_water` 
:c:data:`TS_CONFIG_HTTP_FLOW_CONTROL_HIGH_WATER`
-Set low water     :ts:cv:`proxy.config.http.flow_control.low_water`  
:c:data:`TS_CONFIG_HTTP_FLOW_CONTROL_LOW_WATER`
-================= ================================================== 
================================================
+================= ================================================== 
=======================================================
+Enable buffering  :ts:cv:`proxy.config.http.flow_control.enabled`    
:c:macro:`TS_CONFIG_HTTP_FLOW_CONTROL_ENABLED`
+Set high water    :ts:cv:`proxy.config.http.flow_control.high_water` 
:c:macro:`TS_CONFIG_HTTP_FLOW_CONTROL_HIGH_WATER_MARK`
+Set low water     :ts:cv:`proxy.config.http.flow_control.low_water`  
:c:macro:`TS_CONFIG_HTTP_FLOW_CONTROL_LOW_WATER_MARK`
+================= ================================================== 
=======================================================
 
 Be careful to always have the low water mark equal or less than the high water
 mark. If you set only one, the other will be set to the same value.
@@ -848,4 +848,3 @@ In addition to the open read retry settings TS supports a 
new setting
 reduce multiple concurrent requests hitting the origin for the same object by
 either returning a stale copy, in case of hit-stale or an error in case of 
cache
 miss for all but one of the requests.
-
diff --git a/doc/admin-guide/monitoring/statistics/core/general.en.rst 
b/doc/admin-guide/monitoring/statistics/core/general.en.rst
index 50468ae..df77cd0 100644
--- a/doc/admin-guide/monitoring/statistics/core/general.en.rst
+++ b/doc/admin-guide/monitoring/statistics/core/general.en.rst
@@ -118,7 +118,7 @@ General
    |TS|.
 
 .. ts:stat:: global proxy.process.traffic_server.memory.rss integer
-   :units: bytes
+   :unit: bytes
 
    The resident set size (RSS) of the ``traffic_server`` process. This is
    basically the amount of memory this process is consuming.
diff --git a/doc/admin-guide/storage/index.en.rst 
b/doc/admin-guide/storage/index.en.rst
index 4bdbded..eeef00c 100644
--- a/doc/admin-guide/storage/index.en.rst
+++ b/doc/admin-guide/storage/index.en.rst
@@ -185,8 +185,7 @@ Partitioning the Cache
 You can manage your cache space more efficiently and restrict disk usage
 by creating :term:`cache volumes <cache volume>` with different sizes for
 specific protocols. You can further configure these volumes to store data from
-specific :term:`origin servers <origin server>` and/or domains. The volume
-configuration must be the same on all nodes in a :ref:`cluster 
<traffic-server-cluster>`.
+specific :term:`origin servers <origin server>` and/or domains.
 
 Creating Cache Partitions for Specific Protocols
 ------------------------------------------------
diff --git a/doc/appendices/faq.en.rst b/doc/appendices/faq.en.rst
index b58ea55..3d80e88 100644
--- a/doc/appendices/faq.en.rst
+++ b/doc/appendices/faq.en.rst
@@ -482,18 +482,6 @@ is explicitly restarted with: ::
 
    trafficserver start
 
-Warning in the system log file when manually editing vaddrs.config
-------------------------------------------------------------------
-
-If you manually edit :file:`vaddrs.config` as a non-root user, then
-Traffic Server issues a warning message in the system log file similar
-to the following::
-
-   WARNING: interface is ignored: Operation not permitted
-
-You can safely ignore this message as Traffic Server will still apply your
-configuration edits.
-
 Traffic Server is running but no log files are created
 ------------------------------------------------------
 
diff --git a/doc/developer-guide/api/functions/TSHttpHdrHostGet.en.rst 
b/doc/developer-guide/api/functions/TSHttpHdrHostGet.en.rst
index 0e70c37..710834f 100644
--- a/doc/developer-guide/api/functions/TSHttpHdrHostGet.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpHdrHostGet.en.rst
@@ -39,5 +39,5 @@ header field.
 
 .. note::
 
-   This is much faster than calling :c:func:`TSHttpEffectiveUrlStringGet` and
+   This is much faster than calling :c:func:`TSHttpTxnEffectiveUrlStringGet` 
and
    extracting the host from the result.
diff --git a/doc/developer-guide/api/functions/TSHttpTxnIntercept.en.rst 
b/doc/developer-guide/api/functions/TSHttpTxnIntercept.en.rst
index 5825dd7..1ff0ce3 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnIntercept.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnIntercept.en.rst
@@ -35,7 +35,7 @@ Description
 ===========
 
 :arg:`contp` will be sent :data:`TS_EVENT_NET_ACCEPT`. The edata passed
-with :data:`TS_NET_EVENT_ACCEPT` is an :c:type:`TSVConn` just as it
+with :data:`TS_EVENT_NET_ACCEPT` is an :c:type:`TSVConn` just as it
 would be for a normal accept. The plugin must act as if it is an HTTP
 server and read the HTTP request and body off the :c:type:`TSVConn`
 and send an HTTP response header and body.
diff --git a/doc/developer-guide/api/functions/TSHttpTxnServerIntercept.en.rst 
b/doc/developer-guide/api/functions/TSHttpTxnServerIntercept.en.rst
index 63f907c..40fe72f 100644
--- a/doc/developer-guide/api/functions/TSHttpTxnServerIntercept.en.rst
+++ b/doc/developer-guide/api/functions/TSHttpTxnServerIntercept.en.rst
@@ -38,7 +38,7 @@ Description
 servicing of the request as though it was the origin server. In the
 event a request needs to be made to the server for transaction
 :arg:`txnp`, :arg:`contp` will be sent a :data:`TS_EVENT_NET_ACCEPT`
-event. The :arg:`edata` passed with :data:`TS_NET_EVENT_ACCEPT` is
+event. The :arg:`edata` passed with :data:`TS_EVENT_NET_ACCEPT` is
 an :type:`TSVConn` just as it would be for a normal accept. The
 plugin must act as if it is an HTTP server and read the HTTP request
 and body from the :type:`TSVConn` and send an HTTP response header
diff --git a/doc/developer-guide/api/functions/TSSslServerContextCreate.en.rst 
b/doc/developer-guide/api/functions/TSSslServerContextCreate.en.rst
index 3019d28..c58889a 100644
--- a/doc/developer-guide/api/functions/TSSslServerContextCreate.en.rst
+++ b/doc/developer-guide/api/functions/TSSslServerContextCreate.en.rst
@@ -26,7 +26,7 @@ Traffic Server TLS server context creation.
 Synopsis
 ========
 
-`#include <ts/ts.h>`
+:code:`#include <ts/ts.h>`
 
 .. function:: TSSslContext TSSslServerContextCreate(void)
 .. function:: void TSSslContextDestroy(TSSslContext ctx)
@@ -37,10 +37,10 @@ Description
 :func:`TSSslServerContextCreate` creates a new TLS server context.
 The context is configured using the TLS settings specified in
 :file:`records.config`. :func:`TSSslServerContextCreate` returns
-``NULL`` on failure.
+``nullptr`` on failure.
 
-:func:`TSSslServerContextDestroy` destroys a TLS context created
-by :func:`TSSslServerContextCreate`. If :arg:`ctx` is ``NULL``, no
+:func:`TSSslContextDestroy` destroys a TLS context created
+by :func:`TSSslServerContextCreate`. If :arg:`ctx` is ``nullptr``, no
 operation is performed.
 
 Type
@@ -49,7 +49,7 @@ Type
 .. type:: TSSslContext
 
 The SSL context object. This is an opaque type that can be cast to
-the underlying SSL library type (SSL_CTX * for the OpenSSL library).
+the underlying SSL library type (:code:`SSL_CTX *` for the OpenSSL library).
 
 See also
 ========
diff --git a/doc/developer-guide/api/functions/TSTypes.en.rst 
b/doc/developer-guide/api/functions/TSTypes.en.rst
index ba92545..307934c 100644
--- a/doc/developer-guide/api/functions/TSTypes.en.rst
+++ b/doc/developer-guide/api/functions/TSTypes.en.rst
@@ -66,16 +66,6 @@ more widely. Those are described on this page.
 
    An opaque type that represents a Traffic SeUuirver :term:`session`.
 
-.. type:: TSHttpStatus
-
-   This set of enums represents possible return values from
-   :func:`TSHttpHdrStatusGet`, which retrieves the status code from an
-   HTTP response header (:func:`TSHttpHdrStatusGet` retrieves status
-   codes only from headers of type :data:`TS_HTTP_TYPE_RESPONSE`).
-
-   You can also set the :type:`TSHttpStatus` of a response header using
-   :func:`TSHttpHdrStatusSet`.
-
 .. type:: TSHttpTxn
 
    An opaque type that represents a Traffic Server HTTP :term:`transaction`.
@@ -177,4 +167,3 @@ more widely. Those are described on this page.
 .. type:: TSAcceptor
 
 .. type:: TSNextProtocolSet
-
diff --git a/doc/developer-guide/api/functions/TSUrlStringGet.en.rst 
b/doc/developer-guide/api/functions/TSUrlStringGet.en.rst
index dc77e4e..a472e40 100644
--- a/doc/developer-guide/api/functions/TSUrlStringGet.en.rst
+++ b/doc/developer-guide/api/functions/TSUrlStringGet.en.rst
@@ -30,6 +30,7 @@ Synopsis
 `#include <ts/ts.h>`
 
 .. function:: char * TSUrlStringGet(TSMBuffer bufp, TSMLoc offset, int * 
length)
+.. function:: char * TSHttpTxnEffectiveUrlStringGet(TSHttpTxn txn, int * 
length)
 .. function:: int TSUrlLengthGet(TSMBuffer bufp, TSMLoc offset)
 .. function:: void TSUrlPrint(TSMBuffer bufp, TSMLoc offset, TSIOBuffer iobufp)
 
@@ -50,6 +51,15 @@ returns. The returned string is allocated by a call to 
:func:`TSmalloc` and
 must be freed by a call to :func:`TSfree`. If length is :literal:`NULL` then no
 attempt is made to de-reference it.
 
+:func:`TSHttpTxnEffectiveUrlStringGet` is similar to :func:`TSUrlStringGet`. 
The two differences are
+
+*  The source is transaction :arg:`txn` in order to have access to the full 
request.
+*  It combines, if needed, both the explicit url and the ``Host`` field. This 
is
+   done if the explicit URL does not have a host and the ``Host`` field does.
+
+This function is useful to guarantee a URL that is as complete as possible 
given
+the specific request.
+
 :func:`TSUrlLengthGet` calculates the length of the URL located at
 :arg:`offset` within the marshal buffer bufp as if it were returned as a
 string. This length will be the same as the length returned by
diff --git a/doc/developer-guide/api/types/TSHttpHookID.en.rst 
b/doc/developer-guide/api/types/TSHttpHookID.en.rst
index 0520931..5d5a835 100644
--- a/doc/developer-guide/api/types/TSHttpHookID.en.rst
+++ b/doc/developer-guide/api/types/TSHttpHookID.en.rst
@@ -16,6 +16,8 @@
 
 .. include:: ../../../common.defs
 
+.. default-domain:: c
+
 TSHttpHookID
 ************
 
@@ -32,56 +34,68 @@ up :ref:`developer-plugins-continuations` callbacks.
 Enumeration Members
 ===================
 
-.. c:member:: TSHttpHookID TS_HTTP_READ_REQUEST_HDR_HOOK
+.. c:macro:: TSHttpHookID TS_HTTP_READ_REQUEST_HDR_HOOK
 
-.. c:member:: TSHttpHookID TS_HTTP_OS_DNS_HOOK
+.. c:macro:: TSHttpHookID TS_HTTP_OS_DNS_HOOK
 
-.. c:member:: TSHttpHookID TS_HTTP_SEND_REQUEST_HDR_HOOK
+.. c:macro:: TSHttpHookID TS_HTTP_SEND_REQUEST_HDR_HOOK
 
-.. c:member:: TSHttpHookID TS_HTTP_READ_CACHE_HDR_HOOK
+.. c:macro:: TSHttpHookID TS_HTTP_READ_CACHE_HDR_HOOK
 
-.. c:member:: TSHttpHookID TS_HTTP_READ_RESPONSE_HDR_HOOK
+.. c:macro:: TSHttpHookID TS_HTTP_READ_RESPONSE_HDR_HOOK
 
-.. c:member:: TSHttpHookID TS_HTTP_SEND_RESPONSE_HDR_HOOK
+.. c:macro:: TSHttpHookID TS_HTTP_SEND_RESPONSE_HDR_HOOK
 
-.. c:member:: TSHttpHookID TS_HTTP_REQUEST_TRANSFORM_HOOK
+.. c:macro:: TSHttpHookID TS_HTTP_REQUEST_TRANSFORM_HOOK
 
-.. c:member:: TSHttpHookID TS_HTTP_RESPONSE_TRANSFORM_HOOK
+.. c:macro:: TSHttpHookID TS_HTTP_RESPONSE_TRANSFORM_HOOK
 
-.. c:member:: TSHttpHookID TS_HTTP_SELECT_ALT_HOOK
+.. c:macro:: TSHttpHookID TS_HTTP_SELECT_ALT_HOOK
 
-.. c:member:: TSHttpHookID TS_HTTP_TXN_START_HOOK
+.. c:macro:: TSHttpHookID TS_HTTP_TXN_START_HOOK
 
-.. c:member:: TSHttpHookID TS_HTTP_TXN_CLOSE_HOOK
+.. c:macro:: TSHttpHookID TS_HTTP_TXN_CLOSE_HOOK
 
-.. c:member:: TSHttpHookID TS_HTTP_SSN_START_HOOK
+.. c:macro:: TSHttpHookID TS_HTTP_SSN_START_HOOK
 
-.. c:member:: TSHttpHookID TS_HTTP_SSN_CLOSE_HOOK
+.. c:macro:: TSHttpHookID TS_HTTP_SSN_CLOSE_HOOK
 
-.. c:member:: TSHttpHookID TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK
+.. c:macro:: TSHttpHookID TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK
 
-.. c:member:: TSHttpHookID TS_HTTP_PRE_REMAP_HOOK
+.. c:macro:: TSHttpHookID TS_HTTP_PRE_REMAP_HOOK
 
-.. c:member:: TSHttpHookID TS_HTTP_POST_REMAP_HOOK
+.. c:macro:: TSHttpHookID TS_HTTP_POST_REMAP_HOOK
 
-.. c:member:: TSHttpHookID TS_HTTP_RESPONSE_CLIENT_HOOK
+.. c:macro:: TSHttpHookID TS_HTTP_RESPONSE_CLIENT_HOOK
 
-.. c:member:: TSHttpHookID TS_SSL_FIRST_HOOK
+.. c:macro:: TSHttpHookID TS_SSL_FIRST_HOOK
 
-.. c:member:: TSHttpHookID TS_VCONN_PRE_ACCEPT_HOOK
+.. c:macro:: TSHttpHookID TS_VCONN_PRE_ACCEPT_HOOK
 
-.. c:member:: TSHttpHookID TS_SSL_SNI_HOOK
+.. c:macro:: TSHttpHookID TS_SSL_SNI_HOOK
 
-.. c:member:: TSHttpHookID TS_SSL_CERT_HOOK
+.. c:macro:: TSHttpHookID TS_SSL_CERT_HOOK
 
-.. c:member:: TSHttpHookID TS_SSL_SERVERNAME_HOOK
+.. c:macro:: TSHttpHookID TS_SSL_SERVERNAME_HOOK
 
-.. c:member:: TSHttpHookID TS_SSL_LAST_HOOK
+.. c:macro:: TSHttpHookID TS_SSL_LAST_HOOK
 
-.. c:member:: TSHttpHookID TS_HTTP_LAST_HOOK
+.. c:macro:: TSHttpHookID TS_HTTP_LAST_HOOK
 
 Description
 ===========
 
-Note that :member:`TS_SSL_CERT_HOOK` and :member:`TS_SSL_SNI_HOOK` hook the 
same openssl callbacks.  
-In openssl 1.0.2 and beyond :member:`TS_SSL_SERVERNAME_HOOK` is involved only 
for the openssl servername callback.  :member:`TS_SSL_SNI_HOOK` and 
:member:`TS_SSL_CERT_HOOK` are called for the openssl certificate callback.
+Note that :macro:`TS_SSL_CERT_HOOK` and :macro:`TS_SSL_SNI_HOOK` correspond to 
the same openssl
+callbacks. This is done for backwards compatibility. :macro:`TS_SSL_SNI_HOOK` 
is expected
+to be deprecated and removed, plugins using this should change to 
:macro:`TS_SSL_CERT_HOOK` or
+:macro:`TS_SSL_SERVERNAME_HOOK` as appropriate.
+
+.. warning:: openssl 1.0.2 and later versions
+
+   :macro:`TS_SSL_SERVERNAME_HOOK` is invoked for the openssl servername 
callback.
+   :macro:`TS_SSL_SNI_HOOK` and :macro:`TS_SSL_CERT_HOOK` are invoked for the 
openssl certificate
+   callback which is not guaranteed to be invoked for a TLS transaction.
+   
+   This is a behavior change dependent on the version of openssl. To avoid 
problems use
+   :macro:`TS_SSL_SERVERNAME_HOOK` to get called back for all TLS transaction 
and
+   :macro:`TS_SSL_CERT_HOOK` to get called back only to select a certificate.
diff --git a/doc/developer-guide/api/types/TSHttpStatus.en.rst 
b/doc/developer-guide/api/types/TSHttpStatus.en.rst
index 78d2453..5f635ce 100644
--- a/doc/developer-guide/api/types/TSHttpStatus.en.rst
+++ b/doc/developer-guide/api/types/TSHttpStatus.en.rst
@@ -15,6 +15,7 @@
    permissions and limitations under the License.
 
 .. include:: ../../../common.defs
+.. default-domain:: c
 
 TSHttpStatus
 ************
@@ -29,12 +30,10 @@ Synopsis
 This set of enums represents the possible HTTP types that can be
 assigned to an HTTP header.
 
-When a header is created with :func:`TSHttpHdrCreate`, it is
-automatically assigned a type of :data:`TS_HTTP_TYPE_UNKNOWN`.  You
-can modify the HTTP type ONCE after it the header is created, using
-:func:`TSHttpHdrTypeSet`.  After setting the HTTP type once, you
-cannot set it again.  Use :func:`TSHttpHdrTypeGet` to obtain the
-:type:`TSHttpType` of an HTTP header.
+When a header is created with :func:`TSHttpHdrCreate`, it is automatically 
assigned a type of
+:data:`TS_HTTP_TYPE_UNKNOWN`. You can modify the HTTP type ONCE after it the 
header is created,
+using :func:`TSHttpHdrTypeSet`. After setting the HTTP type once, you cannot 
set it again. Use
+:func:`TSHttpHdrTypeGet` to obtain the :c:type:`TSHttpType` of an HTTP header.
 
 Enumeration Members
 ===================
diff --git a/doc/developer-guide/api/types/TSOverridableConfigKey.en.rst 
b/doc/developer-guide/api/types/TSOverridableConfigKey.en.rst
index d089cb8..10c9cd7 100644
--- a/doc/developer-guide/api/types/TSOverridableConfigKey.en.rst
+++ b/doc/developer-guide/api/types/TSOverridableConfigKey.en.rst
@@ -31,108 +31,122 @@ Enum typedef.
 Enumeration Members
 ===================
 
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_BODY_FACTORY_TEMPLATE_BASE
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_ANONYMIZE_INSERT_CLIENT_IP
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_ANONYMIZE_REMOVE_CLIENT_IP
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_ANONYMIZE_REMOVE_COOKIE
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_ANONYMIZE_REMOVE_FROM
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_ANONYMIZE_REMOVE_REFERER
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_ANONYMIZE_REMOVE_USER_AGENT
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_ATTACH_SERVER_SESSION_TO_CLIENT
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_AUTH_SERVER_SESSION_PRIVATE
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_BACKGROUND_FILL_ACTIVE_TIMEOUT
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_BACKGROUND_FILL_COMPLETED_THRESHOLD
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_CACHE_CACHE_RESPONSES_TO_COOKIES
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_CACHE_CACHE_URLS_THAT_LOOK_DYNAMIC
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_CACHE_CLUSTER_CACHE_LOCAL
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_CACHE_FUZZ_MIN_TIME
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_CACHE_FUZZ_PROBABILITY
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_CACHE_FUZZ_TIME
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_CACHE_GENERATION
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_CACHE_GUARANTEED_MAX_LIFETIME
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_CACHE_GUARANTEED_MIN_LIFETIME
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_CACHE_HEURISTIC_LM_FACTOR
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_CACHE_HEURISTIC_MAX_LIFETIME
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_CACHE_HEURISTIC_MIN_LIFETIME
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_CACHE_HTTP
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_CACHE_IGNORE_AUTHENTICATION
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_CACHE_IGNORE_CLIENT_CC_MAX_AGE
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_CACHE_IGNORE_CLIENT_NO_CACHE
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_CACHE_IGNORE_SERVER_NO_CACHE
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_CACHE_IMS_ON_CLIENT_NO_CACHE
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_CACHE_MAX_OPEN_READ_RETRIES
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_CACHE_MAX_OPEN_WRITE_RETRIES
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_CACHE_MAX_STALE_AGE
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_CACHE_OPEN_READ_RETRY_TIME
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_CACHE_OPEN_WRITE_FAIL_ACTION
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_CACHE_RANGE_LOOKUP
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_CACHE_RANGE_WRITE
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_CACHE_REQUIRED_HEADERS
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_CACHE_WHEN_TO_REVALIDATE
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_CHUNKING_ENABLED
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_CHUNKING_SIZE
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_CONNECT_ATTEMPTS_MAX_RETRIES
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_CONNECT_ATTEMPTS_MAX_RETRIES_DEAD_SERVER
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_CONNECT_ATTEMPTS_RR_RETRIES
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_CONNECT_ATTEMPTS_TIMEOUT
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_DEFAULT_BUFFER_SIZE
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_DEFAULT_BUFFER_WATER_MARK
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_DOC_IN_CACHE_SKIP_DNS
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_DOWN_SERVER_ABORT_THRESHOLD
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_DOWN_SERVER_CACHE_TIME
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_ENABLE_REDIRECTION
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_FLOW_CONTROL_ENABLED
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_FLOW_CONTROL_HIGH_WATER_MARK
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_FLOW_CONTROL_LOW_WATER_MARK
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_FORWARD_CONNECT_METHOD
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_FORWARD_PROXY_AUTH_TO_PARENT
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_GLOBAL_USER_AGENT_HEADER
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_INSERT_AGE_IN_RESPONSE
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_INSERT_REQUEST_VIA_STR
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_INSERT_RESPONSE_VIA_STR
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_INSERT_SQUID_X_FORWARDED_FOR
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_KEEP_ALIVE_ENABLED_IN
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_KEEP_ALIVE_ENABLED_OUT
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_KEEP_ALIVE_NO_ACTIVITY_TIMEOUT_IN
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_KEEP_ALIVE_NO_ACTIVITY_TIMEOUT_OUT
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_KEEP_ALIVE_POST_OUT
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_NEGATIVE_CACHING_ENABLED
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_NEGATIVE_CACHING_LIFETIME
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_ENABLED
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_LIFETIME
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_NORMALIZE_AE_GZIP
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_NUMBER_OF_REDIRECTIONS
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_ORIGIN_MAX_CONNECTIONS
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_ORIGIN_MAX_CONNECTIONS_QUEUE
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_PARENT_PROXY_TOTAL_CONNECT_ATTEMPTS
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_POST_CHECK_CONTENT_LENGTH_ENABLED
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_POST_CONNECT_ATTEMPTS_TIMEOUT
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_REDIRECT_USE_ORIG_CACHE_KEY
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_REQUEST_HEADER_MAX_SIZE
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_RESPONSE_HEADER_MAX_SIZE
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_RESPONSE_SERVER_ENABLED
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_RESPONSE_SERVER_STR
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_SEND_HTTP11_REQUESTS
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_SERVER_SESSION_SHARING_MATCH
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_SERVER_TCP_INIT_CWND
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_SLOW_LOG_THRESHOLD
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_TRANSACTION_ACTIVE_TIMEOUT_IN
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_TRANSACTION_ACTIVE_TIMEOUT_OUT
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_TRANSACTION_NO_ACTIVITY_TIMEOUT_IN
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_TRANSACTION_NO_ACTIVITY_TIMEOUT_OUT
-.. c:member:: TSOverridableConfigKey  
TS_CONFIG_HTTP_UNCACHEABLE_REQUESTS_BYPASS_PARENT
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_NET_SOCK_OPTION_FLAG_OUT
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_NET_SOCK_PACKET_MARK_OUT
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_NET_SOCK_PACKET_TOS_OUT
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_NET_SOCK_RECV_BUFFER_SIZE_OUT
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_NET_SOCK_SEND_BUFFER_SIZE_OUT
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_SRV_ENABLED
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_SSL_HSTS_INCLUDE_SUBDOMAINS
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_SSL_HSTS_MAX_AGE
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_URL_REMAP_PRISTINE_HOST_HDR
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_WEBSOCKET_ACTIVE_TIMEOUT
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_WEBSOCKET_NO_ACTIVITY_TIMEOUT
-.. c:member:: TSOverridableConfigKey  TS_CONFIG_HTTP_ALLOW_MULTI_RANGE
+.. c:type:: TSOverridableConfigKey
+
+   .. c:macro:: TS_CONFIG_URL_REMAP_PRISTINE_HOST_HDR
+   .. c:macro:: TS_CONFIG_HTTP_CHUNKING_ENABLED
+   .. c:macro:: TS_CONFIG_HTTP_NEGATIVE_CACHING_ENABLED
+   .. c:macro:: TS_CONFIG_HTTP_NEGATIVE_CACHING_LIFETIME
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_WHEN_TO_REVALIDATE
+   .. c:macro:: TS_CONFIG_HTTP_KEEP_ALIVE_ENABLED_IN
+   .. c:macro:: TS_CONFIG_HTTP_KEEP_ALIVE_ENABLED_OUT
+   .. c:macro:: TS_CONFIG_HTTP_KEEP_ALIVE_POST_OUT
+   .. c:macro:: TS_CONFIG_HTTP_SERVER_SESSION_SHARING_MATCH
+   .. c:macro:: TS_CONFIG_NET_SOCK_RECV_BUFFER_SIZE_OUT
+   .. c:macro:: TS_CONFIG_NET_SOCK_SEND_BUFFER_SIZE_OUT
+   .. c:macro:: TS_CONFIG_NET_SOCK_OPTION_FLAG_OUT
+   .. c:macro:: TS_CONFIG_HTTP_FORWARD_PROXY_AUTH_TO_PARENT
+   .. c:macro:: TS_CONFIG_HTTP_ANONYMIZE_REMOVE_FROM
+   .. c:macro:: TS_CONFIG_HTTP_ANONYMIZE_REMOVE_REFERER
+   .. c:macro:: TS_CONFIG_HTTP_ANONYMIZE_REMOVE_USER_AGENT
+   .. c:macro:: TS_CONFIG_HTTP_ANONYMIZE_REMOVE_COOKIE
+   .. c:macro:: TS_CONFIG_HTTP_ANONYMIZE_REMOVE_CLIENT_IP
+   .. c:macro:: TS_CONFIG_HTTP_ANONYMIZE_INSERT_CLIENT_IP
+   .. c:macro:: TS_CONFIG_HTTP_RESPONSE_SERVER_ENABLED
+   .. c:macro:: TS_CONFIG_HTTP_INSERT_SQUID_X_FORWARDED_FOR
+   .. c:macro:: TS_CONFIG_HTTP_SERVER_TCP_INIT_CWND
+   .. c:macro:: TS_CONFIG_HTTP_SEND_HTTP11_REQUESTS
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_HTTP
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_IGNORE_CLIENT_NO_CACHE
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_IGNORE_CLIENT_CC_MAX_AGE
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_IMS_ON_CLIENT_NO_CACHE
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_IGNORE_SERVER_NO_CACHE
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_CACHE_RESPONSES_TO_COOKIES
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_IGNORE_AUTHENTICATION
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_CACHE_URLS_THAT_LOOK_DYNAMIC
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_REQUIRED_HEADERS
+   .. c:macro:: TS_CONFIG_HTTP_INSERT_REQUEST_VIA_STR
+   .. c:macro:: TS_CONFIG_HTTP_INSERT_RESPONSE_VIA_STR
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_HEURISTIC_MIN_LIFETIME
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_HEURISTIC_MAX_LIFETIME
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_GUARANTEED_MIN_LIFETIME
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_GUARANTEED_MAX_LIFETIME
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_MAX_STALE_AGE
+   .. c:macro:: TS_CONFIG_HTTP_KEEP_ALIVE_NO_ACTIVITY_TIMEOUT_IN
+   .. c:macro:: TS_CONFIG_HTTP_KEEP_ALIVE_NO_ACTIVITY_TIMEOUT_OUT
+   .. c:macro:: TS_CONFIG_HTTP_TRANSACTION_NO_ACTIVITY_TIMEOUT_IN
+   .. c:macro:: TS_CONFIG_HTTP_TRANSACTION_NO_ACTIVITY_TIMEOUT_OUT
+   .. c:macro:: TS_CONFIG_HTTP_TRANSACTION_ACTIVE_TIMEOUT_OUT
+   .. c:macro:: TS_CONFIG_HTTP_ORIGIN_MAX_CONNECTIONS
+   .. c:macro:: TS_CONFIG_HTTP_CONNECT_ATTEMPTS_MAX_RETRIES
+   .. c:macro:: TS_CONFIG_HTTP_CONNECT_ATTEMPTS_MAX_RETRIES_DEAD_SERVER
+   .. c:macro:: TS_CONFIG_HTTP_CONNECT_ATTEMPTS_RR_RETRIES
+   .. c:macro:: TS_CONFIG_HTTP_CONNECT_ATTEMPTS_TIMEOUT
+   .. c:macro:: TS_CONFIG_HTTP_POST_CONNECT_ATTEMPTS_TIMEOUT
+   .. c:macro:: TS_CONFIG_HTTP_DOWN_SERVER_CACHE_TIME
+   .. c:macro:: TS_CONFIG_HTTP_DOWN_SERVER_ABORT_THRESHOLD
+   .. c:macro:: TS_CONFIG_HTTP_DOC_IN_CACHE_SKIP_DNS
+   .. c:macro:: TS_CONFIG_HTTP_BACKGROUND_FILL_ACTIVE_TIMEOUT
+   .. c:macro:: TS_CONFIG_HTTP_RESPONSE_SERVER_STR
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_HEURISTIC_LM_FACTOR
+   .. c:macro:: TS_CONFIG_HTTP_BACKGROUND_FILL_COMPLETED_THRESHOLD
+   .. c:macro:: TS_CONFIG_NET_SOCK_PACKET_MARK_OUT
+   .. c:macro:: TS_CONFIG_NET_SOCK_PACKET_TOS_OUT
+   .. c:macro:: TS_CONFIG_HTTP_INSERT_AGE_IN_RESPONSE
+   .. c:macro:: TS_CONFIG_HTTP_CHUNKING_SIZE
+   .. c:macro:: TS_CONFIG_HTTP_FLOW_CONTROL_ENABLED
+   .. c:macro:: TS_CONFIG_HTTP_FLOW_CONTROL_LOW_WATER_MARK
+   .. c:macro:: TS_CONFIG_HTTP_FLOW_CONTROL_HIGH_WATER_MARK
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_RANGE_LOOKUP
+   .. c:macro:: TS_CONFIG_HTTP_DEFAULT_BUFFER_SIZE
+   .. c:macro:: TS_CONFIG_HTTP_DEFAULT_BUFFER_WATER_MARK
+   .. c:macro:: TS_CONFIG_HTTP_REQUEST_HEADER_MAX_SIZE
+   .. c:macro:: TS_CONFIG_HTTP_RESPONSE_HEADER_MAX_SIZE
+   .. c:macro:: TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_ENABLED
+   .. c:macro:: TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_LIFETIME
+   .. c:macro:: TS_CONFIG_SSL_HSTS_MAX_AGE
+   .. c:macro:: TS_CONFIG_SSL_HSTS_INCLUDE_SUBDOMAINS
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_OPEN_READ_RETRY_TIME
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_MAX_OPEN_READ_RETRIES
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_RANGE_WRITE
+   .. c:macro:: TS_CONFIG_HTTP_POST_CHECK_CONTENT_LENGTH_ENABLED
+   .. c:macro:: TS_CONFIG_HTTP_GLOBAL_USER_AGENT_HEADER
+   .. c:macro:: TS_CONFIG_HTTP_AUTH_SERVER_SESSION_PRIVATE
+   .. c:macro:: TS_CONFIG_HTTP_SLOW_LOG_THRESHOLD
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_GENERATION
+   .. c:macro:: TS_CONFIG_BODY_FACTORY_TEMPLATE_BASE
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_OPEN_WRITE_FAIL_ACTION
+   .. c:macro:: TS_CONFIG_HTTP_NUMBER_OF_REDIRECTIONS
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_MAX_OPEN_WRITE_RETRIES
+   .. c:macro:: TS_CONFIG_HTTP_REDIRECT_USE_ORIG_CACHE_KEY
+   .. c:macro:: TS_CONFIG_HTTP_ATTACH_SERVER_SESSION_TO_CLIENT
+   .. c:macro:: TS_CONFIG_HTTP_ORIGIN_MAX_CONNECTIONS_QUEUE
+   .. c:macro:: TS_CONFIG_WEBSOCKET_NO_ACTIVITY_TIMEOUT
+   .. c:macro:: TS_CONFIG_WEBSOCKET_ACTIVE_TIMEOUT
+   .. c:macro:: TS_CONFIG_HTTP_UNCACHEABLE_REQUESTS_BYPASS_PARENT
+   .. c:macro:: TS_CONFIG_HTTP_PARENT_PROXY_TOTAL_CONNECT_ATTEMPTS
+   .. c:macro:: TS_CONFIG_HTTP_TRANSACTION_ACTIVE_TIMEOUT_IN
+   .. c:macro:: TS_CONFIG_SRV_ENABLED
+   .. c:macro:: TS_CONFIG_HTTP_FORWARD_CONNECT_METHOD
+   .. c:macro:: TS_CONFIG_SSL_CERT_FILENAME
+   .. c:macro:: TS_CONFIG_SSL_CERT_FILEPATH
+   .. c:macro:: TS_CONFIG_PARENT_FAILURES_UPDATE_HOSTDB
+   .. c:macro:: TS_CONFIG_SSL_CLIENT_VERIFY_SERVER
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_ENABLE_DEFAULT_VARY_HEADER
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_VARY_DEFAULT_TEXT
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_VARY_DEFAULT_IMAGES
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_VARY_DEFAULT_OTHER
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_MISMATCH
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_LANGUAGE_MISMATCH
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_ENCODING_MISMATCH
+   .. c:macro:: TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_CHARSET_MISMATCH
+   .. c:macro:: TS_CONFIG_HTTP_PARENT_PROXY_FAIL_THRESHOLD
+   .. c:macro:: TS_CONFIG_HTTP_PARENT_PROXY_RETRY_TIME
+   .. c:macro:: TS_CONFIG_HTTP_PER_PARENT_CONNECT_ATTEMPTS
+   .. c:macro:: TS_CONFIG_HTTP_PARENT_CONNECT_ATTEMPT_TIMEOUT
+   .. c:macro:: TS_CONFIG_HTTP_NORMALIZE_AE
+   .. c:macro:: TS_CONFIG_HTTP_INSERT_FORWARDED
+   .. c:macro:: TS_CONFIG_HTTP_ALLOW_MULTI_RANGE
+   
 Description
 ===========
-
diff --git a/doc/developer-guide/architecture/architecture.en.rst 
b/doc/developer-guide/architecture/architecture.en.rst
index a38a1a5..1d1875e 100644
--- a/doc/developer-guide/architecture/architecture.en.rst
+++ b/doc/developer-guide/architecture/architecture.en.rst
@@ -16,7 +16,7 @@
    under the License.
 
 .. include:: ../../common.defs
-
+.. default-domain:: cpp
 .. _developer-cache-architecture:
 
 Cache Architecture
@@ -608,7 +608,7 @@ Directory Probing
 
 Directory probing is the locating of a specific :term:`directory entry` in the
 stripe directory based on a :term:`cache ID`. This is handled primarily by the
-function :cpp:func:`dir_probe()`. This is passed the cache ID (:arg:`key`), a
+function :code:`dir_probe()`. This is passed the cache ID (:arg:`key`), a
 stripe (:arg:`d`), and a last collision (:arg:`last_collision`). The last of
 these is an in and out parameter, updated as useful during the probe.
 
@@ -616,7 +616,7 @@ Given an ID, the top half (64 bits) is used as a 
:ref:`segment <dir-segment>`
 index, taken modulo the number of segments in the directory. The bottom half is
 used as a :ref:`bucket <dir-bucket>` index, taken modulo the number of buckets
 per segment. The :arg:`last_collision` value is used to mark the last matching
-entry returned by :cpp:func:`dir_probe`.
+entry returned by :code:`dir_probe`.
 
 After computing the appropriate bucket, the entries in that bucket are searched
 to find a match. In this case a match is detected by comparison of the bottom
@@ -698,7 +698,7 @@ The checks that are done are:
    Cacheable Method
       The request must be one of ``GET``, ``HEAD``, ``POST``, ``DELETE``, 
``PUT``.
 
-      See ``HttpTransact::is_method_cache_lookupable()``.
+      See :code:`HttpTransact::is_method_cache_lookupable`.
 
    Dynamic URL
       |TS| tries to avoid caching dynamic content because it's dynamic. A URL 
is
@@ -769,13 +769,13 @@ The basic steps to a cache lookup are:
 #. If the directory entry is found the first ``Doc`` is read from disk and
    checked for validity.
 
-   This is done in :cpp:func:`CacheVC::openReadStartHead()` or
-   :cpp:func:`CacheVC::openReadStartEarliest()` which are tightly coupled
+   This is done in :cpp:func:`CacheVC::openReadStartHead` or
+   :cpp:func:`CacheVC::openReadStartEarliest` which are tightly coupled
    methods.
 
 If the lookup succeeds, then a more detailed directory entry (struct
 :cpp:class:`OpenDir`) is created. Note that the directory probe includes a 
check
-for an already extant ``OpenDir`` which, if found, is returned without
+for an already extant :class:`OpenDir` which, if found, is returned without
 additional work.
 
 Cache Read
@@ -956,7 +956,7 @@ stripe data structures (attached to the :cpp:class:`Vol` 
instance).
 
 Evacuation data structures are defined by dividing up the volume content into
 a disjoint and contiguous set of regions of ``EVACUATION_BUCKET_SIZE`` bytes.
-The :cpp:member:`Vol::evacuate` member is an array with an element for each
+The :code:`Vol::evacuate` member is an array with an element for each
 evacuation region. Each element is a doubly linked list of 
:cpp:class:`EvacuationBlock`
 instances. Each instance contains a :cpp:class:`Dir` that specifies the 
fragment
 to evacuate. It is assumed that an evacuation block is placed in the evacuation
@@ -982,14 +982,14 @@ if the count goes to zero. If the ``EvacuationBlock`` 
already exists with a
 count of zero, the count is not modified and the number of readers is not
 tracked, so the evacuation is valid as long as the object exists.
 
-Evacuation is driven by cache writes, essentially in 
:cpp:member:`Vol::aggWrite`.
+Evacuation is driven by cache writes, essentially in :code:`Vol::aggWrite`.
 This method processes the pending cache virtual connections that are trying to
 write to the stripe. Some of these may be evacuation virtual connections. If so
 then the completion callback for that virtual connection is called as the data
 is put in to the aggregation buffer.
 
 When no more cache virtual connections can be processed (due to an empty queue
-or the aggregation buffer filling) then :cpp:member:`Vol::evac_range` is called
+or the aggregation buffer filling) then :code:`Vol::evac_range` is called
 to clear the range to be overwritten plus an additional 
:const:`EVACUATION_SIZE`
 range. The buckets covering that range are checked. If there are any items in
 the buckets a new cache virtual connection (a *doc evacuator*) is created and
@@ -999,7 +999,7 @@ the read completes it is checked for validity and if valid, 
the cache virtual
 connection for it is placed at the front of the write queue for the stripe and
 the write aggregation resumed.
 
-Before doing a write, the method :cpp:func:`Vol::evac_range()` is called to
+Before doing a write, the method :code:`Vol::evac_range()` is called to
 start an evacuation. If any fragments are found in the buckets in the range the
 earliest such fragment (smallest offset, closest to the write cursor) is
 selected and read from disk and the aggregation buffer write is suspended. The
@@ -1067,9 +1067,9 @@ appropriate evacuation bucket.
 Initialization
 ==============
 
-Initialization starts with an instance of :cpp:class:`Store` reading the 
storage
+Initialization starts with an instance of :code:`Store` reading the storage
 configuration file, by default :file:`storage.config`. For each valid element 
in
-the file an instance of :cpp:class:`Span` is created. These are of basically
+the file an instance of :code:`Span` is created. These are of basically
 four types:
 
 * File
@@ -1080,12 +1080,12 @@ four types:
 
 * Raw device
 
-After creating all the :cpp:class:`Span` instances, they are grouped by device
-ID to internal linked lists attached to the :cpp:member:`Store::disk`
+After creating all the :code:`Span` instances, they are grouped by device
+ID to internal linked lists attached to the :code:`Store::disk`
 array[#store-disk-array]_. Spans that refer to the same directory, disk, or raw
 device are coalesced in to a single span. Spans that refer to the same file
 with overlapping offsets are also coalesced [#coalesced-spans]_. This is all 
done in
-:c:func:`ink_cache_init()` called during startup.
+:code:`ink_cache_init()` called during startup.
 
 .. note::
 
@@ -1093,26 +1093,26 @@ with overlapping offsets are also coalesced 
[#coalesced-spans]_. This is all don
    inexplicable feature is provided by the span logic for that module.
 
 After configuration initialization, the cache processor is started by calling
-:cpp:func:`CacheProcessor::start()`. This does a number of things:
+:code:`CacheProcessor::start`. This does a number of things:
 
-For each valid span, an instance of :cpp:class:`CacheDisk` is created. This
+For each valid span, an instance of :code:`CacheDisk` is created. This
 class is a :term:`continuation` and so can be used to perform potentially
 blocking operations on the span. The primary use of these is to be passed to
 the AIO threads as the callback when an I/O operation completes. These are then
 dispatched to AIO threads to perform :term:`storage unit` initialization. After
 all of those have completed, the resulting storage is distributed across the
-:term:`volumes <cache volume>` in :c:func:`cplist_reconfigure`. The
+:term:`volumes <cache volume>` in :code:`cplist_reconfigure`. The
 :cpp:class:`CacheVol` instances are created at this time.
 
 :term:`Cache stripe <cache stripe>` assignment setup is done once all stripes
 have initialized (that is, the stripe header information has been successfully
 read from disk for all stripes). The assignment information is stored as an
 array of indices. These are indices in to an array of stripes. Both the
-assignment and the stripe arrays are stored in an instance of 
:cpp:class:`CacheHostRecord`.
+assignment and the stripe arrays are stored in an instance of 
:code:`CacheHostRecord`.
 Assignment initialization consists of populating the assignment array, which is
 much larger than the stripe array.
 
-There is an instance of :cpp:class:`CacheHostRecord` for each line in
+There is an instance of :code:`CacheHostRecord` for each line in
 :file:`hosting.config` and one generic record. For the configured instances, 
the
 set of stripes is determined from the cache volume specified in the line. If no
 lines are specified, all stripes are placed in the generic record, otherwise
@@ -1123,8 +1123,8 @@ only those stripes marked as default are placed in the 
generic record.
    If hosting records are specified, it is an error to not specify at least one
    default cache volume.
 
-The assignment table is initialized in :c:func:`build_vol_hash_table` which is
-called for each :cpp:class:`CacheHostRecord` instance. For each stripe in the
+The assignment table is initialized in :code:`build_vol_hash_table` which is
+called for each :code:`CacheHostRecord` instance. For each stripe in the
 host record, a sequence of pseudo-random numbers is generated. This begins with
 the folded hash of the stripe hash identifier, which is the device path 
followed
 by the ``skip`` and ``size`` values for that stripe, making it unique. This
@@ -1155,4 +1155,3 @@ including the size of each stripe.
    This linked list is mostly ignored in later processing, causing all but one
    file or directory storage units on the same device to be ignored. See
    `TS-1869 <https://issues.apache.org/jira/browse/TS-1869>`_.
-
diff --git a/doc/developer-guide/architecture/data-structures.en.rst 
b/doc/developer-guide/architecture/data-structures.en.rst
index 4b52b2a..6b7bfa3 100644
--- a/doc/developer-guide/architecture/data-structures.en.rst
+++ b/doc/developer-guide/architecture/data-structures.en.rst
@@ -93,20 +93,24 @@ Data Structures
 
    This represents a :term:`storage unit` inside a :term:`cache volume`.
 
-   .. cpp:member:: off_t Vol::segments
+   .. cpp:member:: off_t data_blocks
+
+      The number of blocks of storage in the stripe.
+
+   .. cpp:member:: off_t segments
 
       The number of segments in the volume. This will be roughly the total
       number of entries divided by the number of entries in a segment. It will
       be rounded up to cover all entries.
 
-   .. cpp:member:: off_t Vol::buckets
+   .. cpp:member:: off_t buckets
 
       The number of buckets in the volume. This will be roughly the number of
       entries in a segment divided by ``DIR_DEPTH``. For currently defined
       values this is around 16,384 (2^16 / 4). Buckets are used as the targets
       of the index hash.
 
-   .. cpp:member:: DLL\<EvacuationBlock\> Vol::evacuate
+   .. cpp:member:: DLL\<EvacuationBlock\> evacuate
 
       Array of of :cpp:class:`EvacuationBlock` buckets. This is sized so there
       is one bucket for every evacuation span.
@@ -129,42 +133,42 @@ Data Structures
 
    Defined in |P-CacheVol.h|_.
 
-   .. cpp:member:: uint32_t Doc::magic
+   .. cpp:member:: uint32_t magic
 
       Validity check value. Set to ``DOC_MAGIC`` for a valid document.
 
-   .. cpp:member:: uint32_t Doc::len
+   .. cpp:member:: uint32_t len
 
       The length of this segment including the header length, fragment table,
       and this structure.
 
-   .. cpp:member:: uint64_t Doc::total_len
+   .. cpp:member:: uint64_t total_len
 
       Total length of the entire document not including meta data but including
       headers.
 
-   .. cpp:member:: INK_MD5 Doc::first_key
+   .. cpp:member:: INK_MD5 first_key
 
       First index key in the document (the index key used to locate this object
       in the volume index).
 
-   .. cpp:member:: INK_MD5 Doc::key
+   .. cpp:member:: INK_MD5 key
 
       The index key for this fragment. Fragment keys are computationally
       chained so that the key for the next and previous fragments can be
       computed from this key.
 
-   .. cpp:member:: uint32_t Doc::hlen
+   .. cpp:member:: uint32_t hlen
 
       Document header (metadata) length. This is not the length of the HTTP
       headers.
 
-   .. cpp:member:: uint8_t Doc::ftype
+   .. cpp:member:: uint8_t ftype
 
       Fragment type. Currently only ``CACHE_FRAG_TYPE_HTTP`` is used. Other
       types may be used for cache extensions if those are ever implemented.
 
-   .. cpp:member:: uint24_t Doc::flen
+   .. cpp:member:: uint24_t flen
 
       Fragment table length, if any. Only the first ``Doc`` in an object should
       contain a fragment table.
@@ -180,11 +184,11 @@ Data Structures
 
       Removed as of version 3.3.0. [#fragment-offset-table]_
 
-   .. cpp:member:: uint32_t Doc::sync_serial
+   .. cpp:member:: uint32_t sync_serial
 
       Unknown.
 
-   .. cpp:member:: uint32_t Doc::write_serial
+   .. cpp:member:: uint32_t write_serial
 
       Unknown.
 
@@ -204,4 +208,3 @@ Data Structures
 
    Changed in version 3.2.0. This previously resided in the first ``Doc`` but
    that caused different alternates to share the same fragment table.
-
diff --git a/doc/developer-guide/documentation/building.en.rst 
b/doc/developer-guide/documentation/building.en.rst
index 59fde26..0e98329 100644
--- a/doc/developer-guide/documentation/building.en.rst
+++ b/doc/developer-guide/documentation/building.en.rst
@@ -22,29 +22,64 @@
 Building the Documentation
 **************************
 
-All documentation and related files are located in the source tree under the
-``doc/`` directory. Makefiles are generated automatiically by the main 
configure
-script. For simplicity's sake, it is recommended that contributors new to the
-documentation make use of the included Vagrant configurations, as these will
-take care of providing all dependencies. Please refer to the
-:ref:`developer-testing-with-vagrant` chapter for complete details on using
-Vagrant to build and test the |TS| source tree.
+All documentation and related files are located in the source tree under the 
:ts:git:`doc`
+directory. The Makefiles must be generated by the main configure script. The 
current :ref:`configure
+script<admin-configuration-options>` switch for enabling documentation builds 
is ``--enable-docs``.
+
+Additional packages required for building the documentation.
+
+System installs
+   These should be installed via `yum <https://fedoraproject.org/wiki/Yum>`__ 
or
+   `dnf <https://fedoraproject.org/wiki/DNF>`__.
+
+   graphviz
+      Graph visualization, used for diagrams in many places.
+
+   java
+      A java based utility is run to generate diagrams and so a java executor 
is required.
+
+   python2-pip
+      PIP for installing Python packages. Install this if you are using Python 
2.
+
+   python3-pip
+      PIP for installing Python packages. Install this if you are using Python 
3.
+
+PIP installs
+   These should be installed using `pip <https://pypi.python.org/pypi/pip>`__.
+
+   sphinx
+      A Python package that is the based Sphinx Documentation.
+
+   sphinx-rtd-theme
+      Style package for the preferred ATS documentation style.
+
+   sphinxcontrib-plantuml
+      Support for using `plantuml 
<http://plantuml.com/PlantUML_Language_Reference_Guide.pdf>`__ inline.
+
+   sphinx-intl
+      Internation support, which is needed if a non-English version is built. 
Currently a Japanese
+      (``JA``) version is available.
 
 With a configured source tree, building the documentation requires only the
 invocation ``make html`` from within ``doc/``. For repeated builds while 
working
-on the documentation, it is advisable to clean out the built and intermediate
-files each time by running the following instead (again, from within the 
``doc/``
+on the documentation doing ``make html`` again is sufficient. After fixing all 
warnings / errors,
+however, it is advisable to clean out the built and intermediate
+files by running the following instead (again, from within the ``doc/``
 directory of the |TS| source tree)::
 
-    make clean && make && make html
+    make clean && make html
 
 This will ensure that make doesn't inadvertantly skip the regeneration of any
 targets.
 
+.. note::
+
+   It is expected that any PR updating the documentation builds without any 
errors *or warnings*.
+   This can be easy to miss if the full build is not done before submitting 
the pull request.
+
 To view the built documentation, you may point any browser to the directory
 ``doc/docbuild/html/``. If you are building the documentation on your local
 machine, you may access the HTML documentation files directly without the need
 for a full-fledged web server, as all necessary resources (CSS, Javascript, and
 images) are referenced using relative paths and there are no server-side 
scripts
 necessary to render the documentation.
-
diff --git a/doc/developer-guide/documentation/plugins.en.rst 
b/doc/developer-guide/documentation/plugins.en.rst
index 7abbd2d..43052af 100644
--- a/doc/developer-guide/documentation/plugins.en.rst
+++ b/doc/developer-guide/documentation/plugins.en.rst
@@ -150,3 +150,6 @@ features of the documentation which may be relevant for 
your plugin. Developers
 are very strongly encouraged to use this template whenever possible, as a means
 of producing and maintaining a consistent format for plugin documentation.
 
+.. _developer-doc-plugin-template:
+
+.. note:: *to be done*
diff --git a/doc/developer-guide/plugins/http-headers/mime-headers.en.rst 
b/doc/developer-guide/plugins/http-headers/mime-headers.en.rst
index 3787858..3aed615 100644
--- a/doc/developer-guide/plugins/http-headers/mime-headers.en.rst
+++ b/doc/developer-guide/plugins/http-headers/mime-headers.en.rst
@@ -91,285 +91,355 @@ To facilitate fast comparisons and reduce storage size, 
Traffic Server
 defines several pre-allocated field names. These field names correspond
 to the field names in HTTP and NNTP headers.
 
-``TS_MIME_FIELD_ACCEPT``
-    "Accept"
-    ``TS_MIME_LEN_ACCEPT``
+.. c:var:: const char* TS_MIME_FIELD_ACCEPT
+  "Accept"
 
-``TS_MIME_FIELD_ACCEPT_CHARSET``
-    "Accept-Charset"
-    ``TS_MIME_LEN_ACCEPT_CHARSET``
+.. c:var:: int TS_MIME_LEN_ACCEPT
 
-``TS_MIME_FIELD_ACCEPT_ENCODING``
-    "Accept-Encoding"
-    ``TS_MIME_LEN_ACCEPT_ENCODING``
+.. c:var:: const char* TS_MIME_FIELD_ACCEPT_CHARSET
+  "Accept-Charset"
 
-``TS_MIME_FIELD_ACCEPT_LANGUAGE``
-    "Accept-Language"
-    ``TS_MIME_LEN_ACCEPT_LANGUAGE``
+.. c:var:: int TS_MIME_LEN_ACCEPT_CHARSET
 
-``TS_MIME_FIELD_ACCEPT_RANGES``
-    "Accept-Ranges"
-    ``TS_MIME_LEN_ACCEPT_RANGES``
+.. c:var:: const char* TS_MIME_FIELD_ACCEPT_ENCODING
+  "Accept-Encoding"
 
-``TS_MIME_FIELD_AGE``
-    "Age"
-    ``TS_MIME_LEN_AGE``
+.. c:var:: int TS_MIME_LEN_ACCEPT_ENCODING
 
-``TS_MIME_FIELD_ALLOW``
-    "Allow"
-    ``TS_MIME_LEN_ALLOW``
+.. c:var:: const char* TS_MIME_FIELD_ACCEPT_LANGUAGE
+  "Accept-Language"
 
-``TS_MIME_FIELD_APPROVED``
-    "Approved"
-    ``TS_MIME_LEN_APPROVED``
+.. c:var:: int TS_MIME_LEN_ACCEPT_LANGUAGE
 
-``TS_MIME_FIELD_AUTHORIZATION``
-    "Authorization"
-    ``TS_MIME_LEN_AUTHORIZATION``
+.. c:var:: const char* TS_MIME_FIELD_ACCEPT_RANGES
+  "Accept-Ranges"
 
-``TS_MIME_FIELD_BYTES``
-    "Bytes"
-    ``TS_MIME_LEN_BYTES``
+.. c:var:: int TS_MIME_LEN_ACCEPT_RANGES
 
-``TS_MIME_FIELD_CACHE_CONTROL``
-    "Cache-Control"
-    ``TS_MIME_LEN_CACHE_CONTROL``
+.. c:var:: const char* TS_MIME_FIELD_AGE
+  "Age"
 
-``TS_MIME_FIELD_CLIENT_IP``
-    "Client-ip"
-    ``TS_MIME_LEN_CLIENT_IP``
+.. c:var:: int TS_MIME_LEN_AGE
 
-``TS_MIME_FIELD_CONNECTION``
-    "Connection"
-    ``TS_MIME_LEN_CONNECTION``
+.. c:var:: const char* TS_MIME_FIELDALLOW
+  "Allow"
 
-``TS_MIME_FIELD_CONTENT_BASE``
-    "Content-Base"
-    ``TS_MIME_LEN_CONTENT_BASE``
+.. c:var:: int TS_MIME_LEN_ALLOW
 
-``TS_MIME_FIELD_CONTENT_ENCODING``
-    "Content-Encoding"
-    ``TS_MIME_LEN_CONTENT_ENCODING``
+.. c:var:: const char* TS_MIME_FIELDAPPROVED
+  "Approved"
 
-``TS_MIME_FIELD_CONTENT_LANGUAGE``
-    "Content-Language"
-    ``TS_MIME_LEN_CONTENT_LANGUAGE``
+.. c:var:: int TS_MIME_LEN_APPROVED
 
-``TS_MIME_FIELD_CONTENT_LENGTH``
-    "Content-Length"
-    ``TS_MIME_LEN_CONTENT_LENGTH``
+.. c:var:: const char* TS_MIME_FIELDAUTHORIZATION
+  "Authorization"
 
-``TS_MIME_FIELD_CONTENT_LOCATION``
-    "Content-Location"
-    ``TS_MIME_LEN_CONTENT_LOCATION``
+.. c:var:: int TS_MIME_LEN_AUTHORIZATION
 
-``TS_MIME_FIELD_CONTENT_MD5``
-    "Content-MD5"
-    ``TS_MIME_LEN_CONTENT_MD5``
+.. c:var:: const char* TS_MIME_FIELDBYTES
+  "Bytes"
 
-``TS_MIME_FIELD_CONTENT_RANGE``
-    "Content-Range"
-    ``TS_MIME_LEN_CONTENT_RANGE``
+.. c:var:: int TS_MIME_LEN_BYTES
 
-``TS_MIME_FIELD_CONTENT_TYPE``
-    "Content-Type"
-    ``TS_MIME_LEN_CONTENT_TYPE``
+.. c:var:: const char* TS_MIME_FIELDCACHE_CONTROL
+  "Cache-Control"
 
-``TS_MIME_FIELD_CONTROL``
-    "Control"
-    ``TS_MIME_LEN_CONTROL``
+.. c:var:: int TS_MIME_LEN_CACHE_CONTROL
 
-``TS_MIME_FIELD_COOKIE``
-    "Cookie"
-    ``TS_MIME_LEN_COOKIE``
+.. c:var:: const char* TS_MIME_FIELDCLIENT_IP
+  "Client-ip"
 
-``TS_MIME_FIELD_DATE``
-    "Date"
-    ``TS_MIME_LEN_DATE``
+.. c:var:: int TS_MIME_LEN_CLIENT_IP
 
-``TS_MIME_FIELD_DISTRIBUTION``
-    "Distribution"
-    ``TS_MIME_LEN_DISTRIBUTION``
+.. c:var:: const char* TS_MIME_FIELDCONNECTION
+  "Connection"
 
-``TS_MIME_FIELD_ETAG``
-    "Etag"
-    ``TS_MIME_LEN_ETAG``
+.. c:var:: int TS_MIME_LEN_CONNECTION
 
-``TS_MIME_FIELD_EXPECT``
-    "Expect"
-    ``TS_MIME_LEN_EXPECT``
+.. c:var:: const char* TS_MIME_FIELDCONTENT_BASE
+  "Content-Base"
 
-``TS_MIME_FIELD_EXPIRES``
-    "Expires"
-    ``TS_MIME_LEN_EXPIRES``
+.. c:var:: int TS_MIME_LEN_CONTENT_BASE
 
-``TS_MIME_FIELD_FOLLOWUP_TO``
-    "Followup-To"
-    ``TS_MIME_LEN_FOLLOWUP_TO``
+.. c:var:: const char* TS_MIME_FIELDCONTENT_ENCODING
+  "Content-Encoding"
 
-``TS_MIME_FIELD_FROM``
-    "From"
-    ``TS_MIME_LEN_FROM``
+.. c:var:: int TS_MIME_LEN_CONTENT_ENCODING
 
-``TS_MIME_FIELD_HOST``
-    "Host"
-    ``TS_MIME_LEN_HOST``
+.. c:var:: const char* TS_MIME_FIELDCONTENT_LANGUAGE
+  "Content-Language"
 
-``TS_MIME_FIELD_IF_MATCH``
-    "If-Match"
-    ``TS_MIME_LEN_IF_MATCH``
+.. c:var:: int TS_MIME_LEN_CONTENT_LANGUAGE
 
-``TS_MIME_FIELD_IF_MODIFIED_SINCE``
-    "If-Modified-Since"
-    ``TS_MIME_LEN_IF_MODIFIED_SINCE``
+.. c:var:: const char* TS_MIME_FIELDCONTENT_LENGTH
+  "Content-Length"
 
-``TS_MIME_FIELD_IF_NONE_MATCH``
-    "If-None-Match"
-    ``TS_MIME_LEN_IF_NONE_MATCH``
+.. c:var:: int TS_MIME_LEN_CONTENT_LENGTH
 
-``TS_MIME_FIELD_IF_RANGE``
-    "If-Range"
-    ``TS_MIME_LEN_IF_RANGE``
+.. c:var:: const char* TS_MIME_FIELDCONTENT_LOCATION
+  "Content-Location"
 
-``TS_MIME_FIELD_IF_UNMODIFIED_SINCE``
-    "If-Unmodified-Since"
-    ``TS_MIME_LEN_IF_UNMODIFIED_SINCE``
+.. c:var:: int TS_MIME_LEN_CONTENT_LOCATION
 
-``TS_MIME_FIELD_KEEP_ALIVE``
-    "Keep-Alive"
-    ``TS_MIME_LEN_KEEP_ALIVE``
+.. c:var:: const char* TS_MIME_FIELDCONTENT_MD5
+  "Content-MD5"
 
-``TS_MIME_FIELD_KEYWORDS``
-    "Keywords"
-    ``TS_MIME_LEN_KEYWORDS``
+.. c:var:: int TS_MIME_LEN_CONTENT_MD5
 
-``TS_MIME_FIELD_LAST_MODIFIED``
-    "Last-Modified"
-    ``TS_MIME_LEN_LAST_MODIFIED``
+.. c:var:: const char* TS_MIME_FIELDCONTENT_RANGE
+  "Content-Range"
 
-``TS_MIME_FIELD_LINES``
-    "Lines"
-    ``TS_MIME_LEN_LINES``
+.. c:var:: int TS_MIME_LEN_CONTENT_RANGE
 
-``TS_MIME_FIELD_LOCATION``
-    "Location"
-    ``TS_MIME_LEN_LOCATION``
+.. c:var:: const char* TS_MIME_FIELDCONTENT_TYPE
+  "Content-Type"
 
-``TS_MIME_FIELD_MAX_FORWARDS``
-    "Max-Forwards"
-    ``TS_MIME_LEN_MAX_FORWARDS``
+.. c:var:: int TS_MIME_LEN_CONTENT_TYPE
 
-``TS_MIME_FIELD_MESSAGE_ID``
-    "Message-ID"
-    ``TS_MIME_LEN_MESSAGE_ID``
+.. c:var:: const char* TS_MIME_FIELDCONTROL
+  "Control"
 
-``TS_MIME_FIELD_NEWSGROUPS``
-    "Newsgroups"
-    ``TS_MIME_LEN_NEWSGROUPS``
+.. c:var:: int TS_MIME_LEN_CONTROL
 
-``TS_MIME_FIELD_ORGANIZATION``
-    "Organization"
-    ``TS_MIME_LEN_ORGANIZATION``
+.. c:var:: const char* TS_MIME_FIELDCOOKIE
+  "Cookie"
 
-``TS_MIME_FIELD_PATH``
-    "Path"
-    ``TS_MIME_LEN_PATH``
+.. c:var:: int TS_MIME_LEN_COOKIE
 
-``TS_MIME_FIELD_PRAGMA``
-    "Pragma"
-    ``TS_MIME_LEN_PRAGMA``
+.. c:var:: const char* TS_MIME_FIELDDATE
+  "Date"
 
-``TS_MIME_FIELD_PROXY_AUTHENTICATE``
-    "Proxy-Authenticate"
-    ``TS_MIME_LEN_PROXY_AUTHENTICATE``
+.. c:var:: int TS_MIME_LEN_DATE
 
-``TS_MIME_FIELD_PROXY_AUTHORIZATION``
-    "Proxy-Authorization"
-    ``TS_MIME_LEN_PROXY_AUTHORIZATION``
+.. c:var:: const char* TS_MIME_FIELDDISTRIBUTION
+  "Distribution"
 
-``TS_MIME_FIELD_PROXY_CONNECTION``
-    "Proxy-Connection"
-    ``TS_MIME_LEN_PROXY_CONNECTION``
+.. c:var:: int TS_MIME_LEN_DISTRIBUTION
 
-``TS_MIME_FIELD_PUBLIC``
-    "Public"
-    ``TS_MIME_LEN_PUBLIC``
+.. c:var:: const char* TS_MIME_FIELDETAG
+  "Etag"
 
-``TS_MIME_FIELD_RANGE``
-    "Range"
-    ``TS_MIME_LEN_RANGE``
+.. c:var:: int TS_MIME_LEN_ETAG
 
-``TS_MIME_FIELD_REFERENCES``
-    "References"
-    ``TS_MIME_LEN_REFERENCES``
+.. c:var:: const char* TS_MIME_FIELDEXPECT
+  "Expect"
 
-``TS_MIME_FIELD_REFERER``
-    "Referer"
-    ``TS_MIME_LEN_REFERER``
+.. c:var:: int TS_MIME_LEN_EXPECT
 
-``TS_MIME_FIELD_REPLY_TO``
-    "Reply-To"
-    ``TS_MIME_LEN_REPLY_TO``
+.. c:var:: const char* TS_MIME_FIELDEXPIRES
+  "Expires"
 
-``TS_MIME_FIELD_RETRY_AFTER``
-    "Retry-After"
-    ``TS_MIME_LEN_RETRY_AFTER``
+.. c:var:: int TS_MIME_LEN_EXPIRES
 
-``TS_MIME_FIELD_SENDER``
-    "Sender"
-    ``TS_MIME_LEN_SENDER``
+.. c:var:: const char* TS_MIME_FIELDFOLLOWUP_TO
+  "Followup-To"
 
-``TS_MIME_FIELD_SERVER``
-    "Server"
-    ``TS_MIME_LEN_SERVER``
+.. c:var:: int TS_MIME_LEN_FOLLOWUP_TO
 
-``TS_MIME_FIELD_SET_COOKIE``
-    "Set-Cookie"
-    ``TS_MIME_LEN_SET_COOKIE``
+.. c:var:: const char* TS_MIME_FIELDFROM
+  "From"
 
-``TS_MIME_FIELD_SUBJECT``
-    "Subject"
-    ``TS_MIME_LEN_SUBJECTTS_MIME_LEN_SUBJECT``
+.. c:var:: int TS_MIME_LEN_FROM
 
-``TS_MIME_FIELD_SUMMARY``
-    "Summary"
-    ``TS_MIME_LEN_SUMMARY``
+.. c:var:: const char* TS_MIME_FIELDHOST
+  "Host"
 
-``TS_MIME_FIELD_TE``
-    "TE"
-    ``TS_MIME_LEN_TE``
+.. c:var:: int TS_MIME_LEN_HOST
 
-``TS_MIME_FIELD_TRANSFER_ENCODING``
-    "Transfer-Encoding"
-    ``TS_MIME_LEN_TRANSFER_ENCODING``
+.. c:var:: const char* TS_MIME_FIELDIF_MATCH
+  "If-Match"
 
-``TS_MIME_FIELD_UPGRADE``
-    "Upgrade"
-    ``TS_MIME_LEN_UPGRADE``
+.. c:var:: int TS_MIME_LEN_IF_MATCH
 
-``TS_MIME_FIELD_USER_AGENT``
-    "User-Agent"
-    ``TS_MIME_LEN_USER_AGENT``
+.. c:var:: const char* TS_MIME_FIELDIF_MODIFIED_SINCE
+  "If-Modified-Since"
 
-``TS_MIME_FIELD_VARY``
-    "Vary"
-    ``TS_MIME_LEN_VARY``
+.. c:var:: int TS_MIME_LEN_IF_MODIFIED_SINCE
 
-``TS_MIME_FIELD_VIA``
-    "Via"
-    ``TS_MIME_LEN_VIA``
+.. c:var:: const char* TS_MIME_FIELDIF_NONE_MATCH
+  "If-None-Match"
 
-``TS_MIME_FIELD_WARNING``
-    "Warning"
-    ``TS_MIME_LEN_WARNING``
+.. c:var:: int TS_MIME_LEN_IF_NONE_MATCH
 
-``TS_MIME_FIELD_WWW_AUTHENTICATE``
-    "Www-Authenticate"
-    ``TS_MIME_LEN_WWW_AUTHENTICATE``
+.. c:var:: const char* TS_MIME_FIELDIF_RANGE
+  "If-Range"
 
-``TS_MIME_FIELD_XREF``
-    "Xref"
-    ``TS_MIME_LEN_XREF``
+.. c:var:: int TS_MIME_LEN_IF_RANGE
+
+.. c:var:: const char* TS_MIME_FIELDIF_UNMODIFIED_SINCE
+  "If-Unmodified-Since"
+
+.. c:var:: int TS_MIME_LEN_IF_UNMODIFIED_SINCE
+
+.. c:var:: const char* TS_MIME_FIELDKEEP_ALIVE
+  "Keep-Alive"
+
+.. c:var:: int TS_MIME_LEN_KEEP_ALIVE
+
+.. c:var:: const char* TS_MIME_FIELDKEYWORDS
+  "Keywords"
+
+.. c:var:: int TS_MIME_LEN_KEYWORDS
+
+.. c:var:: const char* TS_MIME_FIELDLAST_MODIFIED
+  "Last-Modified"
+
+.. c:var:: int TS_MIME_LEN_LAST_MODIFIED
+
+.. c:var:: const char* TS_MIME_FIELDLINES
+  "Lines"
+
+.. c:var:: int TS_MIME_LEN_LINES
+
+.. c:var:: const char* TS_MIME_FIELDLOCATION
+  "Location"
+
+.. c:var:: int TS_MIME_LEN_LOCATION
+
+.. c:var:: const char* TS_MIME_FIELDMAX_FORWARDS
+  "Max-Forwards"
+
+.. c:var:: int TS_MIME_LEN_MAX_FORWARDS
+
+.. c:var:: const char* TS_MIME_FIELDMESSAGE_ID
+  "Message-ID"
+
+.. c:var:: int TS_MIME_LEN_MESSAGE_ID
+
+.. c:var:: const char* TS_MIME_FIELDNEWSGROUPS
+  "Newsgroups"
+
+.. c:var:: int TS_MIME_LEN_NEWSGROUPS
+
+.. c:var:: const char* TS_MIME_FIELDORGANIZATION
+  "Organization"
+
+.. c:var:: int TS_MIME_LEN_ORGANIZATION
+
+.. c:var:: const char* TS_MIME_FIELDPATH
+  "Path"
+
+.. c:var:: int TS_MIME_LEN_PATH
+
+.. c:var:: const char* TS_MIME_FIELDPRAGMA
+  "Pragma"
+
+.. c:var:: int TS_MIME_LEN_PRAGMA
+
+.. c:var:: const char* TS_MIME_FIELDPROXY_AUTHENTICATE
+  "Proxy-Authenticate"
+
+.. c:var:: int TS_MIME_LEN_PROXY_AUTHENTICATE
+
+.. c:var:: const char* TS_MIME_FIELDPROXY_AUTHORIZATION
+  "Proxy-Authorization"
+
+.. c:var:: int TS_MIME_LEN_PROXY_AUTHORIZATION
+
+.. c:var:: const char* TS_MIME_FIELDPROXY_CONNECTION
+  "Proxy-Connection"
+
+.. c:var:: int TS_MIME_LEN_PROXY_CONNECTION
+
+.. c:var:: const char* TS_MIME_FIELDPUBLIC
+  "Public"
+
+.. c:var:: int TS_MIME_LEN_PUBLIC
+
+.. c:var:: const char* TS_MIME_FIELDRANGE
+  "Range"
+
+.. c:var:: int TS_MIME_LEN_RANGE
+
+.. c:var:: const char* TS_MIME_FIELDREFERENCES
+  "References"
+
+.. c:var:: int TS_MIME_LEN_REFERENCES
+
+.. c:var:: const char* TS_MIME_FIELDREFERER
+  "Referer"
+
+.. c:var:: int TS_MIME_LEN_REFERER
+
+.. c:var:: const char* TS_MIME_FIELDREPLY_TO
+  "Reply-To"
+
+.. c:var:: int TS_MIME_LEN_REPLY_TO
+
+.. c:var:: const char* TS_MIME_FIELDRETRY_AFTER
+  "Retry-After"
+
+.. c:var:: int TS_MIME_LEN_RETRY_AFTER
+
+.. c:var:: const char* TS_MIME_FIELDSENDER
+  "Sender"
+
+.. c:var:: int TS_MIME_LEN_SENDER
+
+.. c:var:: const char* TS_MIME_FIELDSERVER
+  "Server"
+
+.. c:var:: int TS_MIME_LEN_SERVER
+
+.. c:var:: const char* TS_MIME_FIELDSET_COOKIE
+  "Set-Cookie"
+
+.. c:var:: int TS_MIME_LEN_SET_COOKIE
+
+.. c:var:: const char* TS_MIME_FIELDSUBJECT
+  "Subject"
+
+.. c:var:: int TS_MIME_LEN_SUBJECTTS_MIME_LEN_SUBJECT
+
+.. c:var:: const char* TS_MIME_FIELDSUMMARY
+  "Summary"
+
+.. c:var:: int TS_MIME_LEN_SUMMARY
+
+.. c:var:: const char* TS_MIME_FIELDTE
+  "TE"
+
+.. c:var:: int TS_MIME_LEN_TE
+
+.. c:var:: const char* TS_MIME_FIELDTRANSFER_ENCODING
+  "Transfer-Encoding"
+
+.. c:var:: int TS_MIME_LEN_TRANSFER_ENCODING
+
+.. c:var:: const char* TS_MIME_FIELDUPGRADE
+  "Upgrade"
+
+.. c:var:: int TS_MIME_LEN_UPGRADE
+
+.. c:var:: const char* TS_MIME_FIELDUSER_AGENT
+  "User-Agent"
+
+.. c:var:: int TS_MIME_LEN_USER_AGENT
+
+.. c:var:: const char* TS_MIME_FIELDVARY
+  "Vary"
+
+.. c:var:: int TS_MIME_LEN_VARY
+
+.. c:var:: const char* TS_MIME_FIELDVIA
+  "Via"
+
+.. c:var:: int TS_MIME_LEN_VIA
+
+.. c:var:: const char* TS_MIME_FIELDWARNING
+  "Warning"
+
+.. c:var:: int TS_MIME_LEN_WARNING
+
+.. c:var:: const char* TS_MIME_FIELDWWW_AUTHENTICATE
+  "Www-Authenticate"
+
+.. c:var:: int TS_MIME_LEN_WWW_AUTHENTICATE
+
+.. c:var:: const char* TS_MIME_FIELDXREF
+  "Xref"
+
+.. c:var:: int TS_MIME_LEN_XREF
 
 The header field names above are defined in ``ts.h`` as ``const char*``
 strings. When Traffic Server sets the name portion of a header field (or
@@ -438,4 +508,3 @@ The MIME header functions are listed below:
 -  :c:func:`TSMimeParserCreate`
 -  :c:func:`TSMimeParserDestroy`
 -  :c:func:`TSMimeHdrPrint`
-
diff --git a/doc/developer-guide/plugins/http-headers/urls.en.rst 
b/doc/developer-guide/plugins/http-headers/urls.en.rst
index 2aea573..7c90a77 100644
--- a/doc/developer-guide/plugins/http-headers/urls.en.rst
+++ b/doc/developer-guide/plugins/http-headers/urls.en.rst
@@ -49,57 +49,70 @@ instance, the function that retrieves the host portion of a 
URL is named
 To facilitate fast comparisons and reduce storage size, Traffic Server
 defines several preallocated scheme names.
 
-``TS_URL_SCHEME_FILE``
-    "file"
-    ``TS_URL_LEN_FILE``
+.. c:var:: TS_URL_SCHEME_FILE
+   "file"
 
-``TS_URL_SCHEME_FTP``
-    "ftp"
-    ``TS_URL_LEN_FTP``
+.. c:var:: TS_URL_LEN_FILE
 
-``TS_URL_SCHEME_GOPHER``
-    "gopher"
-    ``TS_URL_LEN_GOPHER``
+.. c:var:: TS_URL_SCHEME_FTP
+   "ftp"
 
-``TS_URL_SCHEME_HTTP``
-    "http"
-    ``TS_URL_LEN_HTTP``
+.. c:var:: TS_URL_LEN_FTP
 
-``TS_URL_SCHEME_HTTPS``
-    "https"
-    ``TS_URL_LEN_HTTPS``
+.. c:var:: TS_URL_SCHEME_GOPHER
+   "gopher"
 
-``TS_URL_SCHEME_MAILTO``
-    "mailto"
-    ``TS_URL_LEN_MAILTO``
+.. c:var:: TS_URL_LEN_GOPHER
 
-``TS_URL_SCHEME_NEWS``
-    "news"
-    ``TS_URL_LEN_NEWS``
+.. c:var:: TS_URL_SCHEME_HTTP
+   "http"
 
-``TS_URL_SCHEME_NNTP``
-    "nntp"
-    ``TS_URL_LEN_NNTP``
+.. c:var:: TS_URL_LEN_HTTP
 
-``TS_URL_SCHEME_PROSPERO``
-    "prospero"
-    ``TS_URL_LEN_PROSPERO``
+.. c:var:: TS_URL_SCHEME_HTTPS
+   "https"
 
-``TS_URL_SCHEME_TELNET``
-    "telnet"
-    ``TS_URL_LEN_TELNET``
+.. c:var:: TS_URL_LEN_HTTPS
 
-``TS_URL_SCHEME_WAIS``
-    "wais"
-    ``TS_URL_LEN_WAIS``
+.. c:var:: TS_URL_SCHEME_MAILTO
+   "mailto"
 
-``TS_URL_SCHEME_WS``
-    "ws"
-    ``TS_URL_LEN_WS``
+.. c:var:: TS_URL_LEN_MAILTO
 
-``TS_URL_SCHEME_WSS``
-    "wss"
-    ``TS_URL_LEN_WSS``
+.. c:var:: TS_URL_SCHEME_NEWS
+   "news"
+
+.. c:var:: TS_URL_LEN_NEWS
+
+.. c:var:: TS_URL_SCHEME_NNTP
+   "nntp"
+
+.. c:var:: TS_URL_LEN_NNTP
+
+.. c:var:: TS_URL_SCHEME_PROSPERO
+   "prospero"
+
+.. c:var:: TS_URL_LEN_PROSPERO
+
+.. c:var:: TS_URL_SCHEME_TELNET
+   "telnet"
+
+.. c:var:: TS_URL_LEN_TELNET
+
+.. c:var:: TS_URL_SCHEME_WAIS
+   "wais"
+
+.. c:var:: TS_URL_LEN_WAIS
+
+.. c:var:: TS_URL_SCHEME_WS
+   "ws"
+
+.. c:var:: TS_URL_LEN_WS
+
+.. c:var:: TS_URL_SCHEME_WSS
+   "wss"
+
+.. c:var:: TS_URL_LEN_WSS
 
 The scheme names above are defined in ``ts.h`` as ``const`` ``char*``
 strings. When Traffic Server sets the scheme portion of the URL (or any
diff --git a/doc/developer-guide/plugins/io/io-buffers.en.rst 
b/doc/developer-guide/plugins/io/io-buffers.en.rst
index 73c49ac..f460e09 100644
--- a/doc/developer-guide/plugins/io/io-buffers.en.rst
+++ b/doc/developer-guide/plugins/io/io-buffers.en.rst
@@ -51,6 +51,4 @@ Additional information about IO buffer functions:
 
 -  Bytes that have already been read may not necessarily be freed within
    the ``TSIOBuffer``. To consume bytes that have been read, you must
-   call :c:func:`TSIOBufferConsume`.
-
-
+   call :code:`TSIOBufferConsume`.
diff --git a/doc/ext/traffic-server.py b/doc/ext/traffic-server.py
index 26e3c46..acc6ec1 100644
--- a/doc/ext/traffic-server.py
+++ b/doc/ext/traffic-server.py
@@ -34,6 +34,19 @@ from sphinx.roles import XRefRole
 from sphinx.locale import l_, _
 import sphinx
 
+import subprocess
+import re
+
+# 2/3 compat logic
+try:
+    basestring
+
+    def is_string_type(s):
+        return isinstance(s, basestring)
+except NameError:
+    def is_string_type(s):
+        return isinstance(s, str)
+
 
 class TSConfVar(std.Target):
     """
@@ -63,7 +76,7 @@ class TSConfVar(std.Target):
         field = nodes.field()
         field.append(nodes.field_name(text=tag))
         body = nodes.field_body()
-        if (isinstance(value, basestring)):
+        if is_string_type(value):
             body.append(sphinx.addnodes.compact_paragraph(text=value))
         else:
             body.append(value)
@@ -190,7 +203,7 @@ class TSStat(std.Target):
         field = nodes.field()
         field.append(nodes.field_name(text=tag))
         body = nodes.field_body()
-        if (isinstance(value, basestring)):
+        if is_string_type(value):
             body.append(sphinx.addnodes.compact_paragraph(text=value))
         else:
             body.append(value)
@@ -343,11 +356,22 @@ class TrafficServerDomain(Domain):
         if (dst_doc):
             return sphinx.util.nodes.make_refnode(builder, src_doc, dst_doc, 
nodes.make_id(target), cont_node, 'records.config')
 
-    def get_objects(self):
-        for var, doc in self.data['cv'].iteritems():
-            yield var, var, 'cv', doc, var, 1
-        for var, doc in self.data['stat'].iteritems():
-            yield var, var, 'stat', doc, var, 1
+    # Python 2/3 compat - iteritems is 2, items is 3
+    # Although perhaps the lists are small enough items could be used in 
Python 2.
+    try:
+        {}.iteritems()
+
+        def get_objects(self):
+            for var, doc in self.data['cv'].iteritems():
+                yield var, var, 'cv', doc, var, 1
+            for var, doc in self.data['stat'].iteritems():
+                yield var, var, 'stat', doc, var, 1
+    except AttributeError:
+        def get_objects(self):
+            for var, doc in self.data['cv'].items():
+                yield var, var, 'cv', doc, var, 1
+            for var, doc in self.data['stat'].items():
+                yield var, var, 'stat', doc, var, 1
 
 
 # These types are ignored as missing references for the C++ domain.
@@ -358,8 +382,8 @@ EXTERNAL_TYPES = set((
     'uint8_t', 'uint16_t', 'uint24_t', 'uint32_t', 'uint64_t',
     'int8_t', 'int16_t', 'int24_t', 'int32_t', 'int64_t',
     'unsigned', 'unsigned int',
-    'off_t', 'size_t', 'time_t',
-    'Event', 'INK_MD5', 'DLL<EvacuationBlock>',
+    'off_t', 'time_t',
+    'Event', 'INK_MD5',
     'sockaddr'
 ))
 
@@ -381,6 +405,38 @@ def xref_cleanup(app, env, node, contnode):
     return
 
 
+# get the branch this documentation is building for in X.X.x form
+with open('../configure.ac', 'r') as f:
+    contents = f.read()
+    match = 
re.compile('m4_define\(\[TS_VERSION_S],\[(.*?)]\)').search(contents)
+    autoconf_version = '.'.join(match.group(1).split('.', 2)[:2] + ['x'])
+
+# get the current branch the local repository is on
+git_branch = subprocess.check_output(['git', 'rev-parse', '--abbrev-ref', 
'HEAD'])
+
+
+def make_github_link(name, rawtext, text, lineno, inliner, options={}, 
content=[]):
+    """
+    This docutils role lets us link to source code via the handy :ts:git: 
markup.
+    Link references are rooted at the top level source directory. All links 
resolve
+    to GitHub.
+
+    Examples:
+
+        To link to proxy/Main.cc:
+
+            Hi, here is a link to the proxy entry point: 
:ts:git:`proxy/Main.cc`.
+
+        To link to CONTRIBUTING.md:
+
+            If you want to contribute, take a look at 
:ts:git:`CONTRIBUTING.md`.
+    """
+    url = 'https://github.com/apache/trafficserver/blob/{}/{}'
+    ref = autoconf_version if autoconf_version == git_branch else 'master'
+    node = nodes.reference(rawtext, text, refuri=url.format(ref, text), 
**options)
+    return [node], []
+
+
 def setup(app):
     app.add_crossref_type('configfile', 'file',
                           objname='Configuration file',
@@ -394,6 +450,9 @@ def setup(app):
 
     app.add_domain(TrafficServerDomain)
 
+    # this lets us do :ts:git:`<file_path>` and link to the file on github
+    app.add_role_to_domain('ts', 'git', make_github_link)
+
     # Types that we want the C domain to consider built in
     for word in EXTERNAL_TYPES:
         sphinx.domains.c.CObject.stopwords.add(word)
diff --git a/doc/getting-started/index.en.rst b/doc/getting-started/index.en.rst
index 1f0408b..1181109 100644
--- a/doc/getting-started/index.en.rst
+++ b/doc/getting-started/index.en.rst
@@ -422,7 +422,7 @@ Extended-2* format you may wish to enable that logging 
format in addition to,
 or instead of, the default |TS| logs.
 
 The Administrator's Guide discusses logging options in great detail in
-:ref:`admin-monitoring-logging`.
+:ref:`admin-logging`.
 
 Using Traffic Top
 -----------------
@@ -448,4 +448,3 @@ You may also want to learn more about 
:ref:`admin-monitoring`, or ensuring
 that your installation is properly secured by reading the :ref:`admin-security`
 section. Properly sizing your cache, both the on-disk cache and the companion
 memory cache, are important topics covered in :ref:`admin-configuration`.
-

-- 
To stop receiving notification emails like this one, please contact
zw...@apache.org.

Reply via email to