You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2013/08/03 22:51:10 UTC

[01/52] [abbrv] docs: split reference material into top-level pages

Updated Branches:
  refs/heads/3.3.x 5440db916 -> 1bb12edf9


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/sdk/man/TSHttpParserCreate.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/man/TSHttpParserCreate.en.rst b/doc/sdk/man/TSHttpParserCreate.en.rst
deleted file mode 100644
index faa0a70..0000000
--- a/doc/sdk/man/TSHttpParserCreate.en.rst
+++ /dev/null
@@ -1,91 +0,0 @@
-.. 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.
-
-.. default-domain:: c
-
-===================
-TSHttpParserCreate
-===================
-
-Library
-=======
-
-Apache Traffic Server plugin API
-
-Synopsis
-========
-
-`#include <ts/ts.h>`
-
-.. function:: TSHttpParser TSHttpParserCreate(void)
-.. function:: void TSHttpParserClear(TSHttpParser parser)
-.. function:: void TSHttpParserDestroy(TSHttpParser parser)
-.. function:: TSParseResult TSHttpHdrParseReq(TSHttpParser parser, TSMBuffer bufp, TSMLoc offset, const char ** start, const char * end)
-.. function:: TSParseResult TSHttpHdrParseResp(TSHttpParser parser, TSMBuffer bufp, TSMLoc offset, const char ** start, const char * end)
-
-Description
-===========
-
-:func:`TSHttpParserCreate` creates an HTTP parser object. The
-parser's data structure contains information about the header being
-parsed. A single HTTP parser can be used multiple times, though not
-simultaneously. Before being used again, the parser must be cleared
-by calling :func:`TSHttpParserClear`.
-
-:func:`TSHttpHdrParseReq` parses an HTTP request header. The HTTP
-header :data:`offset` must already be created, and must reside
-inside the marshal buffer :data:`bufp`. The :data:`start` argument
-points to the current position of the string buffer being parsed
-and the :data:`end` argument points to one byte after the end of
-the buffer to be parsed. On return, :data:`start` is modified to
-point past the last character parsed.
-
-It is possible to parse an HTTP request header a single byte at a
-time using repeated calls to :func:`TSHttpHdrParseReq`. As long as
-an error does not occur, the :func:`TSHttpHdrParseReq` function
-will consume that single byte and ask for more. :func:`TSHttpHdrParseReq`
-should be called after :data:`TS_HTTP_READ_REQUEST_HDR_HOOK`.
-
-:func:`TSHttpHdrParseResp` operates in the same manner as
-:func:`TSHttpHdrParseReq` except it parses an HTTP response header.
-It should be called after :data:`TS_HTTP_READ_RESPONSE_HDR_HOOK`.
-
-:func:`TSHttpParserClear` clears the specified HTTP parser so it
-may be used again.
-
-:func:`TSHttpParserDestroy` destroys the TSHttpParser object pointed
-to by :data:`parser`. The :data:`parser` pointer must not be NULL.
-
-Return values
-=============
-
-:func:`TSHttpHdrParseReq` and :func:`TSHttpHdrParseResp` both return
-a :type:`TSParseResult` value. :data:`TS_PARSE_ERROR` is returned
-on error, :data:`TS_PARSE_CONT` is returned if parsing of the header
-stopped because the end of the buffer was reached, and
-:data:`TS_PARSE_DONE` or :data:`TS_PARSE_OK` when a \\r\\n\\r\\n
-pattern is encountered, indicating the end of the header.
-
-Bugs
-====
-
-The distinction between the :data:`TS_PARSE_DONE` and :data:`TS_PARSE_OK`
-results is not well-defined. Plugins should expect both status codes and
-treat them equivalently.
-
-See also
-========
-:manpage:`TSAPI(3ts)`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/sdk/man/TSHttpTxnMilestoneGet.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/man/TSHttpTxnMilestoneGet.en.rst b/doc/sdk/man/TSHttpTxnMilestoneGet.en.rst
deleted file mode 100644
index 993d712..0000000
--- a/doc/sdk/man/TSHttpTxnMilestoneGet.en.rst
+++ /dev/null
@@ -1,76 +0,0 @@
-.. 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
-
-.. default-domain:: c
-
-=====================
-TSHttpTxnMilestoneGet
-=====================
-
-LIBRARY
-=======
-
-Apache Traffic Server plugin API
-
-SYNOPSIS
-========
-
-`#include <ts/ts.h>`
-
-.. function:: TSReturnCode TSHttpTxnMilestoneGet(TSHttpTxn txnp, TSMilestonesType milestone, TSHRTime * time)
-
-DESCRIPTION
-===========
-
-:func:`TSHttpTxnMilestoneGet` will fetch a specific milestone timer
-value for the current request. These timers are calculated during
-the lifetime of a transaction, and are all in :type:`TSHRTime` units
-(nanoseconds), measured from the beginning of the transaction. The
-:data:`time` argument is a pointer to a valid :type:`TSHRtime`
-storage, and is set upon success.
-
-The supported :type:`TSMilestonesType` milestone types are:
-
-|
-|
-| :data:`TS_MILESTONE_UA_BEGIN`
-| :data:`TS_MILESTONE_UA_READ_HEADER_DONE`
-| :data:`TS_MILESTONE_UA_BEGIN_WRITE`
-| :data:`TS_MILESTONE_UA_CLOSE`
-| :data:`TS_MILESTONE_SERVER_FIRST_CONNECT`
-| :data:`TS_MILESTONE_SERVER_CONNECT`
-| :data:`TS_MILESTONE_SERVER_CONNECT_END`
-| :data:`TS_MILESTONE_SERVER_BEGIN_WRITE`
-| :data:`TS_MILESTONE_SERVER_FIRST_READ`
-| :data:`TS_MILESTONE_SERVER_READ_HEADER_DONE`
-| :data:`TS_MILESTONE_SERVER_CLOSE`
-| :data:`TS_MILESTONE_CACHE_OPEN_READ_BEGIN`
-| :data:`TS_MILESTONE_CACHE_OPEN_READ_END`
-| :data:`TS_MILESTONE_CACHE_OPEN_WRITE_BEGIN`
-| :data:`TS_MILESTONE_CACHE_OPEN_WRITE_END`
-| :data:`TS_MILESTONE_DNS_LOOKUP_BEGIN`
-| :data:`TS_MILESTONE_DNS_LOOKUP_END`
-| :data:`TS_MILESTONE_SM_START`
-| :data:`TS_MILESTONE_SM_FINISH`
-| :data:`TS_MILESTONE_LAST_ENTRY`
-
-RETURN VALUES
-=============
-
-:data:`TS_SUCCESS` or :data:`TS_ERROR`.
-
-SEE ALSO
-========
-:manpage:`TSAPI(3ts)`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/sdk/man/index.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/man/index.en.rst b/doc/sdk/man/index.en.rst
deleted file mode 100644
index dcd34b3..0000000
--- a/doc/sdk/man/index.en.rst
+++ /dev/null
@@ -1,28 +0,0 @@
-API Reference
-*************
-
-.. 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.
-
-.. toctree::
-  :maxdepth: 2
-
-  TSAPI.en
-  TSDebug.en
-  TSHttpHookAdd.en
-  TSHttpParserCreate.en
-  TSHttpTxnMilestoneGet.en


[34/52] [abbrv] git commit: TS-1685 Remove TS_MICRO and fellas

Posted by zw...@apache.org.
TS-1685 Remove TS_MICRO and fellas


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/b4d411e0
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/b4d411e0
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/b4d411e0

Branch: refs/heads/3.3.x
Commit: b4d411e07953fd3a7f9bea60f4c822360658a1aa
Parents: 7485e0b
Author: Leif Hedstrom <zw...@apache.org>
Authored: Tue Jul 30 07:15:17 2013 +0200
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Thu Aug 1 22:51:23 2013 +0200

----------------------------------------------------------------------
 iocore/cluster/ClusterMachine.cc         |  4 ---
 iocore/cluster/P_ClusterMachine.h        |  2 --
 iocore/eventsystem/I_IOBuffer.h          | 12 -------
 iocore/eventsystem/UnixEventProcessor.cc |  2 --
 iocore/hostdb/include/Machine.h          |  2 --
 iocore/net/Net.cc                        |  2 --
 iocore/net/UnixNetProcessor.cc           | 15 ++-------
 lib/ts/ink_config.h.in                   | 16 ---------
 lib/ts/ink_queue.cc                      | 47 +--------------------------
 lib/ts/ink_queue.h                       | 46 +-------------------------
 proxy/CacheControl.cc                    | 20 ------------
 proxy/ControlMatcher.cc                  |  4 ---
 proxy/ControlMatcher.h                   |  6 ----
 proxy/DynamicStats.h                     | 17 +---------
 proxy/Main.cc                            | 30 ++---------------
 proxy/http/HttpBodyFactory.cc            |  5 ++-
 proxy/http/HttpPages.cc                  |  9 -----
 proxy/http/HttpPages.h                   |  3 --
 proxy/http/HttpSessionManager.h          |  5 ---
 proxy/http/HttpTransact.cc               | 18 +---------
 proxy/logging/Log.h                      |  7 ----
 proxy/logging/LogAccess.h                |  2 --
 proxy/logging/LogAccessHttp.h            |  2 --
 proxy/logging/LogAccessICP.cc            |  4 +--
 proxy/logging/LogBuffer.h                |  4 ---
 proxy/logging/LogCollationClientSM.cc    | 23 -------------
 proxy/logging/LogCollationClientSM.h     |  4 ---
 proxy/logging/LogFile.h                  |  4 ---
 proxy/logging/LogFormat.cc               |  2 --
 proxy/logging/LogHost.cc                 |  8 -----
 proxy/logging/LogObject.cc               | 19 -----------
 proxy/logging/LogObject.h                |  4 ---
 32 files changed, 13 insertions(+), 335 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/iocore/cluster/ClusterMachine.cc
----------------------------------------------------------------------
diff --git a/iocore/cluster/ClusterMachine.cc b/iocore/cluster/ClusterMachine.cc
index c41bbe8..afc4c11 100644
--- a/iocore/cluster/ClusterMachine.cc
+++ b/iocore/cluster/ClusterMachine.cc
@@ -79,9 +79,7 @@ ClusterMachine::ClusterMachine(char *ahostname, unsigned int aip, int aport)
 {
   EThread *thread = this_ethread();
   ProxyMutex *mutex = thread->mutex;
-#ifndef INK_NO_CLUSTER
   CLUSTER_INCREMENT_DYN_STAT(CLUSTER_MACHINES_ALLOCATED_STAT);
-#endif
   if (!aip) {
     char localhost[1024];
     if (!ahostname) {
@@ -172,7 +170,6 @@ ClusterMachine::~ClusterMachine()
   ats_free(clusterHandlers);
 }
 
-#ifndef INK_NO_CLUSTER
 struct MachineTimeoutContinuation;
 typedef int (MachineTimeoutContinuation::*McTimeoutContHandler) (int, void *);
 struct MachineTimeoutContinuation: public Continuation
@@ -290,4 +287,3 @@ read_MachineList(char *filename, int afd)
   }
   return (afd != -1) ? (MachineList *) NULL : l;
 }
-#endif // INK_NO_CLUSTER

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/iocore/cluster/P_ClusterMachine.h
----------------------------------------------------------------------
diff --git a/iocore/cluster/P_ClusterMachine.h b/iocore/cluster/P_ClusterMachine.h
index 85cf7d4..848a2b2 100644
--- a/iocore/cluster/P_ClusterMachine.h
+++ b/iocore/cluster/P_ClusterMachine.h
@@ -110,12 +110,10 @@ void free_MachineList(MachineList * l);
 
 struct clusterConfigFile
 {
-#ifndef INK_NO_CLUSTER
   char *parseFile(int fd)
   {
     return (char *) read_MachineList(NULL, fd);
   }
-#endif
 };
 
 inkcoreapi ClusterMachine *this_cluster_machine();

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/iocore/eventsystem/I_IOBuffer.h
----------------------------------------------------------------------
diff --git a/iocore/eventsystem/I_IOBuffer.h b/iocore/eventsystem/I_IOBuffer.h
index 730895c..c27ba93 100644
--- a/iocore/eventsystem/I_IOBuffer.h
+++ b/iocore/eventsystem/I_IOBuffer.h
@@ -68,7 +68,6 @@ enum AllocType
   CONSTANT
 };
 
-#ifndef TS_MICRO
 #if TS_USE_RECLAIMABLE_FREELIST
 #define DEFAULT_BUFFER_NUMBER        64
 #else
@@ -78,17 +77,6 @@ enum AllocType
 #define MAX_MIOBUFFER_READERS        5
 #define DEFAULT_BUFFER_ALIGNMENT     8192       // should be disk/page size
 #define DEFAULT_BUFFER_BASE_SIZE     128
-#else
-#define DEFAULT_BUFFER_NUMBER        4
-#if TS_USE_RECLAIMABLE_FREELIST
-#define DEFAULT_HUGE_BUFFER_NUMBER   4
-#else
-#define DEFAULT_HUGE_BUFFER_NUMBER   32
-#endif
-#define MAX_MIOBUFFER_READERS        3
-#define DEFAULT_BUFFER_BASE_SIZE     128
-#define DEFAULT_BUFFER_ALIGNMENT     8  // should be disk/page size
-#endif
 
 ////////////////////////////////////////////////
 // These are defines so that code that used 2 //

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/iocore/eventsystem/UnixEventProcessor.cc
----------------------------------------------------------------------
diff --git a/iocore/eventsystem/UnixEventProcessor.cc b/iocore/eventsystem/UnixEventProcessor.cc
index 5f4d646..776eb64 100644
--- a/iocore/eventsystem/UnixEventProcessor.cc
+++ b/iocore/eventsystem/UnixEventProcessor.cc
@@ -124,8 +124,6 @@ EventProcessor::spawn_event_threads(int n_threads, const char* et_name, size_t s
 }
 
 
-#define INK_NO_CLUSTER
-
 class EventProcessor eventProcessor;
 
 int

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/iocore/hostdb/include/Machine.h
----------------------------------------------------------------------
diff --git a/iocore/hostdb/include/Machine.h b/iocore/hostdb/include/Machine.h
index 2c49995..c377ca4 100644
--- a/iocore/hostdb/include/Machine.h
+++ b/iocore/hostdb/include/Machine.h
@@ -110,12 +110,10 @@ void free_MachineList(MachineList * l);
 #ifdef FIXME_CONFIG
 struct clusterConfigFile: configFile
 {
-#ifndef INK_NO_CLUSTER
   char *parseFile(int fd)
   {
     return (char *) read_MachineList(NULL, fd);
   }
-#endif
 };
 #endif
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/iocore/net/Net.cc
----------------------------------------------------------------------
diff --git a/iocore/net/Net.cc b/iocore/net/Net.cc
index 0014bf4..2ae2c99 100644
--- a/iocore/net/Net.cc
+++ b/iocore/net/Net.cc
@@ -98,7 +98,6 @@ register_net_stats()
                      RECD_INT, RECP_NULL, (int) net_calls_to_write_nodata_stat, RecRawStatSyncSum);
   NET_CLEAR_DYN_STAT(net_calls_to_write_nodata_stat);
 
-#ifndef INK_NO_SOCKS
   RecRegisterRawStat(net_rsb, RECT_PROCESS, "proxy.process.socks.connections_successful",
                      RECD_INT, RECP_NULL, (int) socks_connections_successful_stat, RecRawStatSyncSum);
 
@@ -108,7 +107,6 @@ register_net_stats()
   RecRegisterRawStat(net_rsb, RECT_PROCESS, "proxy.process.socks.connections_currently_open",
                      RECD_INT, RECP_NON_PERSISTENT, (int) socks_connections_currently_open_stat, RecRawStatSyncSum);
   NET_CLEAR_DYN_STAT(socks_connections_currently_open_stat);
-#endif
 
   RecRegisterRawStat(net_rsb, RECT_PROCESS, "proxy.process.net.inactivity_cop_lock_acquire_failure",
                      RECD_INT, RECP_NULL, (int) inactivity_cop_lock_acquire_failure_stat,

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/iocore/net/UnixNetProcessor.cc
----------------------------------------------------------------------
diff --git a/iocore/net/UnixNetProcessor.cc b/iocore/net/UnixNetProcessor.cc
index 090a549..ef8534a 100644
--- a/iocore/net/UnixNetProcessor.cc
+++ b/iocore/net/UnixNetProcessor.cc
@@ -201,7 +201,6 @@ UnixNetProcessor::connect_re_internal(
   // virtual function used to upgrade etype to ET_SSL for SSLNetProcessor.
   upgradeEtype(opt->etype);
 
-#ifndef INK_NO_SOCKS
   bool using_socks = (socks_conf_stuff->socks_needed && opt->socks_support != NO_SOCKS
 #ifdef SOCKS_WITH_TS
                       && (opt->socks_version != SOCKS_DEFAULT_VERSION ||
@@ -213,7 +212,7 @@ UnixNetProcessor::connect_re_internal(
 #endif
     );
   SocksEntry *socksEntry = NULL;
-#endif
+
   NET_SUM_GLOBAL_DYN_STAT(net_connections_currently_open_stat, 1);
   vc->id = net_next_connection_number();
   vc->submit_time = ink_get_hrtime();
@@ -221,7 +220,7 @@ UnixNetProcessor::connect_re_internal(
   ats_ip_copy(&vc->server_addr, target);
   vc->mutex = cont->mutex;
   Action *result = &vc->action_;
-#ifndef INK_NO_SOCKS
+
   if (using_socks) {
     char buff[INET6_ADDRPORTSTRLEN];
     Debug("Socks", "Using Socks ip: %s\n", ats_ip_nptop(target, buff, sizeof(buff)));
@@ -241,9 +240,6 @@ UnixNetProcessor::connect_re_internal(
     Debug("Socks", "Not Using Socks %d \n", socks_conf_stuff->socks_needed);
     vc->action_ = cont;
   }
-#else
-  vc->action_ = cont;
-#endif /*INK_NO_SOCKS */
 
   if (t->is_event_type(opt->etype)) {
     MUTEX_TRY_LOCK(lock, cont->mutex, t);
@@ -252,21 +248,17 @@ UnixNetProcessor::connect_re_internal(
       if (lock2) {
         int ret;
         ret = vc->connectUp(t);
-#ifndef INK_NO_SOCKS
         if ((using_socks) && (ret == CONNECT_SUCCESS))
           return &socksEntry->action_;
         else
-#endif
           return ACTION_RESULT_DONE;
       }
     }
   }
   eventProcessor.schedule_imm(vc, opt->etype);
-#ifndef INK_NO_SOCKS
   if (using_socks) {
     return &socksEntry->action_;
   } else
-#endif
     return result;
 }
 
@@ -422,7 +414,6 @@ UnixNetProcessor::start(int, size_t)
   change_net_connections_throttle(NULL, RECD_INT, d, NULL);
 
   // Socks
-#ifndef INK_NO_SOCKS
   if (!netProcessor.socks_conf_stuff) {
     socks_conf_stuff = NEW(new socks_conf_struct);
     loadSocksConfiguration(socks_conf_stuff);
@@ -434,7 +425,7 @@ UnixNetProcessor::start(int, size_t)
       socks_conf_stuff = netProcessor.socks_conf_stuff;
     }
   }
-#endif /*INK_NO_SOCKS */
+
   // commented by vijay -  bug 2489945
   /*if (use_accept_thread) // 0
      { NetAccept * na = createNetAccept();

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/lib/ts/ink_config.h.in
----------------------------------------------------------------------
diff --git a/lib/ts/ink_config.h.in b/lib/ts/ink_config.h.in
index 989b23a..784702d 100644
--- a/lib/ts/ink_config.h.in
+++ b/lib/ts/ink_config.h.in
@@ -80,26 +80,10 @@
 #define TS_HAS_128BIT_CAS              @has_128bit_cas@
 
 /* API */
-#define TS_IS_MICRO_BUILD              @is_micro_build@
 #define TS_HAS_STANDALONE_IOCORE       @has_standalone_iocore@
 #define TS_HAS_TESTS                   @has_tests@
 #define TS_HAS_WCCP                    @has_wccp@
 
-/* XXX: Should make those individually selectable ? */
-/* TODO: Use TS prefix instead no prefix or INK    */
-#if TS_IS_MICRO_BUILD
-# define TS_MICRO                       1
-# define INK_NO_ACL                     1
-# define INK_NO_CLUSTER                 1
-# define TS_USE_DIAGS                   0
-# define INK_NO_HOSTDB                  1
-# define INK_NO_ICP                     1
-# define INK_NO_LOG                     1
-# define INK_NO_SOCKS                   1
-# define INK_NO_STAT_PAGES              1
-# define INK_USE_MUTEX_FOR_ATOMICLISTS  1
-#endif
-
 #define TS_MAX_THREADS_IN_EACH_THREAD_TYPE  @max_threads_per_type@
 #define TS_MAX_NUMBER_EVENT_THREADS  @max_event_threads@
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/lib/ts/ink_queue.cc
----------------------------------------------------------------------
diff --git a/lib/ts/ink_queue.cc b/lib/ts/ink_queue.cc
index 173b030..2bf1ee3 100644
--- a/lib/ts/ink_queue.cc
+++ b/lib/ts/ink_queue.cc
@@ -369,21 +369,13 @@ ink_freelists_dump(FILE * f)
 void
 ink_atomiclist_init(InkAtomicList * l, const char *name, uint32_t offset_to_next)
 {
-#if defined(INK_USE_MUTEX_FOR_ATOMICLISTS)
-  ink_mutex_init(&(l->inkatomiclist_mutex), name);
-#endif
   l->name = name;
   l->offset = offset_to_next;
   SET_FREELIST_POINTER_VERSION(l->head, FROM_PTR(0), 0);
 }
 
-#if defined(INK_USE_MUTEX_FOR_ATOMICLISTS)
-void *
-ink_atomiclist_pop_wrap(InkAtomicList * l)
-#else /* !INK_USE_MUTEX_FOR_ATOMICLISTS */
 void *
 ink_atomiclist_pop(InkAtomicList * l)
-#endif                          /* !INK_USE_MUTEX_FOR_ATOMICLISTS */
 {
   head_p item;
   head_p next;
@@ -394,17 +386,11 @@ ink_atomiclist_pop(InkAtomicList * l)
       return NULL;
     SET_FREELIST_POINTER_VERSION(next, *ADDRESS_OF_NEXT(TO_PTR(FREELIST_POINTER(item)), l->offset),
                                  FREELIST_VERSION(item) + 1);
-#if !defined(INK_USE_MUTEX_FOR_ATOMICLISTS)
 #if TS_HAS_128BIT_CAS
        result = ink_atomic_cas((__int128_t*) & l->head.data, item.data, next.data);
 #else
        result = ink_atomic_cas((int64_t *) & l->head.data, item.data, next.data);
 #endif
-#else
-    l->head.data = next.data;
-    result = 1;
-#endif
-
   }
   while (result == 0);
   {
@@ -414,13 +400,8 @@ ink_atomiclist_pop(InkAtomicList * l)
   }
 }
 
-#if defined(INK_USE_MUTEX_FOR_ATOMICLISTS)
-void *
-ink_atomiclist_popall_wrap(InkAtomicList * l)
-#else /* !INK_USE_MUTEX_FOR_ATOMICLISTS */
 void *
 ink_atomiclist_popall(InkAtomicList * l)
-#endif                          /* !INK_USE_MUTEX_FOR_ATOMICLISTS */
 {
   head_p item;
   head_p next;
@@ -430,17 +411,11 @@ ink_atomiclist_popall(InkAtomicList * l)
     if (TO_PTR(FREELIST_POINTER(item)) == NULL)
       return NULL;
     SET_FREELIST_POINTER_VERSION(next, FROM_PTR(NULL), FREELIST_VERSION(item) + 1);
-#if !defined(INK_USE_MUTEX_FOR_ATOMICLISTS)
 #if TS_HAS_128BIT_CAS
        result = ink_atomic_cas((__int128_t*) & l->head.data, item.data, next.data);
 #else
        result = ink_atomic_cas((int64_t *) & l->head.data, item.data, next.data);
 #endif
-#else
-    l->head.data = next.data;
-    result = 1;
-#endif
-
   }
   while (result == 0);
   {
@@ -456,13 +431,8 @@ ink_atomiclist_popall(InkAtomicList * l)
   }
 }
 
-#if defined(INK_USE_MUTEX_FOR_ATOMICLISTS)
-void *
-ink_atomiclist_push_wrap(InkAtomicList * l, void *item)
-#else /* !INK_USE_MUTEX_FOR_ATOMICLISTS */
 void *
 ink_atomiclist_push(InkAtomicList * l, void *item)
-#endif                          /* !INK_USE_MUTEX_FOR_ATOMICLISTS */
 {
   volatile_void_p *adr_of_next = (volatile_void_p *) ADDRESS_OF_NEXT(item, l->offset);
   head_p head;
@@ -476,30 +446,19 @@ ink_atomiclist_push(InkAtomicList * l, void *item)
     ink_assert(item != TO_PTR(h));
     SET_FREELIST_POINTER_VERSION(item_pair, FROM_PTR(item), FREELIST_VERSION(head));
     INK_MEMORY_BARRIER;
-#if !defined(INK_USE_MUTEX_FOR_ATOMICLISTS)
 #if TS_HAS_128BIT_CAS
        result = ink_atomic_cas((__int128_t*) & l->head, head.data, item_pair.data);
 #else
        result = ink_atomic_cas((int64_t *) & l->head, head.data, item_pair.data);
 #endif
-#else
-    l->head.data = item_pair.data;
-    result = 1;
-#endif
-
   }
   while (result == 0);
 
   return TO_PTR(h);
 }
 
-#if defined(INK_USE_MUTEX_FOR_ATOMICLISTS)
-void *
-ink_atomiclist_remove_wrap(InkAtomicList * l, void *item)
-#else /* !INK_USE_MUTEX_FOR_ATOMICLISTS */
 void *
 ink_atomiclist_remove(InkAtomicList * l, void *item)
-#endif                          /* !INK_USE_MUTEX_FOR_ATOMICLISTS */
 {
   head_p head;
   void *prev = NULL;
@@ -514,16 +473,12 @@ ink_atomiclist_remove(InkAtomicList * l, void *item)
   while (TO_PTR(FREELIST_POINTER(head)) == item) {
     head_p next;
     SET_FREELIST_POINTER_VERSION(next, item_next, FREELIST_VERSION(head) + 1);
-#if !defined(INK_USE_MUTEX_FOR_ATOMICLISTS)
 #if TS_HAS_128BIT_CAS
        result = ink_atomic_cas((__int128_t*) & l->head.data, head.data, next.data);
 #else
        result = ink_atomic_cas((int64_t *) & l->head.data, head.data, next.data);
 #endif
-#else
-    l->head.data = next.data;
-    result = 1;
-#endif
+
     if (result) {
       *addr_next = NULL;
       return item;

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/lib/ts/ink_queue.h
----------------------------------------------------------------------
diff --git a/lib/ts/ink_queue.h b/lib/ts/ink_queue.h
index ec24ec3..6004575 100644
--- a/lib/ts/ink_queue.h
+++ b/lib/ts/ink_queue.h
@@ -190,9 +190,6 @@ extern "C"
 
   typedef struct
   {
-#if defined(INK_USE_MUTEX_FOR_ATOMICLISTS)
-    ink_mutex inkatomiclist_mutex;
-#endif
     volatile head_p head;
     const char *name;
     uint32_t offset;
@@ -206,7 +203,6 @@ extern "C"
 #endif
 
   inkcoreapi void ink_atomiclist_init(InkAtomicList * l, const char *name, uint32_t offset_to_next);
-#if !defined(INK_USE_MUTEX_FOR_ATOMICLISTS)
   inkcoreapi void *ink_atomiclist_push(InkAtomicList * l, void *item);
   void *ink_atomiclist_pop(InkAtomicList * l);
   inkcoreapi void *ink_atomiclist_popall(InkAtomicList * l);
@@ -217,47 +213,7 @@ extern "C"
  * WARNING WARNING WARNING WARNING WARNING WARNING WARNING
  */
   void *ink_atomiclist_remove(InkAtomicList * l, void *item);
-#else /* INK_USE_MUTEX_FOR_ATOMICLISTS */
-  void *ink_atomiclist_push_wrap(InkAtomicList * l, void *item);
-  static inline void *ink_atomiclist_push(InkAtomicList * l, void *item)
-  {
-    void *ret_value = NULL;
-    ink_mutex_acquire(&(l->inkatomiclist_mutex));
-    ret_value = ink_atomiclist_push_wrap(l, item);
-    ink_mutex_release(&(l->inkatomiclist_mutex));
-    return ret_value;
-  }
-
-  void *ink_atomiclist_pop_wrap(InkAtomicList * l);
-  static inline void *ink_atomiclist_pop(InkAtomicList * l)
-  {
-    void *ret_value = NULL;
-    ink_mutex_acquire(&(l->inkatomiclist_mutex));
-    ret_value = ink_atomiclist_pop_wrap(l);
-    ink_mutex_release(&(l->inkatomiclist_mutex));
-    return ret_value;
-  }
-
-  void *ink_atomiclist_popall_wrap(InkAtomicList * l);
-  static inline void *ink_atomiclist_popall(InkAtomicList * l)
-  {
-    void *ret_value = NULL;
-    ink_mutex_acquire(&(l->inkatomiclist_mutex));
-    ret_value = ink_atomiclist_popall_wrap(l);
-    ink_mutex_release(&(l->inkatomiclist_mutex));
-    return ret_value;
-  }
-
-  void *ink_atomiclist_remove_wrap(InkAtomicList * l, void *item);
-  static inline void *ink_atomiclist_remove(InkAtomicList * l, void *item)
-  {
-    void *ret_value = NULL;
-    ink_mutex_acquire(&(l->inkatomiclist_mutex));
-    ret_value = ink_atomiclist_remove_wrap(l, item);
-    ink_mutex_release(&(l->inkatomiclist_mutex));
-    return ret_value;
-  }
-#endif /* INK_USE_MUTEX_FOR_ATOMICLISTS */
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/CacheControl.cc
----------------------------------------------------------------------
diff --git a/proxy/CacheControl.cc b/proxy/CacheControl.cc
index 91913b2..3031531 100644
--- a/proxy/CacheControl.cc
+++ b/proxy/CacheControl.cc
@@ -49,7 +49,6 @@
 #include "StatSystem.h"
 #include "P_Cache.h"
 
-#ifndef INK_NO_ACL
 static const char modulePrefix[] = "[CacheControl]";
 
 # define TWEAK_CACHE_RESPONSES_TO_COOKIES "cache-responses-to-cookies"
@@ -501,22 +500,3 @@ CacheControlRecord::UpdateMatch(CacheControlResult * result, RequestData * rdata
           this->line_num, crtc_debug);
   }
 }
-#else
-#include "CacheControl.h"
-
-void
-CacheControlRecord::Print()
-{
-}
-
-char *
-CacheControlRecord::Init(matcher_line * line_info)
-{
-  return NULL;
-}
-
-void
-CacheControlRecord::UpdateMatch(CacheControlResult * result, RequestData * rdata)
-{
-}
-#endif // INK_NO_ACL

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/ControlMatcher.cc
----------------------------------------------------------------------
diff --git a/proxy/ControlMatcher.cc b/proxy/ControlMatcher.cc
index 8bd98a6..6680d69 100644
--- a/proxy/ControlMatcher.cc
+++ b/proxy/ControlMatcher.cc
@@ -1013,22 +1013,18 @@ template class UrlMatcher<ParentRecord, ParentResult>;
 template class IpMatcher<ParentRecord, ParentResult>;
 template class HostRegexMatcher<ParentRecord, ParentResult>;
 
-#ifndef INK_NO_HOSTDB
 template class ControlMatcher<SplitDNSRecord, SplitDNSResult>;
 template class HostMatcher<SplitDNSRecord, SplitDNSResult>;
 template class RegexMatcher<SplitDNSRecord, SplitDNSResult>;
 template class UrlMatcher<SplitDNSRecord, SplitDNSResult>;
 template class IpMatcher<SplitDNSRecord, SplitDNSResult>;
 template class HostRegexMatcher<SplitDNSRecord, SplitDNSResult>;
-#endif
 
-#ifndef INK_NO_ACL
 template class ControlMatcher<CacheControlRecord, CacheControlResult>;
 template class HostMatcher<CacheControlRecord, CacheControlResult>;
 template class RegexMatcher<CacheControlRecord, CacheControlResult>;
 template class UrlMatcher<CacheControlRecord, CacheControlResult>;
 template class IpMatcher<CacheControlRecord, CacheControlResult>;
-#endif
 
 template class ControlMatcher<CongestionControlRecord, CongestionControlRule>;
 template class HostMatcher<CongestionControlRecord, CongestionControlRule>;

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/ControlMatcher.h
----------------------------------------------------------------------
diff --git a/proxy/ControlMatcher.h b/proxy/ControlMatcher.h
index 8063e58..c6f1c1b 100644
--- a/proxy/ControlMatcher.h
+++ b/proxy/ControlMatcher.h
@@ -173,9 +173,7 @@ public:
   int getNumElements() { return num_el; }
   Data *getDataArray() { return data_array; }
 
-#ifndef TS_MICRO
 protected:
-#endif
   InkHashTable *url_ht;
   char **url_str;                // array of url strings
   int  *url_value;                // array of posion of url strings
@@ -199,9 +197,7 @@ public:
   int getNumElements() { return num_el; }
   Data *getDataArray() { return data_array; }
 
-#ifndef TS_MICRO
 protected:
-#endif
   pcre** re_array;              // array of compiled regexs
   char **re_str;                // array of uncompiled regex strings
   Data *data_array;             // data array.  Corresponds to re_array
@@ -230,9 +226,7 @@ public:
   Data *getDataArray() { return data_array; }
   HostLookup *getHLookup() { return host_lookup; }
 
-#ifndef TS_MICRO
 private:
-#endif
   static void PrintFunc(void *opaque_data);
   HostLookup *host_lookup;      // Data structure to do the lookups
   Data *data_array;             // array of all data items

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/DynamicStats.h
----------------------------------------------------------------------
diff --git a/proxy/DynamicStats.h b/proxy/DynamicStats.h
index ef527c1..056de9d 100644
--- a/proxy/DynamicStats.h
+++ b/proxy/DynamicStats.h
@@ -99,20 +99,5 @@ _D(cluster_write_lock_misses_stat)
 _D(cpu_metric_load_percent_stat)
 _D(cpu_metric_net_loops_per_second_stat)
 _D(cpu_metric_fds_ready_per_loop_stat)
-    //
-    // Dynamic Scheduled Update Stats
-    //
-#ifdef TS_MICRO
-    //
-    // Prefetch Stuffer Stats
-    //
-_D(stuffer_total_promises)
-_D(stuffer_total_objects)
-_D(stuffer_total_bytes_received)
-_D(stuffer_open_read_blocks)
-_D(stuffer_ram_cache_hits)
-_D(stuffer_ram_cache_misses)
-_D(stuffer_url_lookup_misses)
-_D(stuffer_total_objects_pushed)
-#endif
+
 _FOOTER

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/Main.cc
----------------------------------------------------------------------
diff --git a/proxy/Main.cc b/proxy/Main.cc
index 438242e..590e4de 100644
--- a/proxy/Main.cc
+++ b/proxy/Main.cc
@@ -401,18 +401,15 @@ shutdown_system()
 #define CMD_IN_PROGRESS 2       // task not completed. don't exit
 
 static int
-cmd_list(char *cmd)
+cmd_list(char * /* cmd ATS_UNUSED */)
 {
-  (void) cmd;
   printf("LIST\n\n");
 
   // show hostdb size
 
-#ifndef INK_NO_HOSTDB
   int h_size = 120000;
   TS_ReadConfigInteger(h_size, "proxy.config.hostdb.size");
   printf("Host Database size:\t%d\n", h_size);
-#endif
 
   // show cache config information....
 
@@ -529,9 +526,7 @@ cmd_check_internal(char * /* cmd ATS_UNUSED */, bool fix = false)
   printf("%s\n\n", n);
   int res = 0;
 
-#ifndef INK_NO_HOSTDB
   hostdb_current_interval = (ink_get_based_hrtime() / HRTIME_MINUTE);
-#endif
 
 //#ifndef INK_NO_ACC
 //  acc.clear_cache();
@@ -543,7 +538,6 @@ cmd_check_internal(char * /* cmd ATS_UNUSED */, bool fix = false)
     printf("%s, %s failed\n", err, n);
     return CMD_FAILED;
   }
-#ifndef INK_NO_HOSTDB
   printf("Host Database\n");
   HostDBCache hd;
   if (hd.start(fix) < 0) {
@@ -552,7 +546,6 @@ cmd_check_internal(char * /* cmd ATS_UNUSED */, bool fix = false)
   }
   res = hd.check("hostdb.config", fix) < 0 || res;
   hd.reset();
-#endif
 
   if (cacheProcessor.start() < 0) {
     printf("\nbad cache configuration, %s failed\n", n);
@@ -604,7 +597,6 @@ cmd_clear(char *cmd)
       return CMD_FAILED;
     }
   }
-#ifndef INK_NO_HOSTDB
   if (c_hdb || c_all) {
     Note("Clearing Host Database");
     if (hostDBProcessor.cache()->start(PROCESSOR_RECONFIGURE) < 0) {
@@ -615,7 +607,6 @@ cmd_clear(char *cmd)
     if (c_hdb)
       return CMD_OK;
   }
-#endif
 
 //#ifndef INK_NO_ACC
 //  if (c_adb || c_all) {
@@ -1549,9 +1540,7 @@ main(int /* argc ATS_UNUSED */, char **argv)
         _exit(1);               // in error
     }
   } else {
-#ifndef INK_NO_ACL
     initCacheControl();
-#endif
     initCongestionControl();
     IpAllow::startup();
     ParentConfig::startup();
@@ -1572,20 +1561,13 @@ main(int /* argc ATS_UNUSED */, char **argv)
 
     sslNetProcessor.start(getNumSSLThreads(), stacksize);
 
-#ifndef INK_NO_HOSTDB
     dnsProcessor.start(0, stacksize);
     if (hostDBProcessor.start() < 0)
       SignalWarning(MGMT_SIGNAL_SYSTEM_ERROR, "bad hostdb or storage configuration, hostdb disabled");
-#endif
-
-#ifndef INK_NO_CLUSTER
     clusterProcessor.init();
-#endif
 
-#ifndef INK_NO_LOG
     // initialize logging (after event and net processor)
     Log::init(remote_management_flag ? 0 : Log::NO_REMOTE_MANAGEMENT);
-#endif
 
     // Init plugins as soon as logging is ready.
     plugin_init(system_config_directory);        // plugin.config
@@ -1639,10 +1621,9 @@ main(int /* argc ATS_UNUSED */, char **argv)
     TS_ReadConfigInteger(http_enabled, "proxy.config.http.enabled");
 
     if (http_enabled) {
-#ifndef INK_NO_ICP
       int icp_enabled = 0;
       TS_ReadConfigInteger(icp_enabled, "proxy.config.icp.enabled");
-#endif
+
       // call the ready hooks before we start accepting connections.
       APIHook* hook = lifecycle_hooks->get(TS_LIFECYCLE_PORTS_INITIALIZED_HOOK);
       while (hook) {
@@ -1660,10 +1641,8 @@ main(int /* argc ATS_UNUSED */, char **argv)
       } else {
         start_HttpProxyServer(); // PORTS_READY_HOOK called from in here
       }
-#ifndef INK_NO_ICP
       if (icp_enabled)
         icpProcessor.start();
-#endif
     }
 
     // "Task" processor, possibly with its own set of task threads
@@ -1674,11 +1653,10 @@ main(int /* argc ATS_UNUSED */, char **argv)
     if (back_door_port != NO_FD)
       start_HttpProxyServerBackDoor(back_door_port, num_accept_threads > 0 ? 1 : 0); // One accept thread is enough
 
-#ifndef INK_NO_SOCKS
     if (netProcessor.socks_conf_stuff->accept_enabled) {
       start_SocksProxy(netProcessor.socks_conf_stuff->accept_port);
     }
-#endif
+
     ///////////////////////////////////////////
     // Initialize Scheduled Update subsystem
     ///////////////////////////////////////////
@@ -1694,9 +1672,7 @@ main(int /* argc ATS_UNUSED */, char **argv)
 
 #if TS_HAS_TESTS
     TransformTest::run();
-#ifndef INK_NO_HOSTDB
     run_HostDBTest();
-#endif
     //  run_SimpleHttp();
     run_RegressionTest();
 #endif

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/http/HttpBodyFactory.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpBodyFactory.cc b/proxy/http/HttpBodyFactory.cc
index 8ab5c7c..bdd0448 100644
--- a/proxy/http/HttpBodyFactory.cc
+++ b/proxy/http/HttpBodyFactory.cc
@@ -1005,7 +1005,7 @@ char *
 HttpBodyTemplate::build_instantiated_buffer(HttpTransact::State * context, int64_t *buflen_return)
 {
   char *buffer = NULL;
-#ifndef INK_NO_LOG
+
   Debug("body_factory_instantiation", "    before instantiation: [%s]", template_buffer);
 
   LogAccessHttp la(context->state_machine);
@@ -1016,8 +1016,7 @@ HttpBodyTemplate::build_instantiated_buffer(HttpTransact::State * context, int64
 
   *buflen_return = ((buffer == NULL) ? 0 : strlen(buffer));
   Debug("body_factory_instantiation", "    after instantiation: [%s]", buffer);
-
   Debug("body_factory", "  returning %" PRId64" byte instantiated buffer", *buflen_return);
-#endif
+
   return (buffer);
 }

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/http/HttpPages.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpPages.cc b/proxy/http/HttpPages.cc
index 699fc45..ad4f65e 100644
--- a/proxy/http/HttpPages.cc
+++ b/proxy/http/HttpPages.cc
@@ -30,7 +30,6 @@
 
 
  ****************************************************************************/
-#ifndef INK_NO_STAT_PAGES
 #include "HttpPages.h"
 #include "HttpSM.h"
 #include "HttpDebugNames.h"
@@ -479,11 +478,3 @@ http_pages_init()
   }
 
 }
-#else //INK_NO_STAT_PAGES
-void
-http_pages_init()
-{
-  return;
-}
-
-#endif

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/http/HttpPages.h
----------------------------------------------------------------------
diff --git a/proxy/http/HttpPages.h b/proxy/http/HttpPages.h
index e6b2bf8..6ee7ef5 100644
--- a/proxy/http/HttpPages.h
+++ b/proxy/http/HttpPages.h
@@ -34,7 +34,6 @@
 #ifndef _HTTP_PAGES_H_
 #define _HTTP_PAGES_H_
 
-#ifndef INK_NO_STAT_PAGES
 #include "libts.h"
 #include "P_EventSystem.h"
 #include "DynArray.h"
@@ -87,8 +86,6 @@ private:
   int64_t sm_id;
 };
 
-#endif //INK_NO_STAT_PAGES
-
 void http_pages_init();
 
 #endif

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/http/HttpSessionManager.h
----------------------------------------------------------------------
diff --git a/proxy/http/HttpSessionManager.h b/proxy/http/HttpSessionManager.h
index ba4361e..de59bac 100644
--- a/proxy/http/HttpSessionManager.h
+++ b/proxy/http/HttpSessionManager.h
@@ -43,13 +43,8 @@ class HttpSM;
 void
 initialize_thread_for_http_sessions(EThread *thread, int thread_index);
 
-#ifndef TS_MICRO
 #define  HSM_LEVEL1_BUCKETS   127
 #define  HSM_LEVEL2_BUCKETS   63
-#else
-#define  HSM_LEVEL1_BUCKETS   7
-#define  HSM_LEVEL2_BUCKETS   3
-#endif
 
 class SessionBucket: public Continuation
 {

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/http/HttpTransact.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc
index 42e0b38..4dfaaf7 100644
--- a/proxy/http/HttpTransact.cc
+++ b/proxy/http/HttpTransact.cc
@@ -2534,7 +2534,6 @@ HttpTransact::HandleCacheOpenReadHit(State* s)
 
     DebugTxn("http_seq", "[HttpTransact::HandleCacheOpenReadHit] " "Revalidate document with server");
 
-#ifndef INK_NO_ICP
     if (s->http_config_param->icp_enabled && icp_dynamic_enabled && s->http_config_param->stale_icp_enabled &&
         needs_authenticate == false && needs_cache_auth == false &&
         !s->hdr_info.client_request.is_pragma_no_cache_set() &&
@@ -2554,7 +2553,6 @@ HttpTransact::HandleCacheOpenReadHit(State* s)
 
       update_current_info(&s->current, &s->icp_info, HttpTransact::ICP_SUGGESTED_HOST, 1);
     }
-#endif //INK_NO_ICP
 
     if (s->stale_icp_lookup == false) {
       find_server_and_update_current_info(s);
@@ -2985,7 +2983,6 @@ HttpTransact::HandleCacheOpenReadMiss(State* s)
 }
 
 
-#ifndef INK_NO_ICP
 ///////////////////////////////////////////////////////////////////////////////
 // Name       : HandleICPLookup
 // Description:
@@ -3059,7 +3056,6 @@ HttpTransact::HandleICPLookup(State* s)
 
   return;
 }
-#endif //INK_NO_ICP
 
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -3170,11 +3166,9 @@ HttpTransact::HandleResponse(State* s)
   }
 
   switch (s->current.request_to) {
-#ifndef INK_NO_ICP
   case ICP_SUGGESTED_HOST:
     handle_response_from_icp_suggested_host(s);
     break;
-#endif
   case PARENT_PROXY:
     handle_response_from_parent(s);
     break;
@@ -3275,7 +3269,6 @@ HttpTransact::HandleStatPage(State* s)
   s->next_action = PROXY_INTERNAL_CACHE_NOOP;
 }
 
-#ifndef INK_NO_ICP
 ///////////////////////////////////////////////////////////////////////////////
 // Name       : handle_response_from_icp_suggested_host
 // Description: response came from the host suggested by the icp lookup
@@ -3333,7 +3326,6 @@ HttpTransact::handle_response_from_icp_suggested_host(State* s)
     break;
   }
 }
-#endif //INK_NO_ICP
 
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -3760,7 +3752,6 @@ HttpTransact::handle_forward_server_connection_open(State* s)
     return;
 
   }
-#ifndef INK_NO_HOSTDB
   else if (s->hdr_info.server_response.version_get() == HTTPVersion(1, 0)) {
     if (s->current.server->http_version == HTTPVersion(0, 9)) {
       // update_hostdb_to_indicate_server_version_is_1_0
@@ -3781,9 +3772,7 @@ HttpTransact::handle_forward_server_connection_open(State* s)
     } else {
       // dont update the hostdb. let us try again with what we currently think.
     }
-  }
-#endif
-  else {
+  } else {
     // dont update the hostdb. let us try again with what we currently think.
   }
 
@@ -5283,10 +5272,6 @@ HttpTransact::did_forward_server_send_0_9_response(State* s)
 bool
 HttpTransact::handle_internal_request(State* /* s ATS_UNUSED */, HTTPHdr* incoming_hdr)
 {
-#ifdef INK_NO_STAT_PAGES
-  return false;
-#else
-
   URL *url;
 
   ink_assert(incoming_hdr->type_get() == HTTP_TYPE_REQUEST);
@@ -5307,7 +5292,6 @@ HttpTransact::handle_internal_request(State* /* s ATS_UNUSED */, HTTPHdr* incomi
   }
 
   return true;
-#endif //INK_NO_STAT_PAGES
 }
 
 bool

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/logging/Log.h
----------------------------------------------------------------------
diff --git a/proxy/logging/Log.h b/proxy/logging/Log.h
index 3dd8ce4..c6b4af7 100644
--- a/proxy/logging/Log.h
+++ b/proxy/logging/Log.h
@@ -353,7 +353,6 @@ public:
   // main interface
   static void init(int configFlags = 0);
   static void init_fields();
-#ifndef INK_NO_LOG
   inkcoreapi static bool transaction_logging_enabled()
   {
     return (logging_mode == FULL_LOGGING || logging_mode == LOG_TRANSACTIONS_ONLY);
@@ -366,12 +365,6 @@ public:
 
   inkcoreapi static int access(LogAccess * lad);
   inkcoreapi static int error(const char *format, ...);
-#else
-  static int error(char *format, ...)
-  {
-    return LOG_OK;
-  }
-#endif
   inkcoreapi static int va_error(char *format, va_list ap);
 
   // public data members

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/logging/LogAccess.h
----------------------------------------------------------------------
diff --git a/proxy/logging/LogAccess.h b/proxy/logging/LogAccess.h
index 1f574e7..c54cf93 100644
--- a/proxy/logging/LogAccess.h
+++ b/proxy/logging/LogAccess.h
@@ -26,7 +26,6 @@
 
 
  ***************************************************************************/
-#if !defined (INK_NO_LOG)
 #ifndef LOG_ACCESS_H
 #define LOG_ACCESS_H
 #include "libts.h"
@@ -360,4 +359,3 @@ LogAccess::marshal_int(char *dest, int64_t source)
 char *resolve_logfield_string(LogAccess * context, const char *format_str);
 
 #endif
-#endif // INK_NO_LOG

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/logging/LogAccessHttp.h
----------------------------------------------------------------------
diff --git a/proxy/logging/LogAccessHttp.h b/proxy/logging/LogAccessHttp.h
index 52212b2..0568e4e 100644
--- a/proxy/logging/LogAccessHttp.h
+++ b/proxy/logging/LogAccessHttp.h
@@ -26,7 +26,6 @@
 #ifndef LOG_ACCESS_HTTP_H
 #define LOG_ACCESS_HTTP_H
 
-#if !defined (INK_NO_LOG)
 #include "Arena.h"
 #include "HTTP.h"
 #include "LogAccess.h"
@@ -170,4 +169,3 @@ private:
 };
 
 #endif
-#endif //INK_NO_LOG

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/logging/LogAccessICP.cc
----------------------------------------------------------------------
diff --git a/proxy/logging/LogAccessICP.cc b/proxy/logging/LogAccessICP.cc
index 0b66375..ebdd0df 100644
--- a/proxy/logging/LogAccessICP.cc
+++ b/proxy/logging/LogAccessICP.cc
@@ -31,7 +31,6 @@
 
 
  ***************************************************************************/
-#ifndef TS_MICRO
 #include "libts.h"
 #include "Error.h"
 #include "HTTP.h"
@@ -45,7 +44,7 @@
   -------------------------------------------------------------------------*/
 
 LogAccessICP::LogAccessICP(ICPlog * icp_log)
-:m_icp_log(icp_log)
+  : m_icp_log(icp_log)
 {
   ink_assert(m_icp_log != NULL);
 }
@@ -279,4 +278,3 @@ LogAccessICP::marshal_transfer_time_s(char *buf)
   }
   return INK_MIN_ALIGN;
 }
-#endif // TS_MICRO

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/logging/LogBuffer.h
----------------------------------------------------------------------
diff --git a/proxy/logging/LogBuffer.h b/proxy/logging/LogBuffer.h
index fc33374..31ee951 100644
--- a/proxy/logging/LogBuffer.h
+++ b/proxy/logging/LogBuffer.h
@@ -22,7 +22,6 @@
  */
 
 
-#if !defined (INK_NO_LOG)
 #ifndef LOG_BUFFER_H
 #define LOG_BUFFER_H
 
@@ -313,7 +312,4 @@ inline
 LogBufferIterator::~LogBufferIterator()
 {
 }
-
-
 #endif
-#endif //INK_NO_LOG

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/logging/LogCollationClientSM.cc
----------------------------------------------------------------------
diff --git a/proxy/logging/LogCollationClientSM.cc b/proxy/logging/LogCollationClientSM.cc
index 426a84d..6ce02b4 100644
--- a/proxy/logging/LogCollationClientSM.cc
+++ b/proxy/logging/LogCollationClientSM.cc
@@ -122,10 +122,8 @@ LogCollationClientSM::client_handler(int event, void *data)
   switch (m_client_state) {
   case LOG_COLL_CLIENT_AUTH:
     return client_auth(event, (VIO *) data);
-#ifndef INK_NO_HOSTDB
   case LOG_COLL_CLIENT_DNS:
     return client_dns(event, (HostDBInfo *) data);
-#endif
   case LOG_COLL_CLIENT_DONE:
     return client_done(event, data);
   case LOG_COLL_CLIENT_FAIL:
@@ -287,12 +285,10 @@ LogCollationClientSM::client_auth(int event, VIO * /* vio ATS_UNUSED */)
   }
 }
 
-#ifndef INK_NO_HOSTDB
 //-------------------------------------------------------------------------
 // LogCollationClientSM::client_dns
 // next: client_open || client_done
 //-------------------------------------------------------------------------
-
 int
 LogCollationClientSM::client_dns(int event, HostDBInfo * hostdb_info)
 {
@@ -324,7 +320,6 @@ LogCollationClientSM::client_dns(int event, HostDBInfo * hostdb_info)
   }
 
 }
-#endif // INK_NO_HOSTDB
 
 //-------------------------------------------------------------------------
 // LogCollationClientSM::client_done
@@ -351,10 +346,8 @@ LogCollationClientSM::client_done(int event, void * /* data ATS_UNUSED */)
       m_host_vc->do_io_close(0);
       m_host_vc = 0;
     }
-#ifndef TS_MICRO
     // flush unsent logs to orphan
     flush_to_orphan();
-#endif
 
     // cancel any pending events/actions
     if (m_pending_action != NULL) {
@@ -509,21 +502,7 @@ LogCollationClientSM::client_init(int event, void * /* data ATS_UNUSED */)
 
     // if we don't have an ip already, switch to client_dns
     if (! m_log_host->ip_addr().isValid()) {
-#ifndef INK_NO_HOSTDB
       return client_dns(LOG_COLL_EVENT_SWITCH, NULL);
-#else
-      if (m_log_host->m_name == 0)
-        return client_done(LOG_COLL_EVENT_SWITCH, NULL);
-
-      IpEndpoint ip4, ip6;
-      // Previous version called gethostbyname and just dereferenced
-      // the return. I don't know what should be done if this fails.
-      m_log_host->m_ip.invalidate();
-      ats_ip_getbestaddrinfo(m_log_host->m_name, &ip4, &ip6);
-      m_log_host->m_ip.assign(ip4.isValid() ? &ip4 : &ip6);
-      m_log_host->m_ip.toString(m_log_host->ipstr, sizeof(m_log_host->m_ipstr));
-      return client_open(LOG_COLL_EVENT_SWITCH, NULL);
-#endif
     } else {
       return client_open(LOG_COLL_EVENT_SWITCH, NULL);
     }
@@ -719,7 +698,6 @@ LogCollationClientSM::client_send(int event, VIO * /* vio ATS_UNUSED */)
 //-------------------------------------------------------------------------
 //-------------------------------------------------------------------------
 
-#ifndef TS_MICRO
 //-------------------------------------------------------------------------
 // LogCollationClientSM::flush_to_orphan
 //-------------------------------------------------------------------------
@@ -748,4 +726,3 @@ LogCollationClientSM::flush_to_orphan()
   Debug("log-coll", "[%d]client::client_send - m_flow = ALLOW", m_id);
   m_flow = LOG_COLL_FLOW_ALLOW;
 }
-#endif // TS_MICRO

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/logging/LogCollationClientSM.h
----------------------------------------------------------------------
diff --git a/proxy/logging/LogCollationClientSM.h b/proxy/logging/LogCollationClientSM.h
index 9428bf5..594e61c 100644
--- a/proxy/logging/LogCollationClientSM.h
+++ b/proxy/logging/LogCollationClientSM.h
@@ -27,9 +27,7 @@
 //-------------------------------------------------------------------------
 // includes
 //-------------------------------------------------------------------------
-#ifndef INK_NO_HOSTDB
 #include "P_HostDB.h"
-#endif
 #include "P_Net.h"
 #include "LogCollationBase.h"
 
@@ -81,9 +79,7 @@ private:
 
   // client states
   int client_auth(int event, VIO * vio);
-#ifndef INK_NO_HOSTDB
   int client_dns(int event, HostDBInfo * hostdb_info);
-#endif
   int client_done(int event, void *data);
   int client_fail(int event, void *data);
   int client_idle(int event, void *data);

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/logging/LogFile.h
----------------------------------------------------------------------
diff --git a/proxy/logging/LogFile.h b/proxy/logging/LogFile.h
index f3d6912..09c6660 100644
--- a/proxy/logging/LogFile.h
+++ b/proxy/logging/LogFile.h
@@ -127,11 +127,7 @@ class LogFile:public LogBufferSink
 {
 public:
   LogFile(const char *name, const char *header, LogFileFormat format, uint64_t signature,
-#ifndef TS_MICRO
           size_t ascii_buffer_size = 4 * 9216, size_t max_line_size = 9216,
-#else
-          size_t ascii_buffer_size = 1024, size_t max_line_size = 1024,
-#endif
           size_t overspill_report_count = 1000);
   LogFile(const LogFile &);
   ~LogFile();

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/logging/LogFormat.cc
----------------------------------------------------------------------
diff --git a/proxy/logging/LogFormat.cc b/proxy/logging/LogFormat.cc
index e95872c..cace523 100644
--- a/proxy/logging/LogFormat.cc
+++ b/proxy/logging/LogFormat.cc
@@ -325,7 +325,6 @@ LogFormat::~LogFormat()
   m_valid = false;
 }
 
-#ifndef TS_MICRO
 /*-------------------------------------------------------------------------
   LogFormat::format_from_specification
 
@@ -473,7 +472,6 @@ LogFormat::format_from_specification(char *spec, char **file_name, char **file_h
 
   return format;
 }
-#endif // TS_MICRO
 
 /*-------------------------------------------------------------------------
   LogFormat::parse_symbol_string

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/logging/LogHost.cc
----------------------------------------------------------------------
diff --git a/proxy/logging/LogHost.cc b/proxy/logging/LogHost.cc
index 3f7bef9..7804f68 100644
--- a/proxy/logging/LogHost.cc
+++ b/proxy/logging/LogHost.cc
@@ -330,17 +330,11 @@ LogHost::write (LogBuffer *lb)
   // send log_buffer; orphan if necessary
   int bytes_sent = m_log_collation_client_sm->send(lb_copy);
   if (bytes_sent <= 0) {
-#ifndef TS_MICRO
     orphan_write_and_delete(lb_copy);
 #if defined(LOG_BUFFER_TRACKING)
     Debug("log-buftrak", "[%d]LogHost::write - orphan write complete",
         lb_copy->header()->id);
 #endif // defined(LOG_BUFFER_TRACKING)
-#else
-    Note("Starting dropping log buffer due to overloading");
-    delete lb_copy;
-    lb_copy = 0;
-#endif // TS_MICRO
   }
 
   return bytes_sent;
@@ -348,7 +342,6 @@ LogHost::write (LogBuffer *lb)
 #endif // !defined(IOCORE_LOG_COLLATION)
 }
 
-#ifndef TS_MICRO
 int
 LogHost::orphan_write(LogBuffer * lb)
 {
@@ -369,7 +362,6 @@ LogHost::orphan_write_and_delete(LogBuffer * lb)
   lb = 0;
   return bytes;
 }
-#endif // TS_MICRO
 
 void
 LogHost::display(FILE * fd)

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/logging/LogObject.cc
----------------------------------------------------------------------
diff --git a/proxy/logging/LogObject.cc b/proxy/logging/LogObject.cc
index fcde79d..fd12e64 100644
--- a/proxy/logging/LogObject.cc
+++ b/proxy/logging/LogObject.cc
@@ -106,7 +106,6 @@ LogObject::LogObject(LogFormat *format, const char *log_dir,
     // compute_signature is a static function
     m_signature = compute_signature(m_format, m_basename, m_flags);
 
-#ifndef TS_MICRO
     // by default, create a LogFile for this object, if a loghost is
     // later specified, then we will delete the LogFile object
     //
@@ -115,7 +114,6 @@ LogObject::LogObject(LogFormat *format, const char *log_dir,
                                  Log::config->ascii_buffer_size,
                                  Log::config->max_line_size,
                                  Log::config->overspill_report_count));
-#endif // TS_MICRO
 
     LogBuffer *b = NEW (new LogBuffer (this, Log::config->log_buffer_size));
     ink_assert(b);
@@ -139,15 +137,11 @@ LogObject::LogObject(LogObject& rhs)
 {
     m_format = new LogFormat(*(rhs.m_format));
 
-#ifndef TS_MICRO
     if (rhs.m_logFile) {
         m_logFile = NEW (new LogFile(*(rhs.m_logFile)));
     } else {
-#endif
         m_logFile = NULL;
-#ifndef TS_MICRO
     }
-#endif
 
     LogFilter *filter;
     for (filter = rhs.m_filter_list.first(); filter;
@@ -357,21 +351,16 @@ LogObject::display(FILE * fd)
   fprintf(fd, "LogObject [%p]: format = %s (%p)\nbasename = %s\n" "flags = %u\n"
           "signature = %" PRIu64 "\n",
           this, m_format->name(), m_format, m_basename, m_flags, m_signature);
-#ifndef TS_MICRO
   if (is_collation_client()) {
     m_host_list.display(fd);
   } else {
-#endif // TS_MICRO
     fprintf(fd, "full path = %s\n", get_full_filename());
-#ifndef TS_MICRO
   }
-#endif // TS_MICRO
   m_filter_list.display(fd);
   fprintf(fd, "++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
 }
 
 
-#ifndef TS_MICRO
 void
 LogObject::displayAsXML(FILE * fd, bool extended)
 {
@@ -399,7 +388,6 @@ LogObject::displayAsXML(FILE * fd, bool extended)
 
   fprintf(fd, "</LogObject>\n");
 }
-#endif // TS_MICRO
 
 
 LogBuffer *
@@ -996,7 +984,6 @@ LogObjectManager::_solve_filename_conflicts(LogObject * log_object, int maxConfl
 {
   int retVal = NO_FILENAME_CONFLICTS;
 
-#ifndef TS_MICRO
   char *filename = log_object->get_full_filename();
 
   if (access(filename, F_OK)) {
@@ -1092,12 +1079,10 @@ LogObjectManager::_solve_filename_conflicts(LogObject * log_object, int maxConfl
       }
     }
   }
-#endif // TS_MICRO
   return retVal;
 }
 
 
-#ifndef TS_MICRO
 bool
 LogObjectManager::_has_internal_filename_conflict(char *filename, LogObject ** objects, int numObjects)
 {
@@ -1116,15 +1101,12 @@ LogObjectManager::_has_internal_filename_conflict(char *filename, LogObject ** o
   }
   return false;
 }
-#endif // TS_MICRO
 
 
 int
 LogObjectManager::_solve_internal_filename_conflicts(LogObject *log_object, int maxConflicts, int fileNum)
 {
   int retVal = NO_FILENAME_CONFLICTS;
-
-#ifndef TS_MICRO
   char *filename = log_object->get_full_filename();
 
   if (_has_internal_filename_conflict(filename, _objects, _numObjects) ||
@@ -1144,7 +1126,6 @@ LogObjectManager::_solve_internal_filename_conflicts(LogObject *log_object, int
       retVal = CANNOT_SOLVE_FILENAME_CONFLICTS;
     }
   }
-#endif // TS_MICRO
   return retVal;
 }
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b4d411e0/proxy/logging/LogObject.h
----------------------------------------------------------------------
diff --git a/proxy/logging/LogObject.h b/proxy/logging/LogObject.h
index 924e9b0..8e96c72 100644
--- a/proxy/logging/LogObject.h
+++ b/proxy/logging/LogObject.h
@@ -221,9 +221,7 @@ private:
 
   void generate_filenames(const char *log_dir, const char *basename, LogFileFormat file_format);
   void _setup_rolling(int rolling_enabled, int rolling_interval_sec, int rolling_offset_hr, int rolling_size_mb);
-#ifndef TS_MICRO
   int _roll_files(long interval_start, long interval_end);
-#endif
 
   LogBuffer *_checkout_write(size_t * write_offset, size_t write_size);
 
@@ -311,9 +309,7 @@ public:
 private:
 
   int _manage_object(LogObject * log_object, bool is_api_object, int maxConflicts);
-#ifndef TS_MICRO
   static bool _has_internal_filename_conflict(char *filename, LogObject ** objects, int numObjects);
-#endif                          // TS_MICRO
   int _solve_filename_conflicts(LogObject * log_obj, int maxConflicts);
   int _solve_internal_filename_conflicts(LogObject * log_obj, int maxConflicts, int fileNum = 0);
   void _add_object(LogObject * object);


[49/52] [abbrv] git commit: TS-2092 Use of uninitialized member in HdrHeap.

Posted by zw...@apache.org.
TS-2092 Use of uninitialized member in HdrHeap.


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/4651ca76
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/4651ca76
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/4651ca76

Branch: refs/heads/3.3.x
Commit: 4651ca76daeebceb43d2a2c9b899d2faa75ba8aa
Parents: 94e9830
Author: Leif Hedstrom <zw...@apache.org>
Authored: Sat Aug 3 01:13:52 2013 -0600
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Sat Aug 3 01:13:57 2013 -0600

----------------------------------------------------------------------
 CHANGES               | 3 +++
 proxy/hdrs/HdrHeap.cc | 1 +
 2 files changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/4651ca76/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index c8fde03..8a54291 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache Traffic Server 3.3.5
   
+
+  *) [TS-2092] Use of uninitialized member in HdrHeap.
+
   *) [TS-2052] ET_SSL thread spinning
    Author: Can Selcik <cselcik at linkedin.com>
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/4651ca76/proxy/hdrs/HdrHeap.cc
----------------------------------------------------------------------
diff --git a/proxy/hdrs/HdrHeap.cc b/proxy/hdrs/HdrHeap.cc
index 9f6f187..6bcd06b 100644
--- a/proxy/hdrs/HdrHeap.cc
+++ b/proxy/hdrs/HdrHeap.cc
@@ -105,6 +105,7 @@ HdrHeap::init()
     m_ronly_heap[i].m_heap_start = NULL;
     m_ronly_heap[i].m_ref_count_ptr.m_ptr = NULL;
     m_ronly_heap[i].m_locked = false;
+    m_ronly_heap[i].m_heap_len = 0;
   }
   m_lost_string_space = 0;
 


[19/52] [abbrv] git commit: doc: convert TSTrafficServerVersionGet(3) to sphinx

Posted by zw...@apache.org.
doc: convert TSTrafficServerVersionGet(3) to sphinx


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/e0a2dd5d
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/e0a2dd5d
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/e0a2dd5d

Branch: refs/heads/3.3.x
Commit: e0a2dd5d630557390fd3216a1f5c8080b0dbcb57
Parents: fa4be92
Author: James Peach <jp...@apache.org>
Authored: Thu Aug 1 11:38:15 2013 -0700
Committer: James Peach <jp...@apache.org>
Committed: Thu Aug 1 11:38:15 2013 -0700

----------------------------------------------------------------------
 doc/conf.py                                     |  1 +
 .../api/TSTrafficServerVersionGet.en.rst        | 98 ++++++++++++++++++++
 2 files changed, 99 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e0a2dd5d/doc/conf.py
----------------------------------------------------------------------
diff --git a/doc/conf.py b/doc/conf.py
index e2067b0..d7c9f2b 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -223,6 +223,7 @@ man_pages = [
    ('reference/api/TSmalloc.en', 'TSmalloc', u'Traffic Server memory allocation API', None, u'3ts'),
    ('reference/api/TSPluginInit.en', 'TSPluginInit', u'Traffic Server plugin loading and registration', None, u'3ts'),
    ('reference/api/TSRemap.en', 'TSRemap', u'Traffic Server remap plugin entry points ', None, u'3ts'),
+   ('reference/api/TSTrafficServerVersionGet.en', 'TSTrafficServerVersionGet', u'return Traffic Server version information', None, u'3ts'),
 
    ('reference/commands/traffic_cop.en', 'traffic_cop', u'Traffic Server watchdog', None, '8'),
    ('reference/commands/traffic_line.en', 'traffic_line', u'Traffic Server command line', None, '8'),

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/e0a2dd5d/doc/reference/api/TSTrafficServerVersionGet.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSTrafficServerVersionGet.en.rst b/doc/reference/api/TSTrafficServerVersionGet.en.rst
new file mode 100644
index 0000000..e450743
--- /dev/null
+++ b/doc/reference/api/TSTrafficServerVersionGet.en.rst
@@ -0,0 +1,98 @@
+.. 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.
+
+.. default-domain:: c
+
+=========================
+TSTrafficServerVersionGet
+=========================
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: const char * TSTrafficServerVersionGet(void)
+.. function:: int TSTrafficServerVersionGetMajor(void)
+.. function:: int TSTrafficServerVersionGetMinor(void)
+.. function:: int TSTrafficServerVersionGetPatch(void)
+
+Description
+===========
+
+:func:`TSTrafficServerVersionGet` returns a pointer to a string of characters
+that indicates the Traffic Server release version. This string must not
+be modified.
+
+The other APIs return an integer version number.
+
+Example
+=======
+
+::
+
+    #include <stdio.h>
+    #include <ts/ts.h>
+
+    int
+    check_ts_version()
+    {
+        const char *ts_version = TSTrafficServerVersionGet();
+        int result = 0;
+
+        if (ts_version) {
+            int major_ts_version = 0;
+            int minor_ts_version = 0;
+            int patch_ts_version = 0;
+
+            if (sscanf(ts_version, "%d.%d.%d", &major_ts_version,
+                    &minor_ts_version, &patch_ts_version) != 3) {
+                return 0;
+            }
+
+            /* We need at least Traffic Server 3.0 */
+            if (major_ts_version >= 3) {
+                result = 1;
+            }
+        }
+
+        return result;
+    }
+
+    void
+    TSPluginInit (int argc, const char *argv[])
+    {
+        TSPluginRegistrationInfo info;
+        info.plugin_name = "hello-world";
+        info.vendor_name = "MyCompany";
+        info.support_email = "ts-api-support@MyCompany.com";
+
+        if (TSPluginRegister(TS_SDK_VERSION_3_0 , &info) != TS_SUCCESS) {
+            TSError("Plugin registration failed. 0);
+        }
+
+        if (!check_ts_version()) {
+            TSError("Plugin requires Traffic Server 3.0 or later0);
+            return;
+        }
+
+        TSDebug("debug-hello", "Hello World!0);
+    }
+
+See also
+========
+
+:manpage:`TSAPI(3ts)`


[37/52] [abbrv] git commit: Added TS-2086.

Posted by zw...@apache.org.
Added TS-2086.


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/7e26b684
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/7e26b684
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/7e26b684

Branch: refs/heads/3.3.x
Commit: 7e26b6845b2fe57f6c5eddd8e082c6cdde07e9d8
Parents: 0520723
Author: Leif Hedstrom <zw...@apache.org>
Authored: Fri Aug 2 00:08:41 2013 +0200
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Fri Aug 2 00:08:41 2013 +0200

----------------------------------------------------------------------
 CHANGES | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/7e26b684/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 67cd6d2..5250459 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,8 @@
 Changes with Apache Traffic Server 3.3.5
 
 
+  *) [TS-2086] Remove a few more unused configs.
+
   *) [TS-1685] Remove TS_MICRO and fellas.
 
   *) [TS-1255] Add more overridable configurations, and fix bugs in how we


[17/52] [abbrv] git commit: doc: convert TSPluginInit(3) to sphinx

Posted by zw...@apache.org.
doc: convert TSPluginInit(3) to sphinx


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/80b644e7
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/80b644e7
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/80b644e7

Branch: refs/heads/3.3.x
Commit: 80b644e7267cd543aad3a60230968cb7ed5c194d
Parents: c976718
Author: James Peach <jp...@apache.org>
Authored: Thu Aug 1 10:51:12 2013 -0700
Committer: James Peach <jp...@apache.org>
Committed: Thu Aug 1 10:51:12 2013 -0700

----------------------------------------------------------------------
 doc/conf.py                           |  1 +
 doc/reference/api/TSPluginInit.en.rst | 75 ++++++++++++++++++++++++++++++
 2 files changed, 76 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/80b644e7/doc/conf.py
----------------------------------------------------------------------
diff --git a/doc/conf.py b/doc/conf.py
index 75bf8b1..9d8edfd 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -221,6 +221,7 @@ man_pages = [
    ('reference/api/TSInstallDirGet.en', 'TSInstallDirGet', u'Return Traffic Server installation directories', None, u'3ts'),
    ('reference/api/TSMBufferCreate.en', 'TSMBufferCreate', u'Traffic Server marshall buffer API', None, u'3ts'),
    ('reference/api/TSmalloc.en', 'TSmalloc', u'Traffic Server memory allocation API', None, u'3ts'),
+   ('reference/api/TSPluginInit.en', 'TSPluginInit', u'Traffic Server plugin loading and registration', None, u'3ts'),
 
    ('reference/commands/traffic_cop.en', 'traffic_cop', u'Traffic Server watchdog', None, '8'),
    ('reference/commands/traffic_line.en', 'traffic_line', u'Traffic Server command line', None, '8'),

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/80b644e7/doc/reference/api/TSPluginInit.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSPluginInit.en.rst b/doc/reference/api/TSPluginInit.en.rst
new file mode 100644
index 0000000..ad75d9b
--- /dev/null
+++ b/doc/reference/api/TSPluginInit.en.rst
@@ -0,0 +1,75 @@
+.. 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.
+
+.. default-domain:: c
+
+============
+TSPluginInit
+============
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: void TSPluginInit(int argc, const char* argv[])
+.. function:: TSReturnCode TSPluginRegister(TSSDKVersion sdk_version, TSPluginRegistrationInfo* plugin_info)
+
+Description
+===========
+
+:func:`TSPluginInit` must be defined by all plugins. Traffic Server
+calls this initialization routine when it loads the plugin and sets
+argc and argv appropriately based on the values in plugin.config.
+argc is a count of the number of arguments in the argument vector,
+argv. The count is at least one because the first argument in the
+argument vector is the plugins name, which must exist in order for
+the plugin to be loaded. argv is the vector of arguments. The number
+of arguments in the vector is argc, and argv[0] always contains the
+name of the plugin shared library.  :func:`TSPluginRegister` registers
+the appropriate SDK version for your plugin.  Use this function to
+make sure that the version of Traffic Server on which your plugin
+is running supports the plugin.
+
+Return values
+=============
+
+:func:`TSPluginRegister` returns :data:`TS_ERROR` if the plugin registration failed.
+
+Examples
+========
+
+::
+
+    #include <ts/ts.h>
+
+    void
+    TSPluginInit (int argc, const char *argv[])
+    {
+        TSPluginRegistrationInfo info;
+        info.plugin_name = "hello-world";
+        info.vendor_name = "MyCompany";
+        info.support_email = "ts-api-support@MyCompany.com";
+
+        if (TSPluginRegister(TS_SDK_VERSION_3_0 , &info) != TS_SUCCESS) {
+            TSError("Plugin registration failed. 0);
+        }
+    }
+
+See also
+========
+
+:manpage:`TSAPI(3ts)`, :manpage:`TSInstallDirGet(3ts)`


[12/52] [abbrv] git commit: doc: fix man page section capitalization

Posted by zw...@apache.org.
doc: fix man page section capitalization


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/229a2095
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/229a2095
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/229a2095

Branch: refs/heads/3.3.x
Commit: 229a209568f2e70dc3cf5d5155e95568e405a003
Parents: a4a4b9b
Author: James Peach <jp...@apache.org>
Authored: Thu Aug 1 09:37:25 2013 -0700
Committer: James Peach <jp...@apache.org>
Committed: Thu Aug 1 09:37:25 2013 -0700

----------------------------------------------------------------------
 doc/reference/api/TSDebug.en.rst               |  2 +-
 doc/reference/api/TSHttpHookAdd.en.rst         |  2 +-
 doc/reference/api/TSHttpTxnMilestoneGet.en.rst | 10 +++++-----
 3 files changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/229a2095/doc/reference/api/TSDebug.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSDebug.en.rst b/doc/reference/api/TSDebug.en.rst
index 6471fa5..a57d8cd 100644
--- a/doc/reference/api/TSDebug.en.rst
+++ b/doc/reference/api/TSDebug.en.rst
@@ -78,6 +78,6 @@ debugging flag is enabled::
     TSDebugSpecifc(TSHttpTxnDebugGet(txn), "tag" ,
             "Hello World from transaction %p", txn);
 
-SEE ALSO
+See also
 ========
 :manpage:`TSAPI(3ts)`, :manpage:`printf(3)`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/229a2095/doc/reference/api/TSHttpHookAdd.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSHttpHookAdd.en.rst b/doc/reference/api/TSHttpHookAdd.en.rst
index d791db5..f61219f 100644
--- a/doc/reference/api/TSHttpHookAdd.en.rst
+++ b/doc/reference/api/TSHttpHookAdd.en.rst
@@ -115,6 +115,6 @@ transaction hooks::
         TSHttpHookAdd(TS_HTTP_SSN_START_HOOK, contp);
     }
 
-SEE ALSO
+See also
 ========
 :manpage:`TSAPI(3ts)`, :manpage:`TSContCreate(3ts)`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/229a2095/doc/reference/api/TSHttpTxnMilestoneGet.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSHttpTxnMilestoneGet.en.rst b/doc/reference/api/TSHttpTxnMilestoneGet.en.rst
index 993d712..9b4013f 100644
--- a/doc/reference/api/TSHttpTxnMilestoneGet.en.rst
+++ b/doc/reference/api/TSHttpTxnMilestoneGet.en.rst
@@ -19,19 +19,19 @@
 TSHttpTxnMilestoneGet
 =====================
 
-LIBRARY
+Library
 =======
 
 Apache Traffic Server plugin API
 
-SYNOPSIS
+Synopsis
 ========
 
 `#include <ts/ts.h>`
 
 .. function:: TSReturnCode TSHttpTxnMilestoneGet(TSHttpTxn txnp, TSMilestonesType milestone, TSHRTime * time)
 
-DESCRIPTION
+Description
 ===========
 
 :func:`TSHttpTxnMilestoneGet` will fetch a specific milestone timer
@@ -66,11 +66,11 @@ The supported :type:`TSMilestonesType` milestone types are:
 | :data:`TS_MILESTONE_SM_FINISH`
 | :data:`TS_MILESTONE_LAST_ENTRY`
 
-RETURN VALUES
+Return values
 =============
 
 :data:`TS_SUCCESS` or :data:`TS_ERROR`.
 
-SEE ALSO
+See also
 ========
 :manpage:`TSAPI(3ts)`


[08/52] [abbrv] git commit: doc: fix man page paths

Posted by zw...@apache.org.
doc: fix man page paths


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/114ca2a1
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/114ca2a1
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/114ca2a1

Branch: refs/heads/3.3.x
Commit: 114ca2a1957e91fad9104e16ebf4e6453d3cb5f9
Parents: c2eb736
Author: James Peach <jp...@apache.org>
Authored: Thu Aug 1 08:57:58 2013 -0700
Committer: James Peach <jp...@apache.org>
Committed: Thu Aug 1 08:57:58 2013 -0700

----------------------------------------------------------------------
 doc/conf.py | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/114ca2a1/doc/conf.py
----------------------------------------------------------------------
diff --git a/doc/conf.py b/doc/conf.py
index fe06ce8..fead8fe 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -214,22 +214,22 @@ latex_documents = [
 # One entry per manual page. List of tuples
 # (source start file, name, description, authors, manual section).
 man_pages = [
-    ('sdk/man/TSAPI.en', 'TSAPI', u'Introduction to the Apache Traffic Server API', None, u'3ts'),
-    ('sdk/man/TSDebug.en', 'TSDebug', u'Traffic Server Debugging APIs', None, u'3ts'),
-    ('sdk/man/TSHttpHookAdd.en', 'TSHttpHookAdd', u'Intercept Traffic Server events', None, u'3ts'),
-    ('sdk/man/TSHttpParserCreate.en', 'TSHttpParserCreate', u'Parse HTTP headers from memory buffers', None, u'3ts'),
-    ('sdk/man/TSHttpTxnMilestoneGet.en', 'TSHttpTxnMilestoneGet', u'Get a specified milestone timer value for the current transaction', None, u'3ts'),
-
-    ('admin/commands/traffic_cop.en', 'traffic_cop', u'Traffic Server watchdog', None, '8'),
-    ('admin/commands/traffic_line.en', 'traffic_line', u'Traffic Server command line', None, '8'),
-    ('admin/commands/traffic_logcat.en', 'traffic_logcat', u'traffic Server log spooler', None, '8'),
-    ('admin/commands/traffic_logstats.en', 'traffic_logstats', u'traffic Server analyzer', None, '8'),
-    ('admin/commands/traffic_manager.en', 'traffic_manager', u'traffic Server process manager', None, '8'),
-    ('admin/commands/traffic_server.en', 'traffic_server', u'Traffic Server', None, '8'),
-    ('admin/commands/traffic_shell.en', 'traffic_shell', u'Traffic Server shell', None, '8'),
-    ('admin/commands/tspush.en', 'tspush', u'Push objects into the Traffic Server cache', None, '1'),
-    ('admin/commands/tstop.en','tstop', u'display Traffic Server statistics', None, '1'),
-    ('admin/commands/tsxs.en', 'tsxs', u'Traffic Server plugin tool', None, '1'),
+    ('reference/api/TSAPI.en', 'TSAPI', u'Introduction to the Apache Traffic Server API', None, u'3ts'),
+    ('reference/api/TSDebug.en', 'TSDebug', u'Traffic Server Debugging APIs', None, u'3ts'),
+    ('reference/api/TSHttpHookAdd.en', 'TSHttpHookAdd', u'Intercept Traffic Server events', None, u'3ts'),
+    ('reference/api/TSHttpParserCreate.en', 'TSHttpParserCreate', u'Parse HTTP headers from memory buffers', None, u'3ts'),
+    ('reference/api/TSHttpTxnMilestoneGet.en', 'TSHttpTxnMilestoneGet', u'Get a specified milestone timer value for the current transaction', None, u'3ts'),
+
+    ('reference/commands/traffic_cop.en', 'traffic_cop', u'Traffic Server watchdog', None, '8'),
+    ('reference/commands/traffic_line.en', 'traffic_line', u'Traffic Server command line', None, '8'),
+    ('reference/commands/traffic_logcat.en', 'traffic_logcat', u'traffic Server log spooler', None, '8'),
+    ('reference/commands/traffic_logstats.en', 'traffic_logstats', u'traffic Server analyzer', None, '8'),
+    ('reference/commands/traffic_manager.en', 'traffic_manager', u'traffic Server process manager', None, '8'),
+    ('reference/commands/traffic_server.en', 'traffic_server', u'Traffic Server', None, '8'),
+    ('reference/commands/traffic_shell.en', 'traffic_shell', u'Traffic Server shell', None, '8'),
+    ('reference/commands/tspush.en', 'tspush', u'Push objects into the Traffic Server cache', None, '1'),
+    ('reference/commands/tstop.en','tstop', u'display Traffic Server statistics', None, '1'),
+    ('reference/commands/tsxs.en', 'tsxs', u'Traffic Server plugin tool', None, '1'),
     
 ]
 


[39/52] [abbrv] git commit: TS-1953: Remove check_ts_version() from experimental plugins

Posted by zw...@apache.org.
TS-1953: Remove check_ts_version() from experimental plugins

more axing: This time around, plugins/experimental.
i'm noticing that we do expose TS_VERSION, so ignore most of my last
commit message ;)


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/a8febbf5
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/a8febbf5
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/a8febbf5

Branch: refs/heads/3.3.x
Commit: a8febbf50fecd6707e450d65febac27734b0864f
Parents: 5b8b968
Author: Igor Galić <i....@brainsware.org>
Authored: Fri Aug 2 00:18:12 2013 +0200
Committer: Igor Galić <i....@brainsware.org>
Committed: Fri Aug 2 00:29:31 2013 +0200

----------------------------------------------------------------------
 .../experimental/channel_stats/channel_stats.cc | 29 ------------------
 .../experimental/healthchecks/healthchecks.c    | 27 -----------------
 plugins/experimental/rfc5861/rfc5861.c          | 31 --------------------
 plugins/experimental/tcp_info/tcp_info.cc       | 30 -------------------
 4 files changed, 117 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/a8febbf5/plugins/experimental/channel_stats/channel_stats.cc
----------------------------------------------------------------------
diff --git a/plugins/experimental/channel_stats/channel_stats.cc b/plugins/experimental/channel_stats/channel_stats.cc
index de5f757..5766bd0 100644
--- a/plugins/experimental/channel_stats/channel_stats.cc
+++ b/plugins/experimental/channel_stats/channel_stats.cc
@@ -794,31 +794,6 @@ api_handle_event(TSCont contp, TSEvent event, void *edata)
 
 // initial part
 
-static int
-check_ts_version()
-{
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version,
-                &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    // Need at least TS 3.0.0
-    if (major_ts_version >= 3) {
-      result = 1;
-    }
-  }
-
-  return result;
-}
-
 void
 TSPluginInit(int argc, const char *argv[])
 {
@@ -839,10 +814,6 @@ TSPluginInit(int argc, const char *argv[])
     fatal("plugin registration failed.");
   }
 
-  if (!check_ts_version()) {
-    fatal("plugin requires Traffic Server 3.0.0 or later");
-  }
-
   info("%s(%s) plugin starting...", PLUGIN_NAME, PLUGIN_VERSION);
 
   stats_map_mutex = TSMutexCreate();

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/a8febbf5/plugins/experimental/healthchecks/healthchecks.c
----------------------------------------------------------------------
diff --git a/plugins/experimental/healthchecks/healthchecks.c b/plugins/experimental/healthchecks/healthchecks.c
index daf21b0..3c550b7 100644
--- a/plugins/experimental/healthchecks/healthchecks.c
+++ b/plugins/experimental/healthchecks/healthchecks.c
@@ -522,28 +522,6 @@ health_check_origin(TSCont contp ATS_UNUSED, TSEvent event ATS_UNUSED, void *eda
   return 0;
 }
 
-/* Check the TS server version, make sure we're supporting it */
-inline int
-check_ts_version()
-{
-  const char *ts_version = TSTrafficServerVersionGet();
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3)
-      return 0;
-
-    /* Need at least TS 3.0 */
-    if (major_ts_version >= 3)
-      return 1;
-  }
-
-  return 0;
-}
-
 /* Initialize the plugin / global continuation hook */
 void
 TSPluginInit(int argc, const char *argv[])
@@ -564,11 +542,6 @@ TSPluginInit(int argc, const char *argv[])
     return;
   }
 
-  if (!check_ts_version()) {
-    TSError("Plugin requires Traffic Server 3.0 or later\n");
-    return;
-  }
-
   /* This will update the global configuration file, and is not reloaded at run time */
   /* ToDo: Support reloading with traffic_line -x  ? */
   if (NULL == (g_config = parse_configs(argv[1]))) {

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/a8febbf5/plugins/experimental/rfc5861/rfc5861.c
----------------------------------------------------------------------
diff --git a/plugins/experimental/rfc5861/rfc5861.c b/plugins/experimental/rfc5861/rfc5861.c
index 21c43e2..384aa91 100644
--- a/plugins/experimental/rfc5861/rfc5861.c
+++ b/plugins/experimental/rfc5861/rfc5861.c
@@ -709,31 +709,6 @@ rfc5861_plugin(TSCont cont, TSEvent event, void *edata)
     return 0;
 }
 
-static bool
-check_ts_version()
-{
-    const char *ts_version = TSTrafficServerVersionGet();
-
-    if (ts_version)
-    {
-        int major_ts_version = 0;
-        int minor_ts_version = 0;
-        int micro_ts_version = 0;
-
-        if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &micro_ts_version) != 3)
-        {
-            return false;
-        }
-
-        if ((TS_VERSION_MAJOR == major_ts_version) && (TS_VERSION_MINOR == minor_ts_version) && (TS_VERSION_MICRO == micro_ts_version))
-        {
-            return true;
-        }
-    }
-
-    return false;
-}
-
 void
 TSPluginInit (int argc, const char *argv[])
 {
@@ -754,12 +729,6 @@ TSPluginInit (int argc, const char *argv[])
         TSDebug(LOG_PREFIX, "Plugin registration succeeded.\n");
     }
 
-    if (!check_ts_version())
-    {
-        TSError("Plugin requires Traffic Server %d.%d.%d\n", TS_VERSION_MAJOR, TS_VERSION_MINOR, TS_VERSION_MICRO);
-        return;
-    }
-
     if (argc > 1)
     {
         int c;

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/a8febbf5/plugins/experimental/tcp_info/tcp_info.cc
----------------------------------------------------------------------
diff --git a/plugins/experimental/tcp_info/tcp_info.cc b/plugins/experimental/tcp_info/tcp_info.cc
index 193d671..8a9d98b 100644
--- a/plugins/experimental/tcp_info/tcp_info.cc
+++ b/plugins/experimental/tcp_info/tcp_info.cc
@@ -261,31 +261,6 @@ done:
   return 0;
 }
 
-int
-check_ts_version()
-{
-
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* Need at least TS 2.0 */
-    if (major_ts_version >= 3) {
-      result = 1;
-    }
-  }
-
-  return result;
-}
-
 void
 TSPluginInit(int, const char *[]) // int argc, const char *argv[]
 {
@@ -298,11 +273,6 @@ TSPluginInit(int, const char *[]) // int argc, const char *argv[]
   if (TSPluginRegister(TS_SDK_VERSION_3_0, &info) != TS_SUCCESS)
     TSError("Plugin registration failed. \n");
 
-  if (!check_ts_version()) {
-    TSError("Plugin requires Traffic Server 3.0 or later\n");
-    return;
-  }
-
   // load the configuration file
   load_config();
 


[16/52] [abbrv] git commit: doc: convert TSmalloc(3) to sphinx

Posted by zw...@apache.org.
doc: convert TSmalloc(3) to sphinx


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/c9767181
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/c9767181
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/c9767181

Branch: refs/heads/3.3.x
Commit: c97671817cfc0abf06a40318aec87acd8b5b47c1
Parents: 4b14cee
Author: James Peach <jp...@apache.org>
Authored: Thu Aug 1 10:43:07 2013 -0700
Committer: James Peach <jp...@apache.org>
Committed: Thu Aug 1 10:43:07 2013 -0700

----------------------------------------------------------------------
 doc/conf.py                       |  1 +
 doc/reference/api/TSmalloc.en.rst | 78 ++++++++++++++++++++++++++++++++++
 2 files changed, 79 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c9767181/doc/conf.py
----------------------------------------------------------------------
diff --git a/doc/conf.py b/doc/conf.py
index 922ee96..75bf8b1 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -220,6 +220,7 @@ man_pages = [
    ('reference/api/TSIOBufferCreate.en', 'TSIOBufferCreate', u'Traffic Server IO buffer API', None, u'3ts'),
    ('reference/api/TSInstallDirGet.en', 'TSInstallDirGet', u'Return Traffic Server installation directories', None, u'3ts'),
    ('reference/api/TSMBufferCreate.en', 'TSMBufferCreate', u'Traffic Server marshall buffer API', None, u'3ts'),
+   ('reference/api/TSmalloc.en', 'TSmalloc', u'Traffic Server memory allocation API', None, u'3ts'),
 
    ('reference/commands/traffic_cop.en', 'traffic_cop', u'Traffic Server watchdog', None, '8'),
    ('reference/commands/traffic_line.en', 'traffic_line', u'Traffic Server command line', None, '8'),

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c9767181/doc/reference/api/TSmalloc.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSmalloc.en.rst b/doc/reference/api/TSmalloc.en.rst
new file mode 100644
index 0000000..a050200
--- /dev/null
+++ b/doc/reference/api/TSmalloc.en.rst
@@ -0,0 +1,78 @@
+.. 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.
+
+.. default-domain:: c
+
+========
+TSmalloc
+========
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: void * TSmalloc(size_t size , const char * path)
+.. function:: void * TSrealloc(void * ptr , size_t size , const char * path)
+.. function:: char * TSstrdup(const char * str)
+.. function:: char * TSstrndup(const char * str, size_t size)
+.. function:: size_t TSstrlcpy(char * dst , const char * src , size_t size)
+.. function:: size_t TSstrlcat(char * dst , const char * src , size_t size)
+.. function:: void TSfree(void * ptr)
+
+Description
+===========
+
+Traffic Server provides a number of routines for allocating and freeing
+memory. These routines correspond to similar routines in the C library.
+For example, :func:`TSrealloc` behaves like the C library routine :func:`realloc`.
+There are two reasons to use the routines provided by Traffic Server. The
+first is portability. The Traffic Server API routines behave the same on
+all of Traffic Servers supported platforms. For example, :func:`realloc` does
+not accept an argument of :data:`NULL` on some platforms. The second reason is
+that the Traffic Server routines actually track the memory allocations by
+file and line number. This tracking is very efficient, is always turned
+on, and is useful for tracking down memory leaks.
+
+:func:`TSmalloc` returns a pointer to size bytes of memory allocated from the
+heap. Traffic Server uses :func:`TSmalloc` internally for memory allocations.
+Always use :func:`TSfree` to release memory allocated by :func:`TSmalloc`; do not use
+:func:`free`.
+
+:func:`TSstrdup` returns a pointer to a new string that is a duplicate
+of the string pointed to by str. The memory for the new string is
+allocated using :func:`TSmalloc` and should be freed by a call to
+:func:`TSfree`.  :func:`TSstrndup` returns a pointer to a new string that
+is a duplicate of the string pointed to by str and size bytes
+long. The new string will be NUL-terminated. This API is very
+useful for transforming non NUL-terminated string values returned
+by APIs such as :func:`TSMimeHdrFieldStringValueGet` into NLL-terminated
+string values. The memory for the new string is allocated using
+:func:`TSmalloc` and should be freed by a call to :func:`TSfree`.
+
+:func:`TSstrlcpy` copies up to size - 1 characters from the NUL-terminated
+string src to dst, NUL-terminating the result.
+
+:func:`TSstrlcat` appends the NUL-terminated string src to the end of dst. It
+will append at most size - strlen(dst) - 1 bytes, NUL-terminating the
+result.
+
+:func:`TSfree` releases the memory allocated by :func:`TSmalloc` or :func:`TSrealloc`. If
+ptr is :data:`NULL`, :func:`TSfree` does no operation.
+
+See also
+========
+:manpage:`TSAPI(3ts)`


[20/52] [abbrv] git commit: doc: convert TSUrlCreate(2) to sphinx

Posted by zw...@apache.org.
doc: convert TSUrlCreate(2) to sphinx


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/6a50da53
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/6a50da53
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/6a50da53

Branch: refs/heads/3.3.x
Commit: 6a50da533e42eda81799b423fe967757472fe49c
Parents: e0a2dd5
Author: James Peach <jp...@apache.org>
Authored: Thu Aug 1 11:53:45 2013 -0700
Committer: James Peach <jp...@apache.org>
Committed: Thu Aug 1 11:53:45 2013 -0700

----------------------------------------------------------------------
 doc/conf.py                          |   1 +
 doc/reference/api/TSUrlCreate.en.rst | 140 ++++++++++++++++++++++++++++++
 2 files changed, 141 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/6a50da53/doc/conf.py
----------------------------------------------------------------------
diff --git a/doc/conf.py b/doc/conf.py
index d7c9f2b..9e6e6d3 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -224,6 +224,7 @@ man_pages = [
    ('reference/api/TSPluginInit.en', 'TSPluginInit', u'Traffic Server plugin loading and registration', None, u'3ts'),
    ('reference/api/TSRemap.en', 'TSRemap', u'Traffic Server remap plugin entry points ', None, u'3ts'),
    ('reference/api/TSTrafficServerVersionGet.en', 'TSTrafficServerVersionGet', u'return Traffic Server version information', None, u'3ts'),
+   ('reference/api/TSUrlCreate.en', 'TSUrlCreate', u'Traffic Server URL manipulation API', None, u'3ts'),
 
    ('reference/commands/traffic_cop.en', 'traffic_cop', u'Traffic Server watchdog', None, '8'),
    ('reference/commands/traffic_line.en', 'traffic_line', u'Traffic Server command line', None, '8'),

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/6a50da53/doc/reference/api/TSUrlCreate.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSUrlCreate.en.rst b/doc/reference/api/TSUrlCreate.en.rst
new file mode 100644
index 0000000..28c14b8
--- /dev/null
+++ b/doc/reference/api/TSUrlCreate.en.rst
@@ -0,0 +1,140 @@
+.. 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.
+
+.. default-domain:: c
+
+===========
+TSUrlCreate
+===========
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSReturnCode TSUrlCreate(TSMBuffer bufp, TSMLoc * locp)
+.. function:: TSReturnCode TSUrlClone(TSMBuffer dest_bufp, TSMBuffer src_bufp, TSMLoc src_url, TSMLoc * locp)
+.. function:: TSReturnCode TSUrlCopy(TSMBuffer dest_bufp, TSMLoc dest_url, TSMBuffer src_bufp, TSMLoc src_url)
+.. function:: void TSUrlPrint(TSMBuffer bufp, TSMLoc offset, TSIOBuffer iobufp)
+.. function:: TSParseResult TSUrlParse(TSMBuffer bufp, TSMLoc offset, const char ** start, const char * end)
+.. function:: int TSUrlLengthGet(TSMBuffer bufp, TSMLoc offset)
+.. function:: char * TSUrlStringGet(TSMBuffer bufp, TSMLoc offset, int * length)
+.. function:: const char * TSUrlSchemeGet(TSMBuffer bufp, TSMLoc offset, int * length)
+.. function:: TSReturnCode TSUrlSchemeSet(TSMBuffer bufp, TSMLoc offset, const char * value, int length)
+.. function:: const char * TSUrlUserGet(TSMBuffer bufp, TSMLoc offset, int * length)
+.. function:: TSReturnCode TSUrlUserSet(TSMBuffer bufp, TSMLoc offset, const char * value, int length)
+.. function:: const char * TSUrlPasswordGet(TSMBuffer bufp, TSMLoc offset, int * length)
+.. function:: TSReturnCode TSUrlPasswordSet(TSMBuffer bufp, TSMLoc offset, const char * value, int length)
+.. function:: const char * TSUrlHostGet(TSMBuffer bufp, TSMLoc offset, int * length)
+.. function:: TSReturnCode TSUrlHostSet(TSMBuffer bufp, TSMLoc offset, const char * value, int length)
+.. function:: int TSUrlPortGet(TSMBuffer bufp, TSMLoc offset)
+.. function:: TSReturnCode TSUrlPortSet(TSMBuffer bufp, TSMLoc offset, int port)
+.. function:: const char * TSUrlPathGet(TSMBuffer bufp, TSMLoc offset, int * length)
+.. function:: TSReturnCode TSUrlPathSet(TSMBuffer bufp, TSMLoc offset, const char * value, int length)
+.. function:: const char * TSUrlHttpParamsGet(TSMBuffer bufp, TSMLoc offset, int * length)
+.. function:: TSReturnCode TSUrlHttpParamsSet(TSMBuffer bufp, TSMLoc offset, const char * value, int length)
+.. function:: const char * TSUrlHttpQueryGet(TSMBuffer bufp, TSMLoc offset, int * length)
+.. function:: TSReturnCode TSUrlHttpQuerySet(TSMBuffer bufp, TSMLoc offset, const char * value, int length)
+.. function:: const char * TSUrlHttpFragmentGet(TSMBuffer bufp, TSMLoc offset, int * length)
+.. function:: TSReturnCode TSUrlHttpFragmentSet(TSMBuffer bufp, TSMLoc offset, const char * value, int length)
+.. function:: TSReturnCode TSStringPercentEncode(const char * str, int str_len, char * dst, size_t dst_size, size_t * length, const unsigned char * map)
+.. function:: TSReturnCode TSUrlPercentEncode(TSMBuffer bufp, TSMLoc offset, char * dst, size_t dst_size, size_t * length, const unsigned char * map)
+.. function:: TSReturnCode TSStringPercentDecode(const char * str, size_t str_len, char * dst, size_t dst_size, size_t * length)
+
+Description
+===========
+
+The URL data structure is a parsed version of a standard internet URL.
+The Traffic Server URL API provides access to URL data stored in marshal
+buffers. The URL functions can create, copy, retrieve or delete entire
+URLs, and retrieve or modify parts of URLs, such as their port or scheme
+information.
+
+:func:`TSUrlCreate` creates a new URL within the marshal buffer bufp. Release
+the resulting handle with a call to TSHandleMLocRelease.
+:func:`TSUrlClone` copies the contents of the URL at location src_url within
+the marshal buffer src_bufp to a location within the marshal buffer
+dest_bufp. Release the returned handle with a call to
+:func:`TSHandleMLocRelease`.
+
+:func:`TSUrlCopy` copies the contents of the URL at location src_url within
+the marshal buffer src_bufp to the location dest_url within the marshal
+buffer dest_bufp. :func:`TSUrlCopy` works correctly even if src_bufp and
+dest_bufp point to different marshal buffers. It is important for the
+destination URL (its marshal buffer and :type:`TSMLoc`) to have been created
+before copying into it.
+
+:func:`TSUrlPrint` formats a URL stored in an :type:`TSMBuffer` to an :type:`TSIOBuffer`.
+
+:func:`TSUrlParse` parses a URL. The start pointer is both an input and an output
+parameter and marks the start of the URL to be parsed. After a successful
+parse, the start pointer equals the end pointer. The end pointer
+must be one byte after the last character you want to parse. The URL
+parsing routine assumes that everything between start and end is part of
+the URL. It is up to higher level parsing routines, such as
+:func:`TSHttpHdrParseReq`, to determine the actual end of the URL.
+
+:func:`TSUrlLengthGet` calculates the length of the URL located at offset
+within the marshal buffer bufp if it were returned as a string. This
+length will be the same as the length returned by :func:`TSUrlStringGet`.
+
+:func:`TSUrlStringGet` constructs a string representation of the URL located at
+offset within the marshal buffer bufp. :func:`TSUrlStringGet` stores the
+length of the allocated string in the parameter length. This is the same
+length that :func:`TSUrlLengthGet` 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 NULL then no attempt is made to de-reference it.
+
+:func:`TSUrlSchemeGet`, :func:`TSUrlUserGet`, :func:`TSUrlPasswordGet`, :func:`TSUrlHostGet`,
+:func:`TSUrlHttpParamsGet`, :func:`TSUrlHttpQueryGet` and :func:`TSUrlHttpFragmentGet` each
+retrieve an internal pointer to the specified portion of the URL from the
+marshall buffer bufp. The length of the returned string is placed in
+length and a pointer to the URL portion is returned. The returned string
+is not guaranteed to be NUL-terminated.
+
+:func:`TSUrlSchemeSet`, :func:`TSUrlUserSet`, :func:`TSUrlPasswordSet`, :func:`TSUrlHostSet`,
+:func:`TSUrlHttpParamsSet`, :func:`TSUrlHttpQuerySet` and :func:`TSUrlHttpFragmentSet` each
+set the specified portion of the URL located at offset within the marshal
+buffer bufp to the string value. If length is -1 then these functions
+assume that value is NUL-terminated. Otherwise, the length of the string
+value is taken to be length. These functions copy the string to within
+bufp, so it can be subsequently modified or deleted.
+
+:func:`TSUrlPortGet` retrieves the port number portion of the URL located at
+offset within the marshal buffer bufp, It returns 0 if there is no port
+number.
+
+:func:`TSUrlPortSet` sets the port number portion of the URL located at offset
+within the marshal buffer bufp to the value port.
+
+:func:`TSStringPercentEncode` performs percent-encoding of the string str,
+storing the new string in the dst buffer. The length parameter will be
+set to the new (encoded) string length, or 0 if the encoding failed.
+TSUrlPercentEncode is similar but operates on a URL object. If the
+optional map parameter is provided, it should be a map of characters to
+encode.
+
+:func:`TSStringPercentDecode` perform percent-decoding of the string in the
+buffer, writing to the dst buffer. The source and destination can be the
+same, in which case they overwrite. The decoded string is always guaranteed
+to be no longer than the source string.
+
+See also
+========
+
+:manpage:`TSAPI(3ts)`,
+:manpage:`TSMBufferCreate(3ts)`,
+:manpage:`TSmalloc(3ts)`


[10/52] [abbrv] git commit: doc: generate configuration file man pages

Posted by zw...@apache.org.
doc: generate configuration file man pages


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/a4a4b9bd
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/a4a4b9bd
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/a4a4b9bd

Branch: refs/heads/3.3.x
Commit: a4a4b9bdbc345a2ce8f1ce671dade1f879735027
Parents: 9f07e71
Author: James Peach <jp...@apache.org>
Authored: Thu Aug 1 09:27:43 2013 -0700
Committer: James Peach <jp...@apache.org>
Committed: Thu Aug 1 09:27:58 2013 -0700

----------------------------------------------------------------------
 doc/conf.py | 59 ++++++++++++++++++++++++++++++++++----------------------
 1 file changed, 36 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/a4a4b9bd/doc/conf.py
----------------------------------------------------------------------
diff --git a/doc/conf.py b/doc/conf.py
index 34d7665..d9eb3a1 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -87,7 +87,6 @@ pygments_style = 'sphinx'
 # A list of ignored prefixes for module index sorting.
 #modindex_common_prefix = []
 
-
 # -- Options for HTML output ---------------------------------------------------
 
 # The theme to use for HTML and HTML Help pages.  See the documentation for
@@ -167,7 +166,6 @@ html_static_path = ['static']
 # Output file base name for HTML help builder.
 htmlhelp_basename = 'ApacheTrafficServerdoc'
 
-
 # -- Options for LaTeX output --------------------------------------------------
 
 latex_elements = {
@@ -208,36 +206,52 @@ latex_documents = [
 # If false, no module index is generated.
 #latex_domain_indices = True
 
-
 # -- Options for manual page output --------------------------------------------
 
 # One entry per manual page. List of tuples
 # (source start file, name, description, authors, manual section).
 man_pages = [
-    ('reference/api/TSAPI.en', 'TSAPI', u'Introduction to the Apache Traffic Server API', None, u'3ts'),
-    ('reference/api/TSDebug.en', 'TSDebug', u'Traffic Server Debugging APIs', None, u'3ts'),
-    ('reference/api/TSHttpHookAdd.en', 'TSHttpHookAdd', u'Intercept Traffic Server events', None, u'3ts'),
-    ('reference/api/TSHttpParserCreate.en', 'TSHttpParserCreate', u'Parse HTTP headers from memory buffers', None, u'3ts'),
-    ('reference/api/TSHttpTxnMilestoneGet.en', 'TSHttpTxnMilestoneGet', u'Get a specified milestone timer value for the current transaction', None, u'3ts'),
-
-    ('reference/commands/traffic_cop.en', 'traffic_cop', u'Traffic Server watchdog', None, '8'),
-    ('reference/commands/traffic_line.en', 'traffic_line', u'Traffic Server command line', None, '8'),
-    ('reference/commands/traffic_logcat.en', 'traffic_logcat', u'Traffic Server log spooler', None, '8'),
-    ('reference/commands/traffic_logstats.en', 'traffic_logstats', u'Traffic Server analyzer', None, '8'),
-    ('reference/commands/traffic_manager.en', 'traffic_manager', u'Traffic Server process manager', None, '8'),
-    ('reference/commands/traffic_server.en', 'traffic_server', u'Traffic Server', None, '8'),
-    ('reference/commands/traffic_shell.en', 'traffic_shell', u'Traffic Server shell', None, '8'),
-    ('reference/commands/tspush.en', 'tspush', u'Push objects into the Traffic Server cache', None, '1'),
-    ('reference/commands/tstop.en','tstop', u'Display Traffic Server statistics', None, '1'),
-    ('reference/commands/tsxs.en', 'tsxs', u'Traffic Server plugin tool', None, '1'),
-    
+
+   ('reference/api/TSAPI.en', 'TSAPI', u'Introduction to the Apache Traffic Server API', None, u'3ts'),
+   ('reference/api/TSDebug.en', 'TSDebug', u'Traffic Server Debugging APIs', None, u'3ts'),
+   ('reference/api/TSHttpHookAdd.en', 'TSHttpHookAdd', u'Intercept Traffic Server events', None, u'3ts'),
+   ('reference/api/TSHttpParserCreate.en', 'TSHttpParserCreate', u'Parse HTTP headers from memory buffers', None, u'3ts'),
+   ('reference/api/TSHttpTxnMilestoneGet.en', 'TSHttpTxnMilestoneGet', u'Get a specified milestone timer value for the current transaction', None, u'3ts'),
+
+   ('reference/commands/traffic_cop.en', 'traffic_cop', u'Traffic Server watchdog', None, '8'),
+   ('reference/commands/traffic_line.en', 'traffic_line', u'Traffic Server command line', None, '8'),
+   ('reference/commands/traffic_logcat.en', 'traffic_logcat', u'Traffic Server log spooler', None, '8'),
+   ('reference/commands/traffic_logstats.en', 'traffic_logstats', u'Traffic Server analyzer', None, '8'),
+   ('reference/commands/traffic_manager.en', 'traffic_manager', u'Traffic Server process manager', None, '8'),
+   ('reference/commands/traffic_server.en', 'traffic_server', u'Traffic Server', None, '8'),
+   ('reference/commands/traffic_shell.en', 'traffic_shell', u'Traffic Server shell', None, '8'),
+
+   ('reference/commands/tspush.en', 'tspush', u'Push objects into the Traffic Server cache', None, '1'),
+   ('reference/commands/tstop.en','tstop', u'Display Traffic Server statistics', None, '1'),
+   ('reference/commands/tsxs.en', 'tsxs', u'Traffic Server plugin tool', None, '1'),
+
+   ('reference/configuration/cache.config.en', 'cache.config', u'Traffic Server cache configuration file', None, '5'),
+   ('reference/configuration/congestion.config.en', 'congestion.config', u'Traffic Server congestion control configuration file', None, '5'),
+   ('reference/configuration/hosting.config.en', 'hosting.config', u'Traffic Server domain hosting configuration file', None, '5'),
+   ('reference/configuration/icp.config.en', 'icp.config', u'Traffic Server ICP configuration file', None, '5'),
+   ('reference/configuration/ip_allow.config.en', 'ip_allow.config', u'Traffic Server IP access control configuration file', None, '5'),
+   ('reference/configuration/log_hosts.config.en', 'log_hosts.config', u'Traffic Server log host configuration file', None, '5'),
+   ('reference/configuration/logs_xml.config.en', 'logs_xml.config', u'Traffic Server log format configuration file', None, '5'),
+   ('reference/configuration/parent.config.en', 'parent.config', u'Traffic Server parent cache configuration file', None, '5'),
+   ('reference/configuration/plugin.config.en', 'plugin.config', u'Traffic Server global plugin configuration file', None, '5'),
+   ('reference/configuration/records.config.en', 'records.config', u'Traffic Server configuration file', None, '5'),
+   ('reference/configuration/remap.config.en', 'remap.config', u'Traffic Server remap rules configuration file', None, '5'),
+   ('reference/configuration/splitdns.config.en', 'splitdns.config', u'Traffic Server split DNS configuration file', None, '5'),
+   ('reference/configuration/ssl_multicert.config.en', 'ssl_multicert.config', u'Traffic Server SSL certificate configuration file', None, '5'),
+   ('reference/configuration/storage.config.en', 'storage.config', u'Traffic Server cache storage configuration file', None, '5'),
+   ('reference/configuration/update.config.en', 'update.config', u'Traffic Server automated update configuration file', None, '5'),
+   ('reference/configuration/volume.config.en', 'volume.config', u'Traffic Server cache volume configuration file', None, '5'),
+
 ]
 
 # If true, show URL addresses after external links.
 #man_show_urls = False
 
-
-
 # -- Options for Texinfo output ------------------------------------------------
 
 # Grouping the document tree into Texinfo files. List of tuples
@@ -258,7 +272,6 @@ texinfo_documents = [
 # How to display URL addresses: 'footnote', 'no', or 'inline'.
 #texinfo_show_urls = 'footnote'
 
-
 # -- Options for Epub output ---------------------------------------------------
 
 # Bibliographic Dublin Core info.


[24/52] [abbrv] git commit: TS-1255 Add Req/Resp max header size to be overridable

Posted by zw...@apache.org.
TS-1255 Add Req/Resp max header size to be overridable


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/b0e7c2ab
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/b0e7c2ab
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/b0e7c2ab

Branch: refs/heads/3.3.x
Commit: b0e7c2ab4a513ff6c0e3f79f65a0ef523fee7882
Parents: 2f98469
Author: Leif Hedstrom <zw...@apache.org>
Authored: Sun Jul 28 22:50:14 2013 +0200
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Thu Aug 1 22:42:48 2013 +0200

----------------------------------------------------------------------
 proxy/InkAPI.cc          | 12 ++++++++++++
 proxy/InkAPITest.cc      |  4 +++-
 proxy/api/ts/ts.h.in     |  4 +++-
 proxy/http/HttpConfig.cc | 12 ++++++------
 proxy/http/HttpConfig.h  | 15 +++++++--------
 proxy/http/HttpSM.cc     |  4 ++--
 6 files changed, 33 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b0e7c2ab/proxy/InkAPI.cc
----------------------------------------------------------------------
diff --git a/proxy/InkAPI.cc b/proxy/InkAPI.cc
index 1ed9933..99c833d 100644
--- a/proxy/InkAPI.cc
+++ b/proxy/InkAPI.cc
@@ -7577,6 +7577,14 @@ _conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *t
     typ = OVERRIDABLE_TYPE_INT;
     ret = &sm->t_state.txn_conf->default_buffer_water_mark;
     break;
+  case TS_CONFIG_HTTP_REQUEST_HEADER_MAX_SIZE:
+    typ = OVERRIDABLE_TYPE_INT;
+    ret = &sm->t_state.txn_conf->request_hdr_max_size;
+    break;
+  case TS_CONFIG_HTTP_RESPONSE_HEADER_MAX_SIZE:
+    typ = OVERRIDABLE_TYPE_INT;
+    ret = &sm->t_state.txn_conf->response_hdr_max_size;
+    break;
 
     // This helps avoiding compiler warnings, yet detect unhandled enum members.
   case TS_CONFIG_NULL:
@@ -7898,6 +7906,8 @@ TSHttpTxnConfigFind(const char* name, int length, TSOverridableConfigKey *conf,
     case 'e':
       if (!strncmp(name, "proxy.config.http.anonymize_remove_cookie", length))
         cnf = TS_CONFIG_HTTP_ANONYMIZE_REMOVE_COOKIE;
+      else if (!strncmp(name, "proxy.config.http.request_header_max_size", length))
+        cnf = TS_CONFIG_HTTP_REQUEST_HEADER_MAX_SIZE;
       break;
     case 'r':
       if (!strncmp(name, "proxy.config.http.insert_response_via_str", length))
@@ -7917,6 +7927,8 @@ TSHttpTxnConfigFind(const char* name, int length, TSOverridableConfigKey *conf,
     case 'e':
       if (!strncmp(name, "proxy.config.http.cache.when_to_revalidate", length))
         cnf = TS_CONFIG_HTTP_CACHE_WHEN_TO_REVALIDATE;
+      else if (!strncmp(name, "proxy.config.http.response_header_max_size", length))
+        cnf = TS_CONFIG_HTTP_RESPONSE_HEADER_MAX_SIZE;
       break;
     case 'r':
       if (!strncmp(name, "proxy.config.http.anonymize_remove_referer", length))

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b0e7c2ab/proxy/InkAPITest.cc
----------------------------------------------------------------------
diff --git a/proxy/InkAPITest.cc b/proxy/InkAPITest.cc
index 42de90c..85cc589 100644
--- a/proxy/InkAPITest.cc
+++ b/proxy/InkAPITest.cc
@@ -7399,7 +7399,9 @@ const char *SDK_Overridable_Configs[TS_CONFIG_LAST_ENTRY] = {
   "proxy.config.http.cache.range.lookup",
   "proxy.config.http.normalize_ae_gzip",
   "proxy.config.http.default_buffer_size",
-  "proxy.config.http.default_buffer_water_mark"
+  "proxy.config.http.default_buffer_water_mark",
+  "proxy.config.http.request_header_max_size",
+  "proxy.config.http.response_header_max_size"
 };
 
 REGRESSION_TEST(SDK_API_OVERRIDABLE_CONFIGS) (RegressionTest * test, int /* atype ATS_UNUSED */, int *pstatus)

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b0e7c2ab/proxy/api/ts/ts.h.in
----------------------------------------------------------------------
diff --git a/proxy/api/ts/ts.h.in b/proxy/api/ts/ts.h.in
index b9cd558..47eeaf6 100644
--- a/proxy/api/ts/ts.h.in
+++ b/proxy/api/ts/ts.h.in
@@ -675,7 +675,9 @@ extern "C"
     TS_CONFIG_HTTP_NORMALIZE_AE_GZIP,
     TS_CONFIG_HTTP_DEFAULT_BUFFER_SIZE,
     TS_CONFIG_HTTP_DEFAULT_BUFFER_WATER_MARK,
-    TS_CONFIG_LAST_ENTRY,
+    TS_CONFIG_HTTP_REQUEST_HEADER_MAX_SIZE,
+    TS_CONFIG_HTTP_RESPONSE_HEADER_MAX_SIZE,
+    TS_CONFIG_LAST_ENTRY
   } TSOverridableConfigKey;
 
   /* The TASK pool of threads is the primary method of off-loading continuations from the

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b0e7c2ab/proxy/http/HttpConfig.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpConfig.cc b/proxy/http/HttpConfig.cc
index b4db289..c8c0abc 100644
--- a/proxy/http/HttpConfig.cc
+++ b/proxy/http/HttpConfig.cc
@@ -1291,9 +1291,8 @@ HttpConfig::startup()
 
   HttpEstablishStaticConfigStringAlloc(c.connect_ports_string, "proxy.config.http.connect_ports");
 
-  HttpEstablishStaticConfigLongLong(c.request_hdr_max_size, "proxy.config.http.request_header_max_size");
-
-  HttpEstablishStaticConfigLongLong(c.response_hdr_max_size, "proxy.config.http.response_header_max_size");
+  HttpEstablishStaticConfigLongLong(c.oride.request_hdr_max_size, "proxy.config.http.request_header_max_size");
+  HttpEstablishStaticConfigLongLong(c.oride.response_hdr_max_size, "proxy.config.http.response_header_max_size");
 
   HttpEstablishStaticConfigByte(c.push_method_enabled, "proxy.config.http.push_method_enabled");
 
@@ -1561,9 +1560,10 @@ HttpConfig::reconfigure()
   params->connect_ports_string = ats_strdup(m_master.connect_ports_string);
   params->connect_ports = parse_ports_list(params->connect_ports_string);
 
-  params->request_hdr_max_size = m_master.request_hdr_max_size;
-  params->response_hdr_max_size = m_master.response_hdr_max_size;
-  params->push_method_enabled = INT_TO_BOOL(m_master.push_method_enabled);
+  params->oride.request_hdr_max_size = m_master.oride.request_hdr_max_size;
+  params->oride.response_hdr_max_size = m_master.oride.response_hdr_max_size;
+  
+params->push_method_enabled = INT_TO_BOOL(m_master.push_method_enabled);
 
   params->reverse_proxy_enabled = INT_TO_BOOL(m_master.reverse_proxy_enabled);
   params->url_remap_required = INT_TO_BOOL(m_master.url_remap_required);

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b0e7c2ab/proxy/http/HttpConfig.h
----------------------------------------------------------------------
diff --git a/proxy/http/HttpConfig.h b/proxy/http/HttpConfig.h
index 27a96e7..de47b94 100644
--- a/proxy/http/HttpConfig.h
+++ b/proxy/http/HttpConfig.h
@@ -414,6 +414,7 @@ struct OverridableHttpConfigParams {
       negative_caching_lifetime(1800), normalize_ae_gzip(0),
       sock_recv_buffer_size_out(0), sock_send_buffer_size_out(0), sock_option_flag_out(0),
       sock_packet_mark_out(0), sock_packet_tos_out(0), server_tcp_init_cwnd(0),
+      request_hdr_max_size(131072), response_hdr_max_size(131072),
       cache_heuristic_min_lifetime(3600), cache_heuristic_max_lifetime(86400),
       cache_guaranteed_min_lifetime(0), cache_guaranteed_max_lifetime(31536000), cache_max_stale_age(604800),
       keep_alive_no_activity_timeout_in(115), keep_alive_no_activity_timeout_out(120),
@@ -524,6 +525,12 @@ struct OverridableHttpConfigParams {
   ///////////////////////////////
   MgmtInt server_tcp_init_cwnd;
 
+  ///////////////
+  // Hdr Limit //
+  ///////////////
+  MgmtInt request_hdr_max_size;
+  MgmtInt response_hdr_max_size;
+
   /////////////////////
   // cache variables //
   /////////////////////
@@ -702,12 +709,6 @@ public:
   char *connect_ports_string;
   HttpConfigPortRange *connect_ports;
 
-  ///////////////
-  // Hdr Limit //
-  ///////////////
-  MgmtInt request_hdr_max_size;
-  MgmtInt response_hdr_max_size;
-
   //////////
   // Push //
   //////////
@@ -923,8 +924,6 @@ HttpConfigParams::HttpConfigParams()
     cache_when_to_add_no_cache_to_msie_requests(-1),
     connect_ports_string(NULL),
     connect_ports(NULL),
-    request_hdr_max_size(131072),
-    response_hdr_max_size(131072),
     push_method_enabled(0),
     referer_filter_enabled(0),
     referer_format_redirect(0),

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b0e7c2ab/proxy/http/HttpSM.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc
index 5647f22..5b879bc 100644
--- a/proxy/http/HttpSM.cc
+++ b/proxy/http/HttpSM.cc
@@ -720,7 +720,7 @@ HttpSM::state_read_client_request_header(int event, void *data)
   client_request_hdr_bytes += bytes_used;
 
   // Check to see if we are over the hdr size limit
-  if (client_request_hdr_bytes > t_state.http_config_param->request_hdr_max_size) {
+  if (client_request_hdr_bytes > t_state.txn_conf->request_hdr_max_size) {
     DebugSM("http", "client header bytes were over max header size; treating as a bad request");
     state = PARSE_ERROR;
   }
@@ -1776,7 +1776,7 @@ HttpSM::state_read_server_response_header(int event, void *data)
     state = PARSE_ERROR;
   }
   // Check to see if we are over the hdr size limit
-  if (server_response_hdr_bytes > t_state.http_config_param->response_hdr_max_size) {
+  if (server_response_hdr_bytes > t_state.txn_conf->response_hdr_max_size) {
     state = PARSE_ERROR;
   }
 


[09/52] [abbrv] git commit: TS-1976: Failure to terminate option string in traffic_manager

Posted by zw...@apache.org.
TS-1976: Failure to terminate option string in traffic_manager


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/1c7aa300
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/1c7aa300
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/1c7aa300

Branch: refs/heads/3.3.x
Commit: 1c7aa30004741dd94cd56ecfe02648c7f47e2b8c
Parents: 114ca2a
Author: Alan M. Carroll <am...@network-geographics.com>
Authored: Thu Aug 1 11:21:48 2013 -0500
Committer: Alan M. Carroll <am...@network-geographics.com>
Committed: Thu Aug 1 11:21:48 2013 -0500

----------------------------------------------------------------------
 mgmt/LocalManager.cc | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/1c7aa300/mgmt/LocalManager.cc
----------------------------------------------------------------------
diff --git a/mgmt/LocalManager.cc b/mgmt/LocalManager.cc
index 6d1fc73..a102685 100644
--- a/mgmt/LocalManager.cc
+++ b/mgmt/LocalManager.cc
@@ -1030,9 +1030,7 @@ LocalManager::startProxy()
     }
 
     // NUL-terminate for the benefit of strtok and printf.
-    // XXX TS-1976: a small hack to work around the Vec template's
-    // dislike of storing NUL bytes.
-    real_proxy_options.append("", 1);
+    real_proxy_options.add(0);
 
     Debug("lm", "[LocalManager::startProxy] Launching %s with options '%s'\n",
           absolute_proxy_binary, &real_proxy_options[0]);


[40/52] [abbrv] git commit: TS-1953: remove version check from stable plugins

Posted by zw...@apache.org.
TS-1953: remove version check from stable plugins

we're closing the night with a cleanup in the stable plugins.
Thanks, You've been a great crowd.


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/be8fd6cd
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/be8fd6cd
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/be8fd6cd

Branch: refs/heads/3.3.x
Commit: be8fd6cd87e6a9b4a00c7f13bd5573165ad09103
Parents: a8febbf
Author: Igor Galić <i....@brainsware.org>
Authored: Fri Aug 2 00:26:56 2013 +0200
Committer: Igor Galić <i....@brainsware.org>
Committed: Fri Aug 2 00:29:31 2013 +0200

----------------------------------------------------------------------
 plugins/cacheurl/cacheurl.c               | 31 --------------------------
 plugins/gzip/gzip.cc                      |  3 ---
 plugins/gzip/misc.cc                      | 15 -------------
 plugins/stats_over_http/stats_over_http.c | 29 ------------------------
 4 files changed, 78 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/be8fd6cd/plugins/cacheurl/cacheurl.c
----------------------------------------------------------------------
diff --git a/plugins/cacheurl/cacheurl.c b/plugins/cacheurl/cacheurl.c
index 2f34729..7b28d7d 100644
--- a/plugins/cacheurl/cacheurl.c
+++ b/plugins/cacheurl/cacheurl.c
@@ -361,32 +361,6 @@ static int handle_hook(TSCont contp, TSEvent event, void *edata) {
     return ok;
 }
 
-/* Function to ensure we're running a recent enough version of Traffic Server.
- * (Taken from the example plugin)
- */
-static int check_ts_version() {
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version,
-                &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* we are now v3.x */
-    if (major_ts_version >= 3) {
-      result = 1;
-    }
-
-  }
-  return result;
-}
-
 /* Generic error message function for errors in plugin initialization */
 static void initialization_error(char *msg) {
     TSError("[%s] %s\n", PLUGIN_NAME, msg);
@@ -479,11 +453,6 @@ void TSPluginInit(int argc, const char *argv[]) {
         return;
     }
 
-    if (!check_ts_version()) {
-        initialization_error("Plugin requires Traffic Server 3.0 or later");
-        return;
-    }
-
     if (!log) {
         error = TSTextLogObjectCreate("cacheurl", TS_LOG_MODE_ADD_TIMESTAMP,
                 &log);

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/be8fd6cd/plugins/gzip/gzip.cc
----------------------------------------------------------------------
diff --git a/plugins/gzip/gzip.cc b/plugins/gzip/gzip.cc
index 9260faf..9c84dc8 100644
--- a/plugins/gzip/gzip.cc
+++ b/plugins/gzip/gzip.cc
@@ -773,9 +773,6 @@ TSPluginInit(int argc, const char *argv[])
   if (!register_plugin()) {
     fatal("The gzip plugin failed to register");
   }
-  if (!check_ts_version()) {
-    fatal("The gzip plugin requires at least traffic server v3");
-  }
 
   //if (argc == 2) {
   //  dictionary = load_dictionary(argv[1]);

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/be8fd6cd/plugins/gzip/misc.cc
----------------------------------------------------------------------
diff --git a/plugins/gzip/misc.cc b/plugins/gzip/misc.cc
index 5fb98a5..13f9d39 100644
--- a/plugins/gzip/misc.cc
+++ b/plugins/gzip/misc.cc
@@ -140,21 +140,6 @@ init_hidden_header_name()
 }
 
 int
-check_ts_version()
-{
-  const char *ts_version = TSTrafficServerVersionGet();
-  TSReleaseAssert(ts_version);
-
-  int scan_result;
-  int major_version;
-
-  scan_result = sscanf(ts_version, "%d", &major_version);
-  TSReleaseAssert(scan_result == 1);
-
-  return major_version >= 3;
-}
-
-int
 register_plugin()
 {
   TSPluginRegistrationInfo info;

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/be8fd6cd/plugins/stats_over_http/stats_over_http.c
----------------------------------------------------------------------
diff --git a/plugins/stats_over_http/stats_over_http.c b/plugins/stats_over_http/stats_over_http.c
index c91de51..89a13af 100644
--- a/plugins/stats_over_http/stats_over_http.c
+++ b/plugins/stats_over_http/stats_over_http.c
@@ -249,30 +249,6 @@ stats_origin(TSCont contp ATS_UNUSED, TSEvent event ATS_UNUSED, void *edata)
   return 0;
 }
 
-int
-check_ts_version()
-{
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* Need at least TS 2.0 */
-    if (major_ts_version >= 2) {
-      result = 1;
-    }
-  }
-
-  return result;
-}
-
 void
 TSPluginInit(int argc, const char *argv[])
 {
@@ -285,11 +261,6 @@ TSPluginInit(int argc, const char *argv[])
   if (TSPluginRegister(TS_SDK_VERSION_2_0, &info) != TS_SUCCESS)
     TSError("Plugin registration failed. \n");
 
-  if (!check_ts_version()) {
-    TSError("Plugin requires Traffic Server 2.0 or later\n");
-    return;
-  }
-
   if (argc > 1) {
     url_path = TSstrdup(argv[1] + ('/' == argv[1][0] ? 1 : 0)); /* Skip leading / */
   }


[25/52] [abbrv] git commit: TS-1255 Added buffer size configurations to overridable

Posted by zw...@apache.org.
TS-1255 Added buffer size configurations to overridable


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/2f984695
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/2f984695
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/2f984695

Branch: refs/heads/3.3.x
Commit: 2f98469585cd0368232cd90f7acd8a90dbb7bff6
Parents: cc0b06a
Author: Leif Hedstrom <zw...@apache.org>
Authored: Sun Jul 28 21:57:39 2013 +0200
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Thu Aug 1 22:42:48 2013 +0200

----------------------------------------------------------------------
 proxy/InkAPI.cc          | 14 ++++++++++++++
 proxy/InkAPITest.cc      |  4 +++-
 proxy/api/ts/ts.h.in     |  2 ++
 proxy/http/HttpConfig.cc | 12 +++++-------
 proxy/http/HttpConfig.h  |  8 ++++----
 proxy/http/HttpSM.cc     | 10 +++++-----
 6 files changed, 33 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2f984695/proxy/InkAPI.cc
----------------------------------------------------------------------
diff --git a/proxy/InkAPI.cc b/proxy/InkAPI.cc
index 7c2f20f..1ed9933 100644
--- a/proxy/InkAPI.cc
+++ b/proxy/InkAPI.cc
@@ -7569,6 +7569,14 @@ _conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *t
     typ = OVERRIDABLE_TYPE_INT;
     ret = &sm->t_state.txn_conf->normalize_ae_gzip;
     break;
+  case TS_CONFIG_HTTP_DEFAULT_BUFFER_SIZE:
+    typ = OVERRIDABLE_TYPE_INT;
+    ret = &sm->t_state.txn_conf->default_buffer_size_index;
+    break;
+  case TS_CONFIG_HTTP_DEFAULT_BUFFER_WATER_MARK:
+    typ = OVERRIDABLE_TYPE_INT;
+    ret = &sm->t_state.txn_conf->default_buffer_water_mark;
+    break;
 
     // This helps avoiding compiler warnings, yet detect unhandled enum members.
   case TS_CONFIG_NULL:
@@ -7793,6 +7801,8 @@ TSHttpTxnConfigFind(const char* name, int length, TSOverridableConfigKey *conf,
         cnf = TS_CONFIG_HTTP_CACHE_MAX_STALE_AGE;
       else if (!strncmp(name, "proxy.config.http.cache.fuzz.min_time", length))
         cnf = TS_CONFIG_HTTP_CACHE_FUZZ_MIN_TIME;
+      else if (!strncmp(name, "proxy.config.http.default_buffer_size", length))
+        cnf = TS_CONFIG_HTTP_DEFAULT_BUFFER_SIZE;
       break;
     case 'r':
       if (!strncmp(name, "proxy.config.http.response_server_str", length)) {
@@ -7929,6 +7939,10 @@ TSHttpTxnConfigFind(const char* name, int length, TSOverridableConfigKey *conf,
       if (!strncmp(name, "proxy.config.http.negative_caching_lifetime", length))
         cnf = TS_CONFIG_HTTP_NEGATIVE_CACHING_LIFETIME;
       break;
+    case 'k':
+      if (!strncmp(name, "proxy.config.http.default_buffer_water_mark", length))
+        cnf = TS_CONFIG_HTTP_DEFAULT_BUFFER_WATER_MARK;
+      break;
     case 'l':
       if (!strncmp(name, "proxy.config.http.cache.cluster_cache_local", length))
         cnf = TS_CONFIG_HTTP_CACHE_CLUSTER_CACHE_LOCAL;

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2f984695/proxy/InkAPITest.cc
----------------------------------------------------------------------
diff --git a/proxy/InkAPITest.cc b/proxy/InkAPITest.cc
index c33ab2b..42de90c 100644
--- a/proxy/InkAPITest.cc
+++ b/proxy/InkAPITest.cc
@@ -7397,7 +7397,9 @@ const char *SDK_Overridable_Configs[TS_CONFIG_LAST_ENTRY] = {
   "proxy.config.http.flow_control.low_water",
   "proxy.config.http.flow_control.high_water",
   "proxy.config.http.cache.range.lookup",
-  "proxy.config.http.normalize_ae_gzip"
+  "proxy.config.http.normalize_ae_gzip",
+  "proxy.config.http.default_buffer_size",
+  "proxy.config.http.default_buffer_water_mark"
 };
 
 REGRESSION_TEST(SDK_API_OVERRIDABLE_CONFIGS) (RegressionTest * test, int /* atype ATS_UNUSED */, int *pstatus)

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2f984695/proxy/api/ts/ts.h.in
----------------------------------------------------------------------
diff --git a/proxy/api/ts/ts.h.in b/proxy/api/ts/ts.h.in
index e72b1c5..b9cd558 100644
--- a/proxy/api/ts/ts.h.in
+++ b/proxy/api/ts/ts.h.in
@@ -673,6 +673,8 @@ extern "C"
     TS_CONFIG_HTTP_FLOW_CONTROL_HIGH_WATER_MARK,
     TS_CONFIG_HTTP_CACHE_RANGE_LOOKUP,
     TS_CONFIG_HTTP_NORMALIZE_AE_GZIP,
+    TS_CONFIG_HTTP_DEFAULT_BUFFER_SIZE,
+    TS_CONFIG_HTTP_DEFAULT_BUFFER_WATER_MARK,
     TS_CONFIG_LAST_ENTRY,
   } TSOverridableConfigKey;
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2f984695/proxy/http/HttpConfig.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpConfig.cc b/proxy/http/HttpConfig.cc
index 02b7704..b4db289 100644
--- a/proxy/http/HttpConfig.cc
+++ b/proxy/http/HttpConfig.cc
@@ -1329,11 +1329,9 @@ HttpConfig::startup()
   HttpEstablishStaticConfigByte(c.oride.negative_caching_enabled, "proxy.config.http.negative_caching_enabled");
   HttpEstablishStaticConfigLongLong(c.oride.negative_caching_lifetime, "proxy.config.http.negative_caching_lifetime");
 
-  // Buffer size
-  HttpEstablishStaticConfigLongLong(c.default_buffer_size_index, "proxy.config.http.default_buffer_size");
-
-  // Buffer water mark
-  HttpEstablishStaticConfigLongLong(c.default_buffer_water_mark, "proxy.config.http.default_buffer_water_mark");
+  // Buffer size and watermark
+  HttpEstablishStaticConfigLongLong(c.oride.default_buffer_size_index, "proxy.config.http.default_buffer_size");
+  HttpEstablishStaticConfigLongLong(c.oride.default_buffer_water_mark, "proxy.config.http.default_buffer_water_mark");
 
   // Stat Page Info
   HttpEstablishStaticConfigByte(c.enable_http_info, "proxy.config.http.enable_http_info");
@@ -1575,8 +1573,8 @@ HttpConfig::reconfigure()
   params->record_tcp_mem_hit = INT_TO_BOOL(m_master.record_tcp_mem_hit);
   params->oride.send_http11_requests = m_master.oride.send_http11_requests;
   params->oride.doc_in_cache_skip_dns = INT_TO_BOOL(m_master.oride.doc_in_cache_skip_dns);
-  params->default_buffer_size_index = m_master.default_buffer_size_index;
-  params->default_buffer_water_mark = m_master.default_buffer_water_mark;
+  params->oride.default_buffer_size_index = m_master.oride.default_buffer_size_index;
+  params->oride.default_buffer_water_mark = m_master.oride.default_buffer_water_mark;
   params->enable_http_info = INT_TO_BOOL(m_master.enable_http_info);
   params->reverse_proxy_no_host_redirect = ats_strdup(m_master.reverse_proxy_no_host_redirect);
   params->reverse_proxy_no_host_redirect_len =

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2f984695/proxy/http/HttpConfig.h
----------------------------------------------------------------------
diff --git a/proxy/http/HttpConfig.h b/proxy/http/HttpConfig.h
index bfbe29b..27a96e7 100644
--- a/proxy/http/HttpConfig.h
+++ b/proxy/http/HttpConfig.h
@@ -425,6 +425,7 @@ struct OverridableHttpConfigParams {
       freshness_fuzz_time(240), freshness_fuzz_min_time(0),
       max_cache_open_read_retries(-1), cache_open_read_retry_time(10), background_fill_active_timeout(60),
       http_chunking_size(4096), flow_high_water_mark(0), flow_low_water_mark(0),
+      default_buffer_size_index(8), default_buffer_water_mark(32768),
 
       // Strings / floats must come last
       proxy_response_server_string(NULL), proxy_response_server_string_len(0),
@@ -570,6 +571,9 @@ struct OverridableHttpConfigParams {
   MgmtInt flow_high_water_mark; ///< Flow control high water mark.
   MgmtInt flow_low_water_mark; ///< Flow control low water mark.
 
+  MgmtInt default_buffer_size_index;
+  MgmtInt default_buffer_water_mark;
+
   // IMPORTANT: Here comes all strings / floats configs.
 
   ///////////////////////////////////////////////////////////////////
@@ -758,8 +762,6 @@ public:
   MgmtByte errors_log_error_pages;
   MgmtInt slow_log_threshold;
 
-  MgmtInt default_buffer_size_index;
-  MgmtInt default_buffer_water_mark;
   MgmtByte enable_http_info;
 
   // Cluster time delta is not a config variable,
@@ -936,8 +938,6 @@ HttpConfigParams::HttpConfigParams()
     record_cop_page(0),
     record_tcp_mem_hit(0),
     errors_log_error_pages(1),
-    default_buffer_size_index(8),
-    default_buffer_water_mark(32768),
     enable_http_info(0),
     cluster_time_delta(0),
     redirection_enabled(1),

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2f984695/proxy/http/HttpSM.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc
index 51f8a66..5647f22 100644
--- a/proxy/http/HttpSM.cc
+++ b/proxy/http/HttpSM.cc
@@ -5202,7 +5202,7 @@ HttpSM::do_setup_post_tunnel(HttpVC_t to_vc_type)
     int64_t alloc_index;
     // content length is undefined, use default buffer size
     if (t_state.hdr_info.request_content_length == HTTP_UNDEFINED_CL) {
-      alloc_index = (int) t_state.http_config_param->default_buffer_size_index;
+      alloc_index = (int) t_state.txn_conf->default_buffer_size_index;
       if (alloc_index<MIN_CONFIG_BUFFER_SIZE_INDEX || alloc_index> MAX_BUFFER_SIZE_INDEX) {
         alloc_index = DEFAULT_REQUEST_BUFFER_SIZE_INDEX;
       }
@@ -5639,7 +5639,7 @@ HttpSM::setup_cache_read_transfer()
   buf->append_block(HTTP_HEADER_BUFFER_SIZE_INDEX);
 #endif
 
-  buf->water_mark = (int) t_state.http_config_param->default_buffer_water_mark;
+  buf->water_mark = (int) t_state.txn_conf->default_buffer_water_mark;
 
   IOBufferReader *buf_start = buf->alloc_reader();
 
@@ -5884,7 +5884,7 @@ HttpSM::find_http_resp_buffer_size(int64_t content_length)
   if (content_length == HTTP_UNDEFINED_CL) {
     // Try use our configured default size.  Otherwise pick
     //   the default size
-    alloc_index = (int) t_state.http_config_param->default_buffer_size_index;
+    alloc_index = (int) t_state.txn_conf->default_buffer_size_index;
     if (alloc_index<MIN_CONFIG_BUFFER_SIZE_INDEX || alloc_index> DEFAULT_MAX_BUFFER_SIZE) {
       alloc_index = DEFAULT_RESPONSE_BUFFER_SIZE_INDEX;
     }
@@ -6002,7 +6002,7 @@ HttpSM::setup_transfer_from_transform()
 
   // TODO change this call to new_empty_MIOBuffer()
   MIOBuffer *buf = new_MIOBuffer(alloc_index);
-  buf->water_mark = (int) t_state.http_config_param->default_buffer_water_mark;
+  buf->water_mark = (int) t_state.txn_conf->default_buffer_water_mark;
   IOBufferReader *buf_start = buf->alloc_reader();
 
   HttpTunnelConsumer *c = tunnel.get_consumer(transform_info.vc);
@@ -6117,7 +6117,7 @@ HttpSM::setup_server_transfer()
   MIOBuffer *buf = new_empty_MIOBuffer(alloc_index);
   buf->append_block(HTTP_HEADER_BUFFER_SIZE_INDEX);
 #endif
-  buf->water_mark = (int) t_state.http_config_param->default_buffer_water_mark;
+  buf->water_mark = (int) t_state.txn_conf->default_buffer_water_mark;
   IOBufferReader *buf_start = buf->alloc_reader();
 
   // we need to know if we are going to chunk the response or not


[44/52] [abbrv] git commit: Fix autoconf checks for mcheck_pedantic()

Posted by zw...@apache.org.
Fix autoconf checks for mcheck_pedantic()


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/b580e05d
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/b580e05d
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/b580e05d

Branch: refs/heads/3.3.x
Commit: b580e05d7652113c3847299c4268caa41f154ff6
Parents: 3dd1dd4
Author: James Peach <jp...@apache.org>
Authored: Thu Aug 1 21:48:07 2013 -0700
Committer: James Peach <jp...@apache.org>
Committed: Thu Aug 1 21:48:07 2013 -0700

----------------------------------------------------------------------
 configure.ac  | 6 ++++++
 proxy/Main.cc | 8 +++++---
 2 files changed, 11 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b580e05d/configure.ac
----------------------------------------------------------------------
diff --git a/configure.ac b/configure.ac
index 3f19c45..2879655 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1118,6 +1118,12 @@ TS_FLAG_HEADERS([sys/eventfd.h], [
 AC_CHECK_FUNCS(eventfd)
 
 #
+# Check for mcheck_pedantic(3)
+#
+TS_FLAG_HEADERS(mcheck.h)
+AC_CHECK_FUNCS(mcheck_pedantic)
+
+#
 # Check for pcre library
 #
 TS_CHECK_PCRE

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b580e05d/proxy/Main.cc
----------------------------------------------------------------------
diff --git a/proxy/Main.cc b/proxy/Main.cc
index d0785d5..a13633f 100644
--- a/proxy/Main.cc
+++ b/proxy/Main.cc
@@ -34,17 +34,19 @@
 
 #include "libts.h"
 #include "ink_sys_control.h"
+#include <syslog.h>
 
 #if !defined(linux)
 #include <sys/lock.h>
 #endif
+
 #if defined(linux)
 extern "C" int plock(int);
 #else
 #include <sys/filio.h>
 #endif
-#include <syslog.h>
-#if !defined(darwin) && !defined(freebsd) && !defined(solaris) && !defined(openbsd)
+
+#if HAVE_MCHECK_H
 #include <mcheck.h>
 #endif
 
@@ -1289,7 +1291,7 @@ main(int /* argc ATS_UNUSED */, char **argv)
 #endif
   bool admin_user_p = false;
 
-#ifdef HAVE_MCHECK
+#if defined(DEBUG) && defined(HAVE_MCHECK_PEDANTIC)
   mcheck_pedantic(NULL);
 #endif
 


[46/52] [abbrv] git commit: TS-1006: adjust some reclaimable-freelist's default configuration

Posted by zw...@apache.org.
TS-1006: adjust some reclaimable-freelist's default configuration

1) Adjust "enable_reclaim" to "1" as default in
   records.config.default.in file.

2) Adjust "max_overage" to "3" in code, so that it keeps the same value
   with records.config.default.in. And most important, this value seems
   work well in our product environment.

Signed-off-by: Yunkai Zhang <qi...@taobao.com>


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/cdbfe1d6
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/cdbfe1d6
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/cdbfe1d6

Branch: refs/heads/3.3.x
Commit: cdbfe1d6d6c43241d773a32e3bbdddddd0ca1d9b
Parents: 5b0053e
Author: Yunkai Zhang <qi...@taobao.com>
Authored: Fri Aug 2 23:27:52 2013 +0800
Committer: Yunkai Zhang <qi...@taobao.com>
Committed: Sat Aug 3 00:06:54 2013 +0800

----------------------------------------------------------------------
 mgmt/RecordsConfig.cc                  | 2 +-
 proxy/config/records.config.default.in | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cdbfe1d6/mgmt/RecordsConfig.cc
----------------------------------------------------------------------
diff --git a/mgmt/RecordsConfig.cc b/mgmt/RecordsConfig.cc
index b5b9972..0cf67a8 100644
--- a/mgmt/RecordsConfig.cc
+++ b/mgmt/RecordsConfig.cc
@@ -1837,7 +1837,7 @@ RecordElement RecordsConfig[] = {
   //############
   {RECT_CONFIG, "proxy.config.allocator.debug_filter", RECD_INT, "0", RECU_NULL, RR_NULL, RECC_NULL, "[0-1]", RECA_NULL}
   ,
-  {RECT_CONFIG, "proxy.config.allocator.max_overage", RECD_INT, "10", RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
+  {RECT_CONFIG, "proxy.config.allocator.max_overage", RECD_INT, "3", RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
   ,
   {RECT_CONFIG, "proxy.config.allocator.enable_reclaim", RECD_INT, "1", RECU_NULL, RR_NULL, RECC_NULL, "[0-1]", RECA_NULL}
   ,

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cdbfe1d6/proxy/config/records.config.default.in
----------------------------------------------------------------------
diff --git a/proxy/config/records.config.default.in b/proxy/config/records.config.default.in
index b757418..b3b7a09 100644
--- a/proxy/config/records.config.default.in
+++ b/proxy/config/records.config.default.in
@@ -616,8 +616,8 @@ CONFIG proxy.config.diags.show_location INT 0
   #  bit 0: reclaim memory in ink_freelist_new
   #  bit 1: allocate memory from partial-free Chunks(if exist) or OS
 CONFIG proxy.config.allocator.debug_filter INT 0
-  # The value of enable_reclaim should be 0 or 1. Default 0, reclaim disabled.
-CONFIG proxy.config.allocator.enable_reclaim INT 0
+  # The value of enable_reclaim should be 0 or 1. Default 1, reclaim enabled.
+CONFIG proxy.config.allocator.enable_reclaim INT 1
   # The value of reclaim_factor should be in 0.0 ~ 1.0, allocator use it to
   # calculate average value of idle memory in InkFreeList, which will determine
   # when to reclaim memory. The larger the value, the faster the reclaiming.


[42/52] [abbrv] git commit: TS-1330: Fix logging core at checkout_write()

Posted by zw...@apache.org.
TS-1330: Fix logging core at checkout_write()

== Analysis ==
1. One thread(A) got an LogBuffer object in LogObject::_checkout_write() and ran
   into LogBuffer::checkout_write(), before it updated the LogBuffer::m_state,
   it was scheduled out by the kernel.

2. Other threads got the same LogBuffer object, but they all finished
   _checkout_write() codes and made the LogBuffer object become full, finally
   one of these thread flushed the LogBuffer object into write_list queue.

3. The LogBuffer object's m_references == 0 at this time.

4. The flushing thread would call LogBufferManager::flush_buffers() to loop
   write_list. As the LogBuffer's m_references == 0, so it would be flushed
   and deleted.

5. Now, thread(A) would be scheduled in by the kernel, but the LogBuffer object
   has been deleted, so the m_buffer == NULL, that is why entry_header is 0x0.

== Solution ==
1. Remove flushing code from LogObject::log(), we should flush LogBuffer into
   queue only when new_buffer is created, so that we can promise that LogBuffer
   must be flushed only once.

2. The flushing thread should both check m_references and m_state.s.num_writers.

3. When allocate a new_buffer, should avoid memory leak.

Signed-off-by: Yunkai Zhang <qi...@taobao.com>


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/3e05261c
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/3e05261c
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/3e05261c

Branch: refs/heads/3.3.x
Commit: 3e05261c675b15a76f178e1d3e579c6941f42d20
Parents: cf62135
Author: Yunkai Zhang <qi...@taobao.com>
Authored: Thu Aug 1 00:31:21 2013 +0800
Committer: Yunkai Zhang <qi...@taobao.com>
Committed: Fri Aug 2 11:36:42 2013 +0800

----------------------------------------------------------------------
 proxy/logging/LogBuffer.h  |  3 +--
 proxy/logging/LogObject.cc | 26 +++++++++++++-------------
 2 files changed, 14 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/3e05261c/proxy/logging/LogBuffer.h
----------------------------------------------------------------------
diff --git a/proxy/logging/LogBuffer.h b/proxy/logging/LogBuffer.h
index 31ee951..191b3a5 100644
--- a/proxy/logging/LogBuffer.h
+++ b/proxy/logging/LogBuffer.h
@@ -197,8 +197,6 @@ private:
   size_t m_buf_align;           // the buffer alignment
   size_t m_write_align;         // the write alignment mask
 
-  volatile LB_State m_state;    // buffer state
-
   int m_max_entries;            // max number of entries allowed
   long m_expiration_time;       // buffer expiration time
 
@@ -207,6 +205,7 @@ private:
 
   uint32_t m_id;                // unique buffer id (for debugging)
 public:
+  volatile LB_State m_state;    // buffer state
   volatile int m_references;    // oustanding checkout_write references.
 private:
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/3e05261c/proxy/logging/LogObject.cc
----------------------------------------------------------------------
diff --git a/proxy/logging/LogObject.cc b/proxy/logging/LogObject.cc
index fd12e64..6af216e 100644
--- a/proxy/logging/LogObject.cc
+++ b/proxy/logging/LogObject.cc
@@ -44,7 +44,8 @@ LogBufferManager::flush_buffers(LogBufferSink *sink) {
   SList(LogBuffer, write_link) q(write_list.popall()), new_q;
   LogBuffer *b = NULL;
   while ((b = q.pop())) {
-    if (b->m_references) {  // Still has outstanding references.
+    if (b->m_references || b->m_state.s.num_writers) {
+      // Still has outstanding references.
       write_list.push(b);
     } else if (_num_flush_buffers > FLUSH_ARRAY_SIZE) {
       delete b;
@@ -433,6 +434,14 @@ LogObject::_checkout_write(size_t * write_offset, size_t bytes_needed) {
       head_p old_h;
       do {
         INK_QUEUE_LD(old_h, m_log_buffer);
+        if (FREELIST_POINTER(old_h) != FREELIST_POINTER(h)) {
+          ink_atomic_increment(&buffer->m_references, -1);
+
+          // another thread should be taking care of creating a new
+          // buffer, so delete new_buffer and try again
+          delete new_buffer;
+          break;
+        }
         head_p tmp_h;
         SET_FREELIST_POINTER_VERSION(tmp_h, new_buffer, 0);
 #if TS_HAS_128BIT_CAS
@@ -441,14 +450,13 @@ LogObject::_checkout_write(size_t * write_offset, size_t bytes_needed) {
        result = ink_atomic_cas((int64_t *) &m_log_buffer.data, old_h.data, tmp_h.data);
 #endif
       } while (!result);
-      if (FREELIST_POINTER(old_h) == FREELIST_POINTER(h))
+      if (FREELIST_POINTER(old_h) == FREELIST_POINTER(h)) {
         ink_atomic_increment(&buffer->m_references, FREELIST_VERSION(old_h) - 1);
 
-      if (result_code == LogBuffer::LB_FULL_NO_WRITERS) {
-        // there are no writers, move the old buffer to the flush list
         Debug("log-logbuffer", "adding buffer %d to flush list after checkout", buffer->get_id());
         m_buffer_manager.add_to_flush_queue(buffer);
         ink_cond_signal(&Log::flush_cond);
+
       }
       decremented = true;
       break;
@@ -604,15 +612,7 @@ LogObject::log(LogAccess * lad, char *text_entry)
     ink_strlcpy(&(*buffer)[offset], text_entry, bytes_needed);
   }
 
-  LogBuffer::LB_ResultCode result_code = buffer->checkin_write(offset);
-
-  if (result_code == LogBuffer::LB_ALL_WRITERS_DONE) {
-    // all checkins completed, put this buffer in the flush list
-    Debug("log-logbuffer", "adding buffer %d to flush list after checkin", buffer->get_id());
-
-    m_buffer_manager.add_to_flush_queue(buffer);
-//    ink_cond_signal (&Log::flush_cond);
-  }
+  buffer->checkin_write(offset);
 
   LOG_INCREMENT_DYN_STAT(log_stat_event_log_access_stat);
 


[26/52] [abbrv] git commit: TS-1255 Set all HTTP configs to their defaults, to be consistent

Posted by zw...@apache.org.
TS-1255 Set all HTTP configs to their defaults, to be consistent


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/db2bc67c
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/db2bc67c
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/db2bc67c

Branch: refs/heads/3.3.x
Commit: db2bc67cf2c6679c50cb84a7f1fb2dfacaa80eca
Parents: bb6939c
Author: Leif Hedstrom <zw...@apache.org>
Authored: Sat Jul 27 03:35:04 2013 -0600
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Thu Aug 1 22:42:48 2013 +0200

----------------------------------------------------------------------
 proxy/http/HttpConfig.h | 125 ++++++++++++++++++++-----------------------
 1 file changed, 59 insertions(+), 66 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/db2bc67c/proxy/http/HttpConfig.h
----------------------------------------------------------------------
diff --git a/proxy/http/HttpConfig.h b/proxy/http/HttpConfig.h
index cbee1fd..35508a8 100644
--- a/proxy/http/HttpConfig.h
+++ b/proxy/http/HttpConfig.h
@@ -400,43 +400,36 @@ struct HttpConfigPortRange
 // to be overridable per transaction more easily.
 struct OverridableHttpConfigParams {
   OverridableHttpConfigParams()
-    :  maintain_pristine_host_hdr(0), chunking_enabled(0),
-       negative_caching_enabled(0), cache_when_to_revalidate(0),
-       keep_alive_enabled_in(0), keep_alive_enabled_out(0), keep_alive_post_out(0),
-       share_server_sessions(0), fwd_proxy_auth_to_parent(0),
-       insert_age_in_response(1),
-       anonymize_remove_from(0), anonymize_remove_referer(0), anonymize_remove_user_agent(0),
-       anonymize_remove_cookie(0), anonymize_remove_client_ip(0), anonymize_insert_client_ip(1),
-       proxy_response_server_enabled(0), insert_squid_x_forwarded_for(0),
-       send_http11_requests(3),
-       cache_http(0), cache_cluster_cache_local(0), cache_ignore_client_no_cache(0), cache_ignore_client_cc_max_age(1),
-       cache_ims_on_client_no_cache(0), cache_ignore_server_no_cache(0), cache_responses_to_cookies(0),
-       cache_ignore_auth(0), cache_urls_that_look_dynamic(0), cache_required_headers(0), cache_range_lookup(1),
-       insert_request_via_string(0), insert_response_via_string(0), doc_in_cache_skip_dns(1),
-       negative_caching_lifetime(0),
-       sock_recv_buffer_size_out(0), sock_send_buffer_size_out(0), sock_option_flag_out(0),
-       sock_packet_mark_out(0), sock_packet_tos_out(0),
-       server_tcp_init_cwnd(0),
-       cache_heuristic_min_lifetime(0), cache_heuristic_max_lifetime(0),
-       cache_guaranteed_min_lifetime(0), cache_guaranteed_max_lifetime(0), cache_max_stale_age(0),
-       keep_alive_no_activity_timeout_in(0),
-       keep_alive_no_activity_timeout_out(0),
-       transaction_no_activity_timeout_in(0), transaction_no_activity_timeout_out(0),
-       transaction_active_timeout_out(0),
-       origin_max_connections(0),
-       connect_attempts_max_retries(0), connect_attempts_max_retries_dead_server(0),
-       connect_attempts_rr_retries(0), connect_attempts_timeout(0),
-       post_connect_attempts_timeout(0),
-       down_server_timeout(0), client_abort_threshold(0),
-       freshness_fuzz_time(0), freshness_fuzz_min_time(0),
-       max_cache_open_read_retries(0), cache_open_read_retry_time(0),
-       background_fill_active_timeout(0),
-       http_chunking_size(0), flow_high_water_mark(0), flow_low_water_mark(0),
-
-       // Strings / floats must come last
-       proxy_response_server_string(NULL), proxy_response_server_string_len(0),
-       cache_heuristic_lm_factor(0.0), freshness_fuzz_prob(0.0),
-       background_fill_threshold(0.5)
+    : maintain_pristine_host_hdr(1), chunking_enabled(1),
+      negative_caching_enabled(0), cache_when_to_revalidate(0),
+      keep_alive_enabled_in(1), keep_alive_enabled_out(1), keep_alive_post_out(0),
+      share_server_sessions(2), fwd_proxy_auth_to_parent(0), insert_age_in_response(1),
+      anonymize_remove_from(0), anonymize_remove_referer(0), anonymize_remove_user_agent(0),
+      anonymize_remove_cookie(0), anonymize_remove_client_ip(0), anonymize_insert_client_ip(1),
+      proxy_response_server_enabled(1), insert_squid_x_forwarded_for(1), send_http11_requests(1),
+      cache_http(1), cache_cluster_cache_local(0), cache_ignore_client_no_cache(1), cache_ignore_client_cc_max_age(0),
+      cache_ims_on_client_no_cache(1), cache_ignore_server_no_cache(0), cache_responses_to_cookies(1),
+      cache_ignore_auth(0), cache_urls_that_look_dynamic(1), cache_required_headers(2), cache_range_lookup(1),
+      insert_request_via_string(1), insert_response_via_string(0), doc_in_cache_skip_dns(1),
+      negative_caching_lifetime(1800),
+      sock_recv_buffer_size_out(0), sock_send_buffer_size_out(0), sock_option_flag_out(0),
+      sock_packet_mark_out(0), sock_packet_tos_out(0), server_tcp_init_cwnd(0),
+      cache_heuristic_min_lifetime(3600), cache_heuristic_max_lifetime(86400),
+      cache_guaranteed_min_lifetime(0), cache_guaranteed_max_lifetime(31536000), cache_max_stale_age(604800),
+      keep_alive_no_activity_timeout_in(115), keep_alive_no_activity_timeout_out(120),
+      transaction_no_activity_timeout_in(30), transaction_no_activity_timeout_out(30),
+      transaction_active_timeout_out(0), origin_max_connections(0),
+      connect_attempts_max_retries(0), connect_attempts_max_retries_dead_server(3),
+      connect_attempts_rr_retries(3), connect_attempts_timeout(30),
+      post_connect_attempts_timeout(1800), down_server_timeout(300), client_abort_threshold(10),
+      freshness_fuzz_time(240), freshness_fuzz_min_time(0),
+      max_cache_open_read_retries(-1), cache_open_read_retry_time(10), background_fill_active_timeout(60),
+      http_chunking_size(4096), flow_high_water_mark(0), flow_low_water_mark(0),
+
+      // Strings / floats must come last
+      proxy_response_server_string(NULL), proxy_response_server_string_len(0),
+      cache_heuristic_lm_factor(0.10), freshness_fuzz_prob(0.005),
+      background_fill_threshold(0.5)
   { }
 
   // A few rules here:
@@ -887,7 +880,7 @@ extern volatile int32_t icp_dynamic_enabled;
 /////////////////////////////////////////////////////////////
 inline
 HttpConfigParams::HttpConfigParams()
-  : proxy_hostname(0),
+  : proxy_hostname(NULL),
     proxy_hostname_len(0),
     server_max_connections(0),
     origin_min_keep_alive_connections(0),
@@ -899,62 +892,62 @@ HttpConfigParams::HttpConfigParams()
     no_origin_server_dns(0),
     use_client_target_addr(0),
     use_client_source_port(0),
-    proxy_request_via_string(0),
+    proxy_request_via_string(NULL),
     proxy_request_via_string_len(0),
-    proxy_response_via_string(0),
+    proxy_response_via_string(NULL),
     proxy_response_via_string_len(0),
-    url_expansions_string(0),
-    url_expansions(0),
+    url_expansions_string(NULL),
+    url_expansions(NULL),
     num_url_expansions(0),
-    session_auth_cache_keep_alive_enabled(0),
-    origin_server_pipeline(0),
-    user_agent_pipeline(0),
-    transaction_active_timeout_in(0),
-    accept_no_activity_timeout(0),
-    parent_connect_attempts(0),
-    per_parent_connect_attempts(0),
-    parent_connect_timeout(0),
+    session_auth_cache_keep_alive_enabled(1),
+    origin_server_pipeline(1),
+    user_agent_pipeline(8),
+    transaction_active_timeout_in(900),
+    accept_no_activity_timeout(120),
+    parent_connect_attempts(4),
+    per_parent_connect_attempts(2),
+    parent_connect_timeout(30),
     anonymize_other_header_list(NULL),
     global_user_agent_header(NULL),
     global_user_agent_header_size(0),
     enable_http_stats(1),
     icp_enabled(0),
     stale_icp_enabled(0),
-    cache_vary_default_text(0),
-    cache_vary_default_images(0),
-    cache_vary_default_other(0),
-    max_cache_open_write_retries(0),
+    cache_vary_default_text(NULL),
+    cache_vary_default_images(NULL),
+    cache_vary_default_other(NULL),
+    max_cache_open_write_retries(1),
     cache_enable_default_vary_headers(0),
-    cache_when_to_add_no_cache_to_msie_requests(0),
-    connect_ports_string(0),
-    connect_ports(0),
+    cache_when_to_add_no_cache_to_msie_requests(-1),
+    connect_ports_string(NULL),
+    connect_ports(NULL),
     request_hdr_max_size(131072),
     response_hdr_max_size(131072),
     push_method_enabled(0),
     referer_filter_enabled(0),
     referer_format_redirect(0),
     accept_encoding_filter_enabled(0),
-    client_transparency_enabled(0),
-    server_transparency_enabled(0),
+    client_transparency_enabled(false),
+    server_transparency_enabled(false),
     reverse_proxy_enabled(0),
-    url_remap_required(0),
+    url_remap_required(1),
     negative_revalidating_enabled(0),
-    negative_revalidating_lifetime(0),
+    negative_revalidating_lifetime(1800),
     record_cop_page(0),
     record_tcp_mem_hit(0),
-    errors_log_error_pages(0),
-    default_buffer_size_index(0),
-    default_buffer_water_mark(0),
+    errors_log_error_pages(1),
+    default_buffer_size_index(8),
+    default_buffer_water_mark(32768),
     enable_http_info(0),
     cluster_time_delta(0),
     redirection_enabled(1),
-    number_of_redirections(0),
+    number_of_redirections(1),
     post_copy_size(2048),
     ignore_accept_mismatch(0),
     ignore_accept_language_mismatch(0),
     ignore_accept_encoding_mismatch(0),
     ignore_accept_charset_mismatch(0),
-    normalize_ae_gzip(1)
+    normalize_ae_gzip(0)
 {
 }
 


[31/52] [abbrv] git commit: TS-1255 Added accept-encoding filter to overridable configs

Posted by zw...@apache.org.
TS-1255 Added accept-encoding filter to overridable configs


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/73b277f6
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/73b277f6
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/73b277f6

Branch: refs/heads/3.3.x
Commit: 73b277f6dc56fc61c27e56c14266e60091e48637
Parents: ec65b11
Author: Leif Hedstrom <zw...@apache.org>
Authored: Mon Jul 29 00:26:42 2013 +0200
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Thu Aug 1 22:42:49 2013 +0200

----------------------------------------------------------------------
 proxy/InkAPI.cc            |  8 ++++++++
 proxy/InkAPITest.cc        |  3 ++-
 proxy/api/ts/ts.h.in       |  1 +
 proxy/http/HttpConfig.cc   |  2 +-
 proxy/http/HttpConfig.h    | 14 +++++---------
 proxy/http/HttpTransact.cc |  2 +-
 6 files changed, 18 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/73b277f6/proxy/InkAPI.cc
----------------------------------------------------------------------
diff --git a/proxy/InkAPI.cc b/proxy/InkAPI.cc
index 63001f2..5b3e728 100644
--- a/proxy/InkAPI.cc
+++ b/proxy/InkAPI.cc
@@ -7593,6 +7593,10 @@ _conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *t
     typ = OVERRIDABLE_TYPE_INT;
     ret = &sm->t_state.txn_conf->negative_revalidating_lifetime;
     break;
+  case TS_CONFIG_HTTP_ACCEPT_ENCODING_FILTER_ENABLED:
+    typ = OVERRIDABLE_TYPE_INT;
+    ret = &sm->t_state.txn_conf->accept_encoding_filter_enabled;
+    break;
 
     // This helps avoiding compiler warnings, yet detect unhandled enum members.
   case TS_CONFIG_NULL:
@@ -8052,6 +8056,10 @@ TSHttpTxnConfigFind(const char* name, int length, TSOverridableConfigKey *conf,
 
   case 48:
     switch (name[length-1]) {
+    case 'd':
+      if (!strncmp(name, "proxy.config.http.accept_encoding_filter_enabled", length))
+        cnf = TS_CONFIG_HTTP_ACCEPT_ENCODING_FILTER_ENABLED;
+      break;
     case 'e':
       if (!strncmp(name, "proxy.config.http.cache.ignore_client_cc_max_age", length))
         cnf = TS_CONFIG_HTTP_CACHE_IGNORE_CLIENT_CC_MAX_AGE;

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/73b277f6/proxy/InkAPITest.cc
----------------------------------------------------------------------
diff --git a/proxy/InkAPITest.cc b/proxy/InkAPITest.cc
index 108a125..f9a0f83 100644
--- a/proxy/InkAPITest.cc
+++ b/proxy/InkAPITest.cc
@@ -7403,7 +7403,8 @@ const char *SDK_Overridable_Configs[TS_CONFIG_LAST_ENTRY] = {
   "proxy.config.http.request_header_max_size",
   "proxy.config.http.response_header_max_size",
   "proxy.config.http.negative_revalidating_enabled",
-  "proxy.config.http.negative_revalidating_lifetime"
+  "proxy.config.http.negative_revalidating_lifetime",
+  "proxy.config.http.accept_encoding_filter_enabled"
 };
 
 REGRESSION_TEST(SDK_API_OVERRIDABLE_CONFIGS) (RegressionTest * test, int /* atype ATS_UNUSED */, int *pstatus)

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/73b277f6/proxy/api/ts/ts.h.in
----------------------------------------------------------------------
diff --git a/proxy/api/ts/ts.h.in b/proxy/api/ts/ts.h.in
index 4b34bd8..3379a26 100644
--- a/proxy/api/ts/ts.h.in
+++ b/proxy/api/ts/ts.h.in
@@ -679,6 +679,7 @@ extern "C"
     TS_CONFIG_HTTP_RESPONSE_HEADER_MAX_SIZE,
     TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_ENABLED,
     TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_LIFETIME,
+    TS_CONFIG_HTTP_ACCEPT_ENCODING_FILTER_ENABLED,
     TS_CONFIG_LAST_ENTRY
   } TSOverridableConfigKey;
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/73b277f6/proxy/http/HttpConfig.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpConfig.cc b/proxy/http/HttpConfig.cc
index 1f7c478..461a9b7 100644
--- a/proxy/http/HttpConfig.cc
+++ b/proxy/http/HttpConfig.cc
@@ -1581,7 +1581,7 @@ params->push_method_enabled = INT_TO_BOOL(m_master.push_method_enabled);
   params->referer_filter_enabled = INT_TO_BOOL(m_master.referer_filter_enabled);
   params->referer_format_redirect = INT_TO_BOOL(m_master.referer_format_redirect);
 
-  params->accept_encoding_filter_enabled = INT_TO_BOOL(m_master.accept_encoding_filter_enabled);
+  params->oride.accept_encoding_filter_enabled = INT_TO_BOOL(m_master.oride.accept_encoding_filter_enabled);
 
   params->oride.down_server_timeout = m_master.oride.down_server_timeout;
   params->oride.client_abort_threshold = m_master.oride.client_abort_threshold;

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/73b277f6/proxy/http/HttpConfig.h
----------------------------------------------------------------------
diff --git a/proxy/http/HttpConfig.h b/proxy/http/HttpConfig.h
index d4970e5..c220463 100644
--- a/proxy/http/HttpConfig.h
+++ b/proxy/http/HttpConfig.h
@@ -506,6 +506,11 @@ struct OverridableHttpConfigParams {
   MgmtByte doc_in_cache_skip_dns;
   MgmtByte flow_control_enabled;
 
+  ////////////////////////////////////////////////////////
+  // HTTP Accept-Encoding filtering based on User-Agent //
+  ////////////////////////////////////////////////////////
+  MgmtByte accept_encoding_filter_enabled;
+
   ////////////////////////////////
   // Optimize gzip alternates   //
   ////////////////////////////////
@@ -565,9 +570,6 @@ struct OverridableHttpConfigParams {
   MgmtInt connect_attempts_timeout;
   MgmtInt post_connect_attempts_timeout;
 
-  ////////////////////////
-  //  Negative Caching  //
-  ////////////////////////
   MgmtInt down_server_timeout;
   MgmtInt client_abort_threshold;
 
@@ -726,11 +728,6 @@ public:
   MgmtByte referer_filter_enabled;
   MgmtByte referer_format_redirect;
 
-  ////////////////////////////////////////////////////////
-  // HTTP Accept-Encoding filtering based on User-Agent //
-  ////////////////////////////////////////////////////////
-  MgmtByte accept_encoding_filter_enabled;
-
   //////////////////
   // Transparency //
   //////////////////
@@ -927,7 +924,6 @@ HttpConfigParams::HttpConfigParams()
     push_method_enabled(0),
     referer_filter_enabled(0),
     referer_format_redirect(0),
-    accept_encoding_filter_enabled(0),
     client_transparency_enabled(false),
     server_transparency_enabled(false),
     reverse_proxy_enabled(0),

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/73b277f6/proxy/http/HttpTransact.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc
index a39447e..42e0b38 100644
--- a/proxy/http/HttpTransact.cc
+++ b/proxy/http/HttpTransact.cc
@@ -1072,7 +1072,7 @@ HttpTransact::ModifyRequest(State* s)
   /////////////////////////////////////////////////////////
   // Modify Accept-Encoding for several specific User-Agent
   /////////////////////////////////////////////////////////
-  if (s->http_config_param->accept_encoding_filter_enabled) {
+  if (s->txn_conf->accept_encoding_filter_enabled) {
     perform_accept_encoding_filtering(s);
   }
 


Re: [51/52] [abbrv] git commit: TS-2081 Make the WCCP addr configuration LOCAL

Posted by Igor Galić <i....@brainsware.org>.

----- Original Message -----
> On Aug 5, 2013, at 10:45 AM, Igor Galić <i....@brainsware.org> wrote:
> 
> > 
> >> RR_NULL, RECC_STR, NULL, RECA_NULL}
> >> +  {RECT_LOCAL, "proxy.config.wccp.addr", RECD_STRING, "",
> >> RECU_RESTART_TM,
> >> RR_NULL, RECC_STR, NULL, RECA_NULL}
> >>   ,
> > 
> > shouldn't it then be proxy.local.wccp.addr ?
> 
> 
> Perhaps, but don't think there's a "rule" on that. I opted to not break
> compatibility (i.e. this change doesn't break any existing records.config
> using the option afaik).
> 
> Up to amc to decide if he wants to rename the config.

I'm a big fan of consistency, and given that this option isn't even
documented, I'm not sure exactly what we're breaking ;)

> -- leif
> 
> 

-- 
Igor Galić

Tel: +43 (0) 664 886 22 883
Mail: i.galic@brainsware.org
URL: http://brainsware.org/
GPG: 6880 4155 74BD FD7C B515  2EA5 4B1D 9E08 A097 C9AE


Re: [51/52] [abbrv] git commit: TS-2081 Make the WCCP addr configuration LOCAL

Posted by Leif Hedstrom <le...@ogre.com>.
On Aug 5, 2013, at 10:45 AM, Igor Galić <i....@brainsware.org> wrote:

> 
>> RR_NULL, RECC_STR, NULL, RECA_NULL}
>> +  {RECT_LOCAL, "proxy.config.wccp.addr", RECD_STRING, "", RECU_RESTART_TM,
>> RR_NULL, RECC_STR, NULL, RECA_NULL}
>>   ,
> 
> shouldn't it then be proxy.local.wccp.addr ?


Perhaps, but don't think there's a "rule" on that. I opted to not break compatibility (i.e. this change doesn't break any existing records.config using the option afaik).

Up to amc to decide if he wants to rename the config.

-- leif


Re: [51/52] [abbrv] git commit: TS-2081 Make the WCCP addr configuration LOCAL

Posted by Igor Galić <i....@brainsware.org>.

----- Original Message -----
> TS-2081 Make the WCCP addr configuration LOCAL
> 
> 
> Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
> Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/994d978a
> Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/994d978a
> Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/994d978a
> 
> Branch: refs/heads/3.3.x
> Commit: 994d978a060012de934b80857d1dfab817f18a3a
> Parents: 76ef33d
> Author: Leif Hedstrom <zw...@apache.org>
> Authored: Sat Aug 3 22:40:10 2013 +0200
> Committer: Leif Hedstrom <zw...@apache.org>
> Committed: Sat Aug 3 22:40:10 2013 +0200
> 
> ----------------------------------------------------------------------
>  CHANGES               | 2 ++
>  mgmt/RecordsConfig.cc | 2 +-
>  2 files changed, 3 insertions(+), 1 deletion(-)
> ----------------------------------------------------------------------
> 
> 
> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/994d978a/CHANGES
> ----------------------------------------------------------------------
> diff --git a/CHANGES b/CHANGES
> index 292e846..fd7218c 100644
> --- a/CHANGES
> +++ b/CHANGES
> @@ -2,6 +2,8 @@
>  Changes with Apache Traffic Server 3.3.5
>    
>  
> +  *) [TS-2081] Make the WCCP addr configuration LOCAL.
> +
>    *) [TS-2093] Check bounds on plugin stat creation.
>  
>    *) [TS-2092] Use of uninitialized member in HdrHeap.
> 
> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/994d978a/mgmt/RecordsConfig.cc
> ----------------------------------------------------------------------
> diff --git a/mgmt/RecordsConfig.cc b/mgmt/RecordsConfig.cc
> index 0cf67a8..bf4b9ee 100644
> --- a/mgmt/RecordsConfig.cc
> +++ b/mgmt/RecordsConfig.cc
> @@ -1305,7 +1305,7 @@ RecordElement RecordsConfig[] = {
>    //# WCCP
>    //#
>    //############################################################################
> -  {RECT_CONFIG, "proxy.config.wccp.addr", RECD_STRING, "", RECU_RESTART_TM,
> RR_NULL, RECC_STR, NULL, RECA_NULL}
> +  {RECT_LOCAL, "proxy.config.wccp.addr", RECD_STRING, "", RECU_RESTART_TM,
> RR_NULL, RECC_STR, NULL, RECA_NULL}
>    ,

shouldn't it then be proxy.local.wccp.addr ?

>    {RECT_CONFIG, "proxy.config.wccp.services", RECD_STRING, "",
>    RECU_RESTART_TM, RR_NULL, RECC_STR, NULL, RECA_NULL }
>    ,
> 
> 

-- 
Igor Galić

Tel: +43 (0) 664 886 22 883
Mail: i.galic@brainsware.org
URL: http://brainsware.org/
GPG: 6880 4155 74BD FD7C B515  2EA5 4B1D 9E08 A097 C9AE


[51/52] [abbrv] git commit: TS-2081 Make the WCCP addr configuration LOCAL

Posted by zw...@apache.org.
TS-2081 Make the WCCP addr configuration LOCAL


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/994d978a
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/994d978a
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/994d978a

Branch: refs/heads/3.3.x
Commit: 994d978a060012de934b80857d1dfab817f18a3a
Parents: 76ef33d
Author: Leif Hedstrom <zw...@apache.org>
Authored: Sat Aug 3 22:40:10 2013 +0200
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Sat Aug 3 22:40:10 2013 +0200

----------------------------------------------------------------------
 CHANGES               | 2 ++
 mgmt/RecordsConfig.cc | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/994d978a/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 292e846..fd7218c 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,8 @@
 Changes with Apache Traffic Server 3.3.5
   
 
+  *) [TS-2081] Make the WCCP addr configuration LOCAL.
+
   *) [TS-2093] Check bounds on plugin stat creation.
 
   *) [TS-2092] Use of uninitialized member in HdrHeap.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/994d978a/mgmt/RecordsConfig.cc
----------------------------------------------------------------------
diff --git a/mgmt/RecordsConfig.cc b/mgmt/RecordsConfig.cc
index 0cf67a8..bf4b9ee 100644
--- a/mgmt/RecordsConfig.cc
+++ b/mgmt/RecordsConfig.cc
@@ -1305,7 +1305,7 @@ RecordElement RecordsConfig[] = {
   //# WCCP
   //#
   //############################################################################
-  {RECT_CONFIG, "proxy.config.wccp.addr", RECD_STRING, "", RECU_RESTART_TM, RR_NULL, RECC_STR, NULL, RECA_NULL}
+  {RECT_LOCAL, "proxy.config.wccp.addr", RECD_STRING, "", RECU_RESTART_TM, RR_NULL, RECC_STR, NULL, RECA_NULL}
   ,
   {RECT_CONFIG, "proxy.config.wccp.services", RECD_STRING, "", RECU_RESTART_TM, RR_NULL, RECC_STR, NULL, RECA_NULL }
   ,


[41/52] [abbrv] git commit: add some standard extensions to ignore list

Posted by zw...@apache.org.
add some standard extensions to ignore list


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/cf621352
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/cf621352
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/cf621352

Branch: refs/heads/3.3.x
Commit: cf62135205c23f4ea8fa3c67ea7302cf61430606
Parents: be8fd6c
Author: Igor Galić <i....@brainsware.org>
Authored: Fri Aug 2 00:53:37 2013 +0200
Committer: Igor Galić <i....@brainsware.org>
Committed: Fri Aug 2 00:53:37 2013 +0200

----------------------------------------------------------------------
 .gitignore | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cf621352/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 9a4b056..036d524 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
 *.o
 *.a
 *.so
+*.pyc
 *.in
 *~
 *.tar.gz
@@ -8,6 +9,7 @@
 *.la
 *.log
 *.trs
+.*.sw*
 
 .deps
 


[45/52] [abbrv] git commit: Updated newish tests to the gitignore

Posted by zw...@apache.org.
Updated newish tests to the gitignore


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/5b0053ed
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/5b0053ed
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/5b0053ed

Branch: refs/heads/3.3.x
Commit: 5b0053ed39da2810fe6f07428784da4902c1f097
Parents: b580e05
Author: Leif Hedstrom <zw...@apache.org>
Authored: Fri Aug 2 12:33:19 2013 +0200
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Fri Aug 2 12:33:19 2013 +0200

----------------------------------------------------------------------
 .gitignore | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b0053ed/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 036d524..df50400 100644
--- a/.gitignore
+++ b/.gitignore
@@ -58,9 +58,13 @@ lib/ts/test_freelist
 lib/ts/test_Map
 lib/ts/test_Vec
 iocore/net/test_certlookup
+iocore/aio/test_AIO
+iocore/eventsystem/test_Buffer
+iocore/eventsystem/test_Event
 proxy/config/records.config.default
 proxy/config/storage.config.default
 plugins/experimental/esi/*_test
+plugins/experimental/spdy/zstream_test
 
 mgmt/api/remote/traffic_api_cli_remote
 mgmt/tools/traffic_mcast_snoop


[33/52] [abbrv] git commit: Added Ts-1255

Posted by zw...@apache.org.
Added Ts-1255


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/7485e0b5
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/7485e0b5
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/7485e0b5

Branch: refs/heads/3.3.x
Commit: 7485e0b5f5090b53f5afce74f19f88cdfdf239d4
Parents: f047b43
Author: Leif Hedstrom <zw...@apache.org>
Authored: Thu Aug 1 22:44:11 2013 +0200
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Thu Aug 1 22:44:11 2013 +0200

----------------------------------------------------------------------
 CHANGES | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/7485e0b5/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index dc9fc4c..02d9d02 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,10 @@
 Changes with Apache Traffic Server 3.3.5
 
 
+  *) [TS-1255] Add more overridable configurations, and fix bugs in how we
+   deal with some of these (all "float" configs were completely broken). I
+   also modified the regression tests to be less easy to fool.
+
   *) [TS-1976] Prevent an invalid httpport argument being passed from
    traffic_manager to traffic_server
    Author: Thach Tran <tr...@gmail.com>


[22/52] [abbrv] git commit: doc: add new manpages to HTML docs

Posted by zw...@apache.org.
doc: add new manpages to HTML docs


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/d85f4d9a
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/d85f4d9a
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/d85f4d9a

Branch: refs/heads/3.3.x
Commit: d85f4d9a81b8eeb64cc20d1cb6d9159b3be1b6d5
Parents: 46bb782
Author: James Peach <jp...@apache.org>
Authored: Thu Aug 1 11:56:10 2013 -0700
Committer: James Peach <jp...@apache.org>
Committed: Thu Aug 1 11:56:10 2013 -0700

----------------------------------------------------------------------
 doc/reference/api/index.en.rst | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d85f4d9a/doc/reference/api/index.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/index.en.rst b/doc/reference/api/index.en.rst
index dcd34b3..3224697 100644
--- a/doc/reference/api/index.en.rst
+++ b/doc/reference/api/index.en.rst
@@ -21,8 +21,16 @@ API Reference
 .. toctree::
   :maxdepth: 2
 
-  TSAPI.en
-  TSDebug.en
-  TSHttpHookAdd.en
-  TSHttpParserCreate.en
-  TSHttpTxnMilestoneGet.en
+  TSAPI.en.rst
+  TSDebug.en.rst
+  TSHttpHookAdd.en.rst
+  TSHttpParserCreate.en.rst
+  TSHttpTxnMilestoneGet.en.rst
+  TSIOBufferCreate.en.rst
+  TSInstallDirGet.en.rst
+  TSMBufferCreate.en.rst
+  TSPluginInit.en.rst
+  TSRemap.en.rst
+  TSTrafficServerVersionGet.en.rst
+  TSUrlCreate.en.rst
+  TSmalloc.en.rst


[32/52] [abbrv] git commit: TS-1255 Added new configs to plugin docs.

Posted by zw...@apache.org.
TS-1255 Added new configs to plugin docs.


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/cba93031
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/cba93031
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/cba93031

Branch: refs/heads/3.3.x
Commit: cba930314ee4a41ce7c9e64e6eeffcc938503447
Parents: 73b277f
Author: Leif Hedstrom <zw...@apache.org>
Authored: Mon Jul 29 08:08:00 2013 +0200
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Thu Aug 1 22:42:49 2013 +0200

----------------------------------------------------------------------
 doc/reference/plugins/conf_remap.en.rst | 9 +++++++++
 1 file changed, 9 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cba93031/doc/reference/plugins/conf_remap.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/plugins/conf_remap.en.rst b/doc/reference/plugins/conf_remap.en.rst
index 2f90e1c..c18ae8d 100644
--- a/doc/reference/plugins/conf_remap.en.rst
+++ b/doc/reference/plugins/conf_remap.en.rst
@@ -105,3 +105,12 @@ the `conf_remap` plugin:
 | proxy.config.http.flow_control.enabled
 | proxy.config.http.flow_control.low_water
 | proxy.config.http.flow_control.high_water
+| proxy.config.http.cache.range.lookup
+| proxy.config.http.normalize_ae_gzip
+| proxy.config.http.default_buffer_size
+| proxy.config.http.default_buffer_water_mark
+| proxy.config.http.request_header_max_size
+| proxy.config.http.response_header_max_size
+| proxy.config.http.negative_revalidating_enabled
+| proxy.config.http.negative_revalidating_lifetime
+| proxy.config.http.accept_encoding_filter_enable


[11/52] [abbrv] git commit: doc: fix man page title capitalization

Posted by zw...@apache.org.
doc: fix man page title capitalization


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/9f07e71b
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/9f07e71b
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/9f07e71b

Branch: refs/heads/3.3.x
Commit: 9f07e71b44e6cbae3509dfde23f007c0bb61cb56
Parents: 1c7aa30
Author: James Peach <jp...@apache.org>
Authored: Thu Aug 1 08:59:07 2013 -0700
Committer: James Peach <jp...@apache.org>
Committed: Thu Aug 1 09:27:58 2013 -0700

----------------------------------------------------------------------
 doc/conf.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/9f07e71b/doc/conf.py
----------------------------------------------------------------------
diff --git a/doc/conf.py b/doc/conf.py
index fead8fe..34d7665 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -222,13 +222,13 @@ man_pages = [
 
     ('reference/commands/traffic_cop.en', 'traffic_cop', u'Traffic Server watchdog', None, '8'),
     ('reference/commands/traffic_line.en', 'traffic_line', u'Traffic Server command line', None, '8'),
-    ('reference/commands/traffic_logcat.en', 'traffic_logcat', u'traffic Server log spooler', None, '8'),
-    ('reference/commands/traffic_logstats.en', 'traffic_logstats', u'traffic Server analyzer', None, '8'),
-    ('reference/commands/traffic_manager.en', 'traffic_manager', u'traffic Server process manager', None, '8'),
+    ('reference/commands/traffic_logcat.en', 'traffic_logcat', u'Traffic Server log spooler', None, '8'),
+    ('reference/commands/traffic_logstats.en', 'traffic_logstats', u'Traffic Server analyzer', None, '8'),
+    ('reference/commands/traffic_manager.en', 'traffic_manager', u'Traffic Server process manager', None, '8'),
     ('reference/commands/traffic_server.en', 'traffic_server', u'Traffic Server', None, '8'),
     ('reference/commands/traffic_shell.en', 'traffic_shell', u'Traffic Server shell', None, '8'),
     ('reference/commands/tspush.en', 'tspush', u'Push objects into the Traffic Server cache', None, '1'),
-    ('reference/commands/tstop.en','tstop', u'display Traffic Server statistics', None, '1'),
+    ('reference/commands/tstop.en','tstop', u'Display Traffic Server statistics', None, '1'),
     ('reference/commands/tsxs.en', 'tsxs', u'Traffic Server plugin tool', None, '1'),
     
 ]


[07/52] [abbrv] git commit: docs: split reference material into top-level pages

Posted by zw...@apache.org.
docs: split reference material into top-level pages

Split all the reference material into a reference subdirectory.
Link reference material from the front page, so it's easy to drop
down into the references without navigating through guide material.


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/c2eb7363
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/c2eb7363
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/c2eb7363

Branch: refs/heads/3.3.x
Commit: c2eb736352c52d8c186911c32ac2503457fcff4c
Parents: 5d698d5
Author: James Peach <jp...@apache.org>
Authored: Wed Jul 31 17:03:17 2013 -0700
Committer: James Peach <jp...@apache.org>
Committed: Wed Jul 31 17:03:17 2013 -0700

----------------------------------------------------------------------
 doc/admin/commands/index.en.rst                 |   35 -
 doc/admin/commands/traffic_cop.en.rst           |   35 -
 doc/admin/commands/traffic_line.en.rst          |   63 -
 doc/admin/commands/traffic_logcat.en.rst        |   53 -
 doc/admin/commands/traffic_logstats.en.rst      |   68 -
 doc/admin/commands/traffic_manager.en.rst       |   50 -
 doc/admin/commands/traffic_server.en.rst        |   82 -
 doc/admin/commands/traffic_shell.en.rst         |   29 -
 doc/admin/commands/tspush.en.rst                |   36 -
 doc/admin/commands/tstop.en.rst                 |   29 -
 doc/admin/commands/tsxs.en.rst                  |   49 -
 doc/admin/configuration-files.en.rst            |   43 -
 .../configuration-files/cache.config.en.rst     |  135 --
 .../congestion.config.en.rst                    |  197 --
 .../configuration-files/hosting.config.en.rst   |   98 -
 doc/admin/configuration-files/icp.config.en.rst |  104 --
 .../configuration-files/ip_allow.config.en.rst  |   77 -
 .../configuration-files/log_hosts.config.en.rst |   66 -
 .../configuration-files/logs_xml.config.en.rst  |  370 ----
 .../configuration-files/parent.config.en.rst    |  139 --
 .../configuration-files/plugin.config.en.rst    |   51 -
 .../configuration-files/records.config.en.rst   | 1758 ------------------
 .../configuration-files/remap.config.en.rst     |  277 ---
 .../configuration-files/splitdns.config.en.rst  |  125 --
 .../ssl_multicert.config.en.rst                 |   81 -
 .../configuration-files/storage.config.en.rst   |  120 --
 .../configuration-files/update.config.en.rst    |  203 --
 .../configuration-files/volume.config.en.rst    |   72 -
 doc/admin/index.en.rst                          |   11 +-
 doc/index.rst                                   |    6 +-
 doc/plugins/balancer.en.rst                     |   92 -
 doc/plugins/buffer_upload.en.rst                |   89 -
 doc/plugins/cacheurl.en.rst                     |   59 -
 doc/plugins/combo_handler.en.rst                |   84 -
 doc/plugins/conf_remap.en.rst                   |  107 --
 doc/plugins/esi.en.rst                          |   22 -
 doc/plugins/geoip_acl.en.rst                    |   94 -
 doc/plugins/gzip.en.rst                         |   91 -
 doc/plugins/header_filter.en.rst                |  133 --
 doc/plugins/hipes.en.rst                        |   64 -
 doc/plugins/index.en.rst                        |   75 -
 doc/plugins/metafilter.en.rst                   |  110 --
 doc/plugins/mysql_remap.en.rst                  |   83 -
 doc/plugins/regex_remap.en.rst                  |  131 --
 doc/plugins/stale_while_revalidate.en.rst       |   21 -
 doc/plugins/stats_over_http.en.rst              |   50 -
 doc/reference/api/TSAPI.en.rst                  |  143 ++
 doc/reference/api/TSDebug.en.rst                |   83 +
 doc/reference/api/TSHttpHookAdd.en.rst          |  120 ++
 doc/reference/api/TSHttpParserCreate.en.rst     |   91 +
 doc/reference/api/TSHttpTxnMilestoneGet.en.rst  |   76 +
 doc/reference/api/index.en.rst                  |   28 +
 doc/reference/commands/index.en.rst             |   35 +
 doc/reference/commands/traffic_cop.en.rst       |   35 +
 doc/reference/commands/traffic_line.en.rst      |   63 +
 doc/reference/commands/traffic_logcat.en.rst    |   53 +
 doc/reference/commands/traffic_logstats.en.rst  |   68 +
 doc/reference/commands/traffic_manager.en.rst   |   50 +
 doc/reference/commands/traffic_server.en.rst    |   82 +
 doc/reference/commands/traffic_shell.en.rst     |   29 +
 doc/reference/commands/tspush.en.rst            |   36 +
 doc/reference/commands/tstop.en.rst             |   29 +
 doc/reference/commands/tsxs.en.rst              |   49 +
 doc/reference/configuration/cache.config.en.rst |  135 ++
 .../configuration/congestion.config.en.rst      |  197 ++
 .../configuration/hosting.config.en.rst         |   98 +
 doc/reference/configuration/icp.config.en.rst   |  104 ++
 doc/reference/configuration/index.en.rst        |   39 +
 .../configuration/ip_allow.config.en.rst        |   77 +
 .../configuration/log_hosts.config.en.rst       |   66 +
 .../configuration/logs_xml.config.en.rst        |  370 ++++
 .../configuration/parent.config.en.rst          |  139 ++
 .../configuration/plugin.config.en.rst          |   51 +
 .../configuration/records.config.en.rst         | 1758 ++++++++++++++++++
 doc/reference/configuration/remap.config.en.rst |  277 +++
 .../configuration/splitdns.config.en.rst        |  125 ++
 .../configuration/ssl_multicert.config.en.rst   |   81 +
 .../configuration/storage.config.en.rst         |  120 ++
 .../configuration/update.config.en.rst          |  203 ++
 .../configuration/volume.config.en.rst          |   72 +
 doc/reference/plugins/balancer.en.rst           |   92 +
 doc/reference/plugins/buffer_upload.en.rst      |   89 +
 doc/reference/plugins/cacheurl.en.rst           |   59 +
 doc/reference/plugins/combo_handler.en.rst      |   84 +
 doc/reference/plugins/conf_remap.en.rst         |  107 ++
 doc/reference/plugins/esi.en.rst                |   22 +
 doc/reference/plugins/geoip_acl.en.rst          |   94 +
 doc/reference/plugins/gzip.en.rst               |   91 +
 doc/reference/plugins/header_filter.en.rst      |  133 ++
 doc/reference/plugins/hipes.en.rst              |   64 +
 doc/reference/plugins/index.en.rst              |   75 +
 doc/reference/plugins/metafilter.en.rst         |  110 ++
 doc/reference/plugins/mysql_remap.en.rst        |   83 +
 doc/reference/plugins/regex_remap.en.rst        |  131 ++
 .../plugins/stale_while_revalidate.en.rst       |   21 +
 doc/reference/plugins/stats_over_http.en.rst    |   50 +
 doc/sdk/index.en.rst                            |    8 -
 doc/sdk/man/TSAPI.en.rst                        |  143 --
 doc/sdk/man/TSDebug.en.rst                      |   83 -
 doc/sdk/man/TSHttpHookAdd.en.rst                |  120 --
 doc/sdk/man/TSHttpParserCreate.en.rst           |   91 -
 doc/sdk/man/TSHttpTxnMilestoneGet.en.rst        |   76 -
 doc/sdk/man/index.en.rst                        |   28 -
 103 files changed, 6292 insertions(+), 6311 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/commands/index.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/commands/index.en.rst b/doc/admin/commands/index.en.rst
deleted file mode 100644
index 2b5c653..0000000
--- a/doc/admin/commands/index.en.rst
+++ /dev/null
@@ -1,35 +0,0 @@
-.. 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.
-
-Command reference
-=================
-
-.. toctree::
-  :maxdepth: 1
-
-  traffic_cop.en
-  traffic_line.en
-  traffic_logcat.en
-  traffic_logstats.en
-  traffic_manager.en
-  traffic_server.en
-  traffic_shell.en
-  tspush.en
-  tstop.en
-  tsxs.en
-
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/commands/traffic_cop.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/commands/traffic_cop.en.rst b/doc/admin/commands/traffic_cop.en.rst
deleted file mode 100644
index 366e292..0000000
--- a/doc/admin/commands/traffic_cop.en.rst
+++ /dev/null
@@ -1,35 +0,0 @@
-.. 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.
-
-===========
-traffic_cop
-===========
-
-.. program:: traffic_cop
-
-Description
-===========
-
-.. option:: -stop
-
-   Kill children using ``SIGSTOP`` instead of ``SIGKILL``
-
-.. option:: -V
-
-   Print version information and exit.
-
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/commands/traffic_line.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/commands/traffic_line.en.rst b/doc/admin/commands/traffic_line.en.rst
deleted file mode 100644
index 11ad134..0000000
--- a/doc/admin/commands/traffic_line.en.rst
+++ /dev/null
@@ -1,63 +0,0 @@
-.. 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.
-
-============
-traffic_line
-============
-
-.. program:: traffic_line
-
-Description
-===========
-
-.. option:: -q, --query_deadhosts
-
-.. option:: -r VAR, --read_var VAR
-
-.. option:: -s VAR, --set_var VAR
-
-.. option:: -v VALUE, --value VALUE
-
-.. option:: -x, --reread_config
-
-.. option:: -M, --restart_cluster
-
-.. option:: -L, --restart_local
-
-.. option:: -S, --shutdown
-
-.. option:: -U, --startup
-
-.. option:: -B, --bounce_cluster
-
-.. option:: -b, --bounce_local
-
-.. option:: -C, --clean_cluster
-
-.. option:: -c, --clear_node
-
-.. option:: -Z, --zero_cluster
-
-.. option:: -z, --zero_node
-
-.. option:: -h, --help
-
-   Print usage information and exit.
-
-.. option:: -V, --version
-
-   Print version information and exit.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/commands/traffic_logcat.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/commands/traffic_logcat.en.rst b/doc/admin/commands/traffic_logcat.en.rst
deleted file mode 100644
index 02f8575..0000000
--- a/doc/admin/commands/traffic_logcat.en.rst
+++ /dev/null
@@ -1,53 +0,0 @@
-.. 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.
-
-==============
-traffic_logcat
-==============
-
-.. program:: traffic_logcat
-
-Description
-===========
-
-.. option:: -o PATH, --output_file PATH
-
-.. option:: -a, --auto_filename
-
-.. option:: -f, --follow
-
-.. option:: -C, --clf
-
-.. option:: -E, --elf
-
-.. option:: -S, --squid
-
-.. option:: -2, --elf2
-
-.. option:: -T, --debug_tags
-
-.. option:: -w, --overwrite_output
-
-.. option:: -h, --help
-
-   Print usage information and exit.
-
-.. option:: -V, --version
-
-   Print version information and exit.
-
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/commands/traffic_logstats.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/commands/traffic_logstats.en.rst b/doc/admin/commands/traffic_logstats.en.rst
deleted file mode 100644
index 2f59825..0000000
--- a/doc/admin/commands/traffic_logstats.en.rst
+++ /dev/null
@@ -1,68 +0,0 @@
-.. 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.
-
-================
-traffic_logstats
-================
-
-.. program:: traffic_logstats
-
-Description
-===========
-
-.. option:: -f FILE, --log_file FILE
-
-.. option:: -o LIST, --origin_list LIST
-
-.. option:: -O FILE, --origin_file FILE
-
-.. option:: -M COUNT, --max_origins COUNT
-
-.. option:: -u COUNT, --urls COUNT
-
-.. option:: -U COUNT, --show_urls COUNT
-
-.. option:: --A, --as_object
-
-.. option:: -i, --incremental
-
-.. option:: -S FILE, --statetag FILE
-
-.. option:: -t, --tail
-
-.. option:: -s, --summary
-
-.. option:: -j, --json
-
-.. option:: -c, --cgi
-
-.. option:: -m, --min_hits
-
-.. option:: -a, --max_age
-
-.. option:: -l COUNT, --line_len COUNT
-
-.. option:: -T TAGS, --debug_tags TAGS
-
-.. option:: -h, --help
-
-   Print usage information and exit.
-
-.. option:: -V, --version
-
-   Print version information and exit.
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/commands/traffic_manager.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/commands/traffic_manager.en.rst b/doc/admin/commands/traffic_manager.en.rst
deleted file mode 100644
index f602b2a..0000000
--- a/doc/admin/commands/traffic_manager.en.rst
+++ /dev/null
@@ -1,50 +0,0 @@
-.. 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.
-
-===============
-traffic_manager
-===============
-
-.. program:: traffic_manager
-
-Description
-===========
-
-.. option:: proxyOff
-.. option:: -nosyslog
-.. option:: -aconfPort PORT
-.. option:: -clusterMCPort PORT
-.. option:: -groupAddr ADDRESS
-.. option:: -clusterRSPort PORT
-.. option:: -debug TAGS
-.. option:: -action TAGS
-.. option:: -path FILE
-.. option:: -recordsConf FILE
-.. option:: -tsArgs ARGUMENTS
-.. option:: -proxyPort PORT
-.. option:: -proxyBackDoor PORT
-.. option:: -schema FILE
-.. option:: -version
-
-Environment
-===========
-
-.. envvar:: MGMT_ACONF_PORT
-.. envvar:: MGMT_CLUSTER_MC_PORT
-.. envvar:: MGMT_CLUSTER_RS_PORT
-.. envvar:: MGMT_GROUP_ADDR
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/commands/traffic_server.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/commands/traffic_server.en.rst b/doc/admin/commands/traffic_server.en.rst
deleted file mode 100644
index ad3aa73..0000000
--- a/doc/admin/commands/traffic_server.en.rst
+++ /dev/null
@@ -1,82 +0,0 @@
-.. 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.
-
-==============
-traffic_server
-==============
-
-.. program:: traffic_server
-
-Description
-===========
-
-.. option:: -n COUNT, --net_threads COUNT
-
-.. option:: -Z COUNT, --cluster_threads COUNT
-
-.. option:: -U COUNT, --udp_threads COUNT
-
-.. option:: -a, --accepts_thread
-
-.. option:: -b, --accept_till_done
-
-.. option:: -p PORT, --httpport PORT
-
-.. option:: -P PORT, --cluster_port PORT
-
-.. option:: -o LEVEL, --dprintf_level LEVEL
-
-.. option:: -R LEVEL, --regression LEVEL
-
-.. option:: -r TEST, --regression_rest TEST
-
-.. option:: -T TAGS, --debug_tags TAGS
-
-.. option:: -B TAGS, --action_tags TAGS
-
-.. option:: -i COUNT, --interval COUNT
-
-.. option:: -M, --remote_management
-
-.. option:: -d DIR, --management_dir DIR
-
-.. option:: -C CMD, --command CMD
-
-.. option:: -k, --clear_hostdb
-
-.. option:: -K, --clear_cache
-
-.. option:: -c CORE, --read_core CORE
-
-.. option:: --accept_mss MSS
-
-.. option:: -t SECS, --poll_timeout SECS
-
-.. option:: -h, --help
-
-   Print usage information and exit.
-
-.. option:: -V, --version
-
-   Print version information and exit.
-
-Environment
-===========
-
-.. envvar:: PROXY_REMOTE_MGMT
-
-.. envvar:: PROXY_AUTO_EXIT

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/commands/traffic_shell.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/commands/traffic_shell.en.rst b/doc/admin/commands/traffic_shell.en.rst
deleted file mode 100644
index 7a56fd0..0000000
--- a/doc/admin/commands/traffic_shell.en.rst
+++ /dev/null
@@ -1,29 +0,0 @@
-.. 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.
-
-=============
-traffic_shell
-=============
-
-.. program:: traffic_shell
-
-Description
-===========
-
-.. option:: -V, --version
-
-   Print version information and exit.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/commands/tspush.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/commands/tspush.en.rst b/doc/admin/commands/tspush.en.rst
deleted file mode 100644
index e32c517..0000000
--- a/doc/admin/commands/tspush.en.rst
+++ /dev/null
@@ -1,36 +0,0 @@
-.. 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.
-
-======
-tspush
-======
-
-.. program:: tspush
-
-Description
-===========
-
-.. option:: -f FILE, --file FILE
-
-.. option:: -u URL, --url URL
-
-.. option:: -v, --verbose
-
-.. option:: -h, --help
-
-   Print usage information and exit.
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/commands/tstop.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/commands/tstop.en.rst b/doc/admin/commands/tstop.en.rst
deleted file mode 100644
index bf1237d..0000000
--- a/doc/admin/commands/tstop.en.rst
+++ /dev/null
@@ -1,29 +0,0 @@
-.. 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.
-
-=====
-tstop
-=====
-
-.. program:: tstop
-
-Description
-===========
-
-.. option:: -s COUNT
-
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/commands/tsxs.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/commands/tsxs.en.rst b/doc/admin/commands/tsxs.en.rst
deleted file mode 100644
index f274e64..0000000
--- a/doc/admin/commands/tsxs.en.rst
+++ /dev/null
@@ -1,49 +0,0 @@
-.. 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.
-
-====
-tsxs
-====
-
-.. program:: tsxs
-
-Description
-===========
-
-.. option:: -q VAR, --query VAR
-
-.. option:: -I PATH
-
-.. option:: -L PATH
-
-.. option:: -l LIB
-
-.. option:: -o FILE
-
-.. option:: -i
-
-.. option:: -c FILE [FILE ...]
-
-.. option:: -C FILE [FILE ...]
-
-.. option:: -v, --verbose
-
-.. option:: -h, --help
-
-   Print usage information and exit.
-
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/configuration-files.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/configuration-files.en.rst b/doc/admin/configuration-files.en.rst
deleted file mode 100644
index ad1ea81..0000000
--- a/doc/admin/configuration-files.en.rst
+++ /dev/null
@@ -1,43 +0,0 @@
-Configuration Files
-*******************
-
-.. 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.
-
-This section describes Traffic Server configuration files that you can
-edit.
-
-
-.. toctree::
-   :maxdepth: 1
-
-   configuration-files/records.config.en
-   configuration-files/ip_allow.config.en
-   configuration-files/update.config.en
-   configuration-files/logs_xml.config.en
-   configuration-files/remap.config.en
-   configuration-files/cache.config.en
-   configuration-files/volume.config.en
-   configuration-files/parent.config.en
-   configuration-files/storage.config.en
-   configuration-files/splitdns.config.en
-   configuration-files/icp.config.en
-   configuration-files/congestion.config.en
-   configuration-files/plugin.config.en
-   configuration-files/log_hosts.config.en
-   configuration-files/hosting.config.en
-   configuration-files/ssl_multicert.config.en

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/configuration-files/cache.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/configuration-files/cache.config.en.rst b/doc/admin/configuration-files/cache.config.en.rst
deleted file mode 100644
index 042a048..0000000
--- a/doc/admin/configuration-files/cache.config.en.rst
+++ /dev/null
@@ -1,135 +0,0 @@
-.. 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.
-
-============
-cache.config
-============
-
-.. configfile:: cache.config
-
-The :file:`cache.config` file defines how Traffic Server caches web objects. You
-can add caching rules to specify the following: - Not to cache objects
-from specific IP addresses - How long to pin particular objects in the
-cache - How long to consider cached objects as fresh - Whether to ignore
-no-cache directives from the server
-
-.. important::
-
-    After you modify the :file:`cache.config file`, navigate to
-    the Traffic Server bin directory; then run the :option:`traffic_line -x`
-    command to apply changes. When you apply the changes to a node in a
-    cluster, Traffic Server automatically applies the changes to all other
-    nodes in the cluster.
-
-Format
-======
-
-Each line in the :file:`cache.config` file contains a caching rule. Traffic
-Server recognizes three space-delimited tags::
-
-    primary_destination=value secondary_specifier=value action=value
-
-You can use more than one secondary specifier in a rule. However, you
-cannot repeat a secondary specifier. The following list shows the
-possible primary destinations with allowed values.
-
-*``dest_domain``* {#dest_domain}
-    A requested domain name. Traffic Server matches the domain name of
-    the destination from the URL in the request.
-
-*``dest_host``* {#dest_host}
-    A requested hostname. Traffic Server matches the hostname of the
-    destination from the URL in the request.
-
-*``dest_ip``* {#dest_ip}
-    A requested IP address. Traffic Server matches the IP address of the
-    destination in the request.
-
-*``url_regex``* {#url_regex}
-    A regular expression (regex) to be found in a URL.
-
-The secondary specifiers are optional in the :file:`cache.config` file. The
-following list shows possible secondary specifiers with allowed values.
-
-*``port``* {#port}
-    A requested URL port.
-
-*``scheme``* {#scheme}
-    A request URL protocol: http or https.
-
-*``prefix``* {#prefix}
-    A prefix in the path part of a URL.
-
-*``suffix``* {#suffix}
-    A file suffix in the URL.
-
-*``method``* {#method}
-    A request URL method: get, put, post, trace.
-
-*``time``* {#time}
-    A time range, such as 08:00-14:00.
-
-*``src_ip``* {#src_ip}
-    A client IP address.
-
-The following list shows possible actions and their allowed values.
-
-*``action``* {#action}
-    One of the following values:
-
-    -  ``never-cache`` configures Traffic Server to never cache
-       specified objects.
-    -  ``ignore-no-cache`` configures Traffic Server to ignore all
-       ``Cache-Control: no-cache`` headers.
-    -  ``ignore-client-no-cache`` configures Traffic Server to ignore
-       ``Cache-Control: no-cache`` headers from client requests.
-    -  ``ignore-server-no-cache`` configures Traffic Server to ignore
-       ``Cache-Control: no-cache`` headers from origin server responses.
-
-*``pin-in-cache``* {#pin-in-cache}
-    The amount of time you want to keep the object(s) in the cache. The
-    following time formats are allowed:
-
-    -  ``d`` for days; for example: 2d
-    -  ``h`` for hours; for example: 10h
-    -  ``m`` for minutes; for example: 5m
-    -  ``s`` for seconds; for example: 20s
-    -  mixed units; for example: 1h15m20s
-
-*``revalidate``* {#revalidate}
-    The amount of time object(s) are to be considered fresh. Use the
-    same time formats as ``pin-in-cache``.
-
-*``ttl-in-cache``* {#ttl-in-cache}
-    The amount of time object(s) are to be kept in the cache, regardless
-    of Cache-Control response headers. Use the same time formats as
-    pin-in-cache and revalidate .
-
-Examples
-========
-
-The following example configures Traffic Server to revalidate ``gif``
-and ``jpeg`` objects in the domain ``mydomain.com`` every 6 hours, and
-all other objects in ``mydomain.com`` every hour. The rules are applied
-in the order listed.
-
-::
-
-    dest_domain=mydomain.com suffix=gif revalidate=6h
-    dest_domain=mydomain.com suffix=jpeg revalidate=6h
-    dest_domain=mydomain.com revalidate=1h
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/configuration-files/congestion.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/configuration-files/congestion.config.en.rst b/doc/admin/configuration-files/congestion.config.en.rst
deleted file mode 100644
index 811e9ff..0000000
--- a/doc/admin/configuration-files/congestion.config.en.rst
+++ /dev/null
@@ -1,197 +0,0 @@
-.. 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.
-
-=================
-congestion.config
-=================
-
-.. configfile: congestion.config
-
-The :file:`congestion.config` file enables you to configure Traffic Server
-to stop forwarding HTTP requests to origin servers when they become
-congested, and then send the client a message to retry the congested
-origin server later. After you modify the :file:`congestion.config` file,
-navigate to the Traffic Server bin directory; then run the
-:option:`traffic_line -x` command to apply changes. When you apply the changes
-to a node in a cluster, Traffic Server automatically applies the changes
-to all other nodes in the cluster. Traffic Server uses the
-:file:`congestion.config` file only if you enable the `Congestion
-Control <http#UsingCongestionControl>`_ option.
-
-You can create rules in the congestion.config file to specify:
-
--  Which origin servers Traffic Server tracks for congestion.
--  The timeouts Traffic Server uses, depending on whether a server is
-   congested.
--  The page Traffic Server sends to the client when a server becomes
-   congested.
--  If Traffic Server tracks the origin servers per IP address or per
-   hostname.
-
-Format
-======
-
-Each line in :file:`congestion.config` must follow the format below. Traffic
-Server applies the rules in the order listed, starting at the top of the
-file. Traffic Server recognizes three space-delimited tags::
-
-    primary_destination=value secondary_specifier=value action=value
-
-The following list shows possible primary destinations with allowed
-values.
-
-*``dest_domain``* {#dest_domain}
-    A requested domain name.
-
-*``dest_host``* {#dest_host}
-    A requested hostname.
-
-*``dest_ip``* {#dest_ip}
-    A requested IP address.
-
-*``url_regex``* {#url_regex}
-    A regular expression (regex) to be found in a URL.
-
-The secondary specifiers are optional in the congestion.config file. The
-following list shows possible secondary specifiers with allowed values.
-You can use more than one secondary specifier in a rule; however, you
-cannot repeat a secondary specifier.
-
-*``port``* {#port}
-    A requested URL port or range of ports.
-
-*``prefix``* {#prefix}
-    A prefix in the path part of a URL.
-
-The following list shows the possible tags and their allowed values.
-
-*``max_connection_failures``* {#max_connection_failures}
-    Default: ``5``
-    The maximum number of connection failures allowed within the fail
-    window described below before Traffic Server marks the origin server
-    as congested.
-
-*``fail_window``* {#fail_window}
-    Default: ``120`` seconds.
-    The time period during which the maximum number of connection
-    failures can occur before Traffic Server marks the origin server as
-    congested.
-
-*``proxy_retry_interval``* {#proxy_retry_interval}
-    Default: ``10`` seconds.
-    The number of seconds that Traffic Server waits before contacting a
-    congested origin server again.
-
-*``client_wait_interval``* {#client_wait_interval}
-    Default: ``300`` seconds.
-    The number of seconds that the client is advised to wait before
-    retrying the congested origin server.
-
-*``wait_interval_alpha``* {#wait_interval_alpha}
-    Default: ``30`` seconds
-    The upper limit for a random number that is added to the wait
-    interval.
-
-*``live_os_conn_timeout``* {#live_os_conn_timeout}
-    Default: ``60`` seconds.
-    The connection timeout to the live (uncongested) origin server. If a
-    client stops a request before the timeout occurs, then Traffic
-    Server does not record a connection failure.
-
-*``live_os_conn_retries``* {#live_os_conn_retries}
-    Default: ``2``
-    The maximum number of retries allowed to the live (uncongested)
-    origin server.
-
-*``dead_os_conn_timeout``* {#dead_os_conn_timeout}
-    Default: ``15`` secondsj
-    The connection timeout to the congested origin server.
-
-*``dead_os_conn_retries``* {#dead_os_conn_retries}
-    Default: ``1``
-    The maximum number of retries allowed to the congested origin
-    server.
-
-*``max_connection``* {#max_connection}
-    Default: ``-1``
-    The maximum number of connections allowed from Traffic Server to the
-    origin server.
-
-*``error_page``* {#error_page}
-    Default: ``"congestion#retryAfter"``
-    The error page sent to the client when a server is congested. You
-    must enclose the value in quotes;
-
-*:file:`congestion.config`* {#congestion_scheme}
-    Default: ``"per_ip"``
-    Specifies if Traffic Server applies the rule on a per-host
-    (``"per_host"``) or per-IP basis (``"per_ip"``). You must enclose
-    the value in quotes.
-
-    For example: if the server ``www.host1.com`` has two IP addresses
-    and you use the tag value ``"per_ip"``, then each IP address has its
-    own number of connection failures and is marked as congested
-    independently. If you use the tag value ``"per_host"`` and the
-    server ``www.host1.com`` is marked as congested, then both IP
-    addresses are marked as congested.
-
-Examples
-========
-
-The following :file:`congestion.config` rule configures Traffic Server to
-stop forwarding requests to the server ``www.host.com`` on port 80 (HTTP
-traffic) if the server is congested, according to the timeouts
-specified. Traffic Server uses the default tag values because no tag has
-been specified.
-
-::
-
-    dest_host=www.host.com port=80
-
-You can use one or more tags in a rule, but each tag must have one value
-only. If you specify no tags in the rule, then Traffic Server uses the
-default values.
-
-You can override any of the default tag values by adding configuration
-variables at the end of :file:`records.config` as follows:
-
-::
-
-    CONFIG proxy.config.http.congestion_control.default.tag INT|STRING value
-
-where tag is one of the tags described in the list under
-:file:`congestion.config` and value is the value you
-want to use.
-
-For example::
-
-    CONFIG proxy.config.http.congestion_control.default.congestion_scheme STRING per_host
-
-.. important::
-
-    Rules in the :file:`congestion.config` file override the
-    following variables in the :file:`records.config` file:
-
-::
-
-    proxy.config.http.connect_attempts_max_retries
-    proxy.config.http.connect_attempts_max_retries_dead_server
-    proxy.config.http.connect_attempts_rr_retries
-    proxy.config.http.connect_attempts_timeout
-    proxy.config.http.down_server.cache_time
-    proxy.config.http.down_server.abort_threshold
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/configuration-files/hosting.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/configuration-files/hosting.config.en.rst b/doc/admin/configuration-files/hosting.config.en.rst
deleted file mode 100644
index 73cae87..0000000
--- a/doc/admin/configuration-files/hosting.config.en.rst
+++ /dev/null
@@ -1,98 +0,0 @@
-.. 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.
-
-==============
-hosting.config
-==============
-
-.. configfile:: hosting.config
-
-The :file:`hosting.config` file enables you to assign cache partitions to
-specific origin servers and/or domains so that you can manage cache
-space efficiently and restrict disk usage. For step-by-step instructions
-on partitioning the cache according to origin servers and/or domains,
-refer to `Partitioning the Cache <../configuring-cache#PartitoningCache>`_.
-Before you can assign cache partitions to specific
-origin servers and/or domains, you must first partition your cache
-according to size and protocol in the :file:`volume.config`
-file. For step-by-step instructions about partitioning your cache, refer
-to `Partitioning the Cache <../configuring-cache#PartitioningCache>`_.
-
-After you modify hosting.config, navigate to the Traffic Server bin
-directory and run :option:`traffic_line -x` to apply your changes.
-
-When you apply the changes to a node in a cluster, Traffic Server
-automatically applies the changes to all other nodes in the cluster.
-
-.. important::
-
-    The :file:`volume.config` configuration must be the same on all nodes in a cluster.
-
-Format
-======
-
-Each line in the :file:`hosting.config` file must have one of the following
-formats::
-
-    hostname=HOST partition=NUMBERS
-    domain=DOMAIN partition=NUMBERS
-
-where ``HOST`` is the fully-qualified hostname of the origin server
-whose content you want to store on a particular partition (for example,
-``www.myhost.com``); ``DOMAIN`` is the domain whose content you
-want to store on a particular partition(for example, ``mydomain.com``);
-and ``NUMBERS`` is a comma-separated list of the partitions on
-which you want to store the content that belongs to the origin server or
-domain listed. The partition numbers must be valid numbers listed in the
-file:`volume.config`.
-
-**Note:** To allocate more than one partition to an origin server or
-domain, you must enter the partitions in a comma-separated list on one
-line, as shown in the example below. The
-:file:`hosting.config`  file cannot contain multiple entries
-for the same origin server or domain.
-
-Generic Partition
-=================
-
-When configuring the :file:`hosting.config` file, you must assign a generic
-partition to use for content that does not belong to any of the origin
-servers or domains listed. If all partitions for a particular origin
-server become corrupt, Traffic Server will also use the generic
-partition to store content for that origin server.
-
-The generic partition must have the following format::
-
-    hostname=* partition=NUMBERS
-
-where ``NUMBERS`` is a comma-separated list of generic
-partitions.
-
-Examples
-========
-
-The following example configures Traffic Server to store content from
-the domain ``mydomain.com`` in partition 1 and content from
-``www.myhost.com`` in partition 2. Traffic Server stores content from
-all other origin servers in partitions 3 and 4.
-
-::
-
-    domain=mydomain.com partition=1
-    hostname=www.myhost.com partition=2
-    hostname=* partition=3,4
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/configuration-files/icp.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/configuration-files/icp.config.en.rst b/doc/admin/configuration-files/icp.config.en.rst
deleted file mode 100644
index 877e459..0000000
--- a/doc/admin/configuration-files/icp.config.en.rst
+++ /dev/null
@@ -1,104 +0,0 @@
-.. 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.
-
-==========
-icp.config
-==========
-
-.. configfile:: icp.config
-
-.. warning::
-
-  The Traffic Server ICP  feature is not functional in this release.
-
-The :file:`icp.config` file defines ICP peers (parent and sibling caches).
-
-.. important::
-
-    After you modify the icp.config file, navigate to the
-    Traffic Server bin directory and run the :option:`traffic_line -x` command to
-    apply the changes. When you apply the changes to a node in a cluster,
-    Traffic Server automatically applies the changes to all other nodes in
-    the cluster.
-
-Format
-======
-
-Each line in the icp.config file contains the name and configuration
-information for a single ICP peer in the following format::
-
-    host : host_IP : peer_type : proxy_port : icp_port : MC_on : MC_IP : MC_TTL :
-
-Each field is described in the following list.
-
-*``host``* {#host}
-    The hostname of the ICP peer.
-
-    This field is optional; if you do not specify the hostname of the
-    ICP peer, you must specify the IP address.
-
-*``host_IP``* {#host_IP}
-    The IP address of the ICP peer.
-
-    This field is optional; if you do not specify the IP address of the
-    ICP peer, you must specify the hostname.
-
-*``ctype``* {#ctype}
-    Use the following options:
-
-    -  1 to indicate an ICP parent cache
-    -  2 to indicate an ICP sibling cache
-
-*``proxy_port``* {#proxy_port}
-    The port number of the TCP port used by the ICP peer for proxy
-    communication.
-
-*``icp_port``* {#icp_port}
-    The port number of the UDP port used by the ICP peer for ICP
-    communication.
-
-*``MC_on``* {#mc_on}
-    Enable or disable MultiCast:
-
-    -  0 if multicast is disabled
-    -  1 if multicast is enabled
-
-*``MC_ip``* {#mc_ip}
-    The MultiCast IP address.
-
-*``MC_ttl``* {#mc_ttl}
-    The multicast time to live. Use the following options:
-
-    -  1 if IP multicast datagrams will not be forwarded beyond a single
-       subnetwork
-    -  2 to allow delivery of IP multicast datagrams to more than one
-       subnet (if there are one or more multicast routers attached to
-       the first hop subnet).
-
-Examples
-========
-
-The following example configuration is for three nodes: the local host,
-one parent, and one sibling.
-
-::
-
-    :::text
-    localhost:0.0.0.0:3:8080:3130:0:0.0.0.0:1
-    host1:123.12.1.23:1:8080:3131:0:0.0.0.0:1
-    host2:123.12.1.24:2:8080:3131:0:0.0.0.0:1
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/configuration-files/ip_allow.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/configuration-files/ip_allow.config.en.rst b/doc/admin/configuration-files/ip_allow.config.en.rst
deleted file mode 100644
index 49812a1..0000000
--- a/doc/admin/configuration-files/ip_allow.config.en.rst
+++ /dev/null
@@ -1,77 +0,0 @@
-.. 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.
-
-===============
-ip_allow.config
-===============
-
-.. configfile:: ip_allow.config
-
-The :file:`ip_allow.config` file controls client access to the Traffic
-Server proxy cache. You can specify ranges of IP addresses that are
-allowed to use the Traffic Server as a web proxy cache. After you modify
-the :file:`ip_allow.config` file, navigate to the Traffic Server bin
-directory and run the :option:`traffic_line -x` command to apply changes. When
-you apply the changes to a node in a cluster, Traffic Server
-automatically applies the changes to all other nodes in the cluster.
-
-Format
-======
-
-Each line in the :file:`ip_allow.config` file must have the following
-format::
-
-    src_ip=<range of IP addresses> action=<action> [method=<list of methods separated by '|'>]
-
-where src_ip is the IP address or range of IP addresses of the
-client(s). The action ``ip_allow`` enables the specified client(s) to
-access the Traffic Server proxy cache, and ``ip_deny`` denies the
-specified client(s) to access the Traffic Server proxy cache. Multiple
-method keywords can be specified (method=GET method=HEAD), or multiple
-methods can be separated by an '\|' (method=GET\|HEAD). The method
-keyword is optional and it is defaulted to ALL. Available methods: ALL,
-GET, CONNECT, DELETE, HEAD, ICP_QUERY, OPTIONS, POST, PURGE, PUT,
-TRACE, PUSH
-
-By default, the :file:`ip_allow.config` file contains the following lines,
-which allows all methods to localhost to access the Traffic Server proxy
-cache and denies PUSH, PURGE and DELETE to all IPs (note this allows all
-other methods to all IPs)::
-
-    src_ip=127.0.0.1                                  action=ip_allow method=ALL
-    src_ip=::1                                        action=ip_allow method=ALL
-    src_ip=0.0.0.0-255.255.255.255                    action=ip_deny  method=PUSH|PURGE|DELETE
-    src_ip=::-ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff action=ip_deny  method=PUSH|PURGE|DELETE
-
-Examples
-========
-
-The following example enables all clients to access the Traffic Server
-proxy cache::
-
-    src_ip=0.0.0.0-255.255.255.255 action=ip_allow
-
-The following example allows all clients on a specific subnet to access
-the Traffic Server proxy cache::
-
-    src_ip=123.12.3.000-123.12.3.123 action=ip_allow
-
-The following example denies all clients on a specific subnet to access
-the Traffic Server proxy cache::
-
-    src_ip=123.45.6.0-123.45.6.123 action=ip_deny
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/configuration-files/log_hosts.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/configuration-files/log_hosts.config.en.rst b/doc/admin/configuration-files/log_hosts.config.en.rst
deleted file mode 100644
index dcb74e9..0000000
--- a/doc/admin/configuration-files/log_hosts.config.en.rst
+++ /dev/null
@@ -1,66 +0,0 @@
-.. 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.
-
-================
-log_hosts.config
-================
-
-.. configfile:: log_hosts.config
-
-To record HTTP transactions for different origin servers in separate log
-files, you must list each origin server hostname in the
-:file:`log_hosts.config` file. In addition, you must enable the `HTTP Host
-Log Splitting <../working-log-files#HTTPHostLogSplitting>`_ option. You
-should use the same :file:`log_hosts.config` file on every Traffic Server
-node in your cluster. After you modify the :file:`log_hosts.config` file,
-run the :option:`traffic_line -x` command to apply the changes.
-When you apply the changes to a node in a cluster, Traffic Server automatically applies the
-changes to all other nodes in the cluster.
-
-Format
-======
-
-Each line in the :file:`log_hosts.config` file has the following format::
-
-    hostname
-
-where ``hostname`` is the hostname of the origin server.
-
-.. hint::
-
-    You can specify keywords in the :file:`log_hosts.config` file to
-    record all transactions from origin servers with the specified keyword
-    in their names in a separate log file. See the example below.
-
-Examples
-========
-
-The following example configures Traffic Server to create separate log
-files containing all HTTP transactions for the origin servers
-``webserver1``, ``webserver2``, and ``webserver3``::
-
-    webserver1
-    webserver2
-    webserver3
-
-The following example records all HTTP transactions from origin servers
-that contain ``sports`` in their names. For example:
-``sports.yahoo.com`` and ``www.foxsports.com`` in a log file called
-``squid-sport.log`` (the Squid format is enabled)::
-
-    sports
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/configuration-files/logs_xml.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/configuration-files/logs_xml.config.en.rst b/doc/admin/configuration-files/logs_xml.config.en.rst
deleted file mode 100644
index e9ad379..0000000
--- a/doc/admin/configuration-files/logs_xml.config.en.rst
+++ /dev/null
@@ -1,370 +0,0 @@
-.. 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.
-
-===============
-logs_xml.config
-===============
-
-.. configfile:: logs_xml.config
-
-The :file:`logs_xml.config` file defines the custom log file formats,
-filters, and processing options. The format of this file is modeled
-after XML, the Extensible Markup Language.
-
-Format
-======
-
-The :file:`logs_xml.config` file contains the specifications below:
-
--  ``LogFormat`` specifies the fields to be gathered from each protocol
-   event access.
--  ``LogFilter`` specifies the filters that are used to include or
-   exclude certain entries being logged based on the value of a field
-   within that entry.
--  ``LogObject`` specifies an object that contains a particular format,
-   a local filename, filters, and collation servers.
-
-The :file:`logs_xml.config` file ignores extra white space, blank lines, and
-all comments.
-
-LogFormat
-=========
-
-The following list shows ``LogFormat`` specifications.
-
-*``&lt;Name = "valid_format_name"/&gt;``* {#LogsXMLFormatName}
-    Required
-    Valid format names include any name except ``squid``, ``common``,
-    ``extended``, or ``extended2``, which are pre-defined formats. There
-    is no default for this tag.
-
-*``&lt;Format = "valid_format_specification"/&gt;``* {#LogsXMLFormat}
-    Required
-    A valid format specification is a printf-style string describing
-    each log entry when formatted for ASCII output. Use ``%<``
-    *``field``* ``>`` as a placeholder for valid field names. For more
-    information, refer to `Custom Logging
-    Fields <../event-logging-formats#CustomLoggingFields>`_.
-
-    The specified field can be one of the following types:
-
-    Simple. For example: ``%<cqu>``
-    A field within a container, such as an HTTP header or a statistic.
-    Fields of this type have the syntax:
-
-    ::
-
-         %<{ field } container>
-
-    Aggregates, such as ``COUNT``, ``SUM``, ``AVG``, ``FIRST``,
-    ``LAST``. Fields of this type have the syntax: ``%<operator (``
-    *``field``* ``)>``
-
-.. note::
-
-    You cannot create a format specification that contains both aggregate operators and regular fields.
-
-*``&lt;Interval = "aggregate_interval_secs"/&gt;``* {#LogsXMLInterval}
-    Optional
-    Use this tag when the format contains aggregate operators. The value
-    "``aggregate_interval_secs``\ " represents the number of seconds
-    between individual aggregate values being produced.
-
-    The valid set of aggregate operators are:
-
-    -  COUNT
-    -  SUM
-    -  AVG
-    -  FIRST
-    -  LAST
-
-LogFilters
-==========
-
-The following list shows the ``LogFilter`` specifications.
-
-*``&lt;Name = "valid_filter_name"/&gt;``* {#LogsXMLFilterName}
-    Required
-    All filters must be uniquely named.
-
-*``&lt;Condition = "valid_log_field valid_operator valid_comparison_value"/&gt;``*
-{#LogsXMLFilterCondition}
-    Required
-    This field contains the following elements:
-
-    ``valid_log_field`` - the field that will be compared against
-    the given value. For more information, refer to `Logging Format
-    Cross-Reference <../event-logging-formats#LoggingFormatCrossReference>`_.
-
-    ``valid_operator_field`` - any one of the following: ``MATCH``,
-    ``CASE_INSENSITIVE_MATCH``, ``CONTAIN``,
-    ``CASE_INSENSITIVE_CONTAIN``.
-
-    -  ``MATCH`` is true if the field and value are identical
-       (case-sensitive).
-    -  ``CASE_INSENSITIVE_MATCH`` is similar to ``MATCH``, except that
-       it is case-insensitive.
-    -  ``CONTAIN`` is true if the field contains the value (the value is
-       a substring of the field).
-    -  ``CASE_INSENSITIVE_CONTAIN`` is a case-insensitive version of
-       ``CONTAIN``.
-
-    ``valid_comparison_value`` - any string or integer matching the
-    field type. For integer values, all of the operators are equivalent
-    and mean that the field must be equal to the specified value.
-
-.. note::
-
-    There are no negative comparison operators. If you want to
-    specify a negative condition, then use the ``Action`` field to
-    ``REJECT`` the record.
-
-*``&lt;Action = "valid_action_field"/&gt;``* {#LogsXMLFilterAction}
-    Required: ``ACCEPT`` or ``REJECT`` .
-    This instructs Traffic Server to either accept or reject records
-    that satisfy the filter condition.
-
-LogObject
-=========
-
-The following list shows the ``LogObject`` specifications.
-
-*``&lt;Format = "valid_format_name"/&gt;``* {#LogsXMLObjectFormat}
-    Required
-    Valid format names include the predefined logging formats:
-    ``squid``, ``common``, ``extended``, and ``extended2``, as well as
-    any previously-defined custom log formats. There is no default for
-    this tag.
-
-*``&lt;Filename = "file_name"/&gt;``* {#LogsXMLObjectFilename}
-    Required
-    The filename to which the given log file is written on the local
-    file system or on a remote collation server. No local log file will
-    be created if you fail to specify this tag. All filenames are
-    relative to the default logging directory.
-
-    If the name does not contain an extension (for example, ``squid``),
-    then the extension ``.log`` is automatically appended to it for
-    ASCII logs and ``.blog`` for binary logs (refer to `Mode =
-    "valid_logging_mode" <#LogsXMLOjbectMode>`_).
-
-    If you do not want an extension to be added, then end the filename
-    with a single (.) dot (for example: ``squid.`` ).
-
-*``&lt;Mode = "valid_logging_mode"/&gt;``* {#LogsXMLOjbectMode}
-    Optional
-    Valid logging modes include ``ascii`` , ``binary`` , and
-    ``ascii_pipe`` . The default is ``ascii`` .
-
-    -  Use ``ascii`` to create event log files in human-readable form
-       (plain ASCII).
-    -  Use ``binary`` to create event log files in binary format. Binary
-       log files generate lower system overhead and occupy less space on
-       the disk (depending on the information being logged). You must
-       use the ``logcat`` utility to translate binary log files to ASCII
-       format before you can read them.
-    -  Use ``ascii_pipe`` to write log entries to a UNIX named pipe (a
-       buffer in memory). Other processes can then read the data using
-       standard I/O functions. The advantage of using this option is
-       that Traffic Server does not have to write to disk, which frees
-       disk space and bandwidth for other tasks. In addition, writing to
-       a pipe does not stop when logging space is exhausted because the
-       pipe does not use disk space.
-
-    If you are using a collation server, then the log is written to a
-    pipe on the collation server. A local pipe is created even before a
-    transaction is processed, so you can see the pipe right after
-    Traffic Server starts. Pipes on a collation server, however, *are*
-    created when Traffic Server starts.
-
-*``&lt;Filters = "list_of_valid_filter_names"/&gt;``*
-{#LogsXMLObjectFilters}
-    Optional
-    A comma-separated list of names of any previously-defined log
-    filters. If more than one filter is specified, then all filters must
-    accept a record for the record to be logged.
-
-*``&lt;Protocols = "list_of_valid_protocols"/&gt;``*
-{#LogsXMLObjectProtocols}
-    Optional
-    A comma-separated list of the protocols this object should log.
-    Valid protocol names for this release are ``HTTP`` (FTP is
-    deprecated).
-
-*``&lt;ServerHosts = "list_of_valid_servers"/&gt;``*
-{#LogsXMLObjectServerHosts}
-    Optional
-    A comma-separated list of valid hostnames.This tag indicates that
-    only entries from the named servers will be included in the file.
-
-*``&lt;CollationHosts = "list_of_valid_hostnames"/&gt;``*
-{#LogsXMLObjectCollationHosts}
-    Optional
-    A comma-separated list of collation servers to which all log entries
-    (for this object) are forwarded. Collation servers can be specified
-    by name or IP address. Specify the collation port with a colon after
-    the name; for example, ``host:port`` .
-
-*``&lt;Header = "header"/&gt;``* {#LogsXMLObjectHeader}
-    Optional
-    The header text you want the log files to contain. The header text
-    appears at the beginning of the log file, just before the first
-    record.
-
-*``&lt;RollingEnabled = "truth value"/&gt;``*
-{#LogsXMLObjectRollingEnabled}
-    Optional
-    Enables or disables log file rolling for the ``LogObject``. This
-    setting overrides the value for the
-    *``proxy.config.log.rolling_enabled``* variable in the
-    :file:`records.config` file. Set *``truth value``* to one of the
-    following values:
-
-    -  ``0`` to disable rolling for this particular ``LogObject``.
-    -  ``1`` to roll log files at specific intervals during the day (you
-       specify time intervals with the ``RollingIntervalSec`` and
-       ``RollingOffsetHr`` fields).
-    -  ``2`` to roll log files when they reach a certain size (you
-       specify the size with the\ ``RollingSizeMb`` field).
-    -  ``3`` to roll log files at specific intervals during the day or
-       when they reach a certain size (whichever occurs first).
-    -  ``4`` to roll log files at specific intervals during the day when
-       log files reach a specific size (at a specified time if the file
-       is of the specified size).
-
-*``&lt;RollingIntervalSec = "seconds"/&gt;``*
-{#LogsXMLObjectRollingIntervalSec}
-    Optional
-    The seconds between log file rolling for the ``LogObject``; enables
-    you to specify different rolling intervals for different
-    ``LogObjects``.
-
-    This setting overrides the value for
-    *``proxy.config.log.rolling_interval_sec``* in the
-    :file:`records.config` file.
-
-*``&lt;RollingOffsetHr = "hour"/&gt;``* {#LogsXMLObjectRollingOffsetHr}
-    Optional
-    Specifies an hour (from 0 to 23) at which rolling is guaranteed to
-    align. Rolling might start before then, but a rolled file will be
-    produced only at that time. The impact of this setting is only
-    noticeable if the rolling interval is larger than one hour. This
-    setting overrides the configuration setting for
-    *``proxy.config.log.rolling_offset_hr``* in the :file:`records.config`
-    file.
-
-*``&lt;RollingSizeMb = "size_in_MB"/&gt;``*
-{#LogsXMLObjectRollingSizeMb}
-    Optional
-    The size at which log files are rolled.
-
-Examples
-========
-
-The following is an example of a ``LogFormat`` specification that
-collects information using three common fields:
-
-::
-
-         <LogFormat>
-             <Name="minimal"/>
-             <Format = "%<chi> : %<cqu> : %<pssc>"/>
-         </LogFormat>
-
-The following is an example of a ``LogFormat`` specification that
-uses aggregate operators:
-
-::
-
-         <LogFormat>
-             <Name = "summary"/>
-             <Format = "%<LAST(cqts)> : %<COUNT(*)> : %<SUM(psql)>"/>
-             <Interval = "10"/>
-         </LogFormat>
-
-The following is an example of a ``LogFilter`` that will cause only
-``REFRESH_HIT`` entries to be logged:
-
-::
-
-         <LogFilter>
-              <Name = "only_refresh_hits"/>
-              <Action = "ACCEPT"/>
-              <Condition = "%<pssc> MATCH REFRESH_HIT"/>
-         </LogFilter>
-
-.. note:
-
-    When specifying the field in the filter condition, you can
-    omit the\ ``%<>``. This means that the filter below is equivalent to the
-    example directly above:
-
-::
-
-         <LogFilter>
-             <Name = "only_refresh_hits"/>
-             <Action = "ACCEPT"/>
-             <Condition = "pssc MATCH REFRESH_HIT"/>
-         </LogFilter>
-
-The following is an example of a ``LogObject`` specification that
-creates a local log file for the minimal format defined earlier. The log
-filename will be ``minimal.log`` because this is an ASCII log file (the
-default).
-
-::
-
-         <LogObject>
-             <Format = "minimal"/>
-             <Filename = "minimal"/>
-         </LogObject>
-
-The following is an example of a ``LogObject`` specification that
-includes only HTTP requests served by hosts in the domain
-``company.com`` or by the specific server ``server.somewhere.com``. Log
-entries are sent to port 4000 of the collation host ``logs.company.com``
-and to port 5000 of the collation host ``209.131.52.129.``
-
-::
-
-         <LogObject>
-              <Format = "minimal"/>
-              <Filename = "minimal"/>
-              <ServerHosts = "company.com,server.somewhere.com"/>
-              <Protocols = "http"/>
-              <CollationHosts = "logs.company.com:4000,209.131.52.129:5000"/>
-         </LogObject>
-
-WELF
-====
-
-Traffic Server supports WELF (WebTrends Enhanced Log Format) so you can
-analyze Traffic Server log files with WebTrends reporting tools. A
-predefined ``<LogFormat>`` that is compatible with WELF is provided in
-the :file:`logs_xml.config` file (shown below). To create a WELF format log
-file, create a ``<LogObject>`` that uses this predefined format.
-
-::
-
-         <LogFormat>
-             <Name = "welf"/>
-             <Format = "id=firewall time=\"%<cqtd> %<cqtt>\" fw=%<phn> pri=6
-                proto=%<cqus> duration=%<ttmsf> sent=%<psql> rcvd=%<cqhl>
-                src=%<chi> dst=%<shi> dstname=%<shn> user=%<caun> op=%<cqhm>
-                arg=\"%<cqup>\" result=%<pssc> ref=\"%<{Referer}cqh>\"
-                agent=\"%<{user-agent}cqh>\" cache=%<crc>"/>
-         </LogFormat>

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/configuration-files/parent.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/configuration-files/parent.config.en.rst b/doc/admin/configuration-files/parent.config.en.rst
deleted file mode 100644
index 1391c7c..0000000
--- a/doc/admin/configuration-files/parent.config.en.rst
+++ /dev/null
@@ -1,139 +0,0 @@
-.. 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.
-
-=============
-parent.config
-=============
-
-.. configfile:: parent.config
-
-The :file:`parent.config` file identifies the parent proxies used in an
-cache hierarchy. Use this file to perform the following configuration:
-
--  Set up parent cache hierarchies, with multiple parents and parent
-   failover
--  Configure selected URL requests to bypass parent proxies
-
-Traffic Server uses the :file:`parent.config` file only when the parent
-caching option is enabled (refer to `Configuring Traffic Server to Use a
-Parent Cache <../hierachical-caching>`_).
-
-After you modify the :file:`parent.config` file, run the :option:`traffic_line -x`
-command to apply your changes. When you apply the changes to one node in
-a cluster, Traffic Server automatically applies the changes to all other
-nodes in the cluster.
-
-Format
-======
-
-Each line in the :file:`parent.config` file must contain a parent caching
-rule. Traffic Server recognizes three space-delimited tags:
-
-    primary_destination=value secondary_specifier=value  action=value
-
-The following list shows the possible primary destinations and their
-allowed values.
-
-*``dest_domain``* {#dest_domain}
-    A requested domain name.
-
-*``dest_host``* {#dest_host}
-    A requested hostname.
-
-*``dest_ip``* {#dest_ip}
-    A requested IP address or range of IP addresses separated by a dash
-    (-).
-
-*``url_regex``* {#url_regex}
-    A regular expression (regex) to be found in a URL
-
-The secondary specifiers are optional in the :file:`parent.config` file. The
-following list shows the possible secondary specifiers and their allowed
-values.
-
-*``port``* {#port}
-    A requested URL port.
-
-*``scheme``* {#scheme}
-    A request URL protocol: ``http`` or ``https``.
-
-*``prefix``* {#prefix}
-    A prefix in the path part of a URL.
-
-*``suffix``* {#suffix}
-    A file suffix in the URL.
-
-*``method``* {#method}
-    A request URL method. It can be one of the following:
-
-    -  get
-    -  post
-    -  put
-    -  trace
-
-*``time``* {#time}
-    A time range, such as 08:00-14:00, during which the parent cache is
-    used to serve requests.
-
-*``src_ip``* {#src_ip}
-    A client IP address.
-
-The following list shows the possible actions and their allowed values.
-
-``parent``
-    An ordered list of parent servers. If the request cannot be handled
-    by the last parent server in the list, then it will be routed to the
-    origin server. You can specify either a hostname or an IP address,
-    but; you must specify the port number.
-
-``round_robin``
-    One of the following values:
-
-    -  ``true`` - Traffic Server goes through the parent cache list in a
-       round robin-based on client IP address.
-    -  ``strict`` - Traffic Server machines serve requests strictly in
-       turn. For example: machine ``proxy1`` serves the first request,
-       ``proxy2`` serves the second request, and so on.
-    -  ``false`` - Round robin selection does not occur.
-
-``go_direct``
-    One of the following values:
-
-    -  ``true`` - requests bypass parent hierarchies and go directly to
-       the origin server.
-    -  ``false`` - requests do not bypass parent hierarchies.
-
-Examples
-========
-
-The following rule configures a parent cache hierarchy consisting of
-Traffic Server (which is the child) and two parents, ``p1.x.com`` and
-``p2.x.com``. Traffic Server forwards the requests it cannot serve to
-the parent servers ``p1.x.com`` and ``p2.x.com`` in a round-robin
-fashion::
-
-    round_robin=true
-    dest_domain=. method=get parent="p1.x.com:8080; p2.y.com:8080" round_robin=true
-
-The following rule configures Traffic Server to route all requests
-containing the regular expression ``politics`` and the path
-``/viewpoint`` directly to the origin server (bypassing any parent
-hierarchies): ``url_regex=politics prefix=/viewpoint go_direct=true``
-
-Every line in the :file:`parent.config` file must contain either a
-``parent=`` or ``go_direct=`` directive.
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/configuration-files/plugin.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/configuration-files/plugin.config.en.rst b/doc/admin/configuration-files/plugin.config.en.rst
deleted file mode 100644
index 9a5afa6..0000000
--- a/doc/admin/configuration-files/plugin.config.en.rst
+++ /dev/null
@@ -1,51 +0,0 @@
-.. 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.
-
-=============
-plugin.config
-=============
-
-.. configfile:: plugin.config
-
-The :file:`plugin.config` file controls run-time loadable plugins available
-to the Traffic Server, as well as their configuration.
-
-Example
-=======
-
-::
-
-     # Comments start with a '#' and continue to the end of the line
-     # Blank lines are ignored
-     #
-     # test-plugin.so arg1 arg2 arg3
-     #
-     plugins/iwx/iwx.so
-     plugins/abuse/abuse.so etc/trafficserver/abuse.config
-     plugins/icx/icx.so etc/trafficserver/icx.config
-
-Each configuration line consists of a path to an ``.so`` file. This path
-can either be absolute, or relative to the plugin-directory (usually
-``/usr/local/libexec/trafficserver``). Such a line tells Traffic Server
-to load said plugin.
-
-A plugin can have any number of configuration parameters listed. Please
-refer to our `plugins' documentation <../plugins>`_ for their reference.
-
-Plugins should only be listed *once*. The order in which the plugins are
-listed is also the order in which they are chained for the processing.
-


[04/52] [abbrv] docs: split reference material into top-level pages

Posted by zw...@apache.org.
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/api/TSHttpParserCreate.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSHttpParserCreate.en.rst b/doc/reference/api/TSHttpParserCreate.en.rst
new file mode 100644
index 0000000..faa0a70
--- /dev/null
+++ b/doc/reference/api/TSHttpParserCreate.en.rst
@@ -0,0 +1,91 @@
+.. 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.
+
+.. default-domain:: c
+
+===================
+TSHttpParserCreate
+===================
+
+Library
+=======
+
+Apache Traffic Server plugin API
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSHttpParser TSHttpParserCreate(void)
+.. function:: void TSHttpParserClear(TSHttpParser parser)
+.. function:: void TSHttpParserDestroy(TSHttpParser parser)
+.. function:: TSParseResult TSHttpHdrParseReq(TSHttpParser parser, TSMBuffer bufp, TSMLoc offset, const char ** start, const char * end)
+.. function:: TSParseResult TSHttpHdrParseResp(TSHttpParser parser, TSMBuffer bufp, TSMLoc offset, const char ** start, const char * end)
+
+Description
+===========
+
+:func:`TSHttpParserCreate` creates an HTTP parser object. The
+parser's data structure contains information about the header being
+parsed. A single HTTP parser can be used multiple times, though not
+simultaneously. Before being used again, the parser must be cleared
+by calling :func:`TSHttpParserClear`.
+
+:func:`TSHttpHdrParseReq` parses an HTTP request header. The HTTP
+header :data:`offset` must already be created, and must reside
+inside the marshal buffer :data:`bufp`. The :data:`start` argument
+points to the current position of the string buffer being parsed
+and the :data:`end` argument points to one byte after the end of
+the buffer to be parsed. On return, :data:`start` is modified to
+point past the last character parsed.
+
+It is possible to parse an HTTP request header a single byte at a
+time using repeated calls to :func:`TSHttpHdrParseReq`. As long as
+an error does not occur, the :func:`TSHttpHdrParseReq` function
+will consume that single byte and ask for more. :func:`TSHttpHdrParseReq`
+should be called after :data:`TS_HTTP_READ_REQUEST_HDR_HOOK`.
+
+:func:`TSHttpHdrParseResp` operates in the same manner as
+:func:`TSHttpHdrParseReq` except it parses an HTTP response header.
+It should be called after :data:`TS_HTTP_READ_RESPONSE_HDR_HOOK`.
+
+:func:`TSHttpParserClear` clears the specified HTTP parser so it
+may be used again.
+
+:func:`TSHttpParserDestroy` destroys the TSHttpParser object pointed
+to by :data:`parser`. The :data:`parser` pointer must not be NULL.
+
+Return values
+=============
+
+:func:`TSHttpHdrParseReq` and :func:`TSHttpHdrParseResp` both return
+a :type:`TSParseResult` value. :data:`TS_PARSE_ERROR` is returned
+on error, :data:`TS_PARSE_CONT` is returned if parsing of the header
+stopped because the end of the buffer was reached, and
+:data:`TS_PARSE_DONE` or :data:`TS_PARSE_OK` when a \\r\\n\\r\\n
+pattern is encountered, indicating the end of the header.
+
+Bugs
+====
+
+The distinction between the :data:`TS_PARSE_DONE` and :data:`TS_PARSE_OK`
+results is not well-defined. Plugins should expect both status codes and
+treat them equivalently.
+
+See also
+========
+:manpage:`TSAPI(3ts)`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/api/TSHttpTxnMilestoneGet.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSHttpTxnMilestoneGet.en.rst b/doc/reference/api/TSHttpTxnMilestoneGet.en.rst
new file mode 100644
index 0000000..993d712
--- /dev/null
+++ b/doc/reference/api/TSHttpTxnMilestoneGet.en.rst
@@ -0,0 +1,76 @@
+.. 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
+
+.. default-domain:: c
+
+=====================
+TSHttpTxnMilestoneGet
+=====================
+
+LIBRARY
+=======
+
+Apache Traffic Server plugin API
+
+SYNOPSIS
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSReturnCode TSHttpTxnMilestoneGet(TSHttpTxn txnp, TSMilestonesType milestone, TSHRTime * time)
+
+DESCRIPTION
+===========
+
+:func:`TSHttpTxnMilestoneGet` will fetch a specific milestone timer
+value for the current request. These timers are calculated during
+the lifetime of a transaction, and are all in :type:`TSHRTime` units
+(nanoseconds), measured from the beginning of the transaction. The
+:data:`time` argument is a pointer to a valid :type:`TSHRtime`
+storage, and is set upon success.
+
+The supported :type:`TSMilestonesType` milestone types are:
+
+|
+|
+| :data:`TS_MILESTONE_UA_BEGIN`
+| :data:`TS_MILESTONE_UA_READ_HEADER_DONE`
+| :data:`TS_MILESTONE_UA_BEGIN_WRITE`
+| :data:`TS_MILESTONE_UA_CLOSE`
+| :data:`TS_MILESTONE_SERVER_FIRST_CONNECT`
+| :data:`TS_MILESTONE_SERVER_CONNECT`
+| :data:`TS_MILESTONE_SERVER_CONNECT_END`
+| :data:`TS_MILESTONE_SERVER_BEGIN_WRITE`
+| :data:`TS_MILESTONE_SERVER_FIRST_READ`
+| :data:`TS_MILESTONE_SERVER_READ_HEADER_DONE`
+| :data:`TS_MILESTONE_SERVER_CLOSE`
+| :data:`TS_MILESTONE_CACHE_OPEN_READ_BEGIN`
+| :data:`TS_MILESTONE_CACHE_OPEN_READ_END`
+| :data:`TS_MILESTONE_CACHE_OPEN_WRITE_BEGIN`
+| :data:`TS_MILESTONE_CACHE_OPEN_WRITE_END`
+| :data:`TS_MILESTONE_DNS_LOOKUP_BEGIN`
+| :data:`TS_MILESTONE_DNS_LOOKUP_END`
+| :data:`TS_MILESTONE_SM_START`
+| :data:`TS_MILESTONE_SM_FINISH`
+| :data:`TS_MILESTONE_LAST_ENTRY`
+
+RETURN VALUES
+=============
+
+:data:`TS_SUCCESS` or :data:`TS_ERROR`.
+
+SEE ALSO
+========
+:manpage:`TSAPI(3ts)`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/api/index.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/index.en.rst b/doc/reference/api/index.en.rst
new file mode 100644
index 0000000..dcd34b3
--- /dev/null
+++ b/doc/reference/api/index.en.rst
@@ -0,0 +1,28 @@
+API Reference
+*************
+
+.. 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.
+
+.. toctree::
+  :maxdepth: 2
+
+  TSAPI.en
+  TSDebug.en
+  TSHttpHookAdd.en
+  TSHttpParserCreate.en
+  TSHttpTxnMilestoneGet.en

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/commands/index.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/commands/index.en.rst b/doc/reference/commands/index.en.rst
new file mode 100644
index 0000000..460f0fc
--- /dev/null
+++ b/doc/reference/commands/index.en.rst
@@ -0,0 +1,35 @@
+.. 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.
+
+Command Reference
+=================
+
+.. toctree::
+  :maxdepth: 1
+
+  traffic_cop.en
+  traffic_line.en
+  traffic_logcat.en
+  traffic_logstats.en
+  traffic_manager.en
+  traffic_server.en
+  traffic_shell.en
+  tspush.en
+  tstop.en
+  tsxs.en
+
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/commands/traffic_cop.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/commands/traffic_cop.en.rst b/doc/reference/commands/traffic_cop.en.rst
new file mode 100644
index 0000000..366e292
--- /dev/null
+++ b/doc/reference/commands/traffic_cop.en.rst
@@ -0,0 +1,35 @@
+.. 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.
+
+===========
+traffic_cop
+===========
+
+.. program:: traffic_cop
+
+Description
+===========
+
+.. option:: -stop
+
+   Kill children using ``SIGSTOP`` instead of ``SIGKILL``
+
+.. option:: -V
+
+   Print version information and exit.
+
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/commands/traffic_line.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/commands/traffic_line.en.rst b/doc/reference/commands/traffic_line.en.rst
new file mode 100644
index 0000000..11ad134
--- /dev/null
+++ b/doc/reference/commands/traffic_line.en.rst
@@ -0,0 +1,63 @@
+.. 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.
+
+============
+traffic_line
+============
+
+.. program:: traffic_line
+
+Description
+===========
+
+.. option:: -q, --query_deadhosts
+
+.. option:: -r VAR, --read_var VAR
+
+.. option:: -s VAR, --set_var VAR
+
+.. option:: -v VALUE, --value VALUE
+
+.. option:: -x, --reread_config
+
+.. option:: -M, --restart_cluster
+
+.. option:: -L, --restart_local
+
+.. option:: -S, --shutdown
+
+.. option:: -U, --startup
+
+.. option:: -B, --bounce_cluster
+
+.. option:: -b, --bounce_local
+
+.. option:: -C, --clean_cluster
+
+.. option:: -c, --clear_node
+
+.. option:: -Z, --zero_cluster
+
+.. option:: -z, --zero_node
+
+.. option:: -h, --help
+
+   Print usage information and exit.
+
+.. option:: -V, --version
+
+   Print version information and exit.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/commands/traffic_logcat.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/commands/traffic_logcat.en.rst b/doc/reference/commands/traffic_logcat.en.rst
new file mode 100644
index 0000000..02f8575
--- /dev/null
+++ b/doc/reference/commands/traffic_logcat.en.rst
@@ -0,0 +1,53 @@
+.. 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.
+
+==============
+traffic_logcat
+==============
+
+.. program:: traffic_logcat
+
+Description
+===========
+
+.. option:: -o PATH, --output_file PATH
+
+.. option:: -a, --auto_filename
+
+.. option:: -f, --follow
+
+.. option:: -C, --clf
+
+.. option:: -E, --elf
+
+.. option:: -S, --squid
+
+.. option:: -2, --elf2
+
+.. option:: -T, --debug_tags
+
+.. option:: -w, --overwrite_output
+
+.. option:: -h, --help
+
+   Print usage information and exit.
+
+.. option:: -V, --version
+
+   Print version information and exit.
+
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/commands/traffic_logstats.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/commands/traffic_logstats.en.rst b/doc/reference/commands/traffic_logstats.en.rst
new file mode 100644
index 0000000..2f59825
--- /dev/null
+++ b/doc/reference/commands/traffic_logstats.en.rst
@@ -0,0 +1,68 @@
+.. 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.
+
+================
+traffic_logstats
+================
+
+.. program:: traffic_logstats
+
+Description
+===========
+
+.. option:: -f FILE, --log_file FILE
+
+.. option:: -o LIST, --origin_list LIST
+
+.. option:: -O FILE, --origin_file FILE
+
+.. option:: -M COUNT, --max_origins COUNT
+
+.. option:: -u COUNT, --urls COUNT
+
+.. option:: -U COUNT, --show_urls COUNT
+
+.. option:: --A, --as_object
+
+.. option:: -i, --incremental
+
+.. option:: -S FILE, --statetag FILE
+
+.. option:: -t, --tail
+
+.. option:: -s, --summary
+
+.. option:: -j, --json
+
+.. option:: -c, --cgi
+
+.. option:: -m, --min_hits
+
+.. option:: -a, --max_age
+
+.. option:: -l COUNT, --line_len COUNT
+
+.. option:: -T TAGS, --debug_tags TAGS
+
+.. option:: -h, --help
+
+   Print usage information and exit.
+
+.. option:: -V, --version
+
+   Print version information and exit.
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/commands/traffic_manager.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/commands/traffic_manager.en.rst b/doc/reference/commands/traffic_manager.en.rst
new file mode 100644
index 0000000..f602b2a
--- /dev/null
+++ b/doc/reference/commands/traffic_manager.en.rst
@@ -0,0 +1,50 @@
+.. 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.
+
+===============
+traffic_manager
+===============
+
+.. program:: traffic_manager
+
+Description
+===========
+
+.. option:: proxyOff
+.. option:: -nosyslog
+.. option:: -aconfPort PORT
+.. option:: -clusterMCPort PORT
+.. option:: -groupAddr ADDRESS
+.. option:: -clusterRSPort PORT
+.. option:: -debug TAGS
+.. option:: -action TAGS
+.. option:: -path FILE
+.. option:: -recordsConf FILE
+.. option:: -tsArgs ARGUMENTS
+.. option:: -proxyPort PORT
+.. option:: -proxyBackDoor PORT
+.. option:: -schema FILE
+.. option:: -version
+
+Environment
+===========
+
+.. envvar:: MGMT_ACONF_PORT
+.. envvar:: MGMT_CLUSTER_MC_PORT
+.. envvar:: MGMT_CLUSTER_RS_PORT
+.. envvar:: MGMT_GROUP_ADDR
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/commands/traffic_server.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/commands/traffic_server.en.rst b/doc/reference/commands/traffic_server.en.rst
new file mode 100644
index 0000000..ad3aa73
--- /dev/null
+++ b/doc/reference/commands/traffic_server.en.rst
@@ -0,0 +1,82 @@
+.. 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.
+
+==============
+traffic_server
+==============
+
+.. program:: traffic_server
+
+Description
+===========
+
+.. option:: -n COUNT, --net_threads COUNT
+
+.. option:: -Z COUNT, --cluster_threads COUNT
+
+.. option:: -U COUNT, --udp_threads COUNT
+
+.. option:: -a, --accepts_thread
+
+.. option:: -b, --accept_till_done
+
+.. option:: -p PORT, --httpport PORT
+
+.. option:: -P PORT, --cluster_port PORT
+
+.. option:: -o LEVEL, --dprintf_level LEVEL
+
+.. option:: -R LEVEL, --regression LEVEL
+
+.. option:: -r TEST, --regression_rest TEST
+
+.. option:: -T TAGS, --debug_tags TAGS
+
+.. option:: -B TAGS, --action_tags TAGS
+
+.. option:: -i COUNT, --interval COUNT
+
+.. option:: -M, --remote_management
+
+.. option:: -d DIR, --management_dir DIR
+
+.. option:: -C CMD, --command CMD
+
+.. option:: -k, --clear_hostdb
+
+.. option:: -K, --clear_cache
+
+.. option:: -c CORE, --read_core CORE
+
+.. option:: --accept_mss MSS
+
+.. option:: -t SECS, --poll_timeout SECS
+
+.. option:: -h, --help
+
+   Print usage information and exit.
+
+.. option:: -V, --version
+
+   Print version information and exit.
+
+Environment
+===========
+
+.. envvar:: PROXY_REMOTE_MGMT
+
+.. envvar:: PROXY_AUTO_EXIT

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/commands/traffic_shell.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/commands/traffic_shell.en.rst b/doc/reference/commands/traffic_shell.en.rst
new file mode 100644
index 0000000..7a56fd0
--- /dev/null
+++ b/doc/reference/commands/traffic_shell.en.rst
@@ -0,0 +1,29 @@
+.. 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.
+
+=============
+traffic_shell
+=============
+
+.. program:: traffic_shell
+
+Description
+===========
+
+.. option:: -V, --version
+
+   Print version information and exit.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/commands/tspush.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/commands/tspush.en.rst b/doc/reference/commands/tspush.en.rst
new file mode 100644
index 0000000..e32c517
--- /dev/null
+++ b/doc/reference/commands/tspush.en.rst
@@ -0,0 +1,36 @@
+.. 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.
+
+======
+tspush
+======
+
+.. program:: tspush
+
+Description
+===========
+
+.. option:: -f FILE, --file FILE
+
+.. option:: -u URL, --url URL
+
+.. option:: -v, --verbose
+
+.. option:: -h, --help
+
+   Print usage information and exit.
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/commands/tstop.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/commands/tstop.en.rst b/doc/reference/commands/tstop.en.rst
new file mode 100644
index 0000000..bf1237d
--- /dev/null
+++ b/doc/reference/commands/tstop.en.rst
@@ -0,0 +1,29 @@
+.. 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.
+
+=====
+tstop
+=====
+
+.. program:: tstop
+
+Description
+===========
+
+.. option:: -s COUNT
+
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/commands/tsxs.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/commands/tsxs.en.rst b/doc/reference/commands/tsxs.en.rst
new file mode 100644
index 0000000..f274e64
--- /dev/null
+++ b/doc/reference/commands/tsxs.en.rst
@@ -0,0 +1,49 @@
+.. 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.
+
+====
+tsxs
+====
+
+.. program:: tsxs
+
+Description
+===========
+
+.. option:: -q VAR, --query VAR
+
+.. option:: -I PATH
+
+.. option:: -L PATH
+
+.. option:: -l LIB
+
+.. option:: -o FILE
+
+.. option:: -i
+
+.. option:: -c FILE [FILE ...]
+
+.. option:: -C FILE [FILE ...]
+
+.. option:: -v, --verbose
+
+.. option:: -h, --help
+
+   Print usage information and exit.
+
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/configuration/cache.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/configuration/cache.config.en.rst b/doc/reference/configuration/cache.config.en.rst
new file mode 100644
index 0000000..042a048
--- /dev/null
+++ b/doc/reference/configuration/cache.config.en.rst
@@ -0,0 +1,135 @@
+.. 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.
+
+============
+cache.config
+============
+
+.. configfile:: cache.config
+
+The :file:`cache.config` file defines how Traffic Server caches web objects. You
+can add caching rules to specify the following: - Not to cache objects
+from specific IP addresses - How long to pin particular objects in the
+cache - How long to consider cached objects as fresh - Whether to ignore
+no-cache directives from the server
+
+.. important::
+
+    After you modify the :file:`cache.config file`, navigate to
+    the Traffic Server bin directory; then run the :option:`traffic_line -x`
+    command to apply changes. When you apply the changes to a node in a
+    cluster, Traffic Server automatically applies the changes to all other
+    nodes in the cluster.
+
+Format
+======
+
+Each line in the :file:`cache.config` file contains a caching rule. Traffic
+Server recognizes three space-delimited tags::
+
+    primary_destination=value secondary_specifier=value action=value
+
+You can use more than one secondary specifier in a rule. However, you
+cannot repeat a secondary specifier. The following list shows the
+possible primary destinations with allowed values.
+
+*``dest_domain``* {#dest_domain}
+    A requested domain name. Traffic Server matches the domain name of
+    the destination from the URL in the request.
+
+*``dest_host``* {#dest_host}
+    A requested hostname. Traffic Server matches the hostname of the
+    destination from the URL in the request.
+
+*``dest_ip``* {#dest_ip}
+    A requested IP address. Traffic Server matches the IP address of the
+    destination in the request.
+
+*``url_regex``* {#url_regex}
+    A regular expression (regex) to be found in a URL.
+
+The secondary specifiers are optional in the :file:`cache.config` file. The
+following list shows possible secondary specifiers with allowed values.
+
+*``port``* {#port}
+    A requested URL port.
+
+*``scheme``* {#scheme}
+    A request URL protocol: http or https.
+
+*``prefix``* {#prefix}
+    A prefix in the path part of a URL.
+
+*``suffix``* {#suffix}
+    A file suffix in the URL.
+
+*``method``* {#method}
+    A request URL method: get, put, post, trace.
+
+*``time``* {#time}
+    A time range, such as 08:00-14:00.
+
+*``src_ip``* {#src_ip}
+    A client IP address.
+
+The following list shows possible actions and their allowed values.
+
+*``action``* {#action}
+    One of the following values:
+
+    -  ``never-cache`` configures Traffic Server to never cache
+       specified objects.
+    -  ``ignore-no-cache`` configures Traffic Server to ignore all
+       ``Cache-Control: no-cache`` headers.
+    -  ``ignore-client-no-cache`` configures Traffic Server to ignore
+       ``Cache-Control: no-cache`` headers from client requests.
+    -  ``ignore-server-no-cache`` configures Traffic Server to ignore
+       ``Cache-Control: no-cache`` headers from origin server responses.
+
+*``pin-in-cache``* {#pin-in-cache}
+    The amount of time you want to keep the object(s) in the cache. The
+    following time formats are allowed:
+
+    -  ``d`` for days; for example: 2d
+    -  ``h`` for hours; for example: 10h
+    -  ``m`` for minutes; for example: 5m
+    -  ``s`` for seconds; for example: 20s
+    -  mixed units; for example: 1h15m20s
+
+*``revalidate``* {#revalidate}
+    The amount of time object(s) are to be considered fresh. Use the
+    same time formats as ``pin-in-cache``.
+
+*``ttl-in-cache``* {#ttl-in-cache}
+    The amount of time object(s) are to be kept in the cache, regardless
+    of Cache-Control response headers. Use the same time formats as
+    pin-in-cache and revalidate .
+
+Examples
+========
+
+The following example configures Traffic Server to revalidate ``gif``
+and ``jpeg`` objects in the domain ``mydomain.com`` every 6 hours, and
+all other objects in ``mydomain.com`` every hour. The rules are applied
+in the order listed.
+
+::
+
+    dest_domain=mydomain.com suffix=gif revalidate=6h
+    dest_domain=mydomain.com suffix=jpeg revalidate=6h
+    dest_domain=mydomain.com revalidate=1h
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/configuration/congestion.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/configuration/congestion.config.en.rst b/doc/reference/configuration/congestion.config.en.rst
new file mode 100644
index 0000000..391ca0f
--- /dev/null
+++ b/doc/reference/configuration/congestion.config.en.rst
@@ -0,0 +1,197 @@
+.. 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.
+
+=================
+congestion.config
+=================
+
+.. configfile:: congestion.config
+
+The :file:`congestion.config` file enables you to configure Traffic Server
+to stop forwarding HTTP requests to origin servers when they become
+congested, and then send the client a message to retry the congested
+origin server later. After you modify the :file:`congestion.config` file,
+navigate to the Traffic Server bin directory; then run the
+:option:`traffic_line -x` command to apply changes. When you apply the changes
+to a node in a cluster, Traffic Server automatically applies the changes
+to all other nodes in the cluster. Traffic Server uses the
+:file:`congestion.config` file only if you enable the `Congestion
+Control <http#UsingCongestionControl>`_ option.
+
+You can create rules in the congestion.config file to specify:
+
+-  Which origin servers Traffic Server tracks for congestion.
+-  The timeouts Traffic Server uses, depending on whether a server is
+   congested.
+-  The page Traffic Server sends to the client when a server becomes
+   congested.
+-  If Traffic Server tracks the origin servers per IP address or per
+   hostname.
+
+Format
+======
+
+Each line in :file:`congestion.config` must follow the format below. Traffic
+Server applies the rules in the order listed, starting at the top of the
+file. Traffic Server recognizes three space-delimited tags::
+
+    primary_destination=value secondary_specifier=value action=value
+
+The following list shows possible primary destinations with allowed
+values.
+
+*``dest_domain``* {#dest_domain}
+    A requested domain name.
+
+*``dest_host``* {#dest_host}
+    A requested hostname.
+
+*``dest_ip``* {#dest_ip}
+    A requested IP address.
+
+*``url_regex``* {#url_regex}
+    A regular expression (regex) to be found in a URL.
+
+The secondary specifiers are optional in the congestion.config file. The
+following list shows possible secondary specifiers with allowed values.
+You can use more than one secondary specifier in a rule; however, you
+cannot repeat a secondary specifier.
+
+*``port``* {#port}
+    A requested URL port or range of ports.
+
+*``prefix``* {#prefix}
+    A prefix in the path part of a URL.
+
+The following list shows the possible tags and their allowed values.
+
+*``max_connection_failures``* {#max_connection_failures}
+    Default: ``5``
+    The maximum number of connection failures allowed within the fail
+    window described below before Traffic Server marks the origin server
+    as congested.
+
+*``fail_window``* {#fail_window}
+    Default: ``120`` seconds.
+    The time period during which the maximum number of connection
+    failures can occur before Traffic Server marks the origin server as
+    congested.
+
+*``proxy_retry_interval``* {#proxy_retry_interval}
+    Default: ``10`` seconds.
+    The number of seconds that Traffic Server waits before contacting a
+    congested origin server again.
+
+*``client_wait_interval``* {#client_wait_interval}
+    Default: ``300`` seconds.
+    The number of seconds that the client is advised to wait before
+    retrying the congested origin server.
+
+*``wait_interval_alpha``* {#wait_interval_alpha}
+    Default: ``30`` seconds
+    The upper limit for a random number that is added to the wait
+    interval.
+
+*``live_os_conn_timeout``* {#live_os_conn_timeout}
+    Default: ``60`` seconds.
+    The connection timeout to the live (uncongested) origin server. If a
+    client stops a request before the timeout occurs, then Traffic
+    Server does not record a connection failure.
+
+*``live_os_conn_retries``* {#live_os_conn_retries}
+    Default: ``2``
+    The maximum number of retries allowed to the live (uncongested)
+    origin server.
+
+*``dead_os_conn_timeout``* {#dead_os_conn_timeout}
+    Default: ``15`` secondsj
+    The connection timeout to the congested origin server.
+
+*``dead_os_conn_retries``* {#dead_os_conn_retries}
+    Default: ``1``
+    The maximum number of retries allowed to the congested origin
+    server.
+
+*``max_connection``* {#max_connection}
+    Default: ``-1``
+    The maximum number of connections allowed from Traffic Server to the
+    origin server.
+
+*``error_page``* {#error_page}
+    Default: ``"congestion#retryAfter"``
+    The error page sent to the client when a server is congested. You
+    must enclose the value in quotes;
+
+*:file:`congestion.config`* {#congestion_scheme}
+    Default: ``"per_ip"``
+    Specifies if Traffic Server applies the rule on a per-host
+    (``"per_host"``) or per-IP basis (``"per_ip"``). You must enclose
+    the value in quotes.
+
+    For example: if the server ``www.host1.com`` has two IP addresses
+    and you use the tag value ``"per_ip"``, then each IP address has its
+    own number of connection failures and is marked as congested
+    independently. If you use the tag value ``"per_host"`` and the
+    server ``www.host1.com`` is marked as congested, then both IP
+    addresses are marked as congested.
+
+Examples
+========
+
+The following :file:`congestion.config` rule configures Traffic Server to
+stop forwarding requests to the server ``www.host.com`` on port 80 (HTTP
+traffic) if the server is congested, according to the timeouts
+specified. Traffic Server uses the default tag values because no tag has
+been specified.
+
+::
+
+    dest_host=www.host.com port=80
+
+You can use one or more tags in a rule, but each tag must have one value
+only. If you specify no tags in the rule, then Traffic Server uses the
+default values.
+
+You can override any of the default tag values by adding configuration
+variables at the end of :file:`records.config` as follows:
+
+::
+
+    CONFIG proxy.config.http.congestion_control.default.tag INT|STRING value
+
+where tag is one of the tags described in the list under
+:file:`congestion.config` and value is the value you
+want to use.
+
+For example::
+
+    CONFIG proxy.config.http.congestion_control.default.congestion_scheme STRING per_host
+
+.. important::
+
+    Rules in the :file:`congestion.config` file override the
+    following variables in the :file:`records.config` file:
+
+::
+
+    proxy.config.http.connect_attempts_max_retries
+    proxy.config.http.connect_attempts_max_retries_dead_server
+    proxy.config.http.connect_attempts_rr_retries
+    proxy.config.http.connect_attempts_timeout
+    proxy.config.http.down_server.cache_time
+    proxy.config.http.down_server.abort_threshold
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/configuration/hosting.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/configuration/hosting.config.en.rst b/doc/reference/configuration/hosting.config.en.rst
new file mode 100644
index 0000000..73cae87
--- /dev/null
+++ b/doc/reference/configuration/hosting.config.en.rst
@@ -0,0 +1,98 @@
+.. 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.
+
+==============
+hosting.config
+==============
+
+.. configfile:: hosting.config
+
+The :file:`hosting.config` file enables you to assign cache partitions to
+specific origin servers and/or domains so that you can manage cache
+space efficiently and restrict disk usage. For step-by-step instructions
+on partitioning the cache according to origin servers and/or domains,
+refer to `Partitioning the Cache <../configuring-cache#PartitoningCache>`_.
+Before you can assign cache partitions to specific
+origin servers and/or domains, you must first partition your cache
+according to size and protocol in the :file:`volume.config`
+file. For step-by-step instructions about partitioning your cache, refer
+to `Partitioning the Cache <../configuring-cache#PartitioningCache>`_.
+
+After you modify hosting.config, navigate to the Traffic Server bin
+directory and run :option:`traffic_line -x` to apply your changes.
+
+When you apply the changes to a node in a cluster, Traffic Server
+automatically applies the changes to all other nodes in the cluster.
+
+.. important::
+
+    The :file:`volume.config` configuration must be the same on all nodes in a cluster.
+
+Format
+======
+
+Each line in the :file:`hosting.config` file must have one of the following
+formats::
+
+    hostname=HOST partition=NUMBERS
+    domain=DOMAIN partition=NUMBERS
+
+where ``HOST`` is the fully-qualified hostname of the origin server
+whose content you want to store on a particular partition (for example,
+``www.myhost.com``); ``DOMAIN`` is the domain whose content you
+want to store on a particular partition(for example, ``mydomain.com``);
+and ``NUMBERS`` is a comma-separated list of the partitions on
+which you want to store the content that belongs to the origin server or
+domain listed. The partition numbers must be valid numbers listed in the
+file:`volume.config`.
+
+**Note:** To allocate more than one partition to an origin server or
+domain, you must enter the partitions in a comma-separated list on one
+line, as shown in the example below. The
+:file:`hosting.config`  file cannot contain multiple entries
+for the same origin server or domain.
+
+Generic Partition
+=================
+
+When configuring the :file:`hosting.config` file, you must assign a generic
+partition to use for content that does not belong to any of the origin
+servers or domains listed. If all partitions for a particular origin
+server become corrupt, Traffic Server will also use the generic
+partition to store content for that origin server.
+
+The generic partition must have the following format::
+
+    hostname=* partition=NUMBERS
+
+where ``NUMBERS`` is a comma-separated list of generic
+partitions.
+
+Examples
+========
+
+The following example configures Traffic Server to store content from
+the domain ``mydomain.com`` in partition 1 and content from
+``www.myhost.com`` in partition 2. Traffic Server stores content from
+all other origin servers in partitions 3 and 4.
+
+::
+
+    domain=mydomain.com partition=1
+    hostname=www.myhost.com partition=2
+    hostname=* partition=3,4
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/configuration/icp.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/configuration/icp.config.en.rst b/doc/reference/configuration/icp.config.en.rst
new file mode 100644
index 0000000..877e459
--- /dev/null
+++ b/doc/reference/configuration/icp.config.en.rst
@@ -0,0 +1,104 @@
+.. 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.
+
+==========
+icp.config
+==========
+
+.. configfile:: icp.config
+
+.. warning::
+
+  The Traffic Server ICP  feature is not functional in this release.
+
+The :file:`icp.config` file defines ICP peers (parent and sibling caches).
+
+.. important::
+
+    After you modify the icp.config file, navigate to the
+    Traffic Server bin directory and run the :option:`traffic_line -x` command to
+    apply the changes. When you apply the changes to a node in a cluster,
+    Traffic Server automatically applies the changes to all other nodes in
+    the cluster.
+
+Format
+======
+
+Each line in the icp.config file contains the name and configuration
+information for a single ICP peer in the following format::
+
+    host : host_IP : peer_type : proxy_port : icp_port : MC_on : MC_IP : MC_TTL :
+
+Each field is described in the following list.
+
+*``host``* {#host}
+    The hostname of the ICP peer.
+
+    This field is optional; if you do not specify the hostname of the
+    ICP peer, you must specify the IP address.
+
+*``host_IP``* {#host_IP}
+    The IP address of the ICP peer.
+
+    This field is optional; if you do not specify the IP address of the
+    ICP peer, you must specify the hostname.
+
+*``ctype``* {#ctype}
+    Use the following options:
+
+    -  1 to indicate an ICP parent cache
+    -  2 to indicate an ICP sibling cache
+
+*``proxy_port``* {#proxy_port}
+    The port number of the TCP port used by the ICP peer for proxy
+    communication.
+
+*``icp_port``* {#icp_port}
+    The port number of the UDP port used by the ICP peer for ICP
+    communication.
+
+*``MC_on``* {#mc_on}
+    Enable or disable MultiCast:
+
+    -  0 if multicast is disabled
+    -  1 if multicast is enabled
+
+*``MC_ip``* {#mc_ip}
+    The MultiCast IP address.
+
+*``MC_ttl``* {#mc_ttl}
+    The multicast time to live. Use the following options:
+
+    -  1 if IP multicast datagrams will not be forwarded beyond a single
+       subnetwork
+    -  2 to allow delivery of IP multicast datagrams to more than one
+       subnet (if there are one or more multicast routers attached to
+       the first hop subnet).
+
+Examples
+========
+
+The following example configuration is for three nodes: the local host,
+one parent, and one sibling.
+
+::
+
+    :::text
+    localhost:0.0.0.0:3:8080:3130:0:0.0.0.0:1
+    host1:123.12.1.23:1:8080:3131:0:0.0.0.0:1
+    host2:123.12.1.24:2:8080:3131:0:0.0.0.0:1
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/configuration/index.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/configuration/index.en.rst b/doc/reference/configuration/index.en.rst
new file mode 100644
index 0000000..0487109
--- /dev/null
+++ b/doc/reference/configuration/index.en.rst
@@ -0,0 +1,39 @@
+.. 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.
+
+Configuration File Reference
+============================
+
+.. toctree::
+  :maxdepth: 2
+
+  cache.config.en
+  congestion.config.en
+  hosting.config.en
+  icp.config.en
+  ip_allow.config.en
+  log_hosts.config.en
+  logs_xml.config.en
+  parent.config.en
+  plugin.config.en
+  records.config.en
+  remap.config.en
+  splitdns.config.en
+  ssl_multicert.config.en
+  storage.config.en
+  update.config.en
+  volume.config.en

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/configuration/ip_allow.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/configuration/ip_allow.config.en.rst b/doc/reference/configuration/ip_allow.config.en.rst
new file mode 100644
index 0000000..49812a1
--- /dev/null
+++ b/doc/reference/configuration/ip_allow.config.en.rst
@@ -0,0 +1,77 @@
+.. 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.
+
+===============
+ip_allow.config
+===============
+
+.. configfile:: ip_allow.config
+
+The :file:`ip_allow.config` file controls client access to the Traffic
+Server proxy cache. You can specify ranges of IP addresses that are
+allowed to use the Traffic Server as a web proxy cache. After you modify
+the :file:`ip_allow.config` file, navigate to the Traffic Server bin
+directory and run the :option:`traffic_line -x` command to apply changes. When
+you apply the changes to a node in a cluster, Traffic Server
+automatically applies the changes to all other nodes in the cluster.
+
+Format
+======
+
+Each line in the :file:`ip_allow.config` file must have the following
+format::
+
+    src_ip=<range of IP addresses> action=<action> [method=<list of methods separated by '|'>]
+
+where src_ip is the IP address or range of IP addresses of the
+client(s). The action ``ip_allow`` enables the specified client(s) to
+access the Traffic Server proxy cache, and ``ip_deny`` denies the
+specified client(s) to access the Traffic Server proxy cache. Multiple
+method keywords can be specified (method=GET method=HEAD), or multiple
+methods can be separated by an '\|' (method=GET\|HEAD). The method
+keyword is optional and it is defaulted to ALL. Available methods: ALL,
+GET, CONNECT, DELETE, HEAD, ICP_QUERY, OPTIONS, POST, PURGE, PUT,
+TRACE, PUSH
+
+By default, the :file:`ip_allow.config` file contains the following lines,
+which allows all methods to localhost to access the Traffic Server proxy
+cache and denies PUSH, PURGE and DELETE to all IPs (note this allows all
+other methods to all IPs)::
+
+    src_ip=127.0.0.1                                  action=ip_allow method=ALL
+    src_ip=::1                                        action=ip_allow method=ALL
+    src_ip=0.0.0.0-255.255.255.255                    action=ip_deny  method=PUSH|PURGE|DELETE
+    src_ip=::-ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff action=ip_deny  method=PUSH|PURGE|DELETE
+
+Examples
+========
+
+The following example enables all clients to access the Traffic Server
+proxy cache::
+
+    src_ip=0.0.0.0-255.255.255.255 action=ip_allow
+
+The following example allows all clients on a specific subnet to access
+the Traffic Server proxy cache::
+
+    src_ip=123.12.3.000-123.12.3.123 action=ip_allow
+
+The following example denies all clients on a specific subnet to access
+the Traffic Server proxy cache::
+
+    src_ip=123.45.6.0-123.45.6.123 action=ip_deny
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/configuration/log_hosts.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/configuration/log_hosts.config.en.rst b/doc/reference/configuration/log_hosts.config.en.rst
new file mode 100644
index 0000000..dcb74e9
--- /dev/null
+++ b/doc/reference/configuration/log_hosts.config.en.rst
@@ -0,0 +1,66 @@
+.. 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.
+
+================
+log_hosts.config
+================
+
+.. configfile:: log_hosts.config
+
+To record HTTP transactions for different origin servers in separate log
+files, you must list each origin server hostname in the
+:file:`log_hosts.config` file. In addition, you must enable the `HTTP Host
+Log Splitting <../working-log-files#HTTPHostLogSplitting>`_ option. You
+should use the same :file:`log_hosts.config` file on every Traffic Server
+node in your cluster. After you modify the :file:`log_hosts.config` file,
+run the :option:`traffic_line -x` command to apply the changes.
+When you apply the changes to a node in a cluster, Traffic Server automatically applies the
+changes to all other nodes in the cluster.
+
+Format
+======
+
+Each line in the :file:`log_hosts.config` file has the following format::
+
+    hostname
+
+where ``hostname`` is the hostname of the origin server.
+
+.. hint::
+
+    You can specify keywords in the :file:`log_hosts.config` file to
+    record all transactions from origin servers with the specified keyword
+    in their names in a separate log file. See the example below.
+
+Examples
+========
+
+The following example configures Traffic Server to create separate log
+files containing all HTTP transactions for the origin servers
+``webserver1``, ``webserver2``, and ``webserver3``::
+
+    webserver1
+    webserver2
+    webserver3
+
+The following example records all HTTP transactions from origin servers
+that contain ``sports`` in their names. For example:
+``sports.yahoo.com`` and ``www.foxsports.com`` in a log file called
+``squid-sport.log`` (the Squid format is enabled)::
+
+    sports
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/configuration/logs_xml.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/configuration/logs_xml.config.en.rst b/doc/reference/configuration/logs_xml.config.en.rst
new file mode 100644
index 0000000..e9ad379
--- /dev/null
+++ b/doc/reference/configuration/logs_xml.config.en.rst
@@ -0,0 +1,370 @@
+.. 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.
+
+===============
+logs_xml.config
+===============
+
+.. configfile:: logs_xml.config
+
+The :file:`logs_xml.config` file defines the custom log file formats,
+filters, and processing options. The format of this file is modeled
+after XML, the Extensible Markup Language.
+
+Format
+======
+
+The :file:`logs_xml.config` file contains the specifications below:
+
+-  ``LogFormat`` specifies the fields to be gathered from each protocol
+   event access.
+-  ``LogFilter`` specifies the filters that are used to include or
+   exclude certain entries being logged based on the value of a field
+   within that entry.
+-  ``LogObject`` specifies an object that contains a particular format,
+   a local filename, filters, and collation servers.
+
+The :file:`logs_xml.config` file ignores extra white space, blank lines, and
+all comments.
+
+LogFormat
+=========
+
+The following list shows ``LogFormat`` specifications.
+
+*``&lt;Name = "valid_format_name"/&gt;``* {#LogsXMLFormatName}
+    Required
+    Valid format names include any name except ``squid``, ``common``,
+    ``extended``, or ``extended2``, which are pre-defined formats. There
+    is no default for this tag.
+
+*``&lt;Format = "valid_format_specification"/&gt;``* {#LogsXMLFormat}
+    Required
+    A valid format specification is a printf-style string describing
+    each log entry when formatted for ASCII output. Use ``%<``
+    *``field``* ``>`` as a placeholder for valid field names. For more
+    information, refer to `Custom Logging
+    Fields <../event-logging-formats#CustomLoggingFields>`_.
+
+    The specified field can be one of the following types:
+
+    Simple. For example: ``%<cqu>``
+    A field within a container, such as an HTTP header or a statistic.
+    Fields of this type have the syntax:
+
+    ::
+
+         %<{ field } container>
+
+    Aggregates, such as ``COUNT``, ``SUM``, ``AVG``, ``FIRST``,
+    ``LAST``. Fields of this type have the syntax: ``%<operator (``
+    *``field``* ``)>``
+
+.. note::
+
+    You cannot create a format specification that contains both aggregate operators and regular fields.
+
+*``&lt;Interval = "aggregate_interval_secs"/&gt;``* {#LogsXMLInterval}
+    Optional
+    Use this tag when the format contains aggregate operators. The value
+    "``aggregate_interval_secs``\ " represents the number of seconds
+    between individual aggregate values being produced.
+
+    The valid set of aggregate operators are:
+
+    -  COUNT
+    -  SUM
+    -  AVG
+    -  FIRST
+    -  LAST
+
+LogFilters
+==========
+
+The following list shows the ``LogFilter`` specifications.
+
+*``&lt;Name = "valid_filter_name"/&gt;``* {#LogsXMLFilterName}
+    Required
+    All filters must be uniquely named.
+
+*``&lt;Condition = "valid_log_field valid_operator valid_comparison_value"/&gt;``*
+{#LogsXMLFilterCondition}
+    Required
+    This field contains the following elements:
+
+    ``valid_log_field`` - the field that will be compared against
+    the given value. For more information, refer to `Logging Format
+    Cross-Reference <../event-logging-formats#LoggingFormatCrossReference>`_.
+
+    ``valid_operator_field`` - any one of the following: ``MATCH``,
+    ``CASE_INSENSITIVE_MATCH``, ``CONTAIN``,
+    ``CASE_INSENSITIVE_CONTAIN``.
+
+    -  ``MATCH`` is true if the field and value are identical
+       (case-sensitive).
+    -  ``CASE_INSENSITIVE_MATCH`` is similar to ``MATCH``, except that
+       it is case-insensitive.
+    -  ``CONTAIN`` is true if the field contains the value (the value is
+       a substring of the field).
+    -  ``CASE_INSENSITIVE_CONTAIN`` is a case-insensitive version of
+       ``CONTAIN``.
+
+    ``valid_comparison_value`` - any string or integer matching the
+    field type. For integer values, all of the operators are equivalent
+    and mean that the field must be equal to the specified value.
+
+.. note::
+
+    There are no negative comparison operators. If you want to
+    specify a negative condition, then use the ``Action`` field to
+    ``REJECT`` the record.
+
+*``&lt;Action = "valid_action_field"/&gt;``* {#LogsXMLFilterAction}
+    Required: ``ACCEPT`` or ``REJECT`` .
+    This instructs Traffic Server to either accept or reject records
+    that satisfy the filter condition.
+
+LogObject
+=========
+
+The following list shows the ``LogObject`` specifications.
+
+*``&lt;Format = "valid_format_name"/&gt;``* {#LogsXMLObjectFormat}
+    Required
+    Valid format names include the predefined logging formats:
+    ``squid``, ``common``, ``extended``, and ``extended2``, as well as
+    any previously-defined custom log formats. There is no default for
+    this tag.
+
+*``&lt;Filename = "file_name"/&gt;``* {#LogsXMLObjectFilename}
+    Required
+    The filename to which the given log file is written on the local
+    file system or on a remote collation server. No local log file will
+    be created if you fail to specify this tag. All filenames are
+    relative to the default logging directory.
+
+    If the name does not contain an extension (for example, ``squid``),
+    then the extension ``.log`` is automatically appended to it for
+    ASCII logs and ``.blog`` for binary logs (refer to `Mode =
+    "valid_logging_mode" <#LogsXMLOjbectMode>`_).
+
+    If you do not want an extension to be added, then end the filename
+    with a single (.) dot (for example: ``squid.`` ).
+
+*``&lt;Mode = "valid_logging_mode"/&gt;``* {#LogsXMLOjbectMode}
+    Optional
+    Valid logging modes include ``ascii`` , ``binary`` , and
+    ``ascii_pipe`` . The default is ``ascii`` .
+
+    -  Use ``ascii`` to create event log files in human-readable form
+       (plain ASCII).
+    -  Use ``binary`` to create event log files in binary format. Binary
+       log files generate lower system overhead and occupy less space on
+       the disk (depending on the information being logged). You must
+       use the ``logcat`` utility to translate binary log files to ASCII
+       format before you can read them.
+    -  Use ``ascii_pipe`` to write log entries to a UNIX named pipe (a
+       buffer in memory). Other processes can then read the data using
+       standard I/O functions. The advantage of using this option is
+       that Traffic Server does not have to write to disk, which frees
+       disk space and bandwidth for other tasks. In addition, writing to
+       a pipe does not stop when logging space is exhausted because the
+       pipe does not use disk space.
+
+    If you are using a collation server, then the log is written to a
+    pipe on the collation server. A local pipe is created even before a
+    transaction is processed, so you can see the pipe right after
+    Traffic Server starts. Pipes on a collation server, however, *are*
+    created when Traffic Server starts.
+
+*``&lt;Filters = "list_of_valid_filter_names"/&gt;``*
+{#LogsXMLObjectFilters}
+    Optional
+    A comma-separated list of names of any previously-defined log
+    filters. If more than one filter is specified, then all filters must
+    accept a record for the record to be logged.
+
+*``&lt;Protocols = "list_of_valid_protocols"/&gt;``*
+{#LogsXMLObjectProtocols}
+    Optional
+    A comma-separated list of the protocols this object should log.
+    Valid protocol names for this release are ``HTTP`` (FTP is
+    deprecated).
+
+*``&lt;ServerHosts = "list_of_valid_servers"/&gt;``*
+{#LogsXMLObjectServerHosts}
+    Optional
+    A comma-separated list of valid hostnames.This tag indicates that
+    only entries from the named servers will be included in the file.
+
+*``&lt;CollationHosts = "list_of_valid_hostnames"/&gt;``*
+{#LogsXMLObjectCollationHosts}
+    Optional
+    A comma-separated list of collation servers to which all log entries
+    (for this object) are forwarded. Collation servers can be specified
+    by name or IP address. Specify the collation port with a colon after
+    the name; for example, ``host:port`` .
+
+*``&lt;Header = "header"/&gt;``* {#LogsXMLObjectHeader}
+    Optional
+    The header text you want the log files to contain. The header text
+    appears at the beginning of the log file, just before the first
+    record.
+
+*``&lt;RollingEnabled = "truth value"/&gt;``*
+{#LogsXMLObjectRollingEnabled}
+    Optional
+    Enables or disables log file rolling for the ``LogObject``. This
+    setting overrides the value for the
+    *``proxy.config.log.rolling_enabled``* variable in the
+    :file:`records.config` file. Set *``truth value``* to one of the
+    following values:
+
+    -  ``0`` to disable rolling for this particular ``LogObject``.
+    -  ``1`` to roll log files at specific intervals during the day (you
+       specify time intervals with the ``RollingIntervalSec`` and
+       ``RollingOffsetHr`` fields).
+    -  ``2`` to roll log files when they reach a certain size (you
+       specify the size with the\ ``RollingSizeMb`` field).
+    -  ``3`` to roll log files at specific intervals during the day or
+       when they reach a certain size (whichever occurs first).
+    -  ``4`` to roll log files at specific intervals during the day when
+       log files reach a specific size (at a specified time if the file
+       is of the specified size).
+
+*``&lt;RollingIntervalSec = "seconds"/&gt;``*
+{#LogsXMLObjectRollingIntervalSec}
+    Optional
+    The seconds between log file rolling for the ``LogObject``; enables
+    you to specify different rolling intervals for different
+    ``LogObjects``.
+
+    This setting overrides the value for
+    *``proxy.config.log.rolling_interval_sec``* in the
+    :file:`records.config` file.
+
+*``&lt;RollingOffsetHr = "hour"/&gt;``* {#LogsXMLObjectRollingOffsetHr}
+    Optional
+    Specifies an hour (from 0 to 23) at which rolling is guaranteed to
+    align. Rolling might start before then, but a rolled file will be
+    produced only at that time. The impact of this setting is only
+    noticeable if the rolling interval is larger than one hour. This
+    setting overrides the configuration setting for
+    *``proxy.config.log.rolling_offset_hr``* in the :file:`records.config`
+    file.
+
+*``&lt;RollingSizeMb = "size_in_MB"/&gt;``*
+{#LogsXMLObjectRollingSizeMb}
+    Optional
+    The size at which log files are rolled.
+
+Examples
+========
+
+The following is an example of a ``LogFormat`` specification that
+collects information using three common fields:
+
+::
+
+         <LogFormat>
+             <Name="minimal"/>
+             <Format = "%<chi> : %<cqu> : %<pssc>"/>
+         </LogFormat>
+
+The following is an example of a ``LogFormat`` specification that
+uses aggregate operators:
+
+::
+
+         <LogFormat>
+             <Name = "summary"/>
+             <Format = "%<LAST(cqts)> : %<COUNT(*)> : %<SUM(psql)>"/>
+             <Interval = "10"/>
+         </LogFormat>
+
+The following is an example of a ``LogFilter`` that will cause only
+``REFRESH_HIT`` entries to be logged:
+
+::
+
+         <LogFilter>
+              <Name = "only_refresh_hits"/>
+              <Action = "ACCEPT"/>
+              <Condition = "%<pssc> MATCH REFRESH_HIT"/>
+         </LogFilter>
+
+.. note:
+
+    When specifying the field in the filter condition, you can
+    omit the\ ``%<>``. This means that the filter below is equivalent to the
+    example directly above:
+
+::
+
+         <LogFilter>
+             <Name = "only_refresh_hits"/>
+             <Action = "ACCEPT"/>
+             <Condition = "pssc MATCH REFRESH_HIT"/>
+         </LogFilter>
+
+The following is an example of a ``LogObject`` specification that
+creates a local log file for the minimal format defined earlier. The log
+filename will be ``minimal.log`` because this is an ASCII log file (the
+default).
+
+::
+
+         <LogObject>
+             <Format = "minimal"/>
+             <Filename = "minimal"/>
+         </LogObject>
+
+The following is an example of a ``LogObject`` specification that
+includes only HTTP requests served by hosts in the domain
+``company.com`` or by the specific server ``server.somewhere.com``. Log
+entries are sent to port 4000 of the collation host ``logs.company.com``
+and to port 5000 of the collation host ``209.131.52.129.``
+
+::
+
+         <LogObject>
+              <Format = "minimal"/>
+              <Filename = "minimal"/>
+              <ServerHosts = "company.com,server.somewhere.com"/>
+              <Protocols = "http"/>
+              <CollationHosts = "logs.company.com:4000,209.131.52.129:5000"/>
+         </LogObject>
+
+WELF
+====
+
+Traffic Server supports WELF (WebTrends Enhanced Log Format) so you can
+analyze Traffic Server log files with WebTrends reporting tools. A
+predefined ``<LogFormat>`` that is compatible with WELF is provided in
+the :file:`logs_xml.config` file (shown below). To create a WELF format log
+file, create a ``<LogObject>`` that uses this predefined format.
+
+::
+
+         <LogFormat>
+             <Name = "welf"/>
+             <Format = "id=firewall time=\"%<cqtd> %<cqtt>\" fw=%<phn> pri=6
+                proto=%<cqus> duration=%<ttmsf> sent=%<psql> rcvd=%<cqhl>
+                src=%<chi> dst=%<shi> dstname=%<shn> user=%<caun> op=%<cqhm>
+                arg=\"%<cqup>\" result=%<pssc> ref=\"%<{Referer}cqh>\"
+                agent=\"%<{user-agent}cqh>\" cache=%<crc>"/>
+         </LogFormat>

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/configuration/parent.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/configuration/parent.config.en.rst b/doc/reference/configuration/parent.config.en.rst
new file mode 100644
index 0000000..1391c7c
--- /dev/null
+++ b/doc/reference/configuration/parent.config.en.rst
@@ -0,0 +1,139 @@
+.. 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.
+
+=============
+parent.config
+=============
+
+.. configfile:: parent.config
+
+The :file:`parent.config` file identifies the parent proxies used in an
+cache hierarchy. Use this file to perform the following configuration:
+
+-  Set up parent cache hierarchies, with multiple parents and parent
+   failover
+-  Configure selected URL requests to bypass parent proxies
+
+Traffic Server uses the :file:`parent.config` file only when the parent
+caching option is enabled (refer to `Configuring Traffic Server to Use a
+Parent Cache <../hierachical-caching>`_).
+
+After you modify the :file:`parent.config` file, run the :option:`traffic_line -x`
+command to apply your changes. When you apply the changes to one node in
+a cluster, Traffic Server automatically applies the changes to all other
+nodes in the cluster.
+
+Format
+======
+
+Each line in the :file:`parent.config` file must contain a parent caching
+rule. Traffic Server recognizes three space-delimited tags:
+
+    primary_destination=value secondary_specifier=value  action=value
+
+The following list shows the possible primary destinations and their
+allowed values.
+
+*``dest_domain``* {#dest_domain}
+    A requested domain name.
+
+*``dest_host``* {#dest_host}
+    A requested hostname.
+
+*``dest_ip``* {#dest_ip}
+    A requested IP address or range of IP addresses separated by a dash
+    (-).
+
+*``url_regex``* {#url_regex}
+    A regular expression (regex) to be found in a URL
+
+The secondary specifiers are optional in the :file:`parent.config` file. The
+following list shows the possible secondary specifiers and their allowed
+values.
+
+*``port``* {#port}
+    A requested URL port.
+
+*``scheme``* {#scheme}
+    A request URL protocol: ``http`` or ``https``.
+
+*``prefix``* {#prefix}
+    A prefix in the path part of a URL.
+
+*``suffix``* {#suffix}
+    A file suffix in the URL.
+
+*``method``* {#method}
+    A request URL method. It can be one of the following:
+
+    -  get
+    -  post
+    -  put
+    -  trace
+
+*``time``* {#time}
+    A time range, such as 08:00-14:00, during which the parent cache is
+    used to serve requests.
+
+*``src_ip``* {#src_ip}
+    A client IP address.
+
+The following list shows the possible actions and their allowed values.
+
+``parent``
+    An ordered list of parent servers. If the request cannot be handled
+    by the last parent server in the list, then it will be routed to the
+    origin server. You can specify either a hostname or an IP address,
+    but; you must specify the port number.
+
+``round_robin``
+    One of the following values:
+
+    -  ``true`` - Traffic Server goes through the parent cache list in a
+       round robin-based on client IP address.
+    -  ``strict`` - Traffic Server machines serve requests strictly in
+       turn. For example: machine ``proxy1`` serves the first request,
+       ``proxy2`` serves the second request, and so on.
+    -  ``false`` - Round robin selection does not occur.
+
+``go_direct``
+    One of the following values:
+
+    -  ``true`` - requests bypass parent hierarchies and go directly to
+       the origin server.
+    -  ``false`` - requests do not bypass parent hierarchies.
+
+Examples
+========
+
+The following rule configures a parent cache hierarchy consisting of
+Traffic Server (which is the child) and two parents, ``p1.x.com`` and
+``p2.x.com``. Traffic Server forwards the requests it cannot serve to
+the parent servers ``p1.x.com`` and ``p2.x.com`` in a round-robin
+fashion::
+
+    round_robin=true
+    dest_domain=. method=get parent="p1.x.com:8080; p2.y.com:8080" round_robin=true
+
+The following rule configures Traffic Server to route all requests
+containing the regular expression ``politics`` and the path
+``/viewpoint`` directly to the origin server (bypassing any parent
+hierarchies): ``url_regex=politics prefix=/viewpoint go_direct=true``
+
+Every line in the :file:`parent.config` file must contain either a
+``parent=`` or ``go_direct=`` directive.
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/configuration/plugin.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/configuration/plugin.config.en.rst b/doc/reference/configuration/plugin.config.en.rst
new file mode 100644
index 0000000..9a5afa6
--- /dev/null
+++ b/doc/reference/configuration/plugin.config.en.rst
@@ -0,0 +1,51 @@
+.. 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.
+
+=============
+plugin.config
+=============
+
+.. configfile:: plugin.config
+
+The :file:`plugin.config` file controls run-time loadable plugins available
+to the Traffic Server, as well as their configuration.
+
+Example
+=======
+
+::
+
+     # Comments start with a '#' and continue to the end of the line
+     # Blank lines are ignored
+     #
+     # test-plugin.so arg1 arg2 arg3
+     #
+     plugins/iwx/iwx.so
+     plugins/abuse/abuse.so etc/trafficserver/abuse.config
+     plugins/icx/icx.so etc/trafficserver/icx.config
+
+Each configuration line consists of a path to an ``.so`` file. This path
+can either be absolute, or relative to the plugin-directory (usually
+``/usr/local/libexec/trafficserver``). Such a line tells Traffic Server
+to load said plugin.
+
+A plugin can have any number of configuration parameters listed. Please
+refer to our `plugins' documentation <../plugins>`_ for their reference.
+
+Plugins should only be listed *once*. The order in which the plugins are
+listed is also the order in which they are chained for the processing.
+


[02/52] [abbrv] docs: split reference material into top-level pages

Posted by zw...@apache.org.
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/configuration/ssl_multicert.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/configuration/ssl_multicert.config.en.rst b/doc/reference/configuration/ssl_multicert.config.en.rst
new file mode 100644
index 0000000..8a11e9b
--- /dev/null
+++ b/doc/reference/configuration/ssl_multicert.config.en.rst
@@ -0,0 +1,81 @@
+.. 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.
+
+====================
+ssl_multicert.config
+====================
+
+.. configfile:: ssl_multicert.config
+
+The :file:`ssl_multicert.config` file lets you configure Traffic Server to
+use multiple SSL server certificates with the SSL termination option. If
+you have a Traffic Server system with more than one IP address assigned
+to it, then you can assign a different SSL certificate to be served when
+a client requests a particular IP address.
+
+Format
+======
+
+The format of the :file:`ssl_multicert.config` file is:
+
+::
+
+    dest_ip=ipaddress ssl_cert_name=cert_name ssl_key_name=key_name
+
+where ``ipaddress`` is an IP address assigned to Traffic Server ,
+``ssl_cert_name`` is the filename of the Traffic Server SSL server
+certificate, ``ssl_key_name`` is the filename of the Traffic Server
+SSL private key. If the private key is located in the certificate file,
+then you do not need to specify the name of the private key.
+Additionally ``ssl_ca_name`` can be used to specify the location of a
+Certification Authorithy change in case that differs from what is
+specified under the :file:`records.config`
+``proxy.config.ssl.CA.cert.filename`` value.
+
+Traffic Server will try to find the files specified in
+*``ssl_cert_name``* relative to
+```proxy.config.ssl.server.cert.path`` <../records.config#proxy.config.ssl.server.cert.path>`_,
+*``ssl_key_name``* relative to
+```proxy.config.ssl.server.private_key.path`` <../records.config#proxy.config.ssl.server.private_key.path>`_,
+and *``ssl_ca_name``* relative to
+```proxy.config.ssl.CA.cert.path`` <../records.config#proxy.config.ssl.CA.cert.path>`_.
+
+Examples
+========
+
+The following example configures Traffic Server to use the SSL
+certificate ``server.pem`` for all requests to the IP address
+111.11.11.1 and the SSL certificate ``server1.pem`` for all requests to
+the IP address 11.1.1.1. Since the private key *is* included in the
+certificate files, no private key name is specified.
+
+::
+
+    dest_ip=111.11.11.1  ssl_cert_name=server.pem
+    dest_ip=11.1.1.1   ssl_cert_name=server1.pem
+
+The following example configures Traffic Server to use the SSL
+certificate ``server.pem`` and the private key ``serverKey.pem`` for all
+requests to the IP address 111.11.11.1. Traffic Server uses the SSL
+certificate ``server1.pem`` and the private key ``serverKey1.pem`` for
+all requests to the IP address 11.1.1.1.
+
+::
+
+     dest_ip=111.11.11.1 ssl_cert_name=server.pem ssl_key_name=serverKey.pem
+     dest_ip=11.1.1.1 ssl_cert_name=server1.pem ssl_key_name=serverKey1.pem
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/configuration/storage.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/configuration/storage.config.en.rst b/doc/reference/configuration/storage.config.en.rst
new file mode 100644
index 0000000..aa5a953
--- /dev/null
+++ b/doc/reference/configuration/storage.config.en.rst
@@ -0,0 +1,120 @@
+.. 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.
+
+==============
+storage.config
+==============
+
+.. configfile:: storage.config
+
+The :file:`storage.config` file lists all the files, directories, and/or
+hard disk partitions that make up the Traffic Server cache. After you
+modify the :file:`storage.config` file, you must restart Traffic Server.
+
+Format 
+======
+
+The format of the :file:`storage.config` file is::
+
+    pathname size volume=volume_number
+
+where ``pathname`` is the name of a partition, directory or file, ``size``
+is the size of the named partition, directory or file (in bytes), and
+``volume`` is the volume number that is used in :file:`volume.config`
+and :file:`hosting.config`. You must specify a size for directories or
+files; size is optional for raw partitions. ``volume`` is optional.
+
+You can use any partition of any size. For best performance:
+
+-  Use raw disk partitions.
+-  For each disk, make all partitions the same size.
+-  For each node, use the same number of partitions on all disks.
+-  Group similar kinds of storage into different volumes. For example
+   split out SSD's or RAM drives into their own volume.
+
+Specify pathnames according to your operating system requirements. See
+the following examples. In the :file:`storage.config` file, a formatted or
+raw disk must be at least 128 MB.
+
+When using raw disk or partitions, you should make sure the admin user,
+which is the traffic_server running at, have the read&write privileges.
+The admin user_id is set in
+```proxy.config.admin.user_id`` <records.config#proxy.config.admin.user_id>`_.
+One good practice is if the disk set with g+rw, put the admin user into
+the group which have the privileges.
+
+Examples
+========
+
+The following basic example shows 64 MB of cache storage in the
+``/big_dir`` directory::
+
+    /big_dir 67108864
+
+You can use the ``.`` symbol for the current directory. Here is an
+example for 64 MB of cache storage in the current directory::
+
+    . 67108864
+
+Solaris Example
+---------------
+
+The following example is for the Solaris operating system::
+
+    /dev/rdsk/c0t0d0s5
+    /dev/rdsk/c0t0d1s5
+
+
+.. note:: Size is optional. If not specified, the entire partition is used.
+
+Linux Example
+-------------
+
+The following example will use an entire raw disk in the Linux operating
+system:::
+
+    /dev/sde volume=1
+    /dev/sdf volume=2
+
+In order to make sure ``traffic_server`` will have access to this disk
+you can use ``udev`` to persistently set the right permissions. The
+following rules are targeted for an Ubuntu system, and stored in
+``/etc/udev/rules.d/51-cache-disk.rules``::
+
+    # Assign /dev/sde and /dev/sdf to the www group
+    # make the assignment final, no later changes allowed to the group!
+    SUBSYSTEM=="block", KERNEL=="sd[ef]", GROUP:="www"
+
+FreeBSD Example ## {#LinuxExample}
+----------------------------------
+
+Starting with 5.1 FreeBSD dropped support for explicit raw devices. All
+devices on FreeBSD can be accessed raw now.
+
+The following example will use an entire raw disk in the FreeBSD
+operating system::
+
+    /dev/ada1
+    /dev/ada2
+
+In order to make sure ``traffic_server`` will have access to this disk
+you can use ``devfs`` to persistently set the right permissions. The
+following rules are stored in ``/etc/devfs.conf``::
+
+    # Assign /dev/ada1 and /dev/ada2 to the tserver user
+    own    ada[12]  tserver:tserver
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/configuration/update.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/configuration/update.config.en.rst b/doc/reference/configuration/update.config.en.rst
new file mode 100644
index 0000000..0b7659e
--- /dev/null
+++ b/doc/reference/configuration/update.config.en.rst
@@ -0,0 +1,203 @@
+.. 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.
+
+=============
+update.config
+=============
+
+.. configfile:: update.config
+
+The :file:`update.config` file controls how Traffic Server performs a
+scheduled update of specific local cache content. The file contains a
+list of URLs specifying objects that you want to schedule for update.
+
+A scheduled update performs a local HTTP ``GET`` on the objects at the
+specific time or interval. You can control the following parameters for
+each specified object:
+
+-  The URL
+-  URL-specific request headers, which overrides the default
+-  The update time and interval
+-  The recursion depth
+
+After you modify the :file:`update.config` file,
+run the :option:`traffic_line -x`
+command to apply changes. When you apply changes to one node in a
+cluster, Traffic Server automatically applies the changes to all other
+nodes in the cluster.
+
+Supported Tag/Attribute Pairs
+=============================
+
+Scheduled update supports the following tag/attribute pairs when
+performing recursive URL updates:
+
+-  ``<a href=" ">``
+-  ``<img src=" ">``
+-  ``<img href=" ">``
+-  ``<body background=" ">``
+-  ``<frame src=" ">``
+-  ``<iframe src=" ">``
+-  ``<fig src=" ">``
+-  ``<overlay src=" ">``
+-  ``<applet code=" ">``
+-  ``<script src=" ">``
+-  ``<embed src=" ">``
+-  ``<bgsound src=" ">``
+-  ``<area href=" ">``
+-  ``<base href=" ">``
+-  ``<meta content=" ">``
+
+Scheduled update is designed to operate on URL sets consisting of
+hundreds of input URLs (expanded to thousands when recursive URLs are
+included); it is *not* intended to operate on extremely large URL sets,
+such as those used by Internet crawlers.
+
+Format
+======
+
+Each line in the :file:`update.config` file uses the following format:
+
+::
+
+    URL\request_headers\offset_hour\interval\recursion_depth\
+
+The following list describes each field.
+
+*``URL``* {#URL}
+    HTTP-based URLs.
+
+*``request_headers``* {#request_headers}
+    Optional. A list of headers, separated by semicolons, passed in each
+    ``GET`` request. You can define any request header that conforms to
+    the HTTP specification; the default is no request header.
+
+*``offset_hour``* {#offset_hour}
+    The base hour used to derive the update periods. The range is 00-23
+    hours.
+
+*``interval``* {#interval}
+    The interval (in seconds) at which updates should occur, starting at
+    the offset hour.
+
+*``recursion_depth``* {#recursion_depth}
+    The depth to which referenced URLs are recursively updated, starting
+    at the given URL. This field applies only to HTTP.
+
+Examples
+========
+
+An example HTTP scheduled update is provided below:
+
+::
+
+    http://www.company.com\User-Agent: noname user agent\13\3600\5\
+
+The example specifies the URL and request headers, an offset hour of 13
+(1 pm), an interval of one hour, and a recursion depth of 5. This would
+result in updates at 13:00, 14:00, 15:00, and so on. To schedule an
+update that occurs only once a day, use an interval value 86400 (i.e.,
+24 hours x 60 minutes x 60 seconds = 86400).
+
+Specifying URL Regular Expressions (``url_regex``)
+==================================================
+
+This section describes how to specify a ``url_regex``. Entries of type
+``url_regex`` within the configuration files use regular expressions to
+perform a match.
+
+The following list provides examples to show how to create a valid
+``url_regex``.
+
+``x``
+    Matches the character ``x``
+
+``.``
+    Match any character
+
+``^``
+    Specifies beginning of line
+
+``$``
+    Specifies end of line
+
+``[xyz]``
+    A **character class**. In this case, the pattern matches either
+    ``x``, ``y``, or\ ``z``
+
+``[abj-oZ]``
+    A **character class** with a range. This pattern matches ``a``,
+    ``b``, any letter from ``j`` through ``o``, or ``Z``
+
+``[^A-Z]``
+    A **negated character class**. For example, this pattern matches any
+    character except those in the class.
+
+``r*``
+    Zero or more ``r``, where ``r`` is any regular expression.
+
+``r+``
+    One or more ``r``, where ``r`` is any regular expression.
+
+``r?``
+    Zero or one ``r``, where ``r`` is any regular expression.
+
+``r{2,5}``
+    From two to five ``r``, where ``r`` is any regular expression.
+
+``r{2,}``
+    Two or more ``r``, where ``r`` is any regular expression.
+
+``r{4}``
+    Exactly four ``r``, where ``r`` is any regular expression.
+
+``"[xyz]\"images"``
+    The literal string ``[xyz]"images"``
+
+``\X``
+    If ``X`` is ``a, b, f, n, r, t,`` or ``v``, then the ``ANSI-C``
+    interpretation of ``\x``; otherwise, a literal ``X``. This is used
+    to escape operators such as ``*``
+
+``\0``
+    A ``NULL`` character
+
+``\123``
+    The character with octal value ``123``
+
+``\x2a``
+    The character with hexadecimal value ``2a``
+
+``(r)``
+    Matches an ``r``, where ``r`` is any regular expression. You can use
+    parentheses to override precedence.
+
+``rs``
+    The regular expression ``r``, followed by the regular expression
+    ``s``
+
+``r|s``
+    Either an ``r`` or an ``s``
+
+``#<n>#``
+    Inserts an **end node**, which causes regular expression matching to
+    stop when reached. The value ``n`` is returned.
+
+You can specify ``dest_domain=mydomain.com`` to match any host in
+``mydomain.com``. Likewise, you can specify ``dest_domain=.`` to match
+any request.
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/configuration/volume.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/configuration/volume.config.en.rst b/doc/reference/configuration/volume.config.en.rst
new file mode 100644
index 0000000..51f239f
--- /dev/null
+++ b/doc/reference/configuration/volume.config.en.rst
@@ -0,0 +1,72 @@
+.. 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.
+
+=============
+volume.config
+=============
+
+.. configfile:: volume.config
+
+The :file:`volume.config` file enables you to manage your cache space more
+efficiently and restrict disk usage by creating cache volumes of
+different sizes for specific protocols. You can further configure these
+volumes to store data from certain origin servers and/or domains in the
+:file:`hosting.config` file.
+
+.. important::
+
+    The volume configuration must be the same on all nodes in
+    a cluster. You must stop Traffic Server before you change the cache
+    volume size and protocol assignment. For step-by-step instructions about
+    partitioning the cache, refer to `Partitioning the
+    Cache <../configuring-cache#PartitioningCache>`_.
+
+Format
+======
+
+For each volume you want to create, enter a line with the following
+format:
+
+::
+
+    volume=volume_number  scheme=protocol_type  size=volume_size
+
+where *``volume_number``* is a number between 1 and 255 (the maximum
+number of volumes is 255) and *``protocol_type``* is ``http``. Traffic
+Server supports ``http`` for HTTP volume types; *``volume_size``* is the
+amount of cache space allocated to the volume. This value can be either
+a percentage of the total cache space or an absolute value. The absolute
+value must be a multiple of 128 MB, where 128 MB is the smallest value.
+If you specify a percentage, then the size is rounded down to the
+closest multiple of 128 MB.
+
+Each volume is striped across several disks to achieve parallel I/O. For
+example: if there are four disks, then a 1-GB volume will have 256 MB on
+each disk (assuming each disk has enough free space available). If you
+do not allocate all the disk space in the cache, then the extra disk
+space is not used. You can use the extra space later to create new
+volumes without deleting and clearing the existing volumes.
+
+Examples
+========
+
+The following example partitions the cache evenly between HTTP and HTTPS
+requests::
+
+    volume=1 scheme=http size=50%
+    volume=2 scheme=https size=50%
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/plugins/balancer.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/plugins/balancer.en.rst b/doc/reference/plugins/balancer.en.rst
new file mode 100644
index 0000000..9d54d91
--- /dev/null
+++ b/doc/reference/plugins/balancer.en.rst
@@ -0,0 +1,92 @@
+Balancer Plugin
+***************
+
+.. 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.
+
+
+This is a plugin for Traffic Server, that allows you to configure
+mapping rules.
+
+To use this plugin, configure a remap.config rule like
+
+::
+   map http://foo.com http://bar.com @plugin=balancer.so @pparam=rotation:news
+
+The "To-Url" in the remap.config rule is generally not used, unless the
+lookup completely fails (i.e. this is a backup URL for extreme error
+cases).
+
+This is a list of all available options (set via @pparam):
+
+::
+    rotation      The name of the rotation (e.g. news) [to-host in remap]
+    hash      What to hash on, url, path, cookie, ip, header (primary)
+    hash2     Optional, secondary hash, to hash within a multi-host bucket
+    bucketw   Width of each hash bucket [1]
+
+The rotation parameter specifies which rotation to do the lookup on. If
+not specified, we will default to the same name as used in the To URL in
+the remap rule.
+
+The bucket width specifies how many hosts a particular hash bucket
+should contain, for example:
+
+::
+    @pparam=bucketw:2
+
+The hash parameter can be used zero or more times, without it, no
+hashing is done at all. If you have more than one hash keys, they are
+concatenated in the order specified. For example:
+
+::
+    @pparam=hash:ip @pparam=hash:cookie/B
+
+The "header" hash key takes a required extra value, for example:
+
+::
+    @pparam=hash:header/Host
+
+For "cookie" hash keys, you can optionally specify an identifier for
+which cookie to use (without it, the entire cookie header is used). For
+example:
+
+::
+    @pparam=hash:cookie/B
+
+The secondary hash ("hash2") is used to provide "stickiness" within a
+bucket that's larger than one host (i.e. bucketw > 1). This allows you
+to (for example) have a primary hash on the URL, where each URL is
+served by some number of servers. A secondary hash on B-cookie would
+then provide user stickiness, so that for a particular URL, a particular
+user will always hit the same server.
+
+If the hashes you've requested (either "hash" or "hash2") can not be
+generated, we default to using the URL instead for the primary hash. For
+the secondary hash, if set, we'll default to the src-IP. If these
+defaults are not desirable, make sure that you have at least one hash
+key that is guaranteed to exist (e.g. @pparam=hash:ip).
+
+If no "hash" parameters are specified, no hashing is done. This is the
+default behavior, obviously. In this cash, the "hash2" directive has no
+effect as well.
+
+Finally, a couple of "flag" options (parameters) are available, to
+control some of the lookup mechanisms:
+
+-  @pparam=hostip will use the IP returned by the lookup
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/plugins/buffer_upload.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/plugins/buffer_upload.en.rst b/doc/reference/plugins/buffer_upload.en.rst
new file mode 100644
index 0000000..ab5f209
--- /dev/null
+++ b/doc/reference/plugins/buffer_upload.en.rst
@@ -0,0 +1,89 @@
+Buffer Upload Plugin
+********************
+
+.. 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.
+
+
+..  XXX Discribe what the heck this plugin actually does.
+
+Upload proxy specs for phase I:
+
+1. Memory buffering (buffer the entire POST data in IOBuffer before
+   connecting to OS) 1.1. Memory buffer size is configured with
+   "mem_buffer_size" in config file. Default and minimum value is 32K
+   You can increase it in the config file. If the size of a request is
+   larger than the "mem_buffer_size" value specifiied in the config
+   file, then the upload proxy feature will be disabled for this
+   particular request
+
+2. Disk buffering (buffer the entire POST data on disk before connecting
+   to OS) 2.1. Use disk async IO. This involved some changes in ATS core
+   . new APIs wrapping around ink_aio_read() and ink_aio_write() .
+   change to distinguish between api call's AIO and cache's AIO .
+   guarantee api call's AIO only involves certain amount of threads .
+   the number of threads is configurable in plugin's config file
+   (default is 4)
+
+3. 
+
+   2. Directories and files generated on disk . base directory:
+      FOOBAR/var/buffer_upload_tmp/ (configurable in config file) .
+      number of subdirectories: 64 (configurable in config file) .
+      filename are randomly generated . files will be removed when the
+      entire data have been sent out to OS . remove dangling files (left
+      on disk due to transaction interruption or traffic server crash)
+      at startup time
+
+4. 
+
+   3. Default chunk size when reading from disk: 16K, configurable in
+      config file
+
+5. Default buffering mode: disk aio buffering mode 3.1. to turn off disk
+   buffering, add a "use_disk_buffer 0" line in config file
+
+6. Trigger POST buffering on certain URLs 4.1. certain URLs will be
+   provided in a plain text file (one URL each line) 4.2. specify
+   filename in config file by "url_list_file" 4.3. max length of each
+   URL: 4096 (configurable in config file) 4.4. use exact match, don't
+   support regex for now
+
+7. URL conversion for Mail's specific URL format 5.1. for now check if
+   the "host" part in the URL is same as the proxy server name, then
+   will do this conversion 5.2. To turn on URL conversion feature, set
+   "convert_url 1" in config file
+
+8. All request headers inlcuding cookies plus the entire POST data will
+   be buffered (either in memory or on disk)
+
+9. Config file can be explicitly sepcified as a parameter in command
+   line (in plugin.config file)
+
+a sample config file:
+
+use_disk_buffer 1 convert_url 1 chunk_size 1024 url_list_file
+/tmp/url_list.conf max_url_length 10000 base_dir /tmp/test1
+subdir_num 100 thread_num 10 mem_buffer_size 40000
+
+default config file: FOOBAR/etc/upload.conf
+
+default config values: use_disk_buffer 1 convert_url 0 chunk_size
+16384 url_list_file none max_url_length 4096 base_dir
+FOOBAR/var/buffer_upload_tmp subdir_num 64 thread_num 4
+mem_buffer_size 32768
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/plugins/cacheurl.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/plugins/cacheurl.en.rst b/doc/reference/plugins/cacheurl.en.rst
new file mode 100644
index 0000000..093beac
--- /dev/null
+++ b/doc/reference/plugins/cacheurl.en.rst
@@ -0,0 +1,59 @@
+CacheURL Plugin
+***************
+
+.. 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.
+
+
+
+This plugin allows you to change the key that is used for caching a
+request. It is designed so that multiple requests that have different
+URLs but the same content (for example, site mirrors) need be cached
+only once.
+
+Installation
+============
+
+This plugin is only built if the configure option ::
+
+    --enable-experimental-plugins
+
+is given at build time.
+
+Configuration
+=============
+
+Create a ``cacheurl.config`` file in the plugin directory with the url
+patterns to match. See the ``cacheurl.config.example`` file for what to
+put in this file.
+
+Add the plugin to your
+```plugins.config`` <../../configuration-files/plugins.config>`_ file::
+
+    cacheurl.so
+
+Start traffic server. Any rewritten URLs will be written to
+``cacheurl.log`` in the log directory by default.
+
+More docs
+=============
+
+There are some docs on cacheurl in Chinese, please find them in the following:
+
+```http://people.apache.org/~zym/trafficserver/cacheurl.html`` <http://people.apache.org/~zym/trafficserver/cacheurl.html>`_
+
+```https://blog.zymlinux.net/index.php/archives/195`` <https://blog.zymlinux.net/index.php/archives/195>`_

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/plugins/combo_handler.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/plugins/combo_handler.en.rst b/doc/reference/plugins/combo_handler.en.rst
new file mode 100644
index 0000000..260d3f3
--- /dev/null
+++ b/doc/reference/plugins/combo_handler.en.rst
@@ -0,0 +1,84 @@
+Combohandler Plugin
+*******************
+
+.. 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.
+
+
+This plugin provides an intelligent way to combine multiple URLs into a single
+URL, and have Apache Traffic Server combine the components into one
+response. This is useful for example to create URLs that combine multiple CSS
+or Javascript files into one.
+
+Installation
+============
+
+This plugin is only built if the configure option ::
+
+    --enable-experimental-plugins
+
+is given at build time. Note that this plugin is built and installed in
+combination with the ESI module, since they share common code.
+
+Configuration
+=============
+
+The arguments in the
+```plugin.config`` <../../configuration-files/plugin.config>`_ line in
+order represent
+
+1. The path that should triggers combo handler (defaults to
+   "admin/v1/combo")
+
+2. The name of the key used for signature verification (disabled by
+   default)
+
+A "-" can be supplied as a value for any of these arguments to request
+default value be applied.
+
+Also, just like the original combohandler, this plugin generates URLs of
+the form ``http://localhost/<dir>/<file-path>``. ``<dir>`` here defaults
+to ``l`` unless specified by the file path in the query parameter using
+a colon. For example::
+
+    http://combo.com/admin/v1/combo?filepath1&dir1:filepath2&filepath3
+
+Will result in these three pages being fetched::
+
+    http://localhost/l/filepath1
+    http://localhost/dir1/filepath2
+    http://localhost/l/filepath3
+
+Remap rules have to be specified to map the above URLs to desired
+content servers.
+
+The plugin also supports a prefix parameter. Common parts of successive
+file paths can be extracted and specified separately using a 'p' query
+parameter. Successive file path parameters are appended to this prefix
+to create complete file paths. The prefix will remain active until
+changed or cleared (set to an empty string). For example, the query ::
+    "/file1&p=/path1/&file2&file3&p=&/file4&p=/dir:path2/&file5&file6"
+
+results in these file paths being "reconstructed"::
+
+    /file1
+    /path1/file2
+    /path1/file3
+    /file4
+    /dir:path2/file5
+    /dir:path2/file6
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/plugins/conf_remap.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/plugins/conf_remap.en.rst b/doc/reference/plugins/conf_remap.en.rst
new file mode 100644
index 0000000..2f90e1c
--- /dev/null
+++ b/doc/reference/plugins/conf_remap.en.rst
@@ -0,0 +1,107 @@
+.. 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.
+
+conf_remap Plugin
+=================
+
+The `conf_remap` plugin allows you to override configuration
+directives dependent on actual remapping rules. The plugin is built
+and installed as part of the normal Apache Traffic Server installation
+process.
+
+If you want to achieve this behaviour now, configure a remap rule
+like this::
+
+    map http://cdn.example.com/ http://some-server.example.com @plugin=conf_remap.so @pparam=/etc/trafficserver/cdn.conf
+
+where `cdn.conf` would look like :file:`records.config`. For example::
+
+    CONFIG proxy.config.url_remap.pristine_host_hdr INT 1
+
+Doing this, you will override your global default configuration on
+a per mapping rule. For now, those options may be overridden through
+the `conf_remap` plugin:
+
+|
+|
+| proxy.config.url_remap.pristine_host_hdr
+| proxy.config.http.chunking_enabled
+| proxy.config.http.negative_caching_enabled
+| proxy.config.http.negative_caching_lifetime
+| proxy.config.http.cache.when_to_revalidate
+| proxy.config.http.keep_alive_enabled_in
+| proxy.config.http.keep_alive_enabled_out
+| proxy.config.http.keep_alive_post_out
+| proxy.config.http.share_server_sessions
+| proxy.config.net.sock_recv_buffer_size_out
+| proxy.config.net.sock_send_buffer_size_out
+| proxy.config.net.sock_option_flag_out
+| proxy.config.http.forward.proxy_auth_to_parent
+| proxy.config.http.anonymize_remove_from
+| proxy.config.http.anonymize_remove_referer
+| proxy.config.http.anonymize_remove_user_agent
+| proxy.config.http.anonymize_remove_cookie
+| proxy.config.http.anonymize_remove_client_ip
+| proxy.config.http.anonymize_insert_client_ip
+| proxy.config.http.response_server_enabled
+| proxy.config.http.insert_squid_x_forwarded_for
+| proxy.config.http.server_tcp_init_cwnd
+| proxy.config.http.send_http11_requests
+| proxy.config.http.cache.http
+| proxy.config.http.cache.cluster_cache_local
+| proxy.config.http.cache.ignore_client_no_cache
+| proxy.config.http.cache.ignore_client_cc_max_age
+| proxy.config.http.cache.ims_on_client_no_cache
+| proxy.config.http.cache.ignore_server_no_cache
+| proxy.config.http.cache.cache_responses_to_cookies
+| proxy.config.http.cache.ignore_authentication
+| proxy.config.http.cache.cache_urls_that_look_dynamic
+| proxy.config.http.cache.required_headers
+| proxy.config.http.insert_request_via_str
+| proxy.config.http.insert_response_via_str
+| proxy.config.http.cache.heuristic_min_lifetime
+| proxy.config.http.cache.heuristic_max_lifetime
+| proxy.config.http.cache.guaranteed_min_lifetime
+| proxy.config.http.cache.guaranteed_max_lifetime
+| proxy.config.http.cache.max_stale_age
+| proxy.config.http.keep_alive_no_activity_timeout_in
+| proxy.config.http.keep_alive_no_activity_timeout_out
+| proxy.config.http.transaction_no_activity_timeout_in
+| proxy.config.http.transaction_no_activity_timeout_out
+| proxy.config.http.transaction_active_timeout_out
+| proxy.config.http.origin_max_connections
+| proxy.config.http.connect_attempts_max_retries
+| proxy.config.http.connect_attempts_max_retries_dead_server
+| proxy.config.http.connect_attempts_rr_retries
+| proxy.config.http.connect_attempts_timeout
+| proxy.config.http.post_connect_attempts_timeout
+| proxy.config.http.down_server.cache_time
+| proxy.config.http.down_server.abort_threshold
+| proxy.config.http.cache.fuzz.time
+| proxy.config.http.cache.fuzz.min_time
+| proxy.config.http.doc_in_cache_skip_dns
+| proxy.config.http.background_fill_active_timeout
+| proxy.config.http.response_server_str
+| proxy.config.http.cache.heuristic_lm_factor
+| proxy.config.http.cache.fuzz.probability
+| proxy.config.http.background_fill_completed_threshold
+| proxy.config.net.sock_packet_mark_out
+| proxy.config.net.sock_packet_tos_out
+| proxy.config.http.insert_age_in_response
+| proxy.config.http.chunking.size
+| proxy.config.http.flow_control.enabled
+| proxy.config.http.flow_control.low_water
+| proxy.config.http.flow_control.high_water

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/plugins/esi.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/plugins/esi.en.rst b/doc/reference/plugins/esi.en.rst
new file mode 100644
index 0000000..9130791
--- /dev/null
+++ b/doc/reference/plugins/esi.en.rst
@@ -0,0 +1,22 @@
+ESI Plugin (undocumented)
+*************************
+
+.. 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.
+
+
+This plugin implements the ESI specification.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/plugins/geoip_acl.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/plugins/geoip_acl.en.rst b/doc/reference/plugins/geoip_acl.en.rst
new file mode 100644
index 0000000..a864706
--- /dev/null
+++ b/doc/reference/plugins/geoip_acl.en.rst
@@ -0,0 +1,94 @@
+GeoIP ACLs Plugin
+*****************
+
+.. 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.
+
+This is a simple ATS plugin for denying (or allowing) requests based on
+the source IP geo-location. Currently only the Maxmind APIs are
+supported, but we'd be happy to other other (open) APIs if you let us
+know. This plugin comes with the standard distribution of Apache Traffic
+Server, and should be installed as part of the normal build process.
+
+
+Configuration
+=============
+
+Once installed, there are three primary use cases, which we will discuss
+in details. Note that in all configurations, the first plugin parameter
+must specify what the matches should be applied to. Currently, only one
+rule set is supported, for Country ISO codes. This is specified with a
+parameter of ::
+
+    @pparam=country
+
+Future additions to this plugin could include other regions, such as
+city, state, continent etc.
+
+The three typical use cases are as follows:
+
+1. Per remap configurations, applicable to the entire remap rule. This
+   is useful when you can partition your content so that entire prefix
+   paths should be filtered. For example, lets assume that
+   http://example.com/music is restricted to US customers only, and
+   everything else is world wide accessible. In remap.config, you would
+   have something like ::
+
+    map http://example.com/music http://music.example.com \
+      @plugin=geoip_acl.so @pparam=country @pparam=allow @pparam=US
+    map http://example.com http://other.example.com
+
+2. If you can not partition the data with a path prefix, you can specify
+   a separate regex mapping filter. The remap.config file might then
+   look like ::
+
+    map http://example.com http://music.example.com \
+      @plugin=geoip_acl.so @pparam=country \
+      @pparam=regex::/etc/music.regex
+
+where music.regex is a format with PCRE (perl compatible) regular
+expressions, and unique rules for match. E.g.::
+
+    .*\.mp3  allow  US
+    .*\.ogg  deny   US
+
+Note that the default in the case of no matches on the regular
+expressions is to "allow" the request. This can be overriden, see next
+use case.
+
+3. You can also combine 1) and 2), and provide defaults in the
+   remap.config configuration, which then applies for the cases where no
+   regular expressions matches at all. This would be useful to override
+   the default which is to allow all requests that don't match. For
+   example ::
+
+    map http://example.com http://music.example.com \
+      @plugin=geoip_acl.so @pparam=country @pparam=allow @pparam= US
+      @pparam=regex::/etc/music.regex
+
+This tells the plugin that in the situation where there is no matching
+regular expression, only allow requests originating from the US.
+
+Finally, there's one additional parameter option that can be used ::
+
+    @pparam=html::/some/path.html
+
+This will override the default reponse body for the denied responses
+with a custom piece of HTML. This can be useful to explain to your users
+why they are getting denied access to a particular piece of content.
+This configuration can be used with any of the use cases described
+above.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/plugins/gzip.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/plugins/gzip.en.rst b/doc/reference/plugins/gzip.en.rst
new file mode 100644
index 0000000..ca49913
--- /dev/null
+++ b/doc/reference/plugins/gzip.en.rst
@@ -0,0 +1,91 @@
+gzip / deflate Plugin
+*********************
+
+.. 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.
+
+
+This plugin gzips or deflates responses, whichever is applicable. It can
+compress origin respones as well as cached responses. The plugin is built
+and installed as part of the normal Apache Traffic Server installation
+process.
+
+Installation
+============
+
+Add the following line to
+```plugin.config`` <../../configuration-files/plugin.config>`_::
+
+    gzip.so
+
+In this case, the plugin will use the default behaviour:
+
+-  Enable caching
+-  Compress text/\* for every origin
+-  Don't hide accept encoding from origin servers (for an offloading
+   reverse proxy)
+-  No urls are disallowed from compression
+
+Configuration
+=============
+
+Alternatively, a configuration can also be specified::
+
+    gzip.so <path-to-plugin>/sample.gzip.config
+
+After modifying plugin.cofnig, restart traffic server (sudo
+traffic_line -L) the configuration is re-read when a management update
+is given (sudo traffic_line -x)
+
+Options
+=======
+
+Flags and options are:
+
+``enabled``: (``true`` or ``false``) Enable or disable compression for a
+host.
+
+``remove-accept-encoding``: (``true`` or ``false``) Sets whether the
+plugin should hide the accept encoding from origin servers:
+
+-  To ease the load on the origins.
+-  For when the proxy parses responses, and the resulting
+   compression/decompression is wasteful.
+
+``cache``: (``true`` or ``false``) When set, the plugin stores the
+uncompressed and compressed response as alternates.
+
+``compressible-content-type``: Wildcard pattern for matching
+compressible content types.
+
+``disallow``: Wildcard pattern for disabling compression on urls.
+
+Options can be set globally or on a per-site basis, as such::
+
+    # Set some global options first
+    cache true
+    enabled true
+    remove-accept-encoding false
+    compressible-content-type text/*
+
+    # Now set a configuration for www.example.com
+    [www.example.com]
+    cache false
+    remove-accept-encoding true
+    disallow /notthis/*.js
+
+See example.gzip.config for example configurations.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/plugins/header_filter.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/plugins/header_filter.en.rst b/doc/reference/plugins/header_filter.en.rst
new file mode 100644
index 0000000..3885612
--- /dev/null
+++ b/doc/reference/plugins/header_filter.en.rst
@@ -0,0 +1,133 @@
+Header Filter Plugin
+********************
+
+.. 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.
+
+The ``header_filter`` is a simple plugin for filtering out headers from
+requests (or responses). Typical configuration is done either with a
+global configuration, in
+```plugin.config`` <../../configuration-files/plugin.config>`_::
+
+    header_filter.so /usr/local/etc/hdr_filters.conf
+
+Or, alternatively, in a
+```per-remap`` <../../configuration-files/remap.config>`_ rule
+configuration ::
+
+    map http://a.com/ http://b.com @plugin=header_filter.so @pparam=hdr_filters.conf
+
+Even if you don't have a global configuration, if your remap rules
+schedules actions in hooks other than during remap, you must also add
+the ``header_filter.so`` to the
+```plugin.config`` <../../configuration-files/remap.config>`_ (see
+above), but without args::
+
+    header_filter.so
+
+The configuration files looks like ::
+
+    [READ_REQUEST_HDR]
+        X-From-Someone
+        Cookie
+
+    [READ_RESPONSE_HDR]
+        X-From-Server
+        Set-Cookie
+
+    [SEND_RESPONSE_HDR]
+        X-Fie "Test"    # Match the entire string
+        X-Foo /Test/    # Match the (Perl) regex
+        X-Bar [Test*    # Match the prefix string
+        X-Fum *Test]    # Match the postfix string
+
+
+Comments are prefixed with ``#``, and in most cases, the regular
+expression matching is the best choice (very little overhead). The
+pattern matches can also take an option '``!``\ ' to reverse the test.
+The default action is to delete all headers that do (not) match the
+pattern. E.g.::
+
+    [SEND_REQUEST_HDR]
+        X-Fie   /test/
+        X-Foo ! /test/i
+
+The final "``i``\ " qualifier (works on all pattern matches) forces the
+match or comparison to be made case insensitive (just like in Perl).
+
+It's also possible to replace or add headers, using the = and +
+operators. For example ::
+
+    [SEND_REQUEST_HDR]
+        Host =www.example.com=
+        X-Foo +ATS+
+
+This will force the Host: header to have exactly one value,
+``www.example.com``, while ``X-Foo`` will have at least one header with
+the value ATS, but there could be more instances of the header from the
+existing header in the request.
+
+Possible hooks are ::
+
+     READ_REQUEST_HDR
+     SEND_REQUEST_HDR
+     READ_RESPONSE_HDR
+     SEND_RESPONSE_HDR
+
+If not specified, the default hook to add the rules (headers to filter)
+is ``READ_REQUEST_HDR``. It's completely acceptable (and useful) to
+configure a remap rule to delete headers in a later hook (e.g. when
+reading a response from the server). This is what actually makes the
+plugin even remotely useful.
+
+
+Examples
+========
+
+Set X-Forwarded-Proto https on SSL connections
+----------------------------------------------
+
+Often times a backend wants to know whether it's running under HTTP or
+HTTPS. While not regulated standard, we can use the
+``X-Forwarded-Proto`` header for this purpose.
+
+In ```plugin.config`` <../../configuration-files/plugin.config>`_ we
+need to add::
+
+    header_filter.so
+
+Then, in ```remap.config`` <../../configuration-files/remap.config>`_ we
+can configure ``header_filter`` on a case by case basis::
+
+    map http://example.org http://172.16.17.42:8080
+    map https://example.org http://172.16.17.42:8080 @plugin=header_filter.so @pparam=/etc/trafficserver/x_fwd_proto.conf
+
+The configuration that ties everything together is then
+``/etc/trafficserver/x_fwd_proto.config``, to which we add::
+
+    [SEND_REQUEST_HDR]
+        X-Forwarded-Proto =https=
+
+To activate this configuration, we need to restart Traffic Server with
+``traffic_line -L``.
+
+In the backend servers we can now pick this up and do appropriately set
+server variables that will be picked up by CGI programs for instance. In
+the case of Apache httpd backend, this can be acomplished with
+```mod_setenvif`` <http://httpd.apache.org/docs/current/mod/mod_setenvif.html#setenvif>`_::
+
+    SetEnvIf X-Forwarded-Proto https HTTPS=on SSL=on

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/plugins/hipes.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/plugins/hipes.en.rst b/doc/reference/plugins/hipes.en.rst
new file mode 100644
index 0000000..2651c67
--- /dev/null
+++ b/doc/reference/plugins/hipes.en.rst
@@ -0,0 +1,64 @@
+HIPES system (undocumented)
+***************************
+
+.. 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.
+
+
+This plugin implements the HIPES system.
+
+Configuration
+=============
+
+``server:<host>``
+    Name of the server to send this request to
+
+``urlp:<name>``
+    Default: ``url``
+    Name of the query parameter for the service URL
+
+``path:<path>``
+    Default: ``/``
+    Path to use for the service URL
+
+``ssl``
+    Default: ``no``
+    Use SSL when connecting to the service
+
+``service``
+    Service server, ``host[:port]``
+
+``server``
+    Default: ``hipes.yimg.com``
+    Name of HIPES server, ``host[:port]``
+
+``active_timeout``
+    The active connection timeout in ms
+
+``no_activity_timeout``
+    The no activity timeout in ms
+
+``connect_timeout``
+    The connect timeout in ms
+
+``dns_timeout``
+    The DNS timeout
+
+The timeout options override the server defaults (from
+```records.config`` <../../configuration-files/records.config>`_), and
+only apply to the connection to the specific "service" host.
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/plugins/index.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/plugins/index.en.rst b/doc/reference/plugins/index.en.rst
new file mode 100644
index 0000000..fd2a4dd
--- /dev/null
+++ b/doc/reference/plugins/index.en.rst
@@ -0,0 +1,75 @@
+Plugin Reference
+****************
+
+.. 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.
+
+Overview
+========
+
+One of the key features of Apache Traffic Server is modularity.
+Features that aren't needed in the core simply aren't there. This
+is a good thing, because it guarantees that our core can remain
+fast by concentrating on the things that we always provide: Caching
+and proxying.
+
+All other things can be moved into plugins, by opening up a consistent
+C API, everyone can implement their own functionality, without
+having to touch the core.
+
+Stable plugins
+==============
+
+Plugins that are considered stable are installed by default in
+Apache Traffic Server releases.
+
+.. toctree::
+  :maxdepth: 1
+
+  cacheurl.en
+  conf_remap.en
+  gzip.en
+  header_filter.en
+  regex_remap.en
+  stats_over_http.en
+
+Experimental plugins
+====================
+
+Plugins that are considered experimental are located in the
+```plugins/experimental`` <https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;a=tree;f=plugins/experimental;hb=HEAD>`_
+directory in the Apache Traffic Server source tree. Exmperimental plugins can be compiled by passing the
+`--enable-experimental-plugins` option to `configure`::
+
+    $ autoconf -i
+    $ ./configure --enable-experimental-plugins
+    $ make
+
+.. toctree::
+  :maxdepth: 1
+
+  balancer.en
+  buffer_upload.en
+  cacheurl.en
+  combo_handler.en
+  esi.en
+  geoip_acl.en
+  hipes.en
+  metafilter.en
+  mysql_remap.en
+  stale_while_revalidate.en
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/plugins/metafilter.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/plugins/metafilter.en.rst b/doc/reference/plugins/metafilter.en.rst
new file mode 100644
index 0000000..7c75157
--- /dev/null
+++ b/doc/reference/plugins/metafilter.en.rst
@@ -0,0 +1,110 @@
+.. 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.
+
+Metalink plugin
+===============
+
+The `metalink` plugin implements the
+`Metalink <http://en.wikipedia.org/wiki/Metalink>`_
+protocol in order to try not to download the same file twice. This
+improves cache efficiency and speeds up user downloads.
+
+Take standard headers and knowledge about objects in the cache and
+potentially rewrite those headers so that a client will use a URL
+that is already cached instead of one that isn't.
+
+The `metalink` headers are specified in :rfc:`6429` and :rfc:`3230` 
+and are sent by various download redirectors or content distribution
+networks.
+
+A lot of download sites distribute the same files from many different
+mirrors and users don't know which mirrors are already cached. These
+sites often present users with a simple download button, but the
+button doesn't predictably access the same mirror, or a mirror that
+is already cached. To users it seems like the download works sometimes
+(takes seconds) and not others (takes hours), which is frustrating.
+
+An extreme example of this happens when users share a limited,
+possibly unreliable internet connection, as is common in parts of
+Africa for example.
+
+How it works
+------------
+
+When the `metalink` plugin sees a response with a ``Location: ...`` header and a
+``Digest: SHA-256=...`` header, it checks to see if the URL in the Location
+header is already cached. If it isn't, then it tries to find a URL
+that is cached to use instead. It looks in the cache for some object
+that matches the digest in the Digest header and if it finds
+something, then it rewites the ``Location`` header with the URL from
+that object.
+
+That way a client should get sent to a URL that's already cached
+and the user won't end up downloading the file again.
+
+Installation
+------------
+
+`metalink` is a global plugin. It is enabled by adding it to your
+:file:`plugins.config` file. There are no options.
+
+Implementation Status
+---------------------
+
+The `metalink` plugin implements the ``TS_HTTP_SEND_RESPONSE_HDR_HOOK``
+hook to check and potentially rewrite the ``Location: ...`` and
+``Digest: SHA-256=...`` headers after responses are cached. It
+doesn't do it before they're cached because the contents of the
+cache can change after responses are cached.  It uses :c:func:`TSCacheRead`
+to check if the URL in the ``Location: ...`` header is already
+cached. In future, the plugin should also check if the URL is fresh
+or not.
+
+The plugin implements ``TS_HTTP_READ_RESPONSE_HDR_HOOK`` and a null
+transform to compute the SHA-256 digest for content as it's added
+to the cache, then uses :c:func:`TSCacheWrite` to associate the
+digest with the request URL. This adds a new cache object where the
+key is the digest and the object is the request URL.
+
+To check if the cache already contains content that matches a digest,
+the plugin must call :c:func:`TSCacheRead` with the digest as the
+key, read the URL stored in the resultant object, and then call
+:c:func:`TSCacheRead` again with this URL as the key. This is
+probably inefficient and should be improved.
+
+An early version of the plugin scanned ``Link: <...>; rel=duplicate``
+headers. If the URL in the ``Location: ...`` header was not already
+cached, it scanned ``Link: <...>; rel=duplicate`` headers for a URL
+that was. The ``Digest: SHA-256=...`` header is superior because it
+will find content that already exists in the cache in every case
+that a ``Link: <...>; rel=duplicate`` header would, plus in cases
+where the URL is not listed among the ``Link: <...>; rel=duplicate``
+headers, maybe because the content was downloaded from a URL not
+participating in the content distribution network, or maybe because
+there are too many mirrors to list in ``Link: <...>; rel=duplicate``
+headers.
+
+The ``Digest: SHA-256=...`` header is also more efficient than ``Link:
+<...>; rel=duplicate`` headers because it involves a constant number
+of cache lookups. :rfc:`6249` requires a ``Digest: SHA-256=...`` header
+or ``Link: <...>; rel=duplicate`` headers MUST be ignored:
+
+    If Instance Digests are not provided by the Metalink servers, the
+    Link header fields pertaining to this specification MUST be ignored.
+
+    Metalinks contain whole file hashes as described in Section 6,
+    and MUST include SHA-256, as specified in [FIPS-180-3].
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/plugins/mysql_remap.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/plugins/mysql_remap.en.rst b/doc/reference/plugins/mysql_remap.en.rst
new file mode 100644
index 0000000..6e7957e
--- /dev/null
+++ b/doc/reference/plugins/mysql_remap.en.rst
@@ -0,0 +1,83 @@
+MySQL Remap Plugin
+******************
+
+.. 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.
+
+
+This is a basic plugin for doing dynamic "remaps" from a database. It
+essentially rewrites the incoming request's Host header / origin server
+connection to one retrieved from a database.
+
+The generic proxying setup is the following::
+
+    UA ----> Traffic Server ----> Origin Server
+
+Without the plugin a request like::
+
+    GET /path/to/something HTTP/1.1
+    Host: original.host.com
+
+Ends up requesting ``http://original.host.com/path/to/something``
+
+With this plugin enabled, you can easily change that to anywhere you
+desire. Imagine the many possibilities....
+
+We have benchmarked the plugin with ab at about 9200 requests/sec (1.7k
+object) on a commodity hardware with a local setup of both, MySQL and
+Traffic Server local. Real performance is likely to be substantially
+higher, up to the MySQL's max queries / second.
+
+Installation
+============
+
+This plugin is only built if the configure option ::
+
+    --enable-experimental-plugins
+
+is given at build time.
+
+Configuration
+=============
+
+Import the default schema to a database you create::
+
+    mysql -u root -p -e "CREATE DATABASE mysql_remap;"   # create a new database
+    mysql -u root -p mysql_remap < schema/import.sql     # import the provided schema
+
+insert some interesting values in mysql_remap.hostname &
+mysql_remap.map
+
+Traffic Server plugin configuration is done inside a global
+configuration file: ``/etc/trafficserver/plugin.config``::
+
+    mysql_remap.so /etc/trafficserver/mysql_remap.ini
+
+The INI file should contain the following values::
+
+    [mysql_remap]
+    mysql_host     = localhost   #default
+    mysql_port     = 3306        #default
+    mysql_username = remap_user
+    mysql_password = 
+    mysql_database = mysql_remap #default
+
+To debug errors, start trafficserver manually using::
+
+    traffic_server -T "mysql_remap"
+
+And resolve any errors or warnings displayed.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/plugins/regex_remap.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/plugins/regex_remap.en.rst b/doc/reference/plugins/regex_remap.en.rst
new file mode 100644
index 0000000..a98107b
--- /dev/null
+++ b/doc/reference/plugins/regex_remap.en.rst
@@ -0,0 +1,131 @@
+Regex Remap Plugin
+******************
+
+.. 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.
+
+
+This allows you to configure mapping rules based on regular expressions.
+This is similar to what you can accomplish using mod_rewrite in Apache
+httpd, but obviously not as flexible or sophisticated (yet).
+
+To use this plugin, configure a remap.config rule like ::
+
+    map http://a.com http://b.com @plugin=regex_remap.so @pparam=maps.reg
+
+The parameter with the file name is always required, and the regular
+expressions within are evaluated sequentially from the first to the
+last. When a regular expression is positively matched against a request
+URL, evaluation is stopped and the rewrite rule is applied. If none of
+the regular expressions are a match, the default destination URL is
+applied (``http://b.com`` in the example above).
+
+An optional argument (``@pparam``) with the string "``profile``\ " will
+enable profiling of this regex remap rule, e.g. ::
+
+    ... @pparam=maps.reg @pparam=profile
+
+Profiling is very low overhead, and the information is dumped to
+``traffic.out``, located in the log directory. This information is
+useful to optimize the order of your regular expression, such that the
+most common matches appears early in the file. In order to force a
+profile dump, you can do ::
+
+    $ sudo touch remap.config
+    $ sudo traffic_line -x
+
+By default, only the path and query string of the URL are provided for
+the regular expressions to match. The following optional parameters can
+be used to modify the plugin instance behavior ::
+
+    @pparam=[no-]method              [default: off]
+    @pparam=[no-]query-string        [default: on]
+    @pparam=[no-]matrix-parameters   [default: off]
+
+If you wish to match on the HTTP method used (e.g. "``GET``\ "),
+you must use the option ``@pparam=method``. e.g. ::
+
+    ... @pparam=maps.reg @pparam=method
+
+With this enabled, the string that you will need to match will look
+like ::
+
+    GET/path?query=bar
+
+
+The methods are always all upper-case, and always followed by one single
+space. There is no space between the method and the rest of the URL (or
+URI path).
+
+By default, the query string is part of the string that is matched
+again, to turn this off use the option 'no-query-string', e.g. ::
+
+    ... @pparam=maps.reg @pparam=no-query-string
+
+Finally, you can also include the matrix parameters in the string, using
+the option 'matrix-parameters', e.g. ::
+
+    ... @pparam=maps.reg @pparam=matrix-parameters
+
+The config file (``maps.reg`` above) can be placed anywhere, but unless
+you specify an absolute path (as above), it will default to ::
+
+    /usr/local/etc/regex_remap
+
+A typical regex would look like ::
+
+    ^/(ogre.*)/more     http://www.ogre.com/$h/$0/$1
+
+The regular expression must not contain any white spaces!
+
+When the regular expression is matched, only the URL path + query string
+is matched (without any of the optional configuration options). The path
+will always start with a "/". Various substitution strings are allowed
+on the right hand side during evaluation ::
+
+    $0     - The entire matched string
+    $1-9   - Regular expression groups ($1 first group etc.)
+    $h     - The original host header from the request
+    $f     - The host as used in the "from" portion of the remap rule
+    $t     - The host as used in the "to" portion of the remap rule
+    $p     - The original port number
+    $s     - The scheme (e.g. http) of the request
+    $P     - The entire path of the request
+    $q     - The query part of the request
+    $r     - The path parameters of the request (not implemented yet)
+    $c     - The cookie string from the request
+    $i     - The client IP for this request
+
+You can also provide options, similar to how you configure your
+remap.config. The following options are available ::
+
+    @status=<nnn>               - Force the response code to <nnn>
+    @active_timeout=<nnn>       - Active timeout (in ms)
+    @no_activity_timeout=<nnn>  - No activity timeout (in ms)
+    @connect_timeout=<nnn>      - Connect timeouts (in ms)
+    @dns_timeout=<nnn>          - Connect timeouts (in ms)
+
+This can be useful to force a particular response for some URLs, e.g. ::
+
+    ^/(ogre.*)/bad      http://www.examle.com/  @status=404
+
+Or, to force a 302 redirect ::
+
+    ^/oldurl/(.*)$      http://news.example.com/new/$1 @status=302
+
+Setting the status to 301 or 302 will force the new URL to be used
+as a redirect (Location:).

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/plugins/stale_while_revalidate.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/plugins/stale_while_revalidate.en.rst b/doc/reference/plugins/stale_while_revalidate.en.rst
new file mode 100644
index 0000000..0a59c90
--- /dev/null
+++ b/doc/reference/plugins/stale_while_revalidate.en.rst
@@ -0,0 +1,21 @@
+Stale While Revalidate Plugin (undocumented)
+********************************************
+
+.. 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.
+
+refresh content asynchronously while serving stale data

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/plugins/stats_over_http.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/plugins/stats_over_http.en.rst b/doc/reference/plugins/stats_over_http.en.rst
new file mode 100644
index 0000000..39b69be
--- /dev/null
+++ b/doc/reference/plugins/stats_over_http.en.rst
@@ -0,0 +1,50 @@
+Stats over HTTP Plugin
+**********************
+
+.. 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.
+
+
+This plugin implements an HTTP interface to all Traffic Server statistics. The
+metrics returned are in a JSON format, for easy processing. This plugin is now
+part of the standard ATS build process, and should be available after install.
+
+To enable this plugin, add to the plugin.conf file::
+
+    stats_over_http.so
+
+
+After starting Traffic Server, the JSON metrics are now available on the
+default URL::
+
+    http://host:port/_stats
+
+
+where host and port is the hostname/IP and port number of the server. You can
+optionally modify the path to use, and this is highly recommended in a public
+facing server. For example::
+
+    stats_over_http.so 81c075bc0cca1435ea899ba4ad72766b
+
+
+and the URL would then be e.g.::
+
+    https://host:port/81c075bc0cca1435ea899ba4ad72766b
+
+
+This is weak security at best, since the secret could possibly leak if you are
+careless and send it over clear text.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/sdk/index.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/index.en.rst b/doc/sdk/index.en.rst
index da45d84..cab4d0c 100644
--- a/doc/sdk/index.en.rst
+++ b/doc/sdk/index.en.rst
@@ -63,11 +63,3 @@ Contents:
   adding-statistics.en
   sample-source-code.en
   troubleshooting-tips.en
-  man/index.en
-
-Indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/sdk/man/TSAPI.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/man/TSAPI.en.rst b/doc/sdk/man/TSAPI.en.rst
deleted file mode 100644
index d2ab1b2..0000000
--- a/doc/sdk/man/TSAPI.en.rst
+++ /dev/null
@@ -1,143 +0,0 @@
-.. 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.
-
-.. default-domain:: c
-
-=======
-`TSAPI`
-=======
-
-Synopsis
-========
-| `#include <ts/ts.h>`
-| `#include <ts/remap.h>`
-
-Description
-===========
-The Apache Traffic Server API enables you to create plugins, using
-the C programming language, that customize the behavior of your
-Traffic Server installation.
-
-Traffic Server enables sophisticated caching and processing of
-web-related traffic, such as DNS and HTTP requests and responses.
-Traffic Server itself consists of an event-driven loop that can be
-simplified as follows::
-
-    for (;;) {
-        event = get_next_event();
-        handle_event (event);
-    }
-
-You compile your plugin source code to create a shared library that
-Traffic Server loads when it is started. Your plugin contains
-callback functions that are registered for specific Traffic Server
-events. When Traffic Server needs to process an event, it invokes
-any and all call-back functions you've registered for that event
-type.
-
-Possible uses for plugins include the following:
-
-* HTTP processing plugins can filter, blacklist, authorize users or transform content.
-* Protocol plugins can enable Traffic Server to proxy-cache new protocol content.
-* A blacklisting plugin denies attempts to access web sites that are off-limits.
-* Append transform plugins add data to HTTP response content.
-* An image conversion plugin transforms JPEG images to GIF images.
-* Compression plugins send response content to a compression server
-  that compresses the data (alternatively, a compression library local
-  to the Traffic Server host machine could do the compression).
-* Authorization plugins check a user's permissions to access
-  particular web sites. The plugin could consult a local authorization
-  program or send queries to an authorization server.
-* A plugin that gathers client information from request headers
-  and enters this information in a database.
-* A protocol plugin listen for specific protocol requests on a
-  designated port and then uses Traffic Server's proxy server and
-  cache to serve client requests.
-
-Naming conventions
-==================
-
-The Traffic Server API adheres to the following naming conventions:
-
-* The TS prefix is used for all function and variable names defined
-  in the Traffic Server API. For example, :data:`TS_EVENT_NONE`, :type:`TSMutex`,
-  and :func:`TSContCreate`.
-* Enumerated values are always written in all uppercase letters.
-  For example, :data:`TS_EVENT_NONE` and :data:`TS_VC_CLOSE_ABORT`.
-* Constant values are all uppercase; enumerated values can be seen
-  as a subset of constants. For example, :data:`TS_URL_SCHEME_FILE` and
-  :data:`TS_MIME_FIELD_ACCEPT`.
-* The names of defined types are mixed-case. For example, :type:`TSHttpSsn`
-  and :func:`TSHttpTxn`. :func:`TSDebug`
-* Function names are mixed-case. For example, :func:`TSUrlCreate`
-  and :func:`TSContDestroy`.
-* Function names use the following subject-verb naming style:
-  TS-<subject>-<verb>, where <subject> goes from general to specific.
-  This makes it easier to determine what a function does by reading
-  its name. For example, the function to retrieve the password field
-  (the specific subject) from a URL (the general subject) is
-  :func:`TSUrlPasswordGet`.
-* Common verbs like Create, Destroy, Get, Set, Copy, Find, Retrieve,
-  Insert, Remove, and Delete are used only when appropriate.
-
-Plugin loading and configuration
-================================
-
-When Traffic Server is first started, it consults the plugin.config
-file to determine the names of all shared plugin libraries that
-need to be loaded. The plugin.config file also defines arguments
-that are to be passed to each plugin's initialization function,
-:func:`TSPluginInit`. The :file:`records.config` file defines the path to
-each plugin shared library.
-
-The sample :file:`plugin.config` file below contains a comment line, a blank
-line, and two plugin configurations::
-
-    # This is a comment line.
-    my-plugin.so www.junk.com www.trash.com www.garbage.com
-    some-plugin.so arg1 arg2 $proxy.config.http.cache.on
-
-Each plugin configuration in the :file:`plugin.config` file resembles
-a UNIX or DOS shell command; each line in :file:`plugin.config`
-cannot exceed 1023 characters.
-
-The first plugin configuration is for a plugin named my-plugin.so.
-It contains three arguments that are to be passed to that plugin's
-initialization routine. The second configuration is for a plugin
-named some-plugin.so; it contains three arguments. The last argument,
-$proxy.config.http.cache.on, is actually a configuration variable.
-Traffic Server will look up the specified configuration variable
-and substitute its value.
-
-Plugins are loaded and initialized by Traffic Server in the order
-they appear in the :file:`plugin.config` file.
-
-Plugin initialization
-=====================
-
-Each plugin must define an initialization function named
-:func:`TSPluginInit` that Traffic Server invokes when the
-plugin is loaded. :func:`TSPluginInit` is commonly used to
-read configuration information and register hooks for event
-notification.
-
-Files
-=====
-:file:`{CONFIG_DIR}/plugin.config`, :file:`{CONFIG_DIR}/records.config`
-
-See also
-========
-:manpage:`TSPluginInit(3ts)`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/sdk/man/TSDebug.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/man/TSDebug.en.rst b/doc/sdk/man/TSDebug.en.rst
deleted file mode 100644
index 6471fa5..0000000
--- a/doc/sdk/man/TSDebug.en.rst
+++ /dev/null
@@ -1,83 +0,0 @@
-.. 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.
-
-.. default-domain:: c
-
-==========
-`TSDebug`
-==========
-
-Library
-=======
-Apache Traffic Server plugin API
-
-Synopsis
-========
-`#include <ts/ts.h>`
-
-.. function:: void TSDebug(const char * tag, const char * format, ...)
-.. function:: void TSError(const char * tag, const char * format, ...)
-.. function:: int TSIsDebugTagSet(const char * tag)
-.. function:: void TSDebugSpecific(int debug_flag, const char * tag, const char * format, ...)
-.. function:: void TSHttpTxnDebugSet(TSHttpTxn txnp, int on)
-.. function:: void TSHttpSsnDebugSet(TSHttpSsn ssn, int on)
-.. function:: int TSHttpTxnDebugGet(TSHttpTxn txnp)
-.. function:: int TSHttpSsnDebugGet(TSHttpSsn ssn)
-.. macro:: void TSAssert(expression)
-.. macro:: void TSReleaseAssert(expression)
-
-Description
-===========
-
-:func:`TSError` is similar to :func:`printf` except that instead
-of writing the output to the C standard output, it writes output
-to the Traffic Server error log.
-
-:func:`TSDebug` is the same as :func:`TSError` except that it only
-logs the debug message if the given debug tag is enabled. It writes
-output to the Traffic Server debug log.
-
-:func:`TSIsDebugTagSet` returns non-zero if the given debug tag is
-enabled.
-
-In debug mode, :macro:`TSAssert` Traffic Server to prints the file
-name, line number and expression, and then aborts. In release mode,
-the expression is not removed but the effects of printing an error
-message and aborting are. :macro:`TSReleaseAssert` prints an error
-message and aborts in both release and debug mode.
-
-:func:`TSDebugSpecific` emits a debug line even if the debug tag
-is turned off, as long as debug flag is enabled. This can be used
-in conjuction with :func:`TSHttpTxnDebugSet`, :func:`TSHttpSsnDebugSet`,
-:func:`TSHttpTxnDebugGet` and :func:`TSHttpSsnDebugGet` to enable
-debugging on specific session and transaction objects.
-
-Examples
-========
-
-This example uses :func:`TSDebugSpecific` to log a message when a specific
-debugging flag is enabled::
-
-    #include <ts/ts.h>
-
-    // Emit debug message if "tag" is enabled or the txn debug
-    // flag is set.
-    TSDebugSpecifc(TSHttpTxnDebugGet(txn), "tag" ,
-            "Hello World from transaction %p", txn);
-
-SEE ALSO
-========
-:manpage:`TSAPI(3ts)`, :manpage:`printf(3)`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/sdk/man/TSHttpHookAdd.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/man/TSHttpHookAdd.en.rst b/doc/sdk/man/TSHttpHookAdd.en.rst
deleted file mode 100644
index d791db5..0000000
--- a/doc/sdk/man/TSHttpHookAdd.en.rst
+++ /dev/null
@@ -1,120 +0,0 @@
-.. 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.
-
-.. default-domain:: c
-
-===============
-`TSHttpHookAdd`
-===============
-
-Library
-=======
-Apache Traffic Server plugin API
-
-Synopsis
-========
-`#include <ts/ts.h>`
-
-.. function:: void TSHttpHookAdd(TSHttpHookID id, TSCont contp)
-.. function:: void TSHttpSsnHookAdd(TSHttpSsn ssnp, TSHttpHookID id, TSCont contp)
-.. function:: void TSHttpTxnHookAdd(TSHttpTxn txnp, TSHttpHookID id, TSCont contp)
-
-Description
-===========
-
-Hooks are points in Apache Traffic Server transaction HTTP processing
-where plugins can step in and do some work. Registering a plugin
-function for callback amounts to adding the function to a hook. You
-can register your plugin to be called back for every single
-transaction, or for specific transactions only.
-
-HTTP transaction hooks are set on a global basis using the function
-:func:`TSHttpHookAdd`. This means that the continuation specified
-as the parameter to :func:`TSHttpHookAdd` is called for every
-transaction. :func:`TSHttpHookAdd` is typically called from
-:func:`TSPluginInit` or :func:`TSRemapInit`.
-
-A session consists of a single client connection to Traffic Server.
-A session can consist of several transactions in succession. The
-session starts when the client connection opens, and ends when the
-connection closes. :func:`TSHttpSsnHookAdd` adds :data:`contp` to
-the end of the list of HTTP transaction hooks specified by :data:`id`.
-This means that :data:`contp` is called back for every transaction
-within the session, at the point specified by the hook ID. Since
-:data:`contp` is added to a session, it is not possible to call
-:func:`TSHttpSsnHookAdd` from the plugin initialization routine;
-the plugin needs a handle to an HTTP session.
-
-A transaction consists of a single HTTP request from a client and
-the response that Traffic Server sends to that client. A transaction
-begins when Traffic Server receives a request, and ends when Traffic
-Server sends the response. :func:`TSHttpTxnHookAdd` adds :data:`contp`
-to the end of the list of HTTP transaction hooks specified by
-:data:`id`. Since :data:`contp` is added to a transaction, it is
-not possible to call :func:`TSHttpTxnHookAdd` from the plugin
-initialization routine but only when the plugin has a handle to an
-HTTP transaction.
-
-Return values
-=============
-
-None. Adding hooks is always successful.
-
-Examples
-========
-
-The following example demonstrates how to add global, session and
-transaction hooks::
-
-    #include <ts/ts.h>
-
-    static int
-    handler(TSCont contp, TSEvent event, void *edata)
-    {
-        TSHttpSsn ssnp;
-        TSHttpTxn txnp;
-
-        switch (event){
-        case TS_EVENT_HTTP_SSN_START:
-            ssnp = (TSHttpSsn) edata;
-            // Add a session hook ...
-            TSHttpSsnHookAdd(ssnp, TS_HTTP_TXN_START_HOOK, contp);
-            TSHttpSsnReenable(ssnp, TS_EVENT_HTTP_CONTINUE);
-            return 0;
-        case TS_EVENT_HTTP_TXN_START:
-            txnp = (TSHttpTxn) edata;
-            // Add a transaction hook ...
-            TSHttpTxnHookAdd(ssnp, TS_HTTP_READ_REQUEST_HDR_HOOK, contp);
-            TSHttpTxnReenable(txnp, TS_EVENT_HTTP_CONTINUE);
-            return 0;
-        default:
-             break;
-        }
-
-        return 0;
-    }
-
-    void
-    TSPluginInit (int argc, const char *argv[])
-    {
-        TSCont contp;
-        contp = TSContCreate(handler, NULL);
-        TSHttpHookAdd(TS_HTTP_SSN_START_HOOK, contp);
-    }
-
-SEE ALSO
-========
-:manpage:`TSAPI(3ts)`, :manpage:`TSContCreate(3ts)`


[47/52] [abbrv] git commit: TS-2090 Make proxy.config.allocator.enable_reclaim default based on build instructions

Posted by zw...@apache.org.
TS-2090 Make proxy.config.allocator.enable_reclaim default based on build instructions


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/b91279d9
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/b91279d9
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/b91279d9

Branch: refs/heads/3.3.x
Commit: b91279d9992bd9fd7a8fd76db78bff584bfdf385
Parents: cdbfe1d
Author: Leif Hedstrom <zw...@apache.org>
Authored: Fri Aug 2 19:05:28 2013 +0200
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Fri Aug 2 19:05:28 2013 +0200

----------------------------------------------------------------------
 CHANGES                                | 3 +++
 proxy/config/records.config.default.in | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b91279d9/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 5250459..3cc9cd7 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,9 @@
 Changes with Apache Traffic Server 3.3.5
 
 
+  *) [TS-2090 Make proxy.config.allocator.enable_reclaim default based on
+   build instructions.
+
   *) [TS-2086] Remove a few more unused configs.
 
   *) [TS-1685] Remove TS_MICRO and fellas.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/b91279d9/proxy/config/records.config.default.in
----------------------------------------------------------------------
diff --git a/proxy/config/records.config.default.in b/proxy/config/records.config.default.in
index b3b7a09..d2649c0 100644
--- a/proxy/config/records.config.default.in
+++ b/proxy/config/records.config.default.in
@@ -617,7 +617,7 @@ CONFIG proxy.config.diags.show_location INT 0
   #  bit 1: allocate memory from partial-free Chunks(if exist) or OS
 CONFIG proxy.config.allocator.debug_filter INT 0
   # The value of enable_reclaim should be 0 or 1. Default 1, reclaim enabled.
-CONFIG proxy.config.allocator.enable_reclaim INT 1
+CONFIG proxy.config.allocator.enable_reclaim INT @use_reclaimable_freelist@
   # The value of reclaim_factor should be in 0.0 ~ 1.0, allocator use it to
   # calculate average value of idle memory in InkFreeList, which will determine
   # when to reclaim memory. The larger the value, the faster the reclaiming.


[15/52] [abbrv] git commit: doc: convert TSMBufferCreate(3) to sphinx

Posted by zw...@apache.org.
doc: convert TSMBufferCreate(3) to sphinx


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/4b14cee2
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/4b14cee2
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/4b14cee2

Branch: refs/heads/3.3.x
Commit: 4b14cee2f6b68e9579ef3d2ed9b206e798da5b9f
Parents: cdddf8b
Author: James Peach <jp...@apache.org>
Authored: Thu Aug 1 10:29:16 2013 -0700
Committer: James Peach <jp...@apache.org>
Committed: Thu Aug 1 10:29:16 2013 -0700

----------------------------------------------------------------------
 doc/conf.py                              |  1 +
 doc/reference/api/TSMBufferCreate.en.rst | 95 +++++++++++++++++++++++++++
 2 files changed, 96 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/4b14cee2/doc/conf.py
----------------------------------------------------------------------
diff --git a/doc/conf.py b/doc/conf.py
index f8b7ad8..922ee96 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -219,6 +219,7 @@ man_pages = [
    ('reference/api/TSHttpTxnMilestoneGet.en', 'TSHttpTxnMilestoneGet', u'Get a specified milestone timer value for the current transaction', None, u'3ts'),
    ('reference/api/TSIOBufferCreate.en', 'TSIOBufferCreate', u'Traffic Server IO buffer API', None, u'3ts'),
    ('reference/api/TSInstallDirGet.en', 'TSInstallDirGet', u'Return Traffic Server installation directories', None, u'3ts'),
+   ('reference/api/TSMBufferCreate.en', 'TSMBufferCreate', u'Traffic Server marshall buffer API', None, u'3ts'),
 
    ('reference/commands/traffic_cop.en', 'traffic_cop', u'Traffic Server watchdog', None, '8'),
    ('reference/commands/traffic_line.en', 'traffic_line', u'Traffic Server command line', None, '8'),

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/4b14cee2/doc/reference/api/TSMBufferCreate.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSMBufferCreate.en.rst b/doc/reference/api/TSMBufferCreate.en.rst
new file mode 100644
index 0000000..600e570
--- /dev/null
+++ b/doc/reference/api/TSMBufferCreate.en.rst
@@ -0,0 +1,95 @@
+.. 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.
+
+.. default-domain:: c
+
+===============
+TSMBufferCreate
+===============
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: TSMBuffer TSMBufferCreate(void)
+.. function:: TSReturnCode TSMBufferDestroy(TSMBuffer bufp)
+.. function:: TSReturnCode TSHandleMLocRelease(TSMBuffer bufp, TSMLoc parent, TSMLoc mloc)
+
+Description
+===========
+
+The marshal buffer or :type:`TSMBuffer` is a heap data structure that stores
+parsed URLs, MIME headers and HTTP headers. You can allocate new objects
+out of marshal buffers, and change the values within the marshal buffer.
+Whenever you manipulate an object, you require the handle to the object
+(:type:`TSMLoc`) and the marshal buffer containing the object (:type:`TSMBuffer`).
+
+Any marshal buffer fetched by :func:`TSHttpTxn*Get` will be used by other parts
+of the system. Be careful not to destroy these shared, transaction marshal buffers.
+
+:func:`TSMBufferCreate` creates a new marshal buffer and initializes
+the reference count. :func:`TSMBufferDestroy` Ignores the reference
+count and destroys the marshal buffer bufp. The internal data buffer
+associated with the marshal buffer is also destroyed if the marshal
+buffer allocated it.
+
+:func:`TSHandleMLocRelease` Releases the :type:`TSMLoc` mloc created
+from the :type:`TSMLoc` parent. If a :type:`TSMLoc` is obtained from
+a transaction, it does not have a parent :type:`TSMLoc`. Use the
+the constant :data:`TS_NULL_MLOC` as its parent.
+
+Return values
+=============
+
+:func:`TSMBufferDestroy` and :func:`TSHandleMLocRelease` return
+:data:`TS_SUCCESS` on success, or :data:`TS_ERROR` on failure.
+:func:`TSMBufferCreate` returns the new :type:`TSMBuffer`.
+
+Examples
+========
+
+::
+
+    #include <ts/ts.h>
+
+    static void
+    copyResponseMimeHdr (TSCont pCont, TSHttpTxn pTxn)
+    {
+        TSMBuffer respHdrBuf, tmpBuf;
+        TSMLoc respHttpHdrLoc, tmpMimeHdrLoc;
+
+        if (!TSHttpTxnClientRespGet(pTxn, &respHdrBuf, &respHttpHdrLoc)) {
+            TSError("couldn't retrieve client response header0);
+            TSHandleMLocRelease(respHdrBuf, TS_NULL_MLOC, respHttpHdrLoc);
+            goto done;
+        }
+
+        tmpBuf = TSMBufferCreate();
+        tmpMimeHdrLoc = TSMimeHdrCreate(tmpBuf);
+        TSMimeHdrCopy(tmpBuf, tmpMimeHdrLoc, respHdrBuf, respHttpHdrLoc);
+        TSHandleMLocRelease(tmpBuf, TS_NULL_MLOC, tmpMimeHdrLoc);
+        TSHandleMLocRelease(respHdrBuf, TS_NULL_MLOC, respHttpHdrLoc);
+        TSMBufferDestroy(tmpBuf);
+
+    done:
+        TSHttpTxnReenable(pTxn, TS_EVENT_HTTP_CONTINUE);
+    }
+
+See also
+========
+
+:manpage:`TSAPI(3ts)`


[48/52] [abbrv] git commit: [TS-2052] ET_SSL thread spinning

Posted by zw...@apache.org.
[TS-2052] ET_SSL thread spinning


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/94e9830c
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/94e9830c
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/94e9830c

Branch: refs/heads/3.3.x
Commit: 94e9830c21f046aafe0247fb9c95198fc0902144
Parents: b91279d
Author: Brian Geffon <br...@apache.org>
Authored: Fri Aug 2 17:43:41 2013 -0700
Committer: Brian Geffon <br...@apache.org>
Committed: Fri Aug 2 17:43:41 2013 -0700

----------------------------------------------------------------------
 CHANGES              | 4 +++-
 proxy/http/HttpSM.cc | 6 +++++-
 2 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/94e9830c/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 3cc9cd7..c8fde03 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,8 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache Traffic Server 3.3.5
-
+  
+  *) [TS-2052] ET_SSL thread spinning
+   Author: Can Selcik <cselcik at linkedin.com>
 
   *) [TS-2090 Make proxy.config.allocator.enable_reclaim default based on
    build instructions.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/94e9830c/proxy/http/HttpSM.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc
index 5b879bc..7bba241 100644
--- a/proxy/http/HttpSM.cc
+++ b/proxy/http/HttpSM.cc
@@ -741,7 +741,8 @@ HttpSM::state_read_client_request_header(int event, void *data)
   }
 
   // Check to see if we are done parsing the header
-  if (state != PARSE_CONT || ua_entry->eos) {
+  if (state != PARSE_CONT || ua_entry->eos ||
+	(state == PARSE_CONT && event == VC_EVENT_READ_COMPLETE)) {
     if (ua_raw_buffer_reader != NULL) {
         ua_raw_buffer_reader->dealloc();
         ua_raw_buffer_reader = NULL;
@@ -771,6 +772,9 @@ HttpSM::state_read_client_request_header(int event, void *data)
 
       call_transact_and_set_next_state(HttpTransact::BadRequest);
       break;
+    } else if (event == VC_EVENT_READ_COMPLETE) {
+	DebugSM("http_parse", "[%" PRId64 "] VC_EVENT_READ_COMPLETE and PARSE CONT state", sm_id);
+	break;
     } else {
       if (is_transparent_passthrough_allowed() &&
           ua_raw_buffer_reader != NULL &&


[52/52] [abbrv] git commit: Merge branch 'master' into 3.3.x

Posted by zw...@apache.org.
Merge branch 'master' into 3.3.x

* master: (295 commits)
  TS-2081 Make the WCCP addr configuration LOCAL
  TS-2093: Check bounds on plugin stat creation.
  TS-2092 Use of uninitialized member in HdrHeap.
  [TS-2052] ET_SSL thread spinning
  TS-2090 Make proxy.config.allocator.enable_reclaim default based on build instructions
  TS-1006: adjust some reclaimable-freelist's default configuration
  Updated newish tests to the gitignore
  Fix autoconf checks for mcheck_pedantic()
  Fix configure check for eventfd
  TS-1330: Fix logging core at checkout_write()
  add some standard extensions to ignore list
  TS-1953: remove version check from stable plugins
  TS-1953: Remove check_ts_version() from experimental plugins
  TS-1953: remove check_ts_version() from examples
  Added TS-2086.
  TS-2086 Remove a few more unused configs
  Added TS-1685
  TS-1685 Remove TS_MICRO and fellas
  Added Ts-1255
  TS-1255 Fix the types for all overridable configs. This was actually a real bug in the code, in that all float configurations were actually treated as integer, rendering them useless
  ...


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/1bb12edf
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/1bb12edf
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/1bb12edf

Branch: refs/heads/3.3.x
Commit: 1bb12edf9cd9b0076eaf39b8665909846743ee73
Parents: 5440db9 994d978
Author: Leif Hedstrom <zw...@apache.org>
Authored: Sat Aug 3 14:50:12 2013 -0600
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Sat Aug 3 14:50:12 2013 -0600

----------------------------------------------------------------------
 .clang-format                                   |   25 +
 .gitignore                                      |   18 +-
 CHANGES                                         |  182 +-
 CRUFT.txt                                       |   15 +
 INSTALL                                         |    6 +-
 Makefile.am                                     |    2 +
 NOTICE                                          |    5 +
 README                                          |   58 +-
 Vagrantfile                                     |   69 +-
 build/network.m4                                |    9 +-
 build/tcl.m4                                    |    8 +-
 build/xml.m4                                    |   28 +-
 ci/coverity-model.cc                            |   19 +
 ci/jenkins/records.config                       |  642 +++++
 ci/jenkins/remap.config                         |    6 +
 ci/jenkins/storage.config                       |    2 +
 ci/rat-excludes.txt                             |    8 +-
 ci/regression                                   |   10 +-
 configure.ac                                    |  347 ++-
 contrib/make-ssl-multicert                      |   31 +
 contrib/manifests/debian.pp                     |    4 +-
 contrib/manifests/redhat.pp                     |   30 +-
 contrib/perl/AdminClient/Changes                |   12 -
 contrib/perl/AdminClient/MANIFEST               |    6 -
 contrib/perl/AdminClient/Makefile.PL            |   28 -
 contrib/perl/AdminClient/README                 |   48 -
 .../AdminClient/lib/Apache/TS/AdminClient.pm    |  747 ------
 .../perl/AdminClient/t/Apache-TS-AdminClient.t  |   35 -
 .../perl/ConfigMgmt/examples/forward_proxy.pl   |   41 -
 contrib/perl/ConfigMgmt/lib/Apache/TS/Config.pm |   37 -
 .../ConfigMgmt/lib/Apache/TS/Config/Records.pm  |  303 ---
 cop/Makefile.am                                 |    6 +-
 cop/TrafficCop.cc                               |  266 +-
 doc/Makefile.am                                 |   46 +-
 doc/admin/configuration-files.en.rst            |   43 -
 .../configuration-files/cache.config.en.rst     |  133 -
 .../congestion.config.en.rst                    |  197 --
 .../configuration-files/hosting.config.en.rst   |  101 -
 doc/admin/configuration-files/icp.config.en.rst |   99 -
 .../configuration-files/ip_allow.config.en.rst  |   89 -
 .../configuration-files/log_hosts.config.en.rst |   68 -
 .../configuration-files/logs_xml.config.en.rst  |  363 ---
 .../configuration-files/parent.config.en.rst    |  141 -
 .../configuration-files/plugin.config.en.rst    |   48 -
 .../configuration-files/records.config.en.rst   | 2501 ------------------
 .../configuration-files/remap.config.en.rst     |  284 --
 .../configuration-files/splitdns.config.en.rst  |  124 -
 .../ssl_multicert.config.en.rst                 |   78 -
 .../configuration-files/storage.config.en.rst   |  135 -
 .../configuration-files/update.config.en.rst    |  200 --
 .../configuration-files/volume.config.en.rst    |   72 -
 doc/admin/configuring-cache.en.rst              |    2 +-
 doc/admin/configuring-traffic-server.en.rst     |   10 +-
 doc/admin/faqs.en.rst                           |    2 +-
 doc/admin/forward-proxy.en.rst                  |    2 +-
 doc/admin/getting-started.en.rst                |   74 +-
 doc/admin/hierachical-caching.en.rst            |    4 +-
 doc/admin/http-proxy-caching.en.rst             |  220 +-
 doc/admin/index.en.rst                          |   15 +-
 doc/admin/monitoring-traffic.en.rst             |    2 +-
 doc/admin/plugins.en.rst                        |   81 -
 doc/admin/plugins/balancer.en.rst               |   92 -
 doc/admin/plugins/buffer_upload.en.rst          |   89 -
 doc/admin/plugins/cacheurl.en.rst               |   58 -
 doc/admin/plugins/combo_handler.en.rst          |   74 -
 doc/admin/plugins/esi.en.rst                    |   22 -
 doc/admin/plugins/geoip_acl.en.rst              |  111 -
 doc/admin/plugins/gzip.en.rst                   |   98 -
 doc/admin/plugins/header_filter.en.rst          |  143 -
 doc/admin/plugins/hipes.en.rst                  |   64 -
 doc/admin/plugins/mysql_remap.en.rst            |   93 -
 doc/admin/plugins/regex_remap.en.rst            |  162 --
 doc/admin/plugins/stale_while_revalidate.en.rst |   21 -
 doc/admin/plugins/stats_over_http.en.rst        |   37 -
 doc/admin/reverse-proxy-http-redirects.en.rst   |    8 +-
 doc/admin/security-options.en.rst               |   11 +-
 doc/admin/traffic-server-error-messages.en.rst  |    2 +-
 doc/admin/transparent-proxy.en.rst              |   13 +-
 doc/admin/transparent-proxy/bridge.en.rst       |    4 +-
 .../transparent-proxy/router-inline.en.rst      |    2 +-
 .../transparent-proxy/wccp-configuration.en.rst |    6 +-
 doc/admin/working-log-files.en.rst              |   26 +-
 doc/admin/working-log-files/log-formats.en.rst  |    8 +-
 doc/conf.py                                     |   62 +-
 doc/ext/traffic-server.py                       |   88 +
 doc/index.rst                                   |   51 +
 doc/reference/api/TSAPI.en.rst                  |  143 +
 doc/reference/api/TSDebug.en.rst                |   79 +
 doc/reference/api/TSHttpHookAdd.en.rst          |  116 +
 doc/reference/api/TSHttpParserCreate.en.rst     |   86 +
 doc/reference/api/TSHttpTxnMilestoneGet.en.rst  |   71 +
 doc/reference/api/TSIOBufferCreate.en.rst       |   87 +
 doc/reference/api/TSInstallDirGet.en.rst        |   58 +
 doc/reference/api/TSMBufferCreate.en.rst        |   95 +
 doc/reference/api/TSPluginInit.en.rst           |   75 +
 doc/reference/api/TSRemap.en.rst                |   85 +
 .../api/TSTrafficServerVersionGet.en.rst        |   98 +
 doc/reference/api/TSUrlCreate.en.rst            |  140 +
 doc/reference/api/TSmalloc.en.rst               |   78 +
 doc/reference/api/index.en.rst                  |   36 +
 doc/reference/commands/index.en.rst             |   35 +
 doc/reference/commands/traffic_cop.en.rst       |   35 +
 doc/reference/commands/traffic_line.en.rst      |   63 +
 doc/reference/commands/traffic_logcat.en.rst    |   53 +
 doc/reference/commands/traffic_logstats.en.rst  |   68 +
 doc/reference/commands/traffic_manager.en.rst   |   50 +
 doc/reference/commands/traffic_server.en.rst    |   82 +
 doc/reference/commands/traffic_shell.en.rst     |   29 +
 doc/reference/commands/tspush.en.rst            |   36 +
 doc/reference/commands/tstop.en.rst             |   29 +
 doc/reference/commands/tsxs.en.rst              |   49 +
 doc/reference/configuration/cache.config.en.rst |  135 +
 .../configuration/congestion.config.en.rst      |  197 ++
 .../configuration/hosting.config.en.rst         |   98 +
 doc/reference/configuration/icp.config.en.rst   |  104 +
 doc/reference/configuration/index.en.rst        |   39 +
 .../configuration/ip_allow.config.en.rst        |   77 +
 .../configuration/log_hosts.config.en.rst       |   66 +
 .../configuration/logs_xml.config.en.rst        |  370 +++
 .../configuration/parent.config.en.rst          |  139 +
 .../configuration/plugin.config.en.rst          |   51 +
 .../configuration/records.config.en.rst         | 1749 ++++++++++++
 doc/reference/configuration/remap.config.en.rst |  277 ++
 .../configuration/splitdns.config.en.rst        |  125 +
 .../configuration/ssl_multicert.config.en.rst   |   81 +
 .../configuration/storage.config.en.rst         |  120 +
 .../configuration/update.config.en.rst          |  203 ++
 .../configuration/volume.config.en.rst          |   72 +
 doc/reference/plugins/balancer.en.rst           |   92 +
 doc/reference/plugins/buffer_upload.en.rst      |   89 +
 doc/reference/plugins/cacheurl.en.rst           |   59 +
 doc/reference/plugins/combo_handler.en.rst      |   84 +
 doc/reference/plugins/conf_remap.en.rst         |  116 +
 doc/reference/plugins/esi.en.rst                |   22 +
 doc/reference/plugins/geoip_acl.en.rst          |   94 +
 doc/reference/plugins/gzip.en.rst               |   91 +
 doc/reference/plugins/header_filter.en.rst      |  133 +
 doc/reference/plugins/hipes.en.rst              |   64 +
 doc/reference/plugins/index.en.rst              |   75 +
 doc/reference/plugins/metafilter.en.rst         |  110 +
 doc/reference/plugins/mysql_remap.en.rst        |   83 +
 doc/reference/plugins/regex_remap.en.rst        |  131 +
 .../plugins/stale_while_revalidate.en.rst       |   21 +
 doc/reference/plugins/stats_over_http.en.rst    |   50 +
 doc/sdk/TSAPI.3                                 |  170 --
 doc/sdk/TSDebug.3                               |  145 -
 doc/sdk/TSHttpHookAdd.3                         |  150 --
 doc/sdk/TSHttpParserCreate.3                    |  128 -
 doc/sdk/TSHttpTxnMilestoneGet.3                 |   68 -
 doc/sdk/TSIOBufferCreate.3                      |  134 -
 doc/sdk/TSInstallDirGet.3                       |   60 -
 doc/sdk/TSMBufferCreate.3                       |  110 -
 doc/sdk/TSMalloc.3                              |  153 --
 doc/sdk/TSPluginInit.3                          |   86 -
 doc/sdk/TSRemap.3                               |  131 -
 doc/sdk/TSTrafficServerVersionGet.3             |  110 -
 doc/sdk/TSUrlCreate.3                           |  409 ---
 doc/sdk/adding-statistics.en.rst                |   36 +-
 .../adding-statistics/coupled-statistics.en.rst |   13 +-
 .../writing-handler-functions.en.rst            |   54 +-
 doc/sdk/getting-started.en.rst                  |   68 +-
 doc/sdk/getting-started/a-simple-plugin.en.rst  |    6 +-
 .../basic-authorization-plugin.en.rst           |    7 +-
 .../blacklist-plugin.en.rst                     |   98 +-
 ...ssing-the-transaction-being-processed.en.rst |   65 +-
 .../setting-a-global-hook.en.rst                |   31 +-
 .../setting-up-a-transaction-hook.en.rst        |   65 +-
 .../working-with-http-header-functions.en.rst   |   94 +-
 .../how-to-create-trafficserver-plugins.en.rst  |   41 +-
 .../roadmap-for-creating-plugins.en.rst         |   35 +-
 doc/sdk/http-headers.en.rst                     |   78 +-
 ...e-to-trafficserver-http-header-system.en.rst |   65 +-
 ...plicate-mime-fields-are-not-coalesced.en.rst |   31 +-
 ...s-belong-to-an-associated-mime-header.en.rst |    1 +
 .../release-marshal-buffer-handles.en.rst       |   71 +-
 doc/sdk/http-headers/http-headers.en.rst        |   73 +-
 doc/sdk/http-headers/marshal-buffers.en.rst     |   57 +-
 doc/sdk/http-hooks-and-transactions.en.rst      |   30 +-
 .../http-alternate-selection.en.rst             |  235 +-
 doc/sdk/http-transformation-plugin.en.rst       |   58 +-
 ...e-buffered-null-transformation-plugin.en.rst |  355 ++-
 .../sample-null-transformation-plugin.en.rst    |   23 +-
 doc/sdk/index.en.rst                            |   80 +-
 doc/sdk/new-protocol-plugins.en.rst             |    6 +-
 ...trafficserver-settings-and-statistics.en.rst |   48 +-
 doc/sdk/preface/how-to-use-this-book.en.rst     |  112 +-
 .../debugging-memory-leaks.en.rst               |    2 +-
 .../unable-to-debug-tags.en.rst                 |    2 +-
 .../unable-to-load-plugins.en.rst               |    2 +-
 .../using-a-debugger.en.rst                     |    2 +-
 doc/static/images/favicon.ico                   |  Bin 0 -> 32988 bytes
 example/Makefile.am                             |   40 +-
 example/add-header/add-header.c                 |   30 -
 example/app-template/app-template.cc            |    5 -
 example/app-template/records.config.in          |    1 -
 example/append-transform/append-transform.c     |   31 -
 example/basic-auth/basic-auth.c                 |   31 -
 example/blacklist-0/blacklist-0.c               |   32 -
 example/blacklist-1/blacklist-1.c               |   31 -
 example/bnull-transform/bnull-transform.c       |   31 -
 example/file-1/file-1.c                         |   30 -
 example/hello/hello.c                           |   30 -
 example/lifecycle-plugin/lifecycle-plugin.c     |  114 +
 example/lifecycle-plugin/readme.txt             |    1 +
 example/null-transform/null-transform.c         |   31 -
 example/output-header/output-header.c           |   31 -
 example/protocol/Protocol.c                     |   31 -
 example/redirect-1/redirect-1.c                 |   31 -
 example/replace-header/replace-header.c         |   31 -
 example/response-header-1/response-header-1.c   |   31 -
 example/server-transform/server-transform.c     |   31 -
 example/session-1/session-1.c                   |   31 -
 example/thread-1/thread-1.c                     |   30 -
 example/thread-pool/psi.c                       |   41 -
 iocore/aio/AIO.cc                               |    8 +-
 iocore/cache/Cache.cc                           |  352 ++-
 iocore/cache/CacheDir.cc                        |  141 +-
 iocore/cache/CacheDisk.cc                       |   14 +-
 iocore/cache/CacheHosting.cc                    |   16 +-
 iocore/cache/CacheLink.cc                       |    8 +-
 iocore/cache/CachePages.cc                      |    1 +
 iocore/cache/CacheRead.cc                       |   94 +-
 iocore/cache/CacheTest.cc                       |    3 +-
 iocore/cache/CacheVol.cc                        |   23 +-
 iocore/cache/CacheWrite.cc                      |  195 +-
 iocore/cache/I_Cache.h                          |   29 +-
 iocore/cache/I_CacheDefs.h                      |    2 +-
 iocore/cache/I_Store.h                          |    6 +-
 iocore/cache/P_CacheDir.h                       |   36 +-
 iocore/cache/P_CacheInternal.h                  |   86 +-
 iocore/cache/P_CacheVol.h                       |  397 ++-
 iocore/cache/RamCacheCLFUS.cc                   |  122 +-
 iocore/cache/Store.cc                           |   53 +-
 iocore/cluster/ClusterAPI.cc                    |    4 +-
 iocore/cluster/ClusterCache.cc                  |   54 +-
 iocore/cluster/ClusterConfig.cc                 |   52 +-
 iocore/cluster/ClusterHandler.cc                |  296 +--
 iocore/cluster/ClusterHandlerBase.cc            |   14 +-
 iocore/cluster/ClusterLib.cc                    |  142 +-
 iocore/cluster/ClusterLoadMonitor.cc            |    5 +-
 iocore/cluster/ClusterMachine.cc                |   37 +-
 iocore/cluster/ClusterProcessor.cc              |   28 +-
 iocore/cluster/ClusterRPC.cc                    |   16 +-
 iocore/cluster/ClusterVConnection.cc            |   72 +-
 iocore/cluster/P_Cluster.h                      |    5 +-
 iocore/cluster/P_ClusterCache.h                 |   53 +-
 iocore/cluster/P_ClusterCacheInternal.h         |    9 +-
 iocore/cluster/P_ClusterHandler.h               |    5 +-
 iocore/cluster/P_ClusterInternal.h              |    1 +
 iocore/cluster/P_ClusterMachine.h               |    3 +-
 iocore/dns/DNS.cc                               |   21 +-
 iocore/dns/I_DNSProcessor.h                     |    2 +-
 iocore/dns/P_SplitDNSProcessor.h                |    5 +-
 iocore/dns/SplitDNS.cc                          |    7 +-
 iocore/eventsystem/EventSystem.cc               |    1 +
 iocore/eventsystem/I_EThread.h                  |    3 +
 iocore/eventsystem/I_Event.h                    |   10 +-
 iocore/eventsystem/I_EventProcessor.h           |    6 +-
 iocore/eventsystem/I_IOBuffer.h                 |   29 +-
 iocore/eventsystem/I_Processor.h                |    8 +-
 iocore/eventsystem/I_ProxyAllocator.h           |    7 +-
 iocore/eventsystem/I_Tasks.h                    |    2 +-
 iocore/eventsystem/I_Thread.h                   |    4 +-
 iocore/eventsystem/Makefile.am                  |    1 +
 iocore/eventsystem/P_IOBuffer.h                 |   35 +-
 iocore/eventsystem/P_UnixSocketManager.h        |   21 +-
 iocore/eventsystem/Processor.cc                 |    3 +-
 iocore/eventsystem/ProxyAllocator.cc            |   49 +
 iocore/eventsystem/SocketManager.cc             |    5 -
 iocore/eventsystem/Tasks.cc                     |    7 +-
 iocore/eventsystem/Thread.cc                    |    5 +-
 iocore/eventsystem/UnixEventProcessor.cc        |   14 +-
 iocore/eventsystem/test_Event.cc                |    2 +-
 iocore/hostdb/HostDB.cc                         |   53 +-
 iocore/hostdb/I_HostDBProcessor.h               |    2 +-
 iocore/hostdb/P_MultiCache.h                    |    2 +-
 iocore/hostdb/include/Machine.h                 |    7 +-
 iocore/net/I_NetProcessor.h                     |    2 +-
 iocore/net/I_UDPNet.h                           |    2 +-
 iocore/net/Net.cc                               |   46 +-
 iocore/net/P_SSLConfig.h                        |    2 +-
 iocore/net/P_SSLNetProcessor.h                  |    2 +-
 iocore/net/P_SSLUtils.h                         |   10 +-
 iocore/net/P_UDPNet.h                           |    4 +-
 iocore/net/P_UnixNet.h                          |    2 +-
 iocore/net/P_UnixNetProcessor.h                 |    4 +-
 iocore/net/P_UnixNetVConnection.h               |    4 +-
 iocore/net/SSLConfig.cc                         |   17 +-
 iocore/net/SSLNetProcessor.cc                   |    6 +-
 iocore/net/SSLNetVConnection.cc                 |   37 +-
 iocore/net/SSLUtils.cc                          |  100 +-
 iocore/net/UnixNet.cc                           |    9 +-
 iocore/net/UnixNetAccept.cc                     |    5 +-
 iocore/net/UnixNetProcessor.cc                  |   65 +-
 iocore/net/UnixUDPNet.cc                        |   11 +-
 lib/Makefile.am                                 |    4 +-
 lib/perl/MANIFEST                               |    9 +
 lib/perl/Makefile.PL                            |   29 +
 lib/perl/Makefile.am                            |   32 +
 lib/perl/README                                 |   51 +
 lib/perl/examples/forw_proxy_conf.pl            |   41 +
 lib/perl/lib/Apache/TS.pm                       |   73 +
 lib/perl/lib/Apache/TS/AdminClient.pm           |  728 +++++
 lib/perl/lib/Apache/TS/Config.pm                |   37 +
 lib/perl/lib/Apache/TS/Config/Records.pm        |  303 +++
 lib/perl/t/Apache-TS-AdminClient.t              |   35 +
 lib/records/I_RecCore.h                         |   11 +
 lib/records/I_RecHttp.h                         |    7 +-
 lib/records/I_RecProcess.h                      |    2 +-
 lib/records/Makefile.am                         |   24 +-
 lib/records/P_RecCompatibility.h                |   59 -
 lib/records/P_RecCore.cc                        |  162 +-
 lib/records/P_RecFile.h                         |   56 +
 lib/records/P_RecUtils.h                        |    3 +-
 lib/records/RecCompatibility.cc                 |  329 ---
 lib/records/RecConfigParse.cc                   |  258 ++
 lib/records/RecCore.cc                          |   36 +-
 lib/records/RecDebug.cc                         |   66 +
 lib/records/RecFile.cc                          |  297 +++
 lib/records/RecHttp.cc                          |  104 +-
 lib/records/RecLocal.cc                         |    5 +-
 lib/records/RecMessage.cc                       |   26 +-
 lib/records/RecProcess.cc                       |   32 +-
 lib/records/RecUtils.cc                         |   51 +-
 lib/records/test_I_RecLocal.cc                  |   11 +-
 lib/records/test_RecProcess.i                   |   17 +-
 lib/records/test_RecTree.cc                     |    5 +-
 lib/ts/Diags.h                                  |    2 +
 lib/ts/IpMapConf.cc                             |   76 +-
 lib/ts/MatcherUtils.cc                          |    9 +-
 lib/ts/MatcherUtils.h                           |    4 +-
 lib/ts/Vec.cc                                   |    4 +-
 lib/ts/Vec.h                                    |   12 +-
 lib/ts/ink_args.h                               |    3 +-
 lib/ts/ink_config.h.in                          |   31 +-
 lib/ts/ink_defs.h                               |    7 +-
 lib/ts/ink_inet.cc                              |   24 +
 lib/ts/ink_inet.h                               |    3 +
 lib/ts/ink_inout.h                              |    2 +-
 lib/ts/ink_queue.cc                             |   47 +-
 lib/ts/ink_queue.h                              |   46 +-
 mgmt/LocalManager.cc                            |   14 +-
 mgmt/LocalManager.h                             |    2 +-
 mgmt/Main.cc                                    |  102 +-
 mgmt/Makefile.am                                |    5 +-
 mgmt/ProcessManager.cc                          |    3 +-
 mgmt/ProxyConfig.cc                             |    4 +-
 mgmt/RecordsConfig.cc                           |  101 +-
 mgmt/RecordsConfig.h                            |    7 +-
 mgmt/Rollback.cc                                |    4 +-
 mgmt/api/CfgContextImpl.cc                      |   13 +-
 mgmt/api/CfgContextUtils.cc                     |    7 +
 mgmt/api/CoreAPI.cc                             |   31 +-
 mgmt/api/CoreAPI.h                              |    5 -
 mgmt/api/CoreAPIShared.cc                       |    3 +-
 mgmt/api/EventControlMain.cc                    |    3 +-
 mgmt/api/GenericParser.cc                       |    6 +-
 mgmt/api/INKMgmtAPI.cc                          |  136 +-
 mgmt/api/NetworkUtilsDefs.h                     |    1 -
 mgmt/api/TSControlMain.cc                       |   49 +-
 mgmt/api/TSControlMain.h                        |    2 -
 mgmt/api/include/mgmtapi.h                      |   42 +-
 mgmt/api/remote/APITestCliRemote.cc             |   33 +-
 mgmt/api/remote/CoreAPIRemote.cc                |   27 +-
 mgmt/api/remote/NetworkUtilsRemote.cc           |    3 +-
 mgmt/cli/CliCreateCommands.cc                   |   23 -
 mgmt/cli/ConfigCmd.cc                           |  331 +--
 mgmt/cli/ConfigCmd.h                            |   35 -
 mgmt/cli/Makefile.am                            |    4 +-
 mgmt/cli/ShowCmd.cc                             |  203 +-
 mgmt/cli/ShowCmd.h                              |    5 -
 mgmt/cli/TrafficLine.cc                         |    3 +-
 mgmt/cli/UtilCmds.cc                            |    3 +-
 mgmt/cli/cliMain.cc                             |    7 +-
 mgmt/cli/cliParseArg.cc                         |    3 +-
 mgmt/cli/cli_detailed_command_list.txt          |   13 -
 mgmt/cli/hashtable.cc                           |    3 +-
 mgmt/cli/processArgument.cc                     |    3 +-
 mgmt/cluster/ClusterCom.cc                      |   12 +-
 mgmt/cluster/ClusterCom.h                       |    2 +-
 mgmt/cluster/VMap.cc                            |    4 +-
 mgmt/preparse/IPRange.cc                        |    1 -
 mgmt/stats/StatProcessor.cc                     |   12 +-
 mgmt/tools/ConfigAPI.cc                         | 1268 ---------
 mgmt/tools/ConfigAPI.h                          |   85 -
 mgmt/tools/Makefile.am                          |   39 -
 mgmt/tools/SysAPI.cc                            | 1981 --------------
 mgmt/tools/SysAPI.h                             |   75 -
 mgmt/utils/EnvBlock.cc                          |  118 -
 mgmt/utils/EnvBlock.h                           |   55 -
 mgmt/utils/Makefile.am                          |    2 -
 mgmt/utils/MgmtSchema.h                         |    4 +-
 mgmt/utils/WebMgmtUtils.cc                      |  164 --
 mgmt/utils/WebMgmtUtils.h                       |    4 -
 mgmt/utils/XmlUtils.cc                          |    3 +-
 mgmt/web2/Makefile.am                           |    1 -
 mgmt/web2/WebHttp.cc                            |   10 +-
 mgmt/web2/WebHttpSession.cc                     |    3 +-
 mgmt/web2/WebIntrMain.cc                        |    7 +-
 plugins/Makefile.am                             |    2 +-
 plugins/cacheurl/README.rst                     |   86 -
 plugins/cacheurl/cacheurl.c                     |   31 -
 plugins/experimental/Makefile.am                |    6 +-
 plugins/experimental/authproxy/authproxy.cc     |   19 +-
 .../experimental/channel_stats/channel_stats.cc |   29 -
 plugins/experimental/geoip_acl/Makefile.am      |   25 +
 plugins/experimental/geoip_acl/acl.cc           |    6 +-
 plugins/experimental/geoip_acl/acl.h            |    4 +-
 plugins/experimental/geoip_acl/geoip_acl.cc     |    4 +-
 plugins/experimental/geoip_acl/lulu.h           |   42 +-
 plugins/experimental/gzip/Makefile.am           |   21 -
 plugins/experimental/gzip/README                |   72 -
 plugins/experimental/gzip/configuration.cc      |  259 --
 plugins/experimental/gzip/configuration.h       |   84 -
 plugins/experimental/gzip/debug_macros.h        |   59 -
 plugins/experimental/gzip/gzip.cc               |  811 ------
 plugins/experimental/gzip/misc.cc               |  212 --
 plugins/experimental/gzip/misc.h                |   81 -
 plugins/experimental/gzip/sample.gzip.config    |   57 -
 .../header_rewrite/Examples/Force-close         |   21 -
 .../header_rewrite/Examples/Regression          |   32 -
 .../experimental/header_rewrite/Examples/YCS-EC |   36 -
 plugins/experimental/header_rewrite/Makefile.am |   39 -
 plugins/experimental/header_rewrite/README      |  171 --
 plugins/experimental/header_rewrite/TODO        |   29 -
 .../experimental/header_rewrite/condition.cc    |   80 -
 plugins/experimental/header_rewrite/condition.h |  115 -
 .../experimental/header_rewrite/conditions.cc   |  376 ---
 .../experimental/header_rewrite/conditions.h    |  284 --
 plugins/experimental/header_rewrite/factory.cc  |  109 -
 plugins/experimental/header_rewrite/factory.h   |   34 -
 .../header_rewrite/header_rewrite.cc            |  352 ---
 .../header_rewrite/header_rewrite.config        |   94 -
 plugins/experimental/header_rewrite/lulu.h      |   56 -
 plugins/experimental/header_rewrite/matcher.cc  |   25 -
 plugins/experimental/header_rewrite/matcher.h   |  163 --
 plugins/experimental/header_rewrite/operator.cc |   45 -
 plugins/experimental/header_rewrite/operator.h  |   73 -
 .../experimental/header_rewrite/operators.cc    |  379 ---
 plugins/experimental/header_rewrite/operators.h |  206 --
 plugins/experimental/header_rewrite/parser.cc   |  121 -
 plugins/experimental/header_rewrite/parser.h    |   66 -
 .../experimental/header_rewrite/regex_helper.cc |   69 -
 .../experimental/header_rewrite/regex_helper.h  |   61 -
 .../experimental/header_rewrite/resources.cc    |  123 -
 plugins/experimental/header_rewrite/resources.h |   89 -
 plugins/experimental/header_rewrite/ruleset.cc  |   89 -
 plugins/experimental/header_rewrite/ruleset.h   |   94 -
 .../experimental/header_rewrite/statement.cc    |   98 -
 plugins/experimental/header_rewrite/statement.h |  106 -
 plugins/experimental/header_rewrite/value.h     |   88 -
 plugins/experimental/healthchecks/Makefile.am   |   25 +
 plugins/experimental/healthchecks/README        |   15 +
 .../experimental/healthchecks/healthchecks.c    |  562 ++++
 plugins/experimental/rfc5861/rfc5861.c          |   31 -
 plugins/experimental/tcp_info/tcp_info.cc       |   32 +-
 plugins/gzip/Makefile.am                        |   21 +
 plugins/gzip/README                             |   72 +
 plugins/gzip/configuration.cc                   |  259 ++
 plugins/gzip/configuration.h                    |   84 +
 plugins/gzip/debug_macros.h                     |   59 +
 plugins/gzip/gzip.cc                            |  808 ++++++
 plugins/gzip/misc.cc                            |  197 ++
 plugins/gzip/misc.h                             |   81 +
 plugins/gzip/sample.gzip.config                 |   57 +
 plugins/header_rewrite/Examples/Force-close     |   21 +
 plugins/header_rewrite/Examples/Regression      |   32 +
 plugins/header_rewrite/Examples/YCS-EC          |   36 +
 plugins/header_rewrite/Makefile.am              |   39 +
 plugins/header_rewrite/README                   |  171 ++
 plugins/header_rewrite/TODO                     |   29 +
 plugins/header_rewrite/condition.cc             |   80 +
 plugins/header_rewrite/condition.h              |  115 +
 plugins/header_rewrite/conditions.cc            |  376 +++
 plugins/header_rewrite/conditions.h             |  284 ++
 plugins/header_rewrite/factory.cc               |  109 +
 plugins/header_rewrite/factory.h                |   34 +
 plugins/header_rewrite/header_rewrite.cc        |  352 +++
 plugins/header_rewrite/header_rewrite.config    |   94 +
 plugins/header_rewrite/lulu.h                   |   56 +
 plugins/header_rewrite/matcher.cc               |   25 +
 plugins/header_rewrite/matcher.h                |  163 ++
 plugins/header_rewrite/operator.cc              |   45 +
 plugins/header_rewrite/operator.h               |   73 +
 plugins/header_rewrite/operators.cc             |  379 +++
 plugins/header_rewrite/operators.h              |  206 ++
 plugins/header_rewrite/parser.cc                |  121 +
 plugins/header_rewrite/parser.h                 |   66 +
 plugins/header_rewrite/regex_helper.cc          |   69 +
 plugins/header_rewrite/regex_helper.h           |   61 +
 plugins/header_rewrite/resources.cc             |  123 +
 plugins/header_rewrite/resources.h              |   89 +
 plugins/header_rewrite/ruleset.cc               |   89 +
 plugins/header_rewrite/ruleset.h                |   94 +
 plugins/header_rewrite/statement.cc             |   98 +
 plugins/header_rewrite/statement.h              |  106 +
 plugins/header_rewrite/value.h                  |   88 +
 plugins/regex_remap/README                      |   20 +-
 plugins/stats_over_http/README                  |   32 +-
 plugins/stats_over_http/stats_over_http.c       |   39 +-
 proxy/CacheControl.cc                           |   72 +-
 proxy/CacheControl.h                            |   16 +-
 proxy/ControlBase.cc                            |   35 +-
 proxy/ControlMatcher.cc                         |  232 +-
 proxy/ControlMatcher.h                          |  132 +-
 proxy/DiagsConfig.cc                            |    6 +-
 proxy/DynamicStats.h                            |   17 +-
 proxy/Error.cc                                  |    3 +-
 proxy/ICP.cc                                    |   35 +-
 proxy/ICP.h                                     |    9 +-
 proxy/ICPConfig.cc                              |   27 +-
 proxy/IPAllow.h                                 |    1 -
 proxy/Initialize.cc                             |    2 -
 proxy/InkAPI.cc                                 |  267 +-
 proxy/InkAPIInternal.h                          |   89 +-
 proxy/InkAPITest.cc                             |  274 +-
 proxy/InkAPITestTool.cc                         |   12 +-
 proxy/Main.cc                                   |  237 +-
 proxy/Main.h                                    |    1 -
 proxy/ParentSelection.cc                        |   13 +-
 proxy/ParentSelection.h                         |    9 +-
 proxy/Plugin.cc                                 |    3 +-
 proxy/PluginVC.cc                               |   18 +-
 proxy/Prefetch.cc                               |   25 +-
 proxy/RegressionSM.cc                           |   28 +-
 proxy/ReverseProxy.cc                           |   36 +-
 proxy/Show.h                                    |   74 +-
 proxy/StatPages.cc                              |    3 +-
 proxy/StatPages.h                               |    2 +-
 proxy/StatSystem.cc                             |   22 +-
 proxy/Transform.cc                              |   48 +-
 proxy/Transform.h                               |   28 +
 proxy/TransformInternal.h                       |    7 +-
 proxy/UglyLogStubs.cc                           |   43 +-
 proxy/Update.cc                                 |   34 +-
 proxy/Update.h                                  |    8 +-
 proxy/api/ts/experimental.h                     |   34 +-
 proxy/api/ts/ts.h.in                            |   91 +-
 proxy/config/Makefile.am                        |    1 -
 proxy/config/logs_xml.config.default            |    3 +-
 proxy/config/plugin.db.default                  |    9 -
 proxy/config/records.config.default.in          |   43 +-
 proxy/congest/Congestion.cc                     |   19 +-
 proxy/congest/Congestion.h                      |    5 +-
 proxy/congest/CongestionDB.cc                   |   13 +-
 proxy/congest/CongestionTest.cc                 |   24 +-
 proxy/hdrs/HTTP.cc                              |    7 +-
 proxy/hdrs/HdrHeap.cc                           |   10 +-
 proxy/hdrs/HdrTest.cc                           |    4 +-
 proxy/hdrs/MIME.cc                              |   15 +-
 proxy/hdrs/URL.cc                               |    3 +-
 proxy/http/HttpBodyFactory.cc                   |   14 +-
 proxy/http/HttpClientSession.cc                 |    5 +-
 proxy/http/HttpConfig.cc                        |   98 +-
 proxy/http/HttpConfig.h                         |  198 +-
 proxy/http/HttpConnectionCount.cc               |    1 -
 proxy/http/HttpConnectionCount.h                |    8 +-
 proxy/http/HttpDebugNames.cc                    |    2 +
 proxy/http/HttpPages.cc                         |   29 +-
 proxy/http/HttpPages.h                          |    3 -
 proxy/http/HttpProxyServerMain.cc               |  175 +-
 proxy/http/HttpProxyServerMain.h                |    8 +-
 proxy/http/HttpSM.cc                            |  192 +-
 proxy/http/HttpSM.h                             |    6 +
 proxy/http/HttpSessionManager.cc                |    7 +-
 proxy/http/HttpSessionManager.h                 |   20 +-
 proxy/http/HttpTransact.cc                      |  165 +-
 proxy/http/HttpTransact.h                       |   26 +-
 proxy/http/HttpTransactCache.cc                 |    2 -
 proxy/http/HttpTransactHeaders.cc               |   10 +-
 proxy/http/HttpTransactHeaders.h                |    3 +-
 proxy/http/HttpTunnel.cc                        |  376 +--
 proxy/http/HttpTunnel.h                         |  150 +-
 proxy/http/HttpUpdateSM.cc                      |    5 +-
 proxy/http/HttpUpdateTester.cc                  |    3 +-
 proxy/http/remap/RemapProcessor.cc              |    4 +-
 proxy/http/remap/RemapProcessor.h               |    2 +-
 proxy/http/remap/UrlMappingPathIndex.h          |    4 +-
 proxy/http/remap/UrlRewrite.cc                  |   18 +-
 proxy/http/remap/UrlRewrite.h                   |    3 -
 proxy/logging/Log.cc                            |  162 +-
 proxy/logging/Log.h                             |    7 -
 proxy/logging/LogAccess.cc                      |   13 +-
 proxy/logging/LogAccess.h                       |    2 -
 proxy/logging/LogAccessHttp.cc                  |   30 +-
 proxy/logging/LogAccessHttp.h                   |    2 -
 proxy/logging/LogAccessICP.cc                   |    4 +-
 proxy/logging/LogBuffer.h                       |   61 +-
 proxy/logging/LogCollationClientSM.cc           |   84 +-
 proxy/logging/LogCollationClientSM.h            |    4 -
 proxy/logging/LogCollationHostSM.cc             |   16 +-
 proxy/logging/LogConfig.cc                      |   13 +-
 proxy/logging/LogFieldAliasMap.h                |    7 +-
 proxy/logging/LogFile.cc                        |    5 +-
 proxy/logging/LogFile.h                         |   20 +-
 proxy/logging/LogFormat.cc                      |    6 +-
 proxy/logging/LogHost.cc                        |   43 +-
 proxy/logging/LogObject.cc                      |   72 +-
 proxy/logging/LogObject.h                       |    6 +-
 proxy/logging/LogStandalone.cc                  |   11 +-
 proxy/logging/LogUtils.cc                       |    9 +-
 proxy/logstats.cc                               |   53 +-
 proxy/sac.cc                                    |    7 +-
 proxy/signals.cc                                |   13 +-
 rc/trafficserver.in                             |    4 +-
 tools/Makefile.am                               |    3 +-
 tools/jtest/jtest.cc                            | 1058 +++-----
 tools/lighttpd_mod_generator/Makefile           |   15 +
 tools/push.pl                                   |   73 -
 tools/reports/commits_since.sh                  |   38 +
 tools/tspush                                    |   73 +
 tools/tsxs.in                                   |   38 +-
 612 files changed, 23234 insertions(+), 26486 deletions(-)
----------------------------------------------------------------------



[18/52] [abbrv] git commit: doc: convert TSRemap(3) to sphinx

Posted by zw...@apache.org.
doc: convert TSRemap(3) to sphinx


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/fa4be92b
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/fa4be92b
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/fa4be92b

Branch: refs/heads/3.3.x
Commit: fa4be92b4d59ecc64fff75c827390c1abc5ffed0
Parents: 80b644e
Author: James Peach <jp...@apache.org>
Authored: Thu Aug 1 11:27:56 2013 -0700
Committer: James Peach <jp...@apache.org>
Committed: Thu Aug 1 11:27:56 2013 -0700

----------------------------------------------------------------------
 doc/conf.py                      |  1 +
 doc/reference/api/TSRemap.en.rst | 85 +++++++++++++++++++++++++++++++++++
 2 files changed, 86 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/fa4be92b/doc/conf.py
----------------------------------------------------------------------
diff --git a/doc/conf.py b/doc/conf.py
index 9d8edfd..e2067b0 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -222,6 +222,7 @@ man_pages = [
    ('reference/api/TSMBufferCreate.en', 'TSMBufferCreate', u'Traffic Server marshall buffer API', None, u'3ts'),
    ('reference/api/TSmalloc.en', 'TSmalloc', u'Traffic Server memory allocation API', None, u'3ts'),
    ('reference/api/TSPluginInit.en', 'TSPluginInit', u'Traffic Server plugin loading and registration', None, u'3ts'),
+   ('reference/api/TSRemap.en', 'TSRemap', u'Traffic Server remap plugin entry points ', None, u'3ts'),
 
    ('reference/commands/traffic_cop.en', 'traffic_cop', u'Traffic Server watchdog', None, '8'),
    ('reference/commands/traffic_line.en', 'traffic_line', u'Traffic Server command line', None, '8'),

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/fa4be92b/doc/reference/api/TSRemap.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSRemap.en.rst b/doc/reference/api/TSRemap.en.rst
new file mode 100644
index 0000000..53668e7
--- /dev/null
+++ b/doc/reference/api/TSRemap.en.rst
@@ -0,0 +1,85 @@
+.. 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.
+
+.. default-domain:: c
+
+===========
+TSRemapInit
+===========
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+`#include <ts/remap.h>`
+
+.. function:: TSReturnCode TSRemapInit(TSRemapInterface * api_info, char* errbuf, int errbuf_size)
+.. function:: void TSRemapDone(void)
+.. function:: TSRemapStatus TSRemapDoRemap(void * ih, TSHttpTxn rh, TSRemapRequestInfo * rri)
+.. function:: TSReturnCode TSRemapNewInstance(int argc, char * argv[], void ** ih, char * errbuf, int errbuf_size)
+.. function:: void TSRemapDeleteInstance(void * )
+.. function:: void TSRemapOSResponse(void * ih, TSHttpTxn rh, int os_response_type)
+
+Description
+===========
+
+The Traffic Server remap interface provides a simplified mechanism for
+plugins to manipulate HTTP transactions. A remap plugin is not global; it
+is configured on a per-remap rule basis, which enables you to customize
+how URLs are redirected based on individual rules in the remap.config
+file. Writing a remap plugin consists of implementing one or more of the
+remap entry points and configuring the remap.config configuration file to
+route the transaction through your plugin. Multiple remap plugins can be
+specified for a single remap rule, resulting in a remap plugin chain
+where each pligin is given an opportunity to examine the HTTP transaction.
+
+:func:`TSRemapInit` is a required entry point. This function will be called
+once when Traffic Server loads the plugin. If the optional :func:`TSRemapDone`
+entry point is available, Traffic Server will call then when unloading
+the remap plugin.
+
+A remap plugin may be invoked for different remap rules. Traffic Server
+will call the entry point each time a plugin is specified in a remap
+rule. When a remap plugin instance is no longer required, Traffic Server
+will call :func:`TSRemapDeleteInstance`.
+
+:func:`TSRemapDoRemap` is called for each HTTP transaction. This is a mandatory
+entry point. In this function, the remap plugin may examine and modify
+the HTTP transaction.
+
+Return values
+=============
+
+:func:`TSRemapInit` and :func:`TSRemapNewInstance` should return
+:data:`TS_SUCCESS` on success, and :data:`TS_ERROR` otherwise. A
+return value of :data:`TS_ERROR` is unrecoverable.
+
+:func:`TSRemapDoRemap` returns a status code that indicates whether
+the HTTP transaction has been modified and whether Traffic Server
+should continue to evaluate the chain of remap plugins. If the
+transaction was modified, the plugin should return
+:data:`TSREMAP_DID_REMAP` or :data:`TSREMAP_DID_REMAP_STOP`; otherwise
+it should return :data:`TSREMAP_NO_REMAP` or :data:`TSREMAP_NO_REMAP_STOP`.
+If Traffic Server should not send the transaction to subsequent
+plugins in the remap chain, return :data:`TSREMAP_NO_REMAP_STOP`
+or :data:`TSREMAP_DID_REMAP_STOP`.  Returning :data:`TSREMAP_ERROR`
+causes Traffic Server to stop evaluating the remap chain and respond
+with an error.
+
+See also
+========
+
+:manpage:`TSAPI(3ts)`


[06/52] [abbrv] docs: split reference material into top-level pages

Posted by zw...@apache.org.
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/configuration-files/records.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/configuration-files/records.config.en.rst b/doc/admin/configuration-files/records.config.en.rst
deleted file mode 100644
index a17fbbd..0000000
--- a/doc/admin/configuration-files/records.config.en.rst
+++ /dev/null
@@ -1,1758 +0,0 @@
-..
-   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.
-
-==============
-records.config
-==============
-
-.. configfile:: records.config
-
-The :file:`records.config` file is a list of configurable variables used by
-the Traffic Server software. Many of the variables in the
-:file:`records.config` file are set automatically when you set configuration
-options in Traffic Line or Traffic Shell. After you modify the
-:file:`records.config` file,
-run the command :option:`traffic_line -x` to apply the changes.
-When you apply changes to one node in a cluster, Traffic Server
-automatically applies the changes to all other nodes in the cluster.
-
-Format
-======
-
-Each variable has the following format::
-
-   SCOPE variable_name DATATYPE variable_value
-
-where
-
-``SCOPE`` is related to clustering and is either ``CONFIG`` (all members of the cluster) or ``LOCAL`` (only the local machine)
-
-``DATATYPE`` is one of ``INT`` (integer), ``STRING`` (string), ``FLOAT`` (floating point).
-
-A variable marked as ``Deprecated`` is still functional but should be avoided as it may be removed in a future release without warning.
-
-A variable marked as ``Reloadable`` can be updated via the command::
-
-   traffic_line -x
-
-Examples
-========
-
-In the following example, the variable `proxy.config.proxy_name`_ is
-a ``STRING`` datatype with the value ``my_server``. This means that the
-name of the Traffic Server proxy is ``my_server``. ::
-
-   CONFIG proxy.config.proxy_name STRING my_server
-
-If the server name should be ``that_server`` the line would be ::
-
-   CONFIG proxy.config.proxy_name STRING that_server
-
-In the following example, the variable ``proxy.config.arm.enabled`` is
-a yes/no flag. A value of ``0`` (zero) disables the option; a value of
-``1`` enables the option. ::
-
-   CONFIG proxy.config.arm.enabled INT 0
-
-In the following example, the variable sets the cluster startup timeout
-to 10 seconds. ::
-
-   CONFIG proxy.config.cluster.startup_timeout INT 10
-
-Environment Overrides
-=====================
-
-Every :file:`records.config` configuration variable can be overridden
-by a corresponding environment variable. This can be useful in
-situations where you need a static :file:`records.config` but still
-want to tweak one or two settings. The override variable is formed
-by converting the :file:`records.config` variable name to upper
-case, and replacing any dot separators with an underscore.
-
-Overriding a variable from the environment is permanent and will
-not be affected by future configuration changes made in
-:file:`records.config` or applied with :program:`traffic_line`.
-
-For example, we could override the `proxy.config.product_company`_ variable
-like this::
-
-   $ PROXY_CONFIG_PRODUCT_COMPANY=example traffic_cop &
-   $ traffic_line -r proxy.config.product_company
-
-Configuration Variables
-=======================
-
-The following list describes the configuration variables available in
-the :file:`records.config` file.
-
-System Variables
-----------------
-
-.. ts:confvar:: CONFIG proxy.config.product_company STRING Apache Software Foundation
-
-   The name of the organization developing Traffic Server.
-
-.. ts:confvar:: CONFIG proxy.config.product_vendor STRING Apache
-
-   The name of the vendor providing Traffic Server.
-
-.. ts:confvar:: CONFIG proxy.config.product_name STRING Traffic Server
-
-   The name of the product.
-
-.. ts:confvar:: CONFIG proxy.config.proxy_name STRING ``build_machine``
-   :reloadable:
-
-   The name of the Traffic Server node.
-
-.. ts:confvar:: CONFIG proxy.config.bin_path STRING bin
-
-   The location of the Traffic Server ``bin`` directory.
-
-.. ts:confvar:: CONFIG proxy.config.proxy_binary STRING traffic_server
-
-   The name of the executable that runs the ``traffic_server`` process.
-
-.. ts:confvar:: CONFIG proxy.config.proxy_binary_opts STRING -M
-
-   The command-line options for starting Traffic Server.
-
-.. ts:confvar:: CONFIG proxy.config.manager_binary STRING traffic_manager
-
-   The name of the executable that runs the ``traffic_manager`` process.
-
-.. ts:confvar:: CONFIG proxy.config.cli_binary STRING traffic_line
-
-   The name of the executable that runs the command-line interface :program:`traffic_line`.
-
-.. ts:confvar:: CONFIG proxy.config.watch_script STRING traffic_cop
-
-   The name of the executable that runs the ``traffic_cop`` process.
-
-.. ts:confvar:: CONFIG proxy.config.env_prep STRING
-
-   The script executed before the ``traffic_manager`` process spawns
-   the ``traffic_server`` process.
-
-.. ts:confvar:: CONFIG proxy.config.config_dir STRING config
-
-   The directory that contains Traffic Server configuration files.
-
-.. ts:confvar:: CONFIG proxy.config.temp_dir STRING /tmp
-
-   The directory used for Traffic Server temporary files.
-
-.. ts:confvar:: CONFIG proxy.config.alarm_email STRING
-   :reloadable:
-
-   The email address to which Traffic Server sends alarm messages.
-
-During a custom Traffic Server installation, you can specify the email address;
-otherwise, Traffic Server uses the Traffic Server user account name as the default value for this variable.
-
-.. ts:confvar:: CONFIG proxy.config.syslog_facility STRING LOG_DAEMON
-
-   The facility used to record system log files. Refer to
-   `Understanding Traffic Server Log Files <../working-log-files#UnderstandingTrafficServerLogFiles>`_.
-
-.. ts:confvar:: CONFIG proxy.config.cop.core_signal INT 0
-
-   The signal sent to ``traffic_cop``'s managed processes to stop them.
-
-A value of ``0`` means no signal will be sent.
-
-.. ts:confvar:: CONFIG proxy.config.cop.linux_min_swapfree_kb INT 10240
-
-   The minimum amount of free swap space allowed before Traffic Server stops the ``traffic_server`` and ``traffic_manager`` processes to
-   prevent the system from hanging. This configuration variable applies if swap is enabled in Linux 2.2 only.
-
-.. ts:confvar:: CONFIG proxy.config.output.logfile  STRING traffic.out
-
-   The name and location of the file that contains warnings, status messages, and error messages produced by the Traffic Server
-   processes. If no path is specified, then Traffic Server creates the file in its logging directory.
-
-.. ts:confvar:: CONFIG proxy.config.snapshot_dir STRING snapshots
-
-   The directory in which Traffic Server stores configuration snapshots on the local system. Unless you specify an absolute path, this
-   directory is located in the Traffic Server ``config`` directory.
-
-.. ts:confvar:: CONFIG proxy.config.exec_thread.autoconfig INT 1
-
-   When enabled (the default, ``1``), Traffic Server scales threads according to the available CPU cores. See the config option below.
-
-.. ts:confvar:: CONFIG proxy.config.exec_thread.autoconfig.scale FLOAT 1.5
-
-   Factor by which Traffic Server scales the number of threads. The multiplier is usually the number of available CPU cores. By default
-   this is scaling factor is ``1.5``.
-
-.. ts:confvar:: CONFIG proxy.config.exec_thread.limit INT 2
-
-   *XXX* What does this do?
-
-.. ts:confvar:: CONFIG proxy.config.accept_threads INT 0
-
-   When enabled (``1``), runs a separate thread for accept processing. If disabled (``0``), then only 1 thread can be created.
-
-.. ts:confvar:: CONFIG proxy.config.thread.default.stacksize  INT 1096908
-
-   The new default thread stack size, for all threads. The original default is set at 1 MB.
-
-Network
-=======
-
-.. ts:confvar:: LOCAL proxy.local.incoming_ip_to_bind STRING 0.0.0.0 ::
-
-   Controls the global default IP addresses to which to bind proxy server ports. The value is a space separated list of IP addresses, one per supported IP address family (currently IPv4 and IPv6).
-
-Unless explicitly specified in `proxy.config.http.server_ports`_ the server port will be bound to one of these addresses, selected by IP address family. The built in default is any address. This is used if no address for a family is specified. This setting is useful if most or all server ports should be bound to the same address.
-
-.. note:: This is ignored for inbound transparent server ports because they must be able to accept connections on arbitrary IP addresses.
-
-.. topic:: Example
-
-   Set the global default for IPv4 to ``192.168.101.18`` and leave the global default for IPv6 as any address.::
-
-      LOCAL proxy.local.incoming_ip_to_bind STRING 192.168.101.18
-
-.. topic:: Example
-
-   Set the global default for IPv4 to ``191.68.101.18`` and the global default for IPv6 to ``fc07:192:168:101::17``.::
-
-      LOCAL proxy.local.incoming_ip_to_bind STRING 192.168.101.18 fc07:192:168:101::17
-
-.. ts:confvar:: LOCAL proxy.local.outgoing_ip_to_bind STRING 0.0.0.0 ::
-
-   This controls the global default for the local IP address for outbound connections to origin servers. The value is a list of space separated IP addresses, one per supported IP address family (currently IPv4 and IPv6).
-
-   Unless explicitly specified in `proxy.config.http.server_ports`_ one of these addresses, selected by IP address family, will be used as the local address for outbound connections. This setting is useful if most or all of the server ports should use the same outbound IP addresses.
-
-.. note:: This is ignore for outbound transparent ports as the local outbound address will be the same as the client local address.
-
-.. topic:: Example
-
-   Set the default local outbound IP address for IPv4 connectionsn to ``192.168.101.18``.::
-
-      LOCAL proxy.local.outgoing_ip_to_bind STRING 192.168.101.18
-
-.. topic:: Example
-
-   Set the default local outbound IP address to ``192.168.101.17`` for IPv4 and ``fc07:192:168:101::17`` for IPv6.::
-
-      LOCAL proxy.local.outgoing_ip_to_bind STRING 192.168.101.17 fc07:192:168:101::17
-
-Cluster
-=======
-
-.. ts:confvar:: LOCAL proxy.local.cluster.type INT 3
-
-   Sets the clustering mode:
-
-===== ====================
-Value Effect
-===== ====================
-1     full-clustering mode
-2     management-only mode
-3     no clustering
-===== ====================
-
-.. ts:confvar:: CONFIG proxy.config.cluster.rsport INT 8088
-
-   The reliable service port. The reliable service port is used to send configuration information between the nodes in a cluster. All nodes
-   in a cluster must use the same reliable service port.
-
-.. ts:confvar:: CONFIG proxy.config.cluster.threads INT 1
-
-   The number of threads for cluster communication. On heavy cluster, the number should be adjusted. It is recommend that take the thread
-   CPU usage as a reference when adjusting.
-
-Local Manager
-=============
-
-.. ts:confvar:: CONFIG proxy.config.lm.sem_id INT 11452
-
-   The semaphore ID for the local manager.
-
-.. ts:confvar:: CONFIG proxy.config.admin.autoconf_port INT 8083
-
-   The autoconfiguration port.
-
-.. ts:confvar:: CONFIG proxy.config.admin.number_config_bak INT 3
-
-   The maximum number of copies of rolled configuration files to keep.
-
-.. ts:confvar:: CONFIG proxy.config.admin.user_id STRING nobody
-
-   Option used to specify who to run the ``traffic_server`` process as; also used to specify ownership of config and log files.
-
-The nonprivileged user account designated to Traffic Server.
-
-As of version 2.1.1 if the user_id is prefixed with pound character (#) the remaining of the string is considered to be
-``numeric user identifier <http://en.wikipedia.org/wiki/User_identifier>``_.
-If the value is set to ``#-1`` Traffic Server will not change the user during startup.
-
-Setting ``user_id`` to ``root`` or ``#0`` is now forbidden to
-increase security. Trying to do so, will cause the
-``traffic_server`` fatal failure. However there are two ways to
-bypass that restriction: Specify ``-DBIG_SECURITY_HOLE`` in
-``CXXFLAGS`` during compilation. Set the ``user_id=#-1`` and start
-trafficserver as root.
-
-Process Manager
-===============
-
-.. ts:confvar:: CONFIOG proxy.config.process_manager.mgmt_port  INT 8084
-
-   The port used for internal communication between the ``traffic_manager`` and ``traffic_server`` processes.
-
-Alarm Configuration
-===================
-
-.. ts:confvar:: CONFIG proxy.config.alarm.bin STRING example_alarm_bin.sh
-
-   Name of the script file that can execute certain actions when an alarm is signaled. The default file is a sample script named
-   ``example_alarm_bin.sh`` located in the ``bin`` directory. You must dit the script to suit your needs.
-
-.. ts:confvar:: CONFIG proxy.config.alarm.abs_path STRING NULL
-
-   The full path to the script file that sends email to alert someone bout Traffic Server problems.
-
-HTTP Engine
-===========
-
-.. ts:confvar:: CONFIG proxy.config.http.server_ports STRING 8080
-
-   Ports used for proxying HTTP traffic.
-
-This is a list, separated by space or comma, of :index:`port descriptors`. Each descriptor is a sequence of keywords and values separated by colons. Not all keywords have values, those that do are specifically noted. Keywords with values can have an optional '=' character separating the keyword and value. The case of keywords is ignored. The order of keywords is irrelevant but unspecified results may occur if incompatible options are used (noted below). Options without values are idempotent. Options with values use the last (right most) value specified, except for ``ip-out`` as detailed later.
-
-Quick reference chart.
-
-=========== =============== ========================================
-Name        Note            Definition
-=========== =============== ========================================
-*number*    **Required**    The local port.
-ipv4        **Default**     Bind to IPv4 address family.
-ipv6                        Bind to IPv6 address family.
-tr-in                       Inbound transparent.
-tr-out                      Outbound transparent.
-tr-full                     Fully transparent (inbound and outbound)
-tr-pass                     Pass through enabled.
-ssl                         SSL terminated.
-ip-in       **Value**       Local inbound IP address.
-ip-out      **Value**       Local outbound IP address.
-ip-resolve  **Value**       IP address resolution style.
-blind                       Blind (``CONNECT``) port.
-compress    **N/I**         Compressed. Not implemented.
-=========== =============== ========================================
-
-*number*
-   Local IP port to bind. This is the port to which ATS clients will connect.
-
-ipv4
-   Use IPv4. This is the default and is included primarily for completeness. This forced if the ``ip-in`` option is used with an IPv4 address.
-
-ipv6
-   Use IPv6. This is forced if the ``ip-in`` option is used with an IPv6 address.
-
-tr-in
-   Inbound transparent. The proxy port will accept connections to any IP address on the port. To have IPv6 inbound transparent you must use this and the ``ipv6`` option. This overrides `proxy.local.incoming_ip_to_bind`_.
-
-   Not compatible with: ``ip-in``, ``ssl``, ``blind``
-
-tr-out
-   Outbound transparent. If ATS connects to an origin server for a transaction on this port, it will use the client's address as its local address. This overrides `proxy.local.outgoing_ip_to_bind`_.
-
-   Not compatible with: ``ip-out``, ``ssl``
-
-tr-full
-   Fully transparent. This is a convenience option and is identical to specifying both ``tr-in`` and ``tr-out``.
-
-   Not compatible with: Any option not compatible with ``tr-in`` or ``tr-out``.
-
-tr-pass
-   Transparent pass through. This option is useful only for inbound transparent proxy ports. If the parsing of the expected HTTP header fails, then the transaction is switched to a blind tunnel instead of generating an error response to the client. It effectively enables `proxy.config.http.use_client_target_addr`_ for the transaction as there is no other place to obtain the origin server address.
-
-ip-in
-   Set the local IP address for the port. This is the address to which clients will connect. This forces the IP address family for the port. The ``ipv4`` or ``ipv6`` can be used but it is optional and is an error for it to disagree with the IP address family of this value. An IPv6 address **must** be enclosed in square brackets. If this is omitted `proxy.local.incoming_ip_to_bind`_ is used.
-
-   Not compatible with: ``tr-in``.
-
-ip-out
-   Set the local IP address for outbound connections. This is the address used by ATS locally when it connects to an origin server for transactions on this port. If this is omitted `proxy.local.outgoing_ip_to_bind`_ is used.
-
-   This option can used multiple times, once for each IP address family. The address used is selected by the IP address family of the origin server address.
-
-   Not compatible with: ``tr-out``.
-
-ip-resolve
-   Set the IP address resolution style for the origin server for transactions on this proxy port.
-
-ssl
-   Require SSL termination for inbound connections. SSL must be configured for this option to provide a functional server port.
-
-   Not compatible with: ``tr-in``, ``tr-out``, ``blind``.
-
-blind
-   Accept only ``CONNECT`` transactions on this port.
-
-   Not compatible with: ``tr-in``, ``ssl``.
-
-compress
-   Compress the connection. Retained only by inertia, should be considered "not implemented".
-
-.. topic:: Example
-
-   Listen on port 80 on any address for IPv4 and IPv6.::
-
-      80 80:ipv6
-
-.. topic:: Example
-
-   Listen transparently on any IPv4 address on port 8080, and
-   transparently on port 8080 on local address ``fc01:10:10:1::1``
-   (which implies ``ipv6``).::
-
-      IPv4:tr-FULL:8080 TR-full:IP-in=[fc02:10:10:1::1]:8080
-
-.. topic:: Example
-
-   Listen on port 8080 for IPv6, fully transparent. Set up an SSL port on 443. These ports will use the IP address from `proxy.local.incoming_ip_to_bind`_.  Listen on IP address ``192.168.17.1``, port 80, IPv4, and connect to origin servers using the local address ``10.10.10.1`` for IPv4 and ``fc01:10:10:1::1`` for IPv6.::
-
-      8080:ipv6:tr-full 443:ssl ip-in=192.168.17.1:80:ip-out=[fc01:10:10:1::1]:ip-out=10.10.10.1
-
-.. ts:confvar:: CONFIG proxy.config.http.connect_ports STRING 443 563
-
-   The range of origin server ports that can be used for tunneling via ``CONNECT``.
-
-Traffic Server allows tunnels only to the specified ports.
-Supports both wildcards ('\*') and ranges ("0-1023").
-
-.. note:: These are the ports on the *origin server*, not `server ports <#proxy-config-http-server-ports>`_.
-
-.. ts:confvar:: CONFIG proxy.config.http.insert_request_via_str INT 1
-   :reloadable:
-
-   Set how the ``Via`` field is handled on a request to the origin server.
-
-===== ============================================
-Value Effect
-===== ============================================
-0     no extra information is added to the string.
-1     all extra information is added.
-2     some extra information is added.
-===== ============================================
-
-.. note:: the ``Via`` header string interpretation can be `decoded here. </tools/via>`_
-
-.. ts:confvar:: CONFIG proxy.config.http.insert_response_via_str INT 1
-   :reloadable:
-
-   Set how the ``Via`` field is handled on the response to the client.
-
-===== ======================
-Value Effect
-===== ======================
-0     no extra information is added to the string.
-1     all extra information is added.
-2     some extra information is added.
-===== ======================
-
-.. ts:confvar:: CONFIG proxy.config.http.response_server_enabled INT 1
-   :reloadable:
-
-   You can specify one of the following:
-
-   -  ``0`` no Server: header is added to the response.
-   -  ``1`` the Server: header is added (see string below).
-   -  ``2`` the Server: header is added only if the response from rigin does not have one already.
-
-.. ts:confvar:: CONFIG proxy.config.http.insert_age_in_response INT 1
-   :reloadable:
-
-   This option specifies whether Traffic Server should insert an ``Age`` header in the response. The Age field value is the cache's
-   estimate of the amount of time since the response was generated or revalidated by the origin server.
-
-   -  ``0`` no ``Age`` header is added
-   -  ``1`` the ``Age`` header is added
-
-.. ts:confvar:: CONFIG proxy.config.http.response_server_str STRING ATS/
-   :reloadable:
-
-   The Server: string that ATS will insert in a response header (if requested, see above). Note that the current version number is
-   always appended to this string.
-
-.. ts:confvar:: CONFIG proxy.config.http.enable_url_expandomatic INT 1
-   :reloadable:
-
-   Enables (``1``) or disables (``0``) ``.com`` domain expansion. This configures the Traffic Server to resolve unqualified hostnames by
-   prepending with ``www.`` and appending with ``.com`` before redirecting to the expanded address. For example: if a client makes
-   a request to ``host``, then Traffic Server redirects the request to ``www.host.com``.
-
-.. ts:confvar:: CONFIG proxy.config.http.chunking_enabled INT 1
-   :reloadable:
-
-   Specifies whether Traffic Sever can generate a chunked response:
-
-   -  ``0`` Never
-   -  ``1`` Always
-   -  ``2`` Generate a chunked response if the server has returned HTTP/1.1 before
-   -  ``3`` = Generate a chunked response if the client request is HTTP/1.1 and the origin server has returned HTTP/1.1 before
-
-   **Note:** If HTTP/1.1 is used, then Traffic Server can use
-   keep-alive connections with pipelining to origin servers. If
-   HTTP/0.9 is used, then Traffic Server does not use ``keep-alive``
-   connections to origin servers. If HTTP/1.0 is used, then Traffic
-   Server can use ``keep-alive`` connections without pipelining to
-   origin servers.
-
-.. ts:confvar:: CONFIG proxy.config.http.share_server_sessions INT 1
-
-   Enables (``1``) or disables (``0``) the reuse of server sessions.
-
-.. ts:confvar:: CONFIG proxy.config.http.record_heartbeat INT 0
-   :reloadable:
-
-   Enables (``1``) or disables (``0``) ``traffic_cop`` heartbeat ogging.
-
-.. ts:confvar:: CONFIG proxy.config.http.use_client_target_addr  INT 0
-
-   For fully transparent ports use the same origin server address as the client.
-
-This option causes Traffic Server to avoid where possible doing DNS
-lookups in forward transparent proxy mode. The option is only
-effective if the following three conditions are true -
-
-*  Traffic Server is in forward proxy mode.
-*  The proxy port is inbound transparent.
-*  The target URL has not been modified by either remapping or a plugin.
-
-If any of these conditions are not true, then normal DNS processing
-is done for the connection.
-
-If all of these conditions are met, then the origin server IP
-address is retrieved from the original client connection, rather
-than through HostDB or DNS lookup. In effect, client DNS resolution
-is used instead of Traffic Server DNS.
-
-This can be used to be a little more efficient (looking up the
-target once by the client rather than by both the client and Traffic
-Server) but the primary use is when client DNS resolution can differ
-from that of Traffic Server. Two known uses cases are:
-
-#. Embedded IP addresses in a protocol with DNS load sharing. In
-   this case, even though Traffic Server and the client both make
-   the same request to the same DNS resolver chain, they may get
-   different origin server addresses. If the address is embedded in
-   the protocol then the overall exchange will fail. One current
-   example is Microsoft Windows update, which presumably embeds the
-   address as a security measure.
-
-#. The client has access to local DNS zone information which is not
-   available to Traffic Server. There are corporate nets with local
-   DNS information for internal servers which, by design, is not
-   propagated outside the core corporate network. Depending a
-   network topology it can be the case that Traffic Server can
-   access the servers by IP address but cannot resolve such
-   addresses by name. In such as case the client supplied target
-   address must be used.
-
-This solution must be considered interim. In the longer term, it
-should be possible to arrange for much finer grained control of DNS
-lookup so that wildcard domain can be set to use Traffic Server or
-client resolution. In both known use cases, marking specific domains
-as client determined (rather than a single global switch) would
-suffice. It is possible to do this crudely with this flag by
-enabling it and then use identity URL mappings to re-disable it for
-specific domains.
-
-Parent Proxy Configuration
-==========================
-
-.. ts:confvar:: CONFIG proxy.config.http.parent_proxy_routing_enable INT 0
-   :reloadable:
-
-   Enables (``1``) or disables (``0``) the parent caching option. Refer to Hierarchical Caching <../hierachical-caching>_.
-
-.. ts:confvar:: CONFIG proxy.config.http.parent_proxy.retry_time INT 300
-   :reloadable:
-
-   The amount of time allowed between connection retries to a parent cache that is unavailable.
-
-.. ts:confvar:: CONFIG proxy.config.http.parent_proxy.fail_threshold INT 10
-   :reloadable:
-
-   The number of times the connection to the parent cache can fail before Traffic Server considers the parent unavailable.
-
-.. ts:confvar:: CONFIG proxy.config.http.parent_proxy.total_connect_attempts INT 4
-   :reloadable:
-
-   The total number of connection attempts allowed to a parent cache before Traffic Server bypasses the parent or fails the request
-   (depending on the ``go_direct`` option in the :file:`bypass.config` file).
-
-.. ts:confvar:: CONFIG proxy.config.http.parent_proxy.per_parent_connect_attempts INT 2
-   :reloadable:
-
-   The total number of connection attempts allowed per parent, if multiple parents are used.
-
-.. ts:confvar:: CONFIG proxy.config.http.parent_proxy.connect_attempts_timeout INT 30
-   :reloadable:
-
-   The timeout value (in seconds) for parent cache connection attempts.
-
-.. ts:confvar:: CONFIG proxy.config.http.forward.proxy_auth_to_parent INT 0
-   :reloadable:
-
-   Configures Traffic Server to send proxy authentication headers on to the parent cache.
-
-HTTP Connection Timeouts
-========================
-
-.. ts:confvar:: CONFIG proxy.config.http.keep_alive_no_activity_timeout_in INT 10
-   :reloadable:
-
-   Specifies how long Traffic Server keeps connections to clients open for a subsequent request after a transaction ends.
-
-.. ts:confvar:: CONFIG proxy.config.http.keep_alive_no_activity_timeout_out INT 10
-   :reloadable:
-
-   Specifies how long Traffic Server keeps connections to origin servers open for a subsequent transfer of data after a transaction ends.
-
-.. ts:confvar:: CONFIG proxy.config.http.transaction_no_activity_timeout_in INT 120
-   :reloadable:
-
-   Specifies how long Traffic Server keeps connections to clients open if a transaction stalls.
-
-.. ts:confvar:: CONFIG proxy.config.http.transaction_no_activity_timeout_out INT 120
-   :reloadable:
-
-   Specifies how long Traffic Server keeps connections to origin servers open if the transaction stalls.
-
-.. ts:confvar:: CONFIG proxy.config.http.transaction_active_timeout_in INT 0
-   :reloadable:
-
-   The maximum amount of time Traffic Server can remain connected to a client. If the transfer to the client is not complete before this
-   timeout expires, then Traffic Server closes the connection.
-
-The default value of ``0`` specifies that there is no timeout.
-
-.. ts:confvar:: CONFIG proxy.config.http.transaction_active_timeout_out INT 0
-   :reloadable:
-
-   The maximum amount of time Traffic Server waits for fulfillment of a connection request to an origin server. If Traffic Server does not
-   complete the transfer to the origin server before this timeout expires, then Traffic Server terminates the connection request.
-
-The default value of ``0`` specifies that there is no timeout.
-
-.. ts:confvar:: CONFIG proxy.config.http.accept_no_activity_timeout INT 120
-   :reloadable:
-
-   The timeout interval in seconds before Traffic Server closes a connection that has no activity.
-
-.. ts:confvar:: CONFIG proxy.config.http.background_fill_active_timeout INT 60
-   :reloadable:
-
-   Specifies how long Traffic Server continues a background fill before giving up and dropping the origin server connection.
-
-.. ts:confvar:: CONFIG proxy.config.http.background_fill_completed_threshold FLOAT 0.50000
-   :reloadable:
-
-   The proportion of total document size already transferred when a client aborts at which the proxy continues fetching the document
-   from the origin server to get it into the cache (a **background fill**).
-
-Origin Server Connect Attempts
-==============================
-
-.. ts:confvar:: CONFIG proxy.config.http.connect_attempts_max_retries INT 6
-   :reloadable:
-
-   The maximum number of connection retries Traffic Server can make when the origin server is not responding.
-
-.. ts:confvar:: CONFIG proxy.config.http.connect_attempts_max_retries_dead_server INT 2
-   :reloadable:
-
-   The maximum number of connection retries Traffic Server can make when the origin server is unavailable.
-
-.. ts:confvar:: CONFIG proxy.config.http.server_max_connections INT 0
-   :reloadable:
-
-   Limits the number of socket connections across all origin servers to the value specified. To disable, set to zero (``0``).
-
-.. ts:confvar:: CONFIG proxy.config.http.origin_max_connections INT 0
-   :reloadable:
-
-   Limits the number of socket connections per origin server to the value specified. To enable, set to one (``1``).
-
-.. ts:confvar:: CONFIG proxy.config.http.origin_min_keep_alive_connections INT 0
-   :reloadable:
-
-   As connection to an origin server are opened, keep at least 'n' number of connections open to that origin, even if the connection
-   isn't used for a long time period. Useful when the origin supports keep-alive, removing the time needed to set up a new connection from
-   the next request at the expense of added (inactive) connections. To enable, set to one (``1``).
-
-.. ts:confvar:: CONFIG proxy.config.http.connect_attempts_rr_retries INT 2
-   :reloadable:
-
-   The maximum number of failed connection attempts allowed before a round-robin entry is marked as 'down' if a server has round-robin DNS entries.
-
-.. ts:confvar:: CONFIG proxy.config.http.connect_attempts_timeout INT 30
-   :reloadable:
-
-   The timeout value (in seconds) for an origin server connection.
-
-.. ts:confvar:: CONFIG proxy.config.http.post_connect_attempts_timeout INT 1800
-   :reloadable:
-
-   The timeout value (in seconds) for an origin server connection when the client request is a ``POST`` or ``PUT`` request.
-
-.. ts:confvar:: CONFIG proxy.config.http.down_server.cache_time INT 900
-   :reloadable:
-
-   Specifies how long (in seconds) Traffic Server remembers that an origin server was unreachable.
-
-.. ts:confvar:: CONFIG proxy.config.http.down_server.abort_threshold INT 10
-   :reloadable:
-
-   The number of seconds before Traffic Server marks an origin server as unavailable after a client abandons a request because the origin
-   server was too slow in sending the response header.
-
-Congestion Control
-==================
-
-.. ts:confvar:: CONFIG proxy.config.http.congestion_control.enabled INT 0
-
-   Enables (``1``) or disables (``0``) the Congestion Control option, which configures Traffic Server to stop forwarding HTTP requests to
-   origin servers when they become congested. Traffic Server sends the client a message to retry the congested origin server later. Refer
-   to `Using Congestion Control <../http-proxy-caching#UsingCongestionControl>`_.
-
-Negative Response Caching
-=========================
-
-.. ts:confvar:: CONFIG proxy.config.http.negative_caching_enabled INT 0
-   :reloadable:
-
-   When enabled (``1``), Traffic Server caches negative responses (such as ``404 Not Found``) when a requested page does not exist. The next
-   time a client requests the same page, Traffic Server serves the negative response directly from cache.
-
-   **Note**: ``Cache-Control`` directives from the server forbidding ache are ignored for the following HTTP response codes, regardless
-   of the value specified for the `proxy.config.http.negative_caching_enabled`_ variable. The
-   following negative responses are cached by Traffic Server:::
-
-        204  No Content
-        305  Use Proxy
-        400  Bad Request
-        403  Forbidden
-        404  Not Found
-        405  Method Not Allowed
-        500  Internal Server Error
-        501  Not Implemented
-        502  Bad Gateway
-        503  Service Unavailable
-        504  Gateway Timeout
-
-Proxy User Variables
-====================
-
-.. ts:confvar:: CONFIG proxy.config.http.anonymize_remove_from INT 0
-   :reloadable:
-
-   When enabled (``1``), Traffic Server removes the ``From`` header to protect the privacy of your users.
-
-.. ts:confvar:: CONFIG proxy.config.http.anonymize_remove_referer INT 0
-   :reloadable:
-
-   When enabled (``1``), Traffic Server removes the ``Referrer`` header to protect the privacy of your site and users.
-
-.. ts:confvar:: CONFIG proxy.config.http.anonymize_remove_user_agent INT 0
-   :reloadable:
-
-   When enabled (``1``), Traffic Server removes the ``User-agent`` header to protect the privacy of your site and users.
-
-.. ts:confvar:: CONFIG proxy.config.http.anonymize_remove_cookie INT 0
-   :reloadable:
-
-   When enabled (``1``), Traffic Server removes the ``Cookie`` header to protect the privacy of your site and users.
-
-.. ts:confvar:: CONFIG proxy.config.http.anonymize_remove_client_ip INT 0
-   :reloadable:
-
-   When enabled (``1``), Traffic Server removes ``Client-IP`` headers for more privacy.
-
-.. ts:confvar:: CONFIG proxy.config.http.anonymize_insert_client_ip INT 1
-   :reloadable:
-
-   When enabled (``1``), Traffic Server inserts ``Client-IP`` headers to retain the client IP address.
-
-.. ts:confvar:: CONFIG proxy.config.http.append_xforwards_header INT 0
-
-   When enabled (``1``), Traffic Server appends ``X-Forwards`` headers to outgoing requests.
-
-.. ts:confvar:: CONFIG proxy.config.http.anonymize_other_header_list STRING NULL
-   :reloadable:
-
-   The headers Traffic Server should remove from outgoing requests.
-
-.. ts:confvar:: CONFIG proxy.config.http.insert_squid_x_forwarded_for INT 0
-   :reloadable:
-
-   When enabled (``1``), Traffic Server adds the client IP address to the ``X-Forwarded-For`` header.
-
-.. ts:confvar:: CONFIG proxy.config.http.normalize_ae_gzip INT 0
-   :reloadable:
-
-   Enable (``1``) to normalize all ``Accept-Encoding:`` headers to one of the following:
-
-   -  ``Accept-Encoding: gzip`` (if the header has ``gzip`` or ``x-gzip`` with any ``q``) **OR**
-   -  *blank* (for any header that does not include ``gzip``)
-
-   This is useful for minimizing cached alternates of documents (e.g. ``gzip, deflate`` vs. ``deflate, gzip``). Enabling this option is
-   recommended if your origin servers use no encodings other than ``gzip``.
-
-Security
-========
-
-.. ts:confvar:: CONFIG proxy.config.http.push_method_enabled INT 0
-   :reloadable:
-
-   Enables (``1``) or disables (``0``) the HTTP ``PUSH`` option, which allows you to deliver content directly to the cache without a user
-   request.
-
-   **Important:** If you enable this option, then you must also specify
-   a filtering rule in the ip_allow.config file to allow only certain
-   machines to push content into the cache.
-
-Cache Control
-=============
-
-.. ts:confvar:: CONFIG proxy.config.cache.enable_read_while_writer INT 0
-   :reloadable:
-
-   Enables (``1``) or disables (``0``) ability to a read cached object while the another connection is completing the write to cache for
-   the same object.
-
-.. ts:confvar:: CONFIG proxy.config.cache.force_sector_size INT 512
-   :reloadable:
-
-   Forces the use of a specific hardware sector size (512 - 8192 bytes).
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.http INT 1
-   :reloadable:
-
-   Enables (``1``) or disables (``0``) caching of HTTP requests.
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.ignore_client_no_cache INT 0
-   :reloadable:
-
-   When enabled (``1``), Traffic Server ignores client requests to bypass the cache.
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.ims_on_client_no_cache INT 0
-   :reloadable:
-
-   When enabled (``1``), Traffic Server issues a conditional request to the origin server if an incoming request has a ``No-Cache`` header.
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.ignore_server_no_cache INT 0
-   :reloadable:
-
-   When enabled (``1``), Traffic Server ignores origin server requests to bypass the cache.
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.cache_responses_to_cookies INT 3
-   :reloadable:
-
-   Specifies how cookies are cached:
-
-   -  ``0`` = do not cache any responses to cookies
-   -  ``1`` = cache for any content-type
-   -  ``2`` = cache only for image types
-   -  ``3`` = cache for all but text content-types
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.ignore_authentication INT 0
-
-   When enabled (``1``), Traffic Server ignores ``WWW-Authentication`` headers in responses ``WWW-Authentication`` headers are removed and
-   not cached.
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.cache_urls_that_look_dynamic INT 1
-   :reloadable:
-
-   Enables (``1``) or disables (``0``) caching of URLs that look dynamic, i.e.: URLs that end in *``.asp``* or contain a question
-   mark (*``?``*), a semicolon (*``;``*), or *``cgi``*. For a full list, please refer to
-   `HttpTransact::url_looks_dynamic </link/to/doxygen>`_
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.enable_default_vary_headers INT 0
-   :reloadable:
-
-   Enables (``1``) or disables (``0``) caching of alternate versions of HTTP objects that do not contain the ``Vary`` header.
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.when_to_revalidate INT 0
-   :reloadable:
-
-   Specifies when to revalidate content:
-
-   -  ``0`` = use cache directives or heuristic (the default value)
-   -  ``1`` = stale if heuristic
-   -  ``2`` = always stale (always revalidate)
-   -  ``3`` = never stale
-   -  ``4`` = use cache directives or heuristic (0) unless the request
-       has an ``If-Modified-Since`` header
-
-   If the request contains the ``If-Modified-Since`` header, then
-   Traffic Server always revalidates the cached content and uses the
-   client's ``If-Modified-Since`` header for the proxy request.
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.when_to_add_no_cache_to_msie_requests INT 0
-   :reloadable:
-
-   Specifies when to add ``no-cache`` directives to Microsoft Internet Explorer requests. You can specify the following:
-
-   -  ``0`` = ``no-cache`` is *not* added to MSIE requests
-   -  ``1`` = ``no-cache`` is added to IMS MSIE requests
-   -  ``2`` = ``no-cache`` is added to all MSIE requests
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.required_headers INT 0
-   :reloadable:
-
-   The type of headers required in a request for the request to be cacheable.
-
-   -  ``0`` = no headers required to make document cacheable
-   -  ``1`` = either the ``Last-Modified`` header, or an explicit lifetime header, ``Expires`` or ``Cache-Control: max-age``, is required
-   -  ``2`` = explicit lifetime is required, ``Expires`` or ``Cache-Control: max-age``
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.max_stale_age INT 604800
-   :reloadable:
-
-   The maximum age allowed for a stale response before it cannot be cached.
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.range.lookup INT 1
-
-   When enabled (``1``), Traffic Server looks up range requests in the cache.
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.enable_read_while_writer INT 0
-
-   Enables (``1``) or disables (``0``) the ability to read a cached object while another connection is completing a write to cache
-   for the same object.
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.fuzz.min_time INT 0
-   :reloadable:
-
-   Sets a minimum fuzz time; the default value is ``0``. **Effective fuzz time** is a calculation in the range
-   (``fuzz.min_time`` - ``fuzz.min_time``).
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.ignore_accept_mismatch INT 0
-   :reloadable:
-
-   When enabled (``1``), Traffic Server serves documents from cache with a ``Content-Type:`` header that does not match the ``Accept:``
-   header of the request.
-
-   **Note:** This option should only be enabled if you're having
-   problems with caching *and* one of the following is true:
-
-   -  Your origin server sets ``Vary: Accept`` when doing content negotiation with ``Accept`` *OR*
-   -  The server does not send a ``406 (Not Acceptable)`` response for types that it cannot serve.
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.ignore_accept_language_mismatch INT 0
-   :reloadable:
-
-   When enabled (``1``), Traffic Server serves documents from cache with a ``Content-Language:`` header that does not match the
-   ``Accept-Language:`` header of the request.
-
-   **Note:** This option should only be enabled if you're having
-   problems with caching and your origin server is guaranteed to set
-   ``Vary: Accept-Language`` when doing content negotiation with
-   ``Accept-Language``.
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.ignore_accept_charset_mismatch INT 0
-   :reloadable:
-
-   When enabled (``1``), Traffic Server serves documents from cache with a ``Content-Type:`` header that does not match the
-   ``Accept-Charset:`` header of the request.
-
-   **Note:** This option should only be enabled if you're having
-   problems with caching and your origin server is guaranteed to set
-   ``Vary: Accept-Charset`` when doing content negotiation with
-   ``Accept-Charset``.
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.ignore_client_cc_max_age INT 1
-   :reloadable:
-
-   When enabled (``1``), Traffic Server ignores any ``Cache-Control:  max-age`` headers from the client.
-
-.. ts:confvar:: CONFIG proxy.config.cache.permit.pinning INT 0
-   :reloadable:
-
-   When enabled (``1``), Traffic Server will keep certain HTTP objects in the cache for a certain time as specified in cache.config.
-
-Heuristic Expiration
-====================
-
-.. ts::confvar:: proxy.config.http.cache.heuristic_min_lifetime INT 3600
-   :reloadable:
-
-   The minimum amount of time an HTTP object without an expiration date can remain fresh in the cache before is considered to be stale.
-
-.. ts::confvar:: proxy.config.http.cache.heuristic_max_lifetime INT 86400
-   :reloadable:
-
-   The maximum amount of time an HTTP object without an expiration date can remain fresh in the cache before is considered to be stale.
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.heuristic_lm_factor FLOAT 0.10000
-   :reloadable:
-
-   The aging factor for freshness computations. Traffic Server stores an object for this percentage of the time that elapsed since it last
-   changed.
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.fuzz.time INT 240
-   :reloadable:
-
-   How often Traffic Server checks for an early refresh, during the period before the document stale time. The interval specified must
-   be in seconds.
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.fuzz.probability FLOAT 0.00500
-   :reloadable:
-
-   The probability that a refresh is made on a document during the specified fuzz time.
-
-Dynamic Content & Content Negotiation
-=====================================
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.vary_default_text STRING NULL
-   :reloadable:
-
-   The header on which Traffic Server varies for text documents.
-
-For example: if you specify ``User-agent``, then Traffic Server caches
-all the different user-agent versions of documents it encounters.
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.vary_default_images STRING NULL
-   :reloadable:
-
-   The header on which Traffic Server varies for images.
-
-.. ts:confvar:: CONFIG proxy.config.http.cache.vary_default_other STRING NULL
-   :reloadable:
-
-   The header on which Traffic Server varies for anything other than text and images.
-
-Customizable User Response Pages
-================================
-
-.. ts:confvar:: CONFIG proxy.config.body_factory.enable_customizations INT 0
-   Specifies whether customizable response pages are enabled or
-   disabled and which response pages are used:
-
-   -  ``0`` = disable customizable user response pages
-   -  ``1`` = enable customizable user response pages in the default directory only
-   -  ``2`` = enable language-targeted user response pages
-
-.. ts:confvar:: CONFIG proxy.config.body_factory.enable_logging INT 1
-
-   Enables (``1``) or disables (``0``) logging for customizable response pages. When enabled, Traffic Server records a message in
-   the error log each time a customized response page is used or modified.
-
-.. ts:confvar:: CONFIG proxy.config.body_factory.template_sets_dir STRING config/body_factory
-
-   The customizable response page default directory.
-
-.. ts:confvar:: CONFIG proxy.config.body_factory.response_suppression_mode INT 0
-
-   Specifies when Traffic Server suppresses generated response pages:
-
-   -  ``0`` = never suppress generated response pages
-   -  ``1`` = always suppress generated response pages
-   -  ``2`` = suppress response pages only for intercepted traffic
-
-DNS
-===
-
-.. ts:confvar:: CONFIG proxy.config.dns.search_default_domains INT 1
-   :Reloadable:
-
-   Enables (``1``) or disables (``0``) local domain expansion.
-
-Traffic Server can attempt to resolve unqualified hostnames by
-expanding to the local domain. For example if a client makes a
-request to an unqualified host (``host_x``) and the Traffic Server
-local domain is ``y.com`` , then Traffic Server will expand the
-hostname to ``host_x.y.com``.
-
-.. ts:confvar:: CONFIG proxy.config.dns.splitDNS.enabled INT 0
-   :reloadable:
-
-   Enables (``1``) or disables (``0``) DNS server selection. When enabled, Traffic Server refers to the :file:`splitdns.config` file for
-   the selection specification. Refer to `Configuring DNS Server Selection (Split DNS) <../security-options#ConfiguringDNSServerSelectionSplit>`_.
-
-.. ts:confvar:: CONFIG proxy.config.dns.url_expansions STRING NULL
-
-   Specifies a list of hostname extensions that are automatically added to the hostname after a failed lookup. For example: if you want
-   Traffic Server to add the hostname extension .org, then specify ``org`` as the value for this variable (Traffic Server automatically
-   adds the dot (.)).
-
-   **Note:** If the variable
-   `proxy.config.http.enable_url_expandomatic`_ is set to ``1`` (the default value), then you do not have to add *``www.``* and
-   *``.com``* to this list because Traffic Server automatically tries www. and .com after trying the values you've specified.
-
-.. ts:confvar:: CONFIG proxy.config.dns.resolv_conf STRING /etc/resolv.conf
-
-   Allows to specify which ``resolv.conf`` file to use for finding resolvers. While the format of this file must be the same as the
-   standard ``resolv.conf`` file, this option allows an administrator to manage the set of resolvers in an external configuration file,
-   without affecting how the rest of the operating system uses DNS.
-
-.. ts:confvar:: CONFIG proxy.config.dns.round_robin_nameservers INT 0
-   :reloadable:
-
-   Enables (``1``) or disables (``0``) DNS server round-robin.
-
-.. ts:confvar:: CONFIG proxy.config.dns.nameservers STRING NULL
-   :reloadable:
-
-   The DNS servers.
-
-.. ts:confvar:: CONFIG proxy.config.srv_enabled INT 0
-   :reloadable:
-
-   Indicates whether to use SRV records for orgin server lookup.
-
-HostDB
-======
-
-.. ts:confvar:: CONFIG proxy.config.hostdb.serve_stale_for INT
-
-   The number of seconds for which to use a stale NS record while initiating a background fetch for the new data.
-
-.. ts:confvar:: CONFIG proxy.config.hostdb.storage_size INT 33554432
-
-   The amount of space (in bytes) used to store ``hostdb``.
-   The value of this variable must be increased if you increase the size of the
-   `proxy.config.hostdb.size`_ variable.
-
-.. ts:confvar:: CONFIG proxy.config.hostdb.size INT 200000
-
-   The maximum number of entries that can be stored in the database.
-
-.. note::
-
-   For values above ``200000``, you must increase the value of the `proxy.config.hostdb.storage_size`_   variable by at least 44 bytes per entry.
-
-.. ts:confvar:: CONFIG proxy.config.hostdb.ttl_mode INT 0
-   :reloadable:
-
-   The host database time to live mode. You can specify one of the
-   following:
-
-   -  ``0`` = obey
-   -  ``1`` = ignore
-   -  ``2`` = min(X,ttl)
-   -  ``3`` = max(X,ttl)
-
-.. ts:confvar:: CONFIG proxy.config.hostdb.timeout INT 1440
-   :reloadable:
-
-   The foreground timeout (in minutes).
-
-.. ts:confvar:: CONFIG proxy.config.hostdb.strict_round_robin INT 0
-   :reloadable:
-
-   When disabled (``0``), Traffic Server always uses the same origin
-   server for the same client, for as long as the origin server is
-   available.
-
-Logging Configuration
-=====================
-
-.. ts:confvar:: CONFIG proxy.config.log.logging_enabled INT 3
-   :reloadable:
-
-   Enables and disables event logging:
-
-   -  ``0`` = logging disabled
-   -  ``1`` = log errors only
-   -  ``2`` = log transactions only
-   -  ``3`` = full logging (errors + transactions)
-
-   Refer to `Working with Log Files <../working-log-files>`_.
-
-.. ts:confvar:: CONFIG proxy.config.log.max_secs_per_buffer INT 5
-   :reloadable:
-
-   The maximum amount of time before data in the buffer is flushed to disk.
-
-.. ts:confvar:: CONFIG proxy.config.log.max_space_mb_for_logs INT 2000
-   :reloadable:
-
-   The amount of space allocated to the logging directory (in MB).
-   **Note:** All files in the logging directory contribute to the space used, even if they are not log files. In collation client mode, if
-   there is no local disk logging, or max_space_mb_for_orphan_logs is set to a higher value than max_space_mb_for_logs, TS will
-   take proxy.config.log.max_space_mb_for_orphan_logs for maximum allowed log space.
-
-.. ts:confvar:: CONFIG proxy.config.log.max_space_mb_for_orphan_logs INT 25
-   :reloadable:
-
-   The amount of space allocated to the logging directory (in MB) if this node is acting as a collation client.
-
-   **Note:** When max_space_mb_for_orphan_logs is take as the maximum allowedlog space in the logging system, the same rule apply to
-   proxy.config.log.max_space_mb_for_logs also apply to proxy.config.log.max_space_mb_for_orphan_logs, ie: All files in
-   the logging directory contribute to the space used, even if they are not log files. you may need to consider this when you enable full
-   remote logging, and bump to the same size as proxy.config.log.max_space_mb_for_logs.
-
-.. ts:confvar:: CONFIG proxy.config.log.max_space_mb_headroom INT 10
-   :reloadable:
-
-   The tolerance for the log space limit (in bytes). If the variable `proxy.config.log.auto_delete_rolled_files`_ is set to ``1``
-   (enabled), then autodeletion of log files is triggered when the amount of free space available in the logging directory is less than
-   the value specified here.
-
-.. ts:confvar:: CONFIG proxy.config.log.hostname STRING localhost
-   :reloadable:
-
-   The hostname of the machine running Traffic Server.
-
-.. ts:confvar:: CONFIG proxy.config.log.logfile_dir STRING install_dir\ ``/logs``
-   :reloadable:
-
-   The full path to the logging directory. This can be an absolute path or a path relative to the directory in which Traffic Server is installed.
-
-   **Note:** The directory you specify must already exist.
-
-.. ts:confvar:: CONFIG proxy.config.log.logfile_perm STRING rw-r--r--
-   :reloadable:
-
-   The log file permissions. The standard UNIX file permissions are used (owner, group, other). Permissible values are:
-
-   ``-`` no permission ``r`` read permission ``w`` write permission ``x`` execute permission
-
-   Permissions are subject to the umask settings for the Traffic Server process. This means that a umask setting of\ ``002`` will not allow
-   write permission for others, even if specified in the configuration file. Permissions for existing log files are not changed when the
-   configuration is changed.
-
-.. ts:confvar:: CONFIG proxy.config.log.custom_logs_enabled INT 0
-   :reloadable:
-
-   Enables (``1``) or disables (``0``) custom logging.
-
-.. ts:confvar:: CONFIG proxy.config.log.squid_log_enabled INT 1
-   :reloadable:
-
-   Enables (``1``) or disables (``0``) the `squid log file format <../working-log-files/log-formats#SquidFormat>`_.
-
-.. ts:confvar:: CONFIG proxy.config.log.squid_log_is_ascii INT 1
-   :reloadable:
-
-   The squid log file type:
-
-   -  ``1`` = ASCII
-   -  ``0`` = binary
-
-.. ts:confvar:: CONFIG proxy.config.log.squid_log_name STRING squid
-   :reloadable:
-
-   The `squid log <../working-log-files/log-formats#SquidFormat>`_ filename.
-
-.. ts:confvar:: CONFIG proxy.config.log.squid_log_header STRING NULL
-
-   The `squid log <../working-log-files/log-formats#SquidFormat>`_ file header text.
-
-.. ts:confvar:: CONFIG proxy.config.log.common_log_enabled INT 0
-   :reloadable:
-
-   Enables (``1``) or disables (``0``) the `Netscape common log file format <../working-log-files/log-formats#NetscapeFormats>`_.
-
-.. ts:confvar:: CONFIG proxy.config.log.common_log_is_ascii INT 1
-   :reloadable:
-
-   The `Netscape common log <../working-log-files/log-formats#NetscapeFormats>`_ file type:
-
-   -  ``1`` = ASCII
-   -  ``0`` = binary
-
-.. ts:confvar:: CONFIG proxy.config.log.common_log_name STRING common
-   :reloadable:
-
-   The `Netscape common log <../working-log-files/log-formats#NetscapeFormats>`_ filename.
-
-.. ts:confvar:: CONFIG proxy.config.log.common_log_header STRING NULL
-   :reloadable:
-
-   The `Netscape common log <../working-log-files/log-formats#NetscapeFormats>`_ file header text.
-
-.. ts:confvar:: CONFIG proxy.config.log.extended_log_enabled INT 0
-   :reloadable:
-
-   Enables (``1``) or disables (``0``) the `Netscape extended log file format <../working-log-files/log-formats#NetscapeFormats>`_.
-
-.. ts:confvar:: CONFIG proxy.confg.log.extended_log_is_ascii INT 1
-
-   The `Netscape extended log <../working-log-files/log-formats#NetscapeFormats>`_ file type:
-
-   -  ``1`` = ASCII
-   -  ``0`` = binary
-
-.. ts:confvar:: CONFIG proxy.config.log.extended_log_name STRING extended
-
-   The `Netscape extended log <../working-log-files/log-formats#NetscapeFormats>`_ filename.
-
-.. ts:confvar:: CONFIG proxy.config.log.extended_log_header STRING NULL
-   :reloadable:
-
-   The `Netscape extended log <../working-log-files/log-formats#NetscapeFormats>`_ file header text.
-
-.. ts:confvar:: CONFIG proxy.config.log.extended2_log_enabled INT 0
-   :reloadable:
-
-   Enables (``1``) or disables (``0``) the `Netscape Extended-2 log file format <../working-log-files/log-formats#NetscapeFormats>`_.
-
-.. ts:confvar:: CONFIG proxy.config.log.extended2_log_is_ascii INT 1
-   :reloadable:
-
-   The `Netscape Extended-2 log <../working-log-files/log-formats#NetscapeFormats>`_ file type:
-
-   -  ``1`` = ASCII
-   -  ``0`` = binary
-
-.. ts:confvar:: CONFIG proxy.config.log.extended2_log_name STRING extended2
-   :reloadable:
-
-   The `Netscape Extended-2 log <../working-log-files/log-formats#NetscapeFormats>`_ filename.
-
-.. ts:confvar:: CONFIG proxy.config.log.extended2_log_header STRING NULL
-   :reloadable:
-
-   The `Netscape Extended-2 log <../working-log-files/log-formats#NetscapeFormats>`_ file header text.
-
-.. ts:confvar:: CONFIG proxy.config.log.separate_icp_logs INT 0
-   :reloadable:
-
-   When enabled (``1``), configures Traffic Server to store ICP transactions in a separate log file.
-
-   -  ``0`` = separation is disabled, all ICP transactions are recorded in the same file as HTTP transactions
-   -  ``1`` = all ICP transactions are recorded in a separate log file.
-   -  ``-1`` = filter all ICP transactions from the default log files; ICP transactions are not logged anywhere.
-
-.. ts:confvar:: CONFIG proxy.config.log.separate_host_logs INT 0
-   :reloadable:
-
-   When enabled (``1``), configures Traffic Server to create a separate log file for HTTP transactions for each origin server listed in the
-   :file:`log_hosts.config` file. Refer to `HTTP Host Log Splitting <../working-log-files#HTTPHostLogSplitting>`_.
-
-.. ts:confvar:: LOCAL proxy.local.log.collation_mode INT 0
-   :reloadable:
-
-   Set the log collation mode.
-
-===== ======
-Value Effect
-===== ======
-0     collation is disabled
-1     this host is a log collation server
-2     this host is a collation client and sends entries using standard formats to the collation server
-3     this host is a collation client and sends entries using the traditional custom formats to the collation server
-4     this host is a collation client and sends entries that use both the standard and traditional custom formats to the collation server
-===== ======
-
-For information on sending XML-based custom formats to the collation
-server, refer to `logs_xml.config <logs_xml.config>`_.
-
-.. note:: Although Traffic Server supports traditional custom logging, you should use the more versatile XML-based custom formats.
-
-.. ts:confvar:: proxy.confg.log.collation_host STRING NULL
-
-   The hostname of the log collation server.
-
-.. ts:confvar:: CONFIG proxy.config.log.collation_port INT 8085
-   :reloadable:
-
-   The port used for communication between the collation server and client.
-
-.. ts:confvar:: CONFIG proxy.config.log.collation_secret STRING foobar
-   :reloadable:
-
-   The password used to validate logging data and prevent the exchange of unauthorized information when a collation server is being used.
-
-.. ts:confvar:: CONFIG proxy.config.log.collation_host_tagged INT 0
-   :reloadable:
-
-   When enabled (``1``), configures Traffic Server to include the hostname of the collation client that generated the log entry in each entry.
-
-.. ts:confvar:: CONFIG proxy.config.log.collation_retry_sec INT 5
-   :reloadable:
-
-   The number of seconds between collation server connection retries.
-
-.. ts:confvar:: CONFIG proxy.config.log.rolling_enabled INT 1
-   :reloadable:
-
-   Specifies how log files are rolled. You can specify the following values:
-
-   -  ``0`` = disables log file rolling
-   -  ``1`` = enables log file rolling at specific intervals during the day (specified with the
-       `proxy.config.log.rolling_interval_sec`_ and `proxy.config.log.rolling_offset_hr`_ variables)
-   -  ``2`` = enables log file rolling when log files reach a specific size (specified with the `proxy.config.log.rolling_size_mb`_ variable)
-   -  ``3`` = enables log file rolling at specific intervals during the day or when log files reach a specific size (whichever occurs first)
-   -  ``4`` = enables log file rolling at specific intervals during the day when log files reach a specific size (i.e., at a specified
-       time if the file is of the specified size)
-
-.. ts:confvar:: CONFIG proxy.config.log.rolling_interval_sec INT 86400
-   :reloadable:
-
-   The log file rolling interval, in seconds. The minimum value is ``300`` (5 minutes). The maximum, and default, value is 86400 seconds (one day).
-
-   **Note:** If you start Traffic Server within a few minutes of the next rolling time, then rolling might not occur until the next rolling time.
-
-.. ts:confvar:: CONFIG proxy.config.log.rolling_offset_hr INT 0
-   :reloadable:
-
-   The file rolling offset hour. The hour of the day that starts the log rolling period.
-
-.. ts:confvar:: CONFIG proxy.config.log.rolling_size_mb INT 10
-   :reloadable:
-
-   The size that log files must reach before rolling takes place.
-
-.. ts:confvar:: CONFIG proxy.config.log.auto_delete_rolled_files INT 1
-   :reloadable:
-
-   Enables (``1``) or disables (``0``) automatic deletion of rolled files.
-
-.. ts:confvar:: CONFIG proxy.config.log.sampling_frequency INT 1
-   :reloadable:
-
-   Configures Traffic Server to log only a sample of transactions rather than every transaction. You can specify the following values:
-
-   -  ``1`` = log every transaction
-   -  ``2`` = log every second transaction
-   -  ``3`` = log every third transaction and so on...
-
-.. ts:confvar:: CONFIG proxy.config.http.slow.log.threshold INT 0
-   :reloadable:
-
-   The number of milliseconds before a slow connection's debugging stats are dumped. Specify ``1`` to enable or ``0`` to disable.
-
-Diagnostic Logging Configuration
-================================
-
-.. ts:confvar:: CONFIG proxy.config.diags.output.status STRING
-.. ts:confvar:: CONFIG proxy.config.diags.output.warning STRING
-.. ts:confvar:: CONFIG proxy.config.diags.output.emergency STRING
-
-   control where Traffic Server should log diagnostic output. Messages at diagnostic level can be directed to any combination of diagnostic
-   destinations. Valid diagnostic message destinations are:::
-
-   * 'O' = Log to standard output
-   * 'E' = Log to standard error
-   * 'S' = Log to syslog
-   * 'L' = Log to diags.log
-
-.. topic:: Example
-
-   To log debug diagnostics to both syslog and diags.log:::
-
-        proxy.config.diags.output.debug STRING SL
-
-Reverse Proxy
-=============
-
-.. ts:confvar:: CONFIG proxy.config.reverse_proxy.enabled INT 1
-   :reloadable:
-
-   Enables (``1``) or disables (``0``) HTTP reverse proxy.
-
-.. ts:confvar:: CONFIG proxy.config.header.parse.no_host_url_redirect STRING NULL
-   :reloadable:
-
-   The URL to which to redirect requests with no host headers (reverse
-   proxy).
-
-URL Remap Rules
-===============
-
-.. ts:confvar:: CONFIG proxy.config.url_remap.default_to_server_pac INT 0
-   :reloadable:
-
-   Enables (``1``) or disables (``0``) requests for a PAC file on the proxy service port (8080 by default) to be redirected to the PAC
-   port. For this type of redirection to work, the variable `proxy.config.reverse_proxy.enabled`_ must be set to ``1``.
-
-.. ts:confvar:: CONFIG proxy.config.url_remap.default_to_server_pac_port INT -1
-   :reloadable:
-
-   Sets the PAC port so that PAC requests made to the Traffic Server
-   proxy service port are redirected this port. ``-1`` is the default
-   setting that sets the PAC port to the autoconfiguration port (the
-   default autoconfiguration port is 8083). This variable can be used
-   together with the `proxy.config.url_remap.default_to_server_pac`_
-   variable to get a PAC file from a different port. You must create
-   and run a process that serves a PAC file on this port. For example:
-   if you create a Perl script that listens on port 9000 and writes a
-   PAC file in response to any request, then you can set this variable
-   to ``9000``. Browsers that request the PAC file from a proxy server
-   on port 8080 will get the PAC file served by the Perl script.
-
-.. ts:confvar:: CONFIG proxy.config.url_remap.remap_required INT 1
-   :reloadable:
-
-   Set this variable to ``1`` if you want Traffic Server to serve
-   requests only from origin servers listed in the mapping rules of the
-   :file:`remap.config` file. If a request does not match, then the browser
-   will receive an error.
-
-.. ts:confvar:: CONFIG proxy.config.url_remap.pristine_host_hdr INT 1
-   :reloadable:
-
-   Set this variable to ``1`` if you want to retain the client host
-   header in a request during remapping.
-
-SSL Termination
-===============
-
-.. ts:confvar:: CONFIG proxy.config.ssl.SSLv2 INT 0
-
-   Enables (``1``) or disables (``0``) SSLv2. Please don't enable it.
-
-.. ts:confvar:: CONFIG proxy.config.ssl.SSLv3 INT 1
-
-   Enables (``1``) or disables (``0``) SSLv3.
-
-.. ts:confvar:: CONFIG proxy.config.ssl.TLSv1 INT 1
-
-   Enables (``1``) or disables (``0``) TLSv1.
-
-.. ts:confvar:: CONFIG proxy.config.ssl.client.certification_level INT 0
-
-   Sets the client certification level:
-
-   -  ``0`` = no client certificates are required. Traffic Server does
-       not verify client certificates during the SSL handshake. Access
-       to Traffic Server depends on Traffic Server configuration options
-       (such as access control lists).
-
-   -  ``1`` = client certificates are optional. If a client has a
-       certificate, then the certificate is validated. If the client
-       does not have a certificate, then the client is still allowed
-       access to Traffic Server unless access is denied through other
-       Traffic Server configuration options.
-
-   -  ``2`` = client certificates are required. The client must be
-       authenticated during the SSL handshake. Clients without a
-       certificate are not allowed to access Traffic Server.
-
-.. ts:confvar:: CONFIG proxy.config.ssl.server.cert.path STRING /config
-
-   The location of the SSL certificates and chains used for accepting
-   and validation new SSL sessions. If this is a relative path,
-   it is appended to the Traffic Server installation PREFIX. All
-   certificates and certificate chains listed in
-   :file:`ssl_multicert.config` will be loaded relative to this path.
-
-.. ts:confvar:: CONFIG proxy.config.ssl.server.private_key.path STRING NULL
-
-   The location of the SSL certificate private keys. Change this
-   variable only if the private key is not located in the SSL
-   certificate file. All private keys listed in
-   :file:`ssl_multicert.config` will be loaded relative to this
-   path.
-
-.. ts:confvar:: CONFIG proxy.config.ssl.server.cert_chain.filename STRING NULL
-
-   The name of a file containing a global certificate chain that
-   should be used with every server certificate. This file is only
-   used if there are certificates defined in :file:`ssl_multicert.conf`.
-   Unless this is an absolute path, it is loaded relative to the
-   path specified by `proxy.config.ssl.server.cert.path`_.
-
-.. ts:confvar:: CONFIG proxy.config.ssl.CA.cert.path STRING NULL
-
-   The location of the certificate authority file that client
-   certificates will be verified against.
-
-.. ts:confvar:: CONFIG proxy.config.ssl.CA.cert.filename STRING NULL
-
-   The filename of the certificate authority that client certificates
-   will be verified against.
-
-Client-Related Configuration
-----------------------------
-
-.. ts:confvar:: CONFIG proxy.config.ssl.client.verify.server INT 0
-
-   Configures Traffic Server to verify the origin server certificate
-   with the Certificate Authority (CA).
-
-.. ts:confvar:: CONFIG proxy.config.ssl.client.cert.filename STRING NULL
-
-   The filename of SSL client certificate installed on Traffic Server.
-
-.. ts:confvar:: CONFIG proxy.config.ssl.client.cert.path STRING /config
-
-   The location of the SSL client certificate installed on Traffic
-   Server.
-
-.. ts:confvar:: CONFIG proxy.config.ssl.client.private_key.filename STRING NULL
-
-   The filename of the Traffic Server private key. Change this variable
-   only if the private key is not located in the Traffic Server SSL
-   client certificate file.
-
-.. ts:confvar:: CONFIG proxy.config.ssl.client.private_key.path STRING NULL
-
-   The location of the Traffic Server private key. Change this variable
-   only if the private key is not located in the SSL client certificate
-   file.
-
-.. ts:confvar:: CONFIG proxy.config.ssl.client.CA.cert.filename STRING NULL
-
-   The filename of the certificate authority against which the origin
-   server will be verified.
-
-.. ts:confvar:: CONFIG proxy.config.ssl.client.CA.cert.path STRING NULL
-
-   Specifies the location of the certificate authority file against
-   which the origin server will be verified.
-
-ICP Configuration
-=================
-
-.. ts:confvar:: CONFIG proxy.config.icp.enabled INT 0
-
-   Sets ICP mode for hierarchical caching:
-
-   -  ``0`` = disables ICP
-   -  ``1`` = allows Traffic Server to receive ICP queries only
-   -  ``2`` = allows Traffic Server to send and receive ICP queries
-
-   Refer to `ICP Peering <../hierachical-caching#ICPPeering>`_.
-
-.. ts:confvar:: CONFIG proxy.config.icp.icp_interface STRING your_interface
-
-   Specifies the network interface used for ICP traffic.
-
-   **Note:** The Traffic Server installation script detects your
-   network interface and sets this variable appropriately. If your
-   system has multiple network interfaces, check that this variable
-   specifies the correct interface.
-
-.. ts:confvar:: CONFIG proxy.config.icp.icp_port INT 3130
-   :reloadable:
-
-   Specifies the UDP port that you want to use for ICP messages.
-
-.. ts:confvar:: CONFIG proxy.config.icp.query_timeout INT 2
-   :reloadable:
-
-   Specifies the timeout used for ICP queries.
-
-Scheduled Update Configuration
-==============================
-
-.. XXX this is missing something:
-
-   ``INT``
-   ``0``
-   Enables (``1``) or disables (``0``) the Scheduled Update option.
-
-.. ts:confvar:: CONFIG proxy.config.update.force INT 0
-   :reloadable:
-
-   Enables (``1``) or disables (``0``) a force immediate update. When
-   enabled, Traffic Server overrides the scheduling expiration time for
-   all scheduled update entries and initiates updates until this option
-   is disabled.
-
-.. ts:confvar:: CONFIG proxy.config.update.retry_count INT 10
-   :reloadable:
-
-   Specifies the number of times Traffic Server can retry the scheduled
-   update of a URL in the event of failure.
-
-.. ts:confvar:: CONFIG proxy.config.update.retry_interval INT 2
-   :reloadable:
-
-   Specifies the delay (in seconds) between each scheduled update retry
-   for a URL in the event of failure.
-
-.. ts:confvar:: CONFIG proxy.config.update.concurrent_updates INT 100
-   :reloadable:
-
-   Specifies the maximum simultaneous update requests allowed at any
-   time. This option prevents the scheduled update process from
-   overburdening the host.
-
-Remap Plugin Processor
-======================
-
-.. ts:confvar:: CONFIG proxy.config.remap.use_remap_processor INT 0
-
-   Enables (``1``) or disables (``0``) the ability to run separate threads for remap plugin processing.
-
-.. ts:confvar:: CONFIG proxy.config.remap.num_remap_threads INT 1
-
-   Specifies the number of threads that will be used for remap plugin rocessing.
-
-Plug-in Configuration
-=====================
-
-.. ts:confvar:: CONFIG proxy.config.plugin.plugin_dir STRING config/plugins
-
-   Specifies the location of Traffic Server plugins.
-
-Sockets
-=======
-
-.. ts:confvar:: CONFIG proxy.config.net.defer_accept INT `1`
-
-   default: ``1`` meaning ``on`` all Platforms except Linux: ``45`` seconds
-
-   This directive enables operating system specific optimizations for a listening socket. ``defer_accept`` holds a call to ``accept(2)``
-   back until data has arrived. In Linux' special case this is up to a maximum of 45 seconds.
-
-.. ts:confvar:: CONFIG proxy.config.net.sock_send_buffer_size_in INT 0
-
-   Sets the send buffer size for connections from the client to Traffic Server.
-
-.. ts:confvar:: CONFIG proxy.config.net.sock_recv_buffer_size_in INT 0
-
-   Sets the receive buffer size for connections from the client to Traffic Server.
-
-.. ts:confvar:: CONFIG proxy.config.net.sock_option_flag_in INT 0
-
-   Turns different options "on" for the socket handling client connections:::
-
-        TCP_NODELAY (1)
-        SO_KEEPALIVE (2)
-
-   **Note:** This is a flag and you look at the bits set. Therefore,
-   you must set the value to ``3`` if you want to enable both options
-   above.
-
-.. ts:confvar:: CONFIG proxy.config.net.sock_send_buffer_size_out INT 0
-
-   Sets the send buffer size for connections from Traffic Server to the origin server.
-
-.. ts:confvar:: CONFIG proxy.config.net.sock_recv_buffer_size_out INT 0
-
-   Sets the receive buffer size for connections from Traffic Server to
-   the origin server.
-
-.. ts:confvar:: CONFIG proxy.config.net.sock_option_flag_out INT 0
-
-   Turns different options "on" for the origin server socket:::
-
-        TCP_NODELAY (1)
-        SO_KEEPALIVE (2)
-
-   **Note:** This is a flag and you look at the bits set. Therefore,
-   you must set the value to ``3`` if you want to enable both options
-   above.
-
-.. ts:confvar:: CONFIG proxy.config.net.sock_mss_in INT 0
-
-   Same as the command line option ``--accept_mss`` that sets the MSS for all incoming requests.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/configuration-files/remap.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/configuration-files/remap.config.en.rst b/doc/admin/configuration-files/remap.config.en.rst
deleted file mode 100644
index 5122e60..0000000
--- a/doc/admin/configuration-files/remap.config.en.rst
+++ /dev/null
@@ -1,277 +0,0 @@
-.. 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.
-
-============
-remap.config
-============
-
-.. configfile:: remap.config
-
-.. toctree::                                                                                                                                                                                      
-   :maxdepth: 2
-
-
-The :file:`remap.config` file contains mapping rules that Traffic Server
-uses to perform the following actions:
-
--  Map URL requests for a specific origin server to the appropriate
-   location on Traffic Server when Traffic Server acts as a reverse
-   proxy for that particular origin server
--  Reverse-map server location headers so that when origin servers
-   respond to a request with a location header that redirects the client
-   to another location, the clients do not bypass Traffic Server
--  Redirect HTTP requests permanently or temporarily without Traffic
-   Server having to contact any origin servers
-
-Refer to `Reverse Proxy and HTTP
-Redirects <../reverse-proxy-http-redirects>`_, for information about
-redirecting HTTP requests and using reverse proxy.
-
-After you modify the :file:`remap.config` run the
-:option:`traffic_line -x` to apply the changes. When you apply the
-changes to one node in a cluster, Traffic Server automatically applies
-the changes to all other nodes in the cluster.
-
-Format
-======
-
-Each line in the :file:`remap.config` file must contain a mapping rule.
-Traffic Server recognizes three space-delimited fields: ``type``,
-``target``, and ``replacement``. The following list describes the format
-of each field.
-
-*``type``* {#type}
-    Enter one of the following:
-
-    -  ``map`` --translates an incoming request URL to the appropriate
-       origin server URL.
-
-    -  ``reverse_map`` --translates the URL in origin server redirect
-       responses to point to the Traffic Server.
-
-    -  ``redirect`` --redirects HTTP requests permanently without having
-       to contact the origin server. Permanent redirects notify the
-       browser of the URL change (by returning an HTTP status code 301)
-       so that the browser can update bookmarks.
-
-    -  ``redirect_temporary`` --redirects HTTP requests temporarily
-       without having to contact the origin server. Temporary redirects
-       notify the browser of the URL change for the current request only
-       (by returning an HTTP status code 307).
-
-    **Note:** use the ``regex_`` prefix to indicate that the line has a
-    regular expression (regex).
-
-*``target``* {#target}
-    Enter the origin ("from") URL. You can enter up to four components:
-
-    ::
-
-        scheme://host:port/path_prefix
-
-    where *``scheme``* is ``http``.
-
-*``replacement``* {#replacement}
-    Enter the origin ("from") URL. You can enter up to four components:
-
-    ::
-
-        scheme://host:port/path_prefix
-
-    where *``scheme``* can be ``http`` or ``https``.
-
-Precedence
-==========
-
-Remap rules are not processed top-down, but based on an internal
-priority
-
-1. ``map`` and ``reverse_map``
-2. ``redirect`` and ``redirect_temporary``
-3. ``regex_remap``
-4. ``regex_redirect`` and ``regex_redirect_temporary``
-
-Examples
-========
-
-The following section shows example mapping rules in the
-:file:`remap.config` file.
-
-Reverse Proxy Mapping Rules
-===========================
-
-The following example shows a map rule that does not specify a path
-prefix in the target or replacement:
-
-::
-
-    map http://www.x.com/ http://server.hoster.com/
-    reverse_map http://server.hoster.com/ http://www.x.com/
-
-This rule results in the following translations:
-
-Client Request \| Translated Request
----------------\|-------------------
-``http://www.x.com/Widgets/index.html`` \|
-``http://server.hoster.com/Widgets/index.html``
-``http://www.x.com/cgi/form/submit.sh?arg=true`` \|
-``http://server.hoster.com/cgi/form/submit.sh?arg=true``
-
-The following example shows a map rule with path prefixes specified in
-the target:
-
-::
-
-    map http://www.y.com/marketing/ http://marketing.y.com/
-    reverse_map http://marketing.y.com/ http://www.y.com/marketing/
-    map http://www.y.com/sales/ http://sales.y.com/
-    reverse_map http://sales.y.com/ http://www.y.com/sales/
-    map http://www.y.com/engineering/ http://engineering.y.com/
-    reverse_map http://engineering.y.com/ http://www.y.com/engineering/
-    map http://www.y.com/stuff/ http://info.y.com/
-    reverse_map http://info.y.com/ http://www.y.com/stuff/
-
-These rules result in the following translations:
-
-Client Request \| Translated Request
----------------\|-------------------
-``http://www.y.com/marketing/projects/manhattan/specs.html`` \|
-``http://marketing.y.com/projects/manhattan/specs.html``
-``http://www.y.com/stuff/marketing/projects/boston/specs.html`` \|
-``http://info.y.com/marketing/projects/boston/specs.html``
-``http://www.y.com/engineering/marketing/requirements.html`` \|
-``http://engineering.y.com/marketing/requirements.html``
-
-The following example shows that the order of the rules matters:
-
-::
-
-    map http://www.g.com/ http://external.g.com/
-    reverse_map http://external.g.com/ http://www.g.com/
-    map http://www.g.com/stuff/ http://stuff.g.com/
-    reverse_map http://stuff.g.com/ http://www.g.com/stuff/
-
-These rules result in the following translation.
-
-Client Request \| Translated Request
----------------\|------------------- ``http://www.g.com/stuff/a.gif`` \|
-``http://external.g.com/stuff/a.gif``
-
-In the above examples, the second rule is never applied because all URLs
-that match the second rule also match the first rule. The first rule
-takes precedence because it appears earlier in the :file:`remap.config`
-file.
-
-The following example shows a mapping with a path prefix specified in
-the target and replacement::
-
-    map http://www.h.com/a/b/ http://server.h.com/customers/x/y
-    reverse_map http://server.h.com/customers/x/y/ http://www.h.com/a/b/
-
-This rule results in the following translation.
-
-Client Request \| Translated Request
----------------\|-------------------
-``http://www.h.com/a/b/c/d/doc.html`` \|
-``http://server.h.com/customers/x/y/c/d/doc.html``
-``http://www.h.com/a/index.html`` \| ``Translation fails``
-
-The following example shows reverse-map rules::
-
-    map http://www.x.com/ http://server.hoster.com/x/
-    reverse_map http://server.hoster.com/x/ http://www.x.com/
-
-These rules result in the following translations.
-
-Client Request \| Translated Request
----------------\|------------------- ``http://www.x.com/Widgets`` \|
-``http://server.hoster.com/x/Widgets`` \|
-
- 
-
-Client Request \| Origin server Header \| Translated Header
----------------\|----------------------\|-------------------
-``http://www.x.com/Widgets`` \| ``http://server.hoster.com/x/Widgets/``
-\| ``http://www.x.com/Widgets/``
-
-When acting as a reverse proxy for multiple servers, Traffic Server is
-unable to route to URLs from older browsers that do not send the
-``Host:`` header. As a solution, set the variable
-*``proxy.config.header.parse.no_host_url_redirect``* in the
-:file:`records.config` file to the URL to which Traffic Server will redirect
-requests without host headers.
-
-Redirect Mapping Rules
-======================
-
-The following rule permanently redirects all HTTP requests for
-``www.company.com`` to ``www.company2.com``:
-
-::
-
-    redirect http://www.company.com/ http://www.company2.com/
-
-The following rule *temporarily* redirects all HTTP requests for
-``www.company1.com`` to ``www.company2.com``:
-
-::
-
-    redirect_temporary http://www.company1.com/ http://www.company2.com/
-
-Regular Expression (regex) Remap Support
-========================================
-
-Regular expressions can be specified in remapping rules, with the
-limitations below:
-
--  Only the ``host`` field can contain a regex; the ``scheme``,
-   ``port``, and other fields cannot. For path manipulation via regexes,
-   use the ``regex_remap`` plugin.
--  The number of capturing subpatterns is limited to 9. This means that
-   ``$0`` through ``$9`` can be used as subtraction placeholders (``$0``
-   will be the entire input string).
--  The number of substitutions in the expansion string is limited to 10.
--  There is no ``regex_`` equivalent to ``reverse_remap``, so when using
-   ``regex_remap`` you should make sure the reverse path is clear by
-   setting
-   (`*``proxy.config.url_remap.pristine_host_hdr``* <../configuration-files/records.config#proxy.config.url_remap.pristine_host_hdr>`_)
-
-Examples
---------
-
-::
-
-    regex_map http://x([0-9]+).z.com/ http://real-x$1.z.com/
-    regex_redirect http://old.(.*).z.com http://new.$1.z.com
-
-Plugin Chaining
-===============
-
-Plugins can be configured to be evaluated in a specific order, passing
-the results from one in to the next (unless a plugin returns 0, then the
-"chain" is broken).
-
-Examples
---------
-
-::
-
-    map http://url/path http://url/path @plugin=/etc/traffic_server/config/plugins/plugin1.so @pparam=1 @pparam=2 @plugin=/etc/traffic_server/config/plugins/plugin2.so @pparam=3
-
-will pass "1" and "2" to plugin1.so and "3" to plugin2.so.
-
-This will pass "1" and "2" to plugin1.so and "3" to plugin2.so

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/configuration-files/splitdns.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/configuration-files/splitdns.config.en.rst b/doc/admin/configuration-files/splitdns.config.en.rst
deleted file mode 100644
index 4298a45..0000000
--- a/doc/admin/configuration-files/splitdns.config.en.rst
+++ /dev/null
@@ -1,125 +0,0 @@
-.. 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.
-
-===============
-splitdns.config
-===============
-
-
-The :file:`splitdns.config` file enables you to specify the DNS server that
-Traffic Server should use for resolving hosts under specific conditions.
-For more information, refer to `Configuring DNS Server Selection (Split
-DNS) <../security-options#SplitDNS>`_.
-
-To specify a DNS server, you must supply the following information in
-each active line within the file:
-
--  A primary destination specifier in the form of a destination domain,
-   a destination host, or a URL regular expression
--  A set of server directives, listing one or more DNS servers with
-   corresponding port numbers
-
-You can also include the following optional information with each DNS
-server specification:
-
--  A default domain for resolving hosts
--  A search list specifying the domain search order when multiple
-   domains are specified
-
-After you modify the :file:`splitdns.config` file,
-run the :option:`traffic_line -x`
-command to apply the changes. When you apply changes to a node in a
-cluster, Traffic Server automatically applies the changes to all other
-nodes in the cluster.
-
-Format
-======
-
-Each line in the :file:`splitdns.config` file uses one of the following
-formats:
-
-::
-
-    dest_domain=dest_domain | dest_host | url_regex named=dns_server def_domain=def_domain search_list=search_list
-
-The following list describes each field.
-
-*``dest_domain``* {#dest_domain}
-    A valid domain name. This specifies that DNS server selection will
-    be based on the destination domain. You can prefix the domain with
-    an exclamation mark (``!``) to indicate the NOT logical operator.
-
-*``dest_host``* {#dest_host}
-    A valid hostname. This specifies that DNS server selection will be
-    based on the destination host. You can prefix the host with an
-    exclamation mark (``!``) to indicate the ``NOT`` logical operator.
-
-*``url_regex``* {#url_regex}
-    A valid URL regular expression. This specifies that DNS server
-    selection will be based on a regular expression.
-
-*``dns_server``* {#dns_server}
-    This is a required directive. It identifies the DNS server that
-    Traffic Server should use with the given destination specifier. You
-    can specify a port using a colon (``:``). If you do not specify a
-    port, then 53 is used. Specify multiple DNS servers with spaces or
-    semicolons (``;``) as separators.
-
-    You must specify the domains with IP addresses in CIDR ("dot")
-    notation.
-
-*``def_domain``* {#def_domain}
-    A valid domain name. This optional directive specifies the default
-    domain name to use for resolving hosts. Only one entry is allowed.
-    If you do not provide the default domain, the system determines its
-    value from ``/etc/resolv.conf``
-
-*``search_list``* {#search_list}
-    A list of domains separated by spaces or semicolons (;). This
-    specifies the domain search order. If you do not provide the search
-    list, the system determines the value from ``/etc/resolv.conf``
-
-Examples
-========
-
-Consider the following DNS server selection specifications:
-
-::
-
-      dest_domain=internal.company.com named=255.255.255.255:212 255.255.255.254 def_domain=company.com search_list=company.com company1.com
-      dest_domain=!internal.company.com named=255.255.255.253
-
-Now consider the following two requests:
-
-::
-
-     http://minstar.internal.company.com
-
-This request matches the first line and therefore selects DNS server
-``255.255.255.255`` on port ``212``. All resolver requests use
-``company.com`` as the default domain, and ``company.com`` and
-``company1.com`` as the set of domains to search first.
-
-::
-
-     http://www.microsoft.com
-
-This request matches the second line. Therefore, Traffic Server selects
-DNS server ``255.255.255.253``. Because no ``def_domain`` or
-``search_list`` was supplied, Traffic Server retrieves this information
-from ``/etc/resolv.conf``
-


[21/52] [abbrv] git commit: doc: remove nroff man pages

Posted by zw...@apache.org.
doc: remove nroff man pages


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/46bb782f
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/46bb782f
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/46bb782f

Branch: refs/heads/3.3.x
Commit: 46bb782f15e1ec68aa3e3c01dc45c8e7c91eb0f8
Parents: 6a50da5
Author: James Peach <jp...@apache.org>
Authored: Thu Aug 1 11:54:31 2013 -0700
Committer: James Peach <jp...@apache.org>
Committed: Thu Aug 1 11:54:31 2013 -0700

----------------------------------------------------------------------
 doc/Makefile.am                     |  14 --
 doc/sdk/TSAPI.3                     | 170 -------------
 doc/sdk/TSDebug.3                   | 145 -----------
 doc/sdk/TSHttpHookAdd.3             | 150 ------------
 doc/sdk/TSHttpParserCreate.3        | 128 ----------
 doc/sdk/TSHttpTxnMilestoneGet.3     |  68 -----
 doc/sdk/TSIOBufferCreate.3          | 134 ----------
 doc/sdk/TSInstallDirGet.3           |  60 -----
 doc/sdk/TSMBufferCreate.3           | 110 ---------
 doc/sdk/TSMalloc.3                  | 153 ------------
 doc/sdk/TSPluginInit.3              |  86 -------
 doc/sdk/TSRemap.3                   | 131 ----------
 doc/sdk/TSTrafficServerVersionGet.3 | 110 ---------
 doc/sdk/TSUrlCreate.3               | 409 -------------------------------
 14 files changed, 1868 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/46bb782f/doc/Makefile.am
----------------------------------------------------------------------
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 48d8d64..4715e4d 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -81,20 +81,6 @@ dist_trafficshell_DATA = \
 man1_MANS = \
   man/traffic_shell.1
 
-man3_MANS = \
-  sdk/TSAPI.3 \
-  sdk/TSDebug.3 \
-  sdk/TSHttpHookAdd.3 \
-  sdk/TSHttpParserCreate.3 \
-  sdk/TSIOBufferCreate.3 \
-  sdk/TSInstallDirGet.3 \
-  sdk/TSMBufferCreate.3 \
-  sdk/TSMalloc.3 \
-  sdk/TSPluginInit.3 \
-  sdk/TSRemap.3 \
-  sdk/TSTrafficServerVersionGet.3 \
-  sdk/TSUrlCreate.3
-
 EXTRA_DIST = \
   Doxyfile.in \
   $(dist_trafficshell_DATA)

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/46bb782f/doc/sdk/TSAPI.3
----------------------------------------------------------------------
diff --git a/doc/sdk/TSAPI.3 b/doc/sdk/TSAPI.3
deleted file mode 100644
index 9e91a8f..0000000
--- a/doc/sdk/TSAPI.3
+++ /dev/null
@@ -1,170 +0,0 @@
-.\"  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. .\"
-.Dd December 22, 2011
-.Dt TSAPI 3ts TSAPI
-.Sh NAME
-.Nm TSAPI
-.Nd introduction to the Traffic Server plugin API
-.Sh SYNOPSIS
-.In ts/ts.h
-.In ts/remap.h
-.Sh DESCRIPTION
-The Traffic Server API enables you to create plugins, using the C
-programming language, that customize the behavior of your Traffic
-Server installation.
-.Pp
-Traffic Server enables sophisticated caching and processing of
-web-related traffic, such as DNS and HTTP requests and responses.
-Traffic Server itself consists of an event-driven loop that can be
-simplified as follows:
-.Pp
-.nf
-    for (;;) {
-        event = get_next_event();
-        handle_event (event);
-    }
-.fn
-.Pp
-You compile your plugin source code to create a shared library that
-Traffic Server loads when it is started. Your plugin contains
-callback functions that are registered for specific Traffic Server
-events. When Traffic Server needs to process an event, it invokes
-any and all call-back functions you've registered for that event
-type.
-.Pp
-Possible uses for plugins include the following:
-.Bl -bullet
-.It
-HTTP processing plugins can filter, blacklist, authorize users or
-transform content.
-.It
-Protocol plugins can enable Traffic Server to proxy-cache
-new protocol content
-.It
-A blacklisting plugin denies attempts to access web sites that are
-off-limits.
-.It
-Append transform plugins add data to HTTP response content.
-.It
-An image conversion plugin transforms JPEG images to GIF images.
-.It
-Compression plugins send response content to a compression server
-that compresses the data (alternatively, a compression library local
-to the Traffic Server host machine could do the compression).
-.It
-Authorization plugins check a user's permissions to access particular
-web sites. The plugin could consult a local authorization program
-or send queries to an authorization server.
-.It
-A plugin that gathers client information from request headers and
-enters this information in a database.
-.It
-A protocol plugin listen for specific protocol requests on a
-designated port and then uses Traffic Server's proxy server & cache
-to serve client requests.
-.El
-.Sh NAMING CONVENTIONS
-The Traffic Server API adheres to the following naming conventions:
-.Bl -bullet
-.It
-The TS prefix is used for all function and variable names defined
-in the Traffic Server API.
-For example,
-.Ft TS_EVENT_NONE ,
-.Ft TSMutex ,
-and
-.Ft TSContCreate .
-.It
-Enumerated values are always written in all uppercase letters.
-For example,
-.Ft TS_EVENT_NONE
-and
-.Ft TS_VC_CLOSE_ABORT .
-.It
-Constant values are all uppercase; enumerated values can be seen
-as a subset of constants.
-For example,
-.Ft TS_URL_SCHEME_FILE
-and
-.Ft TS_MIME_FIELD_ACCEPT .
-.It
-The names of defined types are mixed-case.
-For example,
-.Ft TSHttpSsn
-and
-.Ft TSHttpTxn .
-.It
-Function names are mixed-case.
-For example,
-.Fn TSUrlCreate
-and
-.Fn TSContDestroy .
-.It
-Function names use the following subject-verb naming style:
-TS-<subject>-<verb>, where <subject> goes from general to specific.
-This makes it easier to determine what a function does by reading
-its name. For example, the function to retrieve the password field
-(the specific subject) from a URL (the general subject) is
-.Fn TSUrlPasswordGet .
-.It
-Common verbs like Create, Destroy, Get, Set, Copy, Find, Retrieve,
-Insert, Remove, and Delete are used only when appropriate.
-.El
-.Sh PLUGIN LOADING AND CONFIGURATION
-When Traffic Server is first started, it consults the plugin.config
-file to determine the names of all shared plugin libraries that
-need to be loaded. The plugin.config file also defines arguments
-that are to be passed to each plugin's initialization function,
-.Fn TSPluginInit .
-The records.config file defines the path to each
-plugin shared library.
-.Pp
-The sample plugin.config file below contains a comment line, a blank
-line, and two plugin configurations:
-.Pp
-.nf
-    # This is a comment line.
-    my-plugin.so www.junk.com www.trash.com www.garbage.com
-    some-plugin.so arg1 arg2 $proxy.config.http.cache.on
-.fn
-.Pp
-Each plugin configuration in the plugin.config file resembles a
-UNIX or DOS shell command; each line in plugin.config cannot exceed
-1023 characters.
-.Pp
-The first plugin configuration is for a plugin named my-plugin.so.
-It contains three arguments that are to be passed to that plugin's
-initialization routine. The second configuration is for a plugin
-named some-plugin.so; it contains three arguments. The last argument,
-$proxy.config.http.cache.on, is actually a configuration variable.
-Traffic Server will look up the specified configuration variable
-and substitute its value.
-.Pp
-Plugins are loaded and initialized by Traffic Server in the order
-they appear in the plugin.config file.
-.Sh PLUGIN INITIALIZATION
-Each plugin must define an initialization function named
-.Fn TSPluginInit
-that Traffic Server invokes when the plugin is loaded.
-.Fn TSPluginInit
-is commonly used to read configuration information and
-register hooks for event notification.
-.Sh FILES
-.Pa <CONFIG_DIR>/plugin.config ,
-.Pa <CONFIG_DIR>/records.config
-.Sh SEE ALSO
-.Xr TSPluginInit 3ts
-.\" vim: set ts=4 sw=4 et :

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/46bb782f/doc/sdk/TSDebug.3
----------------------------------------------------------------------
diff --git a/doc/sdk/TSDebug.3 b/doc/sdk/TSDebug.3
deleted file mode 100644
index bef7853..0000000
--- a/doc/sdk/TSDebug.3
+++ /dev/null
@@ -1,145 +0,0 @@
-.\"  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. .\"
-.Dd October 19, 2012
-.Dt TSDebug 3ts TSAPI
-.Sh NAME
-
-.Nm TSDebug,
-.Nm TSError,
-.Nm TSIsDebugTagSet,
-.Nm TSDebugSpecific,
-.Nm TSHttpTxnDebugSet,
-.Nm TSHttpSsnDebugSet,
-.Nm TSHttpTxnDebugGet,
-.Nm TSHttpSsnDebugGet,
-.Nm TSAssert,
-.Nm TSReleaseAssert
-.Nd Traffic Server debugging APIs
-.Sh LIBRARY
-Apache Traffic Server plugin API
-.Sh SYNOPSIS
-.In ts/ts.h
-
-.Ft void
-.Fo TSDebug
-.Fa "const char * tag"
-.Fa "const char * format"
-.Fa ...
-.Fc
-
-.Ft void
-.Fo TSError
-.Fa "const char * tag"
-.Fa "const char * format"
-.Fa ...
-.Fc
-
-.Ft int
-.Fo TSIsDebugTagSet
-.Fa "const char * tag"
-.Fc
-
-.Ft void
-.Fo TSDebugSpecific
-.Fa "int debug_flag"
-.Fa "const char * tag"
-.Fa "const char * format"
-.Fa ...
-.Fc
-
-.Ft void
-.Fo TSHttpTxnDebugSet
-.Fa "TSHttpTxn txnp"
-.Fa "int on"
-.Fc
-
-.Ft void
-.Fo TSHttpSsnDebugSet
-.Fa "TSHttpSsn ssn"
-.Fa "int on"
-.Fc
-
-.Ft int
-.Fo TSHttpTxnDebugGet
-.Fa "TSHttpTxn txnp"
-.Fc
-
-.Ft int
-.Fo TSHttpSsnDebugGet
-.Fa "TSHttpSsn ssn"
-.Fc
-
-.Ft void
-.Fo TSAssert
-.Fa expr
-.Fc
-
-.Ft void
-.Fo TSReleaseAssert
-.Fa expr
-.Fc
-
-.Sh DESCRIPTION
-
-.Fn TSError
-is similar to
-.Fn printf
-except that instead of writing the output to the C standard output,
-it writes output to the Traffic Server error log.
-
-.Pp
-.Fn TSDebug
-is the same as
-.Fn TSError
-except that it only logs the debug message if the given debug tag
-is enabled. It writes output to the Traffic Server debug log.
-
-.Pp
-.Fn TSIsDebugSet
-returns non-zero if the given debug tag is enabled.
-
-.Pp
-In debug mode,
-.Fn TSAssert
-Traffic Server to prints the file name, line number and expression,
-and then aborts. In release mode, the expression is not removed but
-the effects of printing an error message and aborting are.
-.Fn TSReleaseAssert
-prints an error message and aborts in both release and debug mode.
-
-.Pp
-.Fn TSDebugSpecific
-emits a debug line even if the debug tag is turned off, as long as
-debug flag is enabled. This can be used in conjuction with
-.Fn TSHttpTxnDebugSet ,
-.Fn TSHttpSsnDebugSet ,
-.Fn TSHttpTxnDebugGet ,
-and
-.Fn TSHttpSsnDebugGet
-to enable debugging on specific session and transaction objects.
-
-.Sh EXAMPLES
-.nf
-#include <ts/ts.h>
-
-// Emit debug message if "tag" is enabled or the txn debug flag is set.
-TSDebugSpecifc(TSHttpTxnDebugGet(txn), "tag" ,
-        "Hello World from transaction %p", txn);
-
-.fi
-.Sh SEE ALSO
-.Xr TSAPI 3ts
-.\" vim: set ts=4 sw=4 et :

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/46bb782f/doc/sdk/TSHttpHookAdd.3
----------------------------------------------------------------------
diff --git a/doc/sdk/TSHttpHookAdd.3 b/doc/sdk/TSHttpHookAdd.3
deleted file mode 100644
index fbb89b3..0000000
--- a/doc/sdk/TSHttpHookAdd.3
+++ /dev/null
@@ -1,150 +0,0 @@
-.\"  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 .\"
-.Dd December 11, 2012
-.Dt TSHttpHookAdd 3ts TSAPI
-.Sh NAME
-.Nm TSHttpHookAdd,
-.Nm TSHttpSsnHookAdd,
-.Nm TSHttpTxnHookAdd
-.Nd intercept Traffic Server events
-.Sh LIBRARY
-Apache Traffic Server plugin API
-.Sh SYNOPSIS
-.In ts/ts.h
-.Ft "void"
-.Fo TSHttpHookAdd
-.Fa "TSHttpHookID id"
-.Fa "TSCont contp"
-.Fc
-.Ft "void"
-.Fo TSHttpSsnHookAdd
-.Fa "TSHttpSsn ssnp"
-.Fa "TSHttpHookID id"
-.Fa "TSCont contp"
-.Fc
-.Ft "void"
-.Fo TSHttpTxnHookAdd
-.Fa "TSHttpTxn txnp"
-.Fa "TSHttpHookID id"
-.Fa "TSCont contp"
-.Fc
-.Sh DESCRIPTION
-.Pp
-Hooks are points in Traffic Server transaction processing where plugins
-can step in and do some work. Registering a plugin function for
-callback amounts to adding the function to a hook. You can register
-your plugin to be called back for every single transaction, or for
-specific transactions only.
-.Pp
-HTTP transaction hooks are set on a global basis using the function
-.Fn TSHttpHookAdd .
-This means that the continuation specified as the parameter to
-.Fn TSHttpHookAdd
-is called for every transaction.
-.Fn TSHttpHookAdd
-is typically called from
-.Fn TSPluginInit
-or
-.Fn TSRemapInit .
-.Pp
-A session consists of a single client connection to Traffic Server.
-A session can consist of several transactions in succession. The
-session starts when the client connection opens, and ends when the
-connection closes.
-.Fn TSHttpSsnHookAdd
-adds
-.Fa contp
-to the end of the list of HTTP transaction hooks specified by
-.Fa id .
-This means that
-.Fa contp
-is called back for every transaction within the session, at the
-point specified by the hook ID. Since
-.Fa contp
-is added to a session, it is not possible to call
-.Fn TSHttpSsnHookAdd
-from the plugin initialization routine; the plugin needs a handle
-to an HTTP session.
-
-.Pp
-A transaction consists of a single HTTP request from a client and
-the response that Traffic Server sends to that client. A transaction
-begins when Traffic Server receives a request, and ends when Traffic
-Server sends the response.
-.Fn TSHttpTxnHookAdd
-adds
-.Fa contp
-to the end of the list of HTTP transaction hooks specified by
-.Fa id .
-Since
-.Fa contp
-is added to a transaction, it is not possible to call
-.Fn TSHttpTxnHookAdd
-from the plugin initialization routine but only when the plugin has
-a handle to an HTTP transaction.
-
-.Sh RETURN VALUES
-None. Adding hooks is always successful.
-.Sh EXAMPLES
-.nf
-#include <ts/ts.h>
-
-static void
-txn_handler (TSHttpTxn txnp, TSCont contp)
-{
-    //handle transaction
-}
-
-static void
-handle_session (TSHttpSsn ssnp, TSCont contp)
-{
-    TSHttpSsnHookAdd (ssnp, TS_HTTP_TXN_START_HOOK, contp);
-}
-
-static int
-ssn_handler (TSCont contp, TSEvent event, void *edata)
-{
-    TSHttpSsn ssnp;
-    TSHttpTxn txnp;
-
-    switch (event){
-    case TS_EVENT_HTTP_SSN_START:
-       ssnp = (TSHttpSsn) edata;
-       handle_session (ssnp, contp);
-       TSHttpSsnReenable (ssnp, TS_EVENT_HTTP_CONTINUE);
-       return 0;
-    case TS_EVENT_HTTP_TXN_START:
-       txnp = (TSHttpTxn) edata;
-       txn_handler (txnp, contp);
-       TSHttpTxnReenable (txnp, TS_EVENT_HTTP_CONTINUE);
-       return 0;
-    default:
-         break;
-    }
-
-    return 0;
-}
-
-void
-TSPluginInit (int argc, const char *argv[])
-{
-    TSCont contp;
-    contp = TSContCreate (ssn_handler, NULL);
-    TSHttpHookAdd (TS_HTTP_SSN_START_HOOK, contp);
-}
-.fi
-.Sh SEE ALSO
-.Xr TSAPI 3ts ,
-.Xr TSContCreate 3ts

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/46bb782f/doc/sdk/TSHttpParserCreate.3
----------------------------------------------------------------------
diff --git a/doc/sdk/TSHttpParserCreate.3 b/doc/sdk/TSHttpParserCreate.3
deleted file mode 100644
index f517045..0000000
--- a/doc/sdk/TSHttpParserCreate.3
+++ /dev/null
@@ -1,128 +0,0 @@
-.\"  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 .\"
-.Dd February 14, 2013
-.Dt TSHttpParserCreate 3ts TSAPI
-.Sh NAME
-.Nm TSHttpParserCreate,
-.Nm TSHttpHdrParseReq,
-.Nm TSHttpHdrParseResp,
-.Nm TSHttpParserClear,
-.Nm TSHttpParserDestroy
-.Nd Parse HTTP headers from memory buffers
-.Sh LIBRARY
-Apache Traffic Server plugin API
-.Sh SYNOPSIS
-.In ts/ts.h
-.Ft "TSHttpParser"
-.Fo TSHttpParserCreate
-.Fa "void"
-.Fc
-.Ft "TSParseResult"
-.Fo TSHttpHdrParseReq
-.Fa "TSHttpParser parser"
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "const char** start"
-.Fa "const char* end"
-.Fc
-.Ft "TSParseResult"
-.Fo TSHttpHdrParseResp
-.Fa "TSHttpParser parser"
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "const char** start"
-.Fa "const char* end"
-.Fc
-.Ft "void"
-.Fo TSHttpParserClear
-.Fa "TSHttpParser parser"
-.Fc
-.Ft "void"
-.Fo TSHttpParserDestroy
-.Fa "TSHttpParser parser"
-.Fc
-.Sh DESCRIPTION
-.Fn TSHttpParserCreate
-creates an HTTP parser object. The parser's data structure contains
-information about the header being parsed. A single HTTP parser can
-be used multiple times, though not simultaneously. Before being
-used again, the parser must be cleared by calling
-.Fn TSHttpParserClear .
-
-.Pp
-.Fn TSHttpHdrParseReq
-parses an HTTP request header. The HTTP header
-.Fa offset
-must already be created, and must reside inside the marshal buffer
-.Fa bufp .
-The
-.Fa start
-argument points to the current position of the string
-buffer being parsed and the
-.Fa end
-argument points to one byte after the end of the buffer to be parsed.
-On return,
-.Fa start
-is modified to point past the last character parsed.
-.Pp
-It is possible to parse an HTTP request header a single byte at a
-time using repeated calls to TSHttpHdrParseReq. As long as an error
-does not occur, the TSHttpHdrParseReq function will consume that
-single byte and ask for more.
-.Fn TSHttpHdrParseReq
-should be called after
-.Fa TS_HTTP_READ_REQUEST_HDR_HOOK .
-
-.Pp
-.Fn TSHttpHdrParseResp
-operates in the same manner as
-.Fn TSHttpHdrParseReq
-except it parses an HTTP response header. It should be called after
-.Fa TS_HTTP_READ_RESPONSE_HDR_HOOK .
-
-.Pp
-.Fn TSHttpParserDestroy
-clears the specified HTTP parser so it may be used again.
-.Pp
-.Fn TSHttpParserDestroy
-destroys the TSHttpParser object pointed to by
-.Fa parser .
-The 
-.Fa parser
-pointer must not be NULL.
-.Fn 
-.Sh RETURN VALUES
-.Fn TSHttpHdrParseReq
-and
-.Fn TSHttpHdrParseResp
-both return a TSParseResult value.
-.Fa TS_PARSE_ERROR
-is returned on error,
-.Fa TS_PARSE_CONT 
-is returned if parsing of the header stopped because the end of the buffer was
-reached, and
-.Fa TS_PARSE_DONE
-or
-.Fa TS_PARSE_OK
-when a \\r\\n\\r\\n pattern is encountered, indicating the end of the header.
-.Sh BUGS
-The distinction between the
-.Fa TS_PARSE_DONE
-and
-.Fa TS_PARSE_OK
-is not well-defined. Plugins should expect both status codes and treat them
-equivalently.
-.Sh SEE ALSO
-.Xr TSAPI 3ts

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/46bb782f/doc/sdk/TSHttpTxnMilestoneGet.3
----------------------------------------------------------------------
diff --git a/doc/sdk/TSHttpTxnMilestoneGet.3 b/doc/sdk/TSHttpTxnMilestoneGet.3
deleted file mode 100644
index c97e798..0000000
--- a/doc/sdk/TSHttpTxnMilestoneGet.3
+++ /dev/null
@@ -1,68 +0,0 @@
-.\"  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 .\"
-.Dd February 25, 2013
-.Dt TSHttpTxnMilestoneGet 3ts TSAPI
-.Sh NAME
-.Nm TSHttpTxnMilestoneGet
-.Nd Get a specified milestone timer value for the current transaction.
-.Sh LIBRARY
-Apache Traffic Server plugin API
-.Sh SYNOPSIS
-.In ts/ts.h
-.Ft "TSReturnCode"
-.Fo TSHttpTxnMilestoneGet
-.Fa "TSHttpTxn txnp"
-.Fa "TSMilestonesType milestone"
-.Fa "TSHRTime *time"
-.Fc
-.Sh DESCRIPTION
-The TSHttpTxnMilestoneGet API will fetch a specific milestone timer value
-for the current request (txnp). These timers are calculated during the lifetime
-of a transaction, and are all in TSHRTime (nanosecons), meassured from the
-beginning of the transaction. The time argument is a pointer to a valid
-TSHRtime storage, and is set upon success.
-.Pp
-The supported TSMilestonesType milestone types are
-.Pp
-.Bl -tag -width "TS_MILESTONE_SERVER_READ_HEADER_DONE" -compact -offset indent
-.It TS_MILESTONE_UA_BEGIN
-.It TS_MILESTONE_UA_READ_HEADER_DONE
-.It TS_MILESTONE_UA_BEGIN_WRITE
-.It TS_MILESTONE_UA_CLOSE
-.It TS_MILESTONE_SERVER_FIRST_CONNECT
-.It TS_MILESTONE_SERVER_CONNECT
-.It TS_MILESTONE_SERVER_CONNECT_END
-.It TS_MILESTONE_SERVER_BEGIN_WRITE
-.It TS_MILESTONE_SERVER_FIRST_READ
-.It TS_MILESTONE_SERVER_READ_HEADER_DONE
-.It TS_MILESTONE_SERVER_CLOSE
-.It TS_MILESTONE_CACHE_OPEN_READ_BEGIN
-.It TS_MILESTONE_CACHE_OPEN_READ_END
-.It TS_MILESTONE_CACHE_OPEN_WRITE_BEGIN
-.It TS_MILESTONE_CACHE_OPEN_WRITE_END
-.It TS_MILESTONE_DNS_LOOKUP_BEGIN
-.It TS_MILESTONE_DNS_LOOKUP_END
-.It TS_MILESTONE_SM_START
-.It TS_MILESTONE_SM_FINISH
-.It TS_MILESTONE_LAST_ENTRY
-.El
-.Sh RETURN VALUES
-Success or error.
-.Sh EXAMPLES
-.nf
-#include <ts/ts.h>
-.fi
-.Sh SEE ALSO
-.Xr TSAPI 3ts

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/46bb782f/doc/sdk/TSIOBufferCreate.3
----------------------------------------------------------------------
diff --git a/doc/sdk/TSIOBufferCreate.3 b/doc/sdk/TSIOBufferCreate.3
deleted file mode 100644
index cee3243..0000000
--- a/doc/sdk/TSIOBufferCreate.3
+++ /dev/null
@@ -1,134 +0,0 @@
-.\"  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 .\"
-.Dd January 25, 2013
-.Dt TSIOBufferCreate 3ts TSAPI
-.Sh NAME
-.Nm TSIOBufferCreate,
-.Nm TSIOBufferSizedCreate,
-.Nm TSIOBufferDestroy,
-.Nm TSIOBufferWrite,
-.Nm TSIOBufferProduce,
-.Nm TSIOBufferWaterMarkGet,
-.Nm TSIOBufferWaterMarkSet
-.Nd Traffic Server IO Buffer API
-.Sh LIBRARY
-Apache Traffic Server plugin API
-.Sh SYNOPSIS
-.In ts/ts.h
-.Ft "TSIOBuffer"
-.Fo TSIOBufferCreate
-.Fa "void"
-.Fc
-.Ft "TSIOBuffer"
-.Fo TSIOBufferSizedCreate
-.Fa "TSIOBufferSizeIndex index"
-.Fc
-.Ft "void"
-.Fo TSIOBufferDestroy
-.Fa "TSIOBuffer bufp"
-.Fc
-.Ft "int64_t"
-.Fo TSIOBufferWrite
-.Fa "TSIOBuffer bufp"
-.Fa "const void* buf"
-.Fa "int64_t length"
-.Fc
-.Ft "void"
-.Fo TSIOBufferProduce
-.Fa "TSIOBuffer bufp"
-.Fa "int64_t nbytes"
-.Fc
-.Ft "int64_t"
-.Fo TSIOBufferWaterMarkGet
-.Fa "TSIOBuffer bufp"
-.Fc
-.Ft "void"
-.Fo TSIOBufferWaterMarkSet
-.Fa "TSIOBuffer bufp"
-.Fa "int64_t water_mark"
-.Fc
-.Sh DESCRIPTION
-.Pp
-The TSIOBuffer data structure is the building block of the TSVConn
-abstraction. An IO buffer is composed of a list of buffer blocks
-which are reference counted so that they can reside in multiple
-buffers at the same time. This makes it extremely efficient to copy
-data from one IO buffer to another using TSIOBufferCopy since Traffic
-Server only needs to copy pointers and adjust reference counts
-appropriately and not actually copy any data; however applications
-should still strive to ensure data blocks are a reasonable size.
-.Pp
-The IO buffer abstraction provides for a single writer and multiple
-readers. In order for the readers to have no knowledge of each
-other, they manipulate IO buffers through the TSIOBufferReader
-data structure. Since only a single writer is allowed, there is no
-corresponding TSIOBufferWriter data structure. The writer simply
-modifies the IO buffer directly.
-.Pp
-.Fn TSIOBufferCreate
-creates an empty TSIOBuffer.
-.Pp
-.Fn TSIOBufferSizedCreate
-creates an empty TSIOBuffer with an initial capacity of
-.Fa index
-bytes.
-.Pp
-.Fn TSIOBufferDestroy
-destroys the IO buffer
-.Fa bufp .
-Since multiple IO buffers can share data, this does not necessarily free
-all of the data associated with the IO buffer but simply decrements
-the appropriate reference counts.
-.Pp
-.Fn TSIOBufferWrite
-appends
-.Fa length
-bytes
-from the buffer
-.Fa buf
-to the IO buffer
-.Fa bufp
-and returns the number of bytes successfully written into the IO buffer.
-.Pp
-.Fn TSIOBufferProduce
-makes
-.Fa nbytes
-of data available for reading in the IO buffer
-.Fa bufp .
-A common pattern for writing to an IO buffer is to copy data into
-a buffer block and then call INKIOBufferProduce to make the new
-data visible to any readers.
-.Pp
-The watermark of an TSIOBuffer is the minimum number of bytes of
-data that have to be in the buffer before calling back any continuation
-that has initiated a read operation on this buffer.  As a writer
-feeds data into the TSIOBuffer, no readers are called back until
-the amount of data reaches the watermark. Setting a watermark can
-improve performance because it avoids frequent callbacks to read
-small amounts of data.
-.Pp
-.Fn TSIOBufferWaterMarkGet
-gets the current watermark for the IO buffer
-.Fa bufp .
-.Pp
-.Fn TSIOBufferWaterMarkSet
-gets the current watermark for the IO buffer
-.Fa bufp
-to
-.Fa water_mark
-bytes.
-.Sh SEE ALSO
-.Xr TSAPI 3ts ,
-.Xr TSIOBufferReaderAlloc 3ts

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/46bb782f/doc/sdk/TSInstallDirGet.3
----------------------------------------------------------------------
diff --git a/doc/sdk/TSInstallDirGet.3 b/doc/sdk/TSInstallDirGet.3
deleted file mode 100644
index 9ebcbf0..0000000
--- a/doc/sdk/TSInstallDirGet.3
+++ /dev/null
@@ -1,60 +0,0 @@
-.\"  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 .\"
-.Dd November 23, 2012
-.Dt TSInstallDirGet 3ts TSAPI
-.Sh NAME
-.Nm TSInstallDirGet,
-.Nm TSConfigDirGet,
-.Nm TSPluginDirGet
-.Nd Return Traffic Server installation directories
-.Sh LIBRARY
-Apache Traffic Server plugin API
-.Sh SYNOPSIS
-.In ts/ts.h
-.Ft "const char*"
-.Fo TSInstallDirGet
-.Fa "void"
-.Fc
-.Ft "const char*"
-.Fo TSConfigDirGet
-.Fa "void"
-.Fc
-.Ft "const char*"
-.Fo TSPluginDirGet
-.Fa "void"
-.Fc
-.Sh DESCRIPTION
-.Fn TSInstallDirGet
-returns the path to the root of the Traffic Server installation.
-.Fn TSConfigDirGet
-and
-.Fn TSPluginDirGet
-return the complete, absolute path to the configuration directory
-and the plugin installation directory respectively.
-.Sh RETURN VALUES
-These functions all return a NUL-terminated string that must not be modified or
-freed.
-.Sh EXAMPLES
-To load a file that is located in the Traffic Server configuration directory:
-.Pp
-.nf
-#include <ts/ts.h>
-#include <stdio.h>
-
-char * path;
-asprintf(&path, "%s/example.conf", TSConfigDirGet());
-.fi
-.Sh SEE ALSO
-.Xr TSAPI 3ts

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/46bb782f/doc/sdk/TSMBufferCreate.3
----------------------------------------------------------------------
diff --git a/doc/sdk/TSMBufferCreate.3 b/doc/sdk/TSMBufferCreate.3
deleted file mode 100644
index 0d2a0c7..0000000
--- a/doc/sdk/TSMBufferCreate.3
+++ /dev/null
@@ -1,110 +0,0 @@
-.\"  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 .\"
-.Dd October 25, 2012
-.Dt TSMBufferCreate 3ts TSAPI
-.Sh NAME
-.Nm TSMBufferCreate,
-.Nm TSMBufferDestroy,
-.Nm TSHandleMLocRelease
-.Nd Traffic Server marshall buffers
-.Sh LIBRARY
-Apache Traffic Server plugin API
-.Sh SYNOPSIS
-.In ts/ts.h
-.Ft "TSMBuffer"
-.Fo TSMBufferCreate
-.Fa "void"
-.Fc
-.Ft "TSReturnCode"
-.Fo TSMBufferDestroy
-.Fa "TSMBuffer bufp"
-.Fc
-.Ft "TSReturnCode"
-.Fo TSHandleMLocRelease
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc parent"
-.Fa "TSMLoc mloc"
-.Fc
-.Sh DESCRIPTION
-The marshal buffer or TSMBuffer is a heap data structure that
-stores parsed URLs, MIME headers and HTTP headers. You can allocate
-new objects out of marshal buffers, and change the values within
-the marshal buffer. Whenever you manipulate an object, you require
-the handle to the object (TSMLoc) and the marshal buffer containing
-the object (TSMBuffer).
-.Pp
-Any marshal buffer fetched by
-.Fn TSHttpTxn*Get
-will be used by other parts of the system. Be careful not to destroy these shared, transaction marshal buffers.
-
-.Fn TSMBufferCreate
-creates a new marshal buffer and initializes the reference count.
-.Fn TSMBufferDestroy
-Ignores the reference count and destroys the marshal buffer
-.Fa bufp .
-The internal data buffer associated with the marshal buffer is also
-destroyed if the marshal buffer allocated it.
-
-.Fn TSHandleMLocRelease
-Releases the TSMLoc
-.Fa mloc
-created from the TSMLoc
-.Fa parent .
-If a TSMLoc is obtained from a transaction, it does not have a parent
-TSMLoc. Use the the constant
-.Fa TS_NULL_MLOC
-as its parent.
-
-.Sh RETURN VALUES
-.Fn TSMBufferDestroy
-and 
-.Fn TSHandleMLocRelease 
-return
-.Fa TS_SUCCESS
-on success, or
-.Fa TS_ERROR
-on failure.
-.Fn TSMBufferCreate
-returns the new TSMBuffer.
-
-.Sh EXAMPLES
-.nf
-#include <ts/ts.h>
-
-static void
-copyResponseMimeHdr (TSCont pCont, TSHttpTxn pTxn)
-{
-  TSMBuffer respHdrBuf, tmpBuf;
-  TSMLoc respHttpHdrLoc, tmpMimeHdrLoc;
-
-  if (!TSHttpTxnClientRespGet(pTxn, &respHdrBuf, &respHttpHdrLoc)) {
-    TSError("couldn't retrieve client response header\n");
-    TSHandleMLocRelease(respHdrBuf, TS_NULL_MLOC, respHttpHdrLoc);
-    goto done;
-  }
-
-  tmpBuf = TSMBufferCreate();
-  tmpMimeHdrLoc = TSMimeHdrCreate(tmpBuf);
-  TSMimeHdrCopy(tmpBuf, tmpMimeHdrLoc, respHdrBuf, respHttpHdrLoc);
-  TSHandleMLocRelease(tmpBuf, TS_NULL_MLOC, tmpMimeHdrLoc);
-  TSHandleMLocRelease(respHdrBuf, TS_NULL_MLOC, respHttpHdrLoc);
-  TSMBufferDestroy(tmpBuf);
-
-done:
-  TSHttpTxnReenable(pTxn, TS_EVENT_HTTP_CONTINUE);
-}
-.fi
-.Sh SEE ALSO
-.Xr TSAPI 3ts

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/46bb782f/doc/sdk/TSMalloc.3
----------------------------------------------------------------------
diff --git a/doc/sdk/TSMalloc.3 b/doc/sdk/TSMalloc.3
deleted file mode 100644
index 51b7e20..0000000
--- a/doc/sdk/TSMalloc.3
+++ /dev/null
@@ -1,153 +0,0 @@
-.\"  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. .\"
-.Dd October 19, 2012
-.Dt TSMalloc 3ts TSAPI
-.Sh NAME
-
-.Nm TSMalloc,
-.Nm TSrealloc,
-.Nm TSstrdup,
-.Nm TSstrndup,
-.Nm TSstrlcpy,
-.Nm TSstrlcat,
-.Nm TSfree
-.Nd TrafficServer memory allocation APIs
-.Sh LIBRARY
-Apache Traffic Server plugin API
-.Sh SYNOPSIS
-.In ts/ts.h
-
-.Ft "void *"
-.Fo TSmalloc
-.Fa "size_t size"
-.Fa "const char * path"
-.Fc
-
-.Ft "void *"
-.Fo TSrealloc
-.Fa "void * ptr"
-.Fa "size_t size"
-.Fa "const char * path"
-.Fc
-
-.Ft "char *"
-.Fo TSstrdup
-.Fa "const char * str"
-.Fa "int64_t length"
-.Fa "const char * path"
-.Fc
-
-.Ft size_t
-.Fo TSstrlcpy
-.Fa "char * dst"
-.Fa "const char * src"
-.Fa "size_t size"
-.Fc
-
-.Ft size_t
-.Fo TSstrlcat
-.Fa "char * dst"
-.Fa "const char * src"
-.Fa "size_t size"
-.Fc
-
-.Ft void
-.Fo TSfree
-.Fa "void * ptr"
-.Fc
-
-.Sh DESCRIPTION
-Traffic Server provides a number of routines for allocating and freeing
-memory. These routines correspond to similar routines in the C
-library. For example, 
-.Fn TSrealloc
-behaves like the C library routine
-.Fn realloc .
-There are two reasons to use the routines provided by
-Traffic Server. The first is portability. The Traffic Server API routines
-behave the same on all of Traffic Server’s supported platforms. For
-example,
-.Fn realloc
-does not accept an argument of NULL on some
-platforms. The second reason is that the Traffic Server routines
-actually track the memory allocations by file and line number. This
-tracking is very efficient, is always turned on, and is useful for
-tracking down memory leaks.
-
-.Fn TSmalloc
-returns a pointer to
-.Fa size
-bytes of memory allocated from the heap. Traffic Server uses 
-.Fn TSmalloc
-internally for memory allocations.
-Always use 
-.Fn TSfree
-to release memory allocated by 
-.Fn TSmalloc ; do not
-use
-.Fn free .
-
-.Fn TSstrdup
-returns a pointer to a new string that is a duplicate of the string
-pointed to by
-.Fa str .
-The memory for the new string is allocated using
-.Fn TSMalloc
-and should be freed by a call to
-.Fn TSfree .
-
-.Fn TSstrndup
-returns a pointer to a new string that is a duplicate of the string
-pointed to by
-.Fa str
-and
-.Fa length
-bytes long. The new string will be
-NULL-terminated. This API is very useful for transforming non NULL-terminated string values returned by APIs such as
-.Fn TSMimeHdrFieldStringValueGet
-into NULL-terminated string values. The memory for the new string is allocated using
-.Fn TSmalloc and
-should be freed by a call to
-.Fn TSfree .
-
-.Fn TSstrlcpy
-copies up to
-.Fa size
-- 1 characters from the NULL-terminated string
-.Fa src
-to
-.Fa dst ,
-NULL-terminating the result.
-
-.Fn TSstrlcat
-appends the NULL-terminated string src to the end of dst. It will append at most
-.Fa size
-- strlen(dst) - 1 bytes, NULL-terminating the result.
-
-.Fn TSfree
-releases the memory allocated by
-.Fn Tsmalloc
-or
-.Fn TSrealloc .
-If
-.Fa ptr
-is NULL,
-.Fn TSfree
-does no operation.
-
-.Sh SEE ALSO
-.Xr TSAPI 3ts
-.\" vim: set ts=4 sw=4 et :

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/46bb782f/doc/sdk/TSPluginInit.3
----------------------------------------------------------------------
diff --git a/doc/sdk/TSPluginInit.3 b/doc/sdk/TSPluginInit.3
deleted file mode 100644
index a040c8a..0000000
--- a/doc/sdk/TSPluginInit.3
+++ /dev/null
@@ -1,86 +0,0 @@
-.\"  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 .\"
-.Dd October 25, 2012
-.Dt TSPluginInit 3ts TSAPI
-.Sh NAME
-.Nm TSPluginInit,
-.Nm TSPluginRegister,
-.Nd Traffic Server plugin loading and registration
-.Sh LIBRARY
-Apache Traffic Server plugin API
-.Sh SYNOPSIS
-.In ts/ts.h
-.Ft void
-.Fo TSPluginInit
-.Fa "int argc"
-.Fa "const char* argv[]"
-.Fc
-.Ft TSReturnCode
-.Fo TSPluginRegister
-.Fa "TSSDKVersion sdk_version"
-.Fa "TSPluginRegistrationInfo* plugin_info"
-.Fc
-.Sh DESCRIPTION
-
-.Fn TSPluginInit
-must be defined by all plugins. Traffic Server calls this initialization routine
-when it loads the plugin and sets
-.Fa argc
-and
-.Fa argv
-appropriately based on the values in plugin.config.
-.Fa argc
-is a count of the number of arguments in the argument vector,
-.Fa argv .
-The count is at least one because the first argument in the argument vector is the plugin’s name, which must exist in order for the plugin to be loaded.
-.Fa argv
-is the vector of arguments. The number of arguments in the vector is
-.Fa argc ,
-and
-.Fa argv[0]
-always contains the name of the plugin shared library.
-
-.Fn TSPluginRegister
-registers the appropriate SDK version for your plugin. Use this function to
-make sure that the version of Traffic Server on which your plugin is running
-supports the plugin.
-
-.Sh RETURN VALUES
-.Fn TSPluginRegister
-returns
-.Fa TS_ERROR
-if the plugin registration failed.
-
-.Sh EXAMPLES
-.nf
-#include <ts/ts.h>
-
-void
-TSPluginInit (int argc, const char *argv[])
-{
-      TSPluginRegistrationInfo info;
-
-      info.plugin_name = "hello-world";
-      info.vendor_name = "MyCompany";
-      info.support_email = "ts-api-support@MyCompany.com";
-
-      if (TSPluginRegister (TS_SDK_VERSION_2_0 , &info) != TS_SUCCESS) {
-         TSError ("Plugin registration failed. \n");
-      }
-}
-.fi
-.Sh SEE ALSO
-.Xr TSAPI 3ts ,
-.Xr TSInstallDirGet 3ts

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/46bb782f/doc/sdk/TSRemap.3
----------------------------------------------------------------------
diff --git a/doc/sdk/TSRemap.3 b/doc/sdk/TSRemap.3
deleted file mode 100644
index db0e329..0000000
--- a/doc/sdk/TSRemap.3
+++ /dev/null
@@ -1,131 +0,0 @@
-.\"  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 .\"
-.Dd October 30, 2012
-.Dt TSRemapInit 3ts TSAPI
-.Sh NAME
-.Nm TSRemapInit,
-.Nm TSRemapDone,
-.Nm TSRemapDoRemap,
-.Nm TSRemapNewInstance,
-.Nm TSRemapDeleteInstance,
-.Nm TSRemapOSResponse
-.Nd remap plugin entry points
-.Sh LIBRARY
-Apache Traffic Server remap plugin API
-.Sh SYNOPSIS
-.In ts/ts.h
-.In ts/remap.h
-.Ft "TSReturnCode"
-.Fo TSRemapInit
-.Fa "TSRemapInterface* api_info"
-.Fa "char* errbuf"
-.Fa "int errbuf_size"
-.Fc
-.Ft "void"
-.Fo TSRemapDone
-.Fa "void"
-.Fc
-.Ft "TSRemapStatus"
-.Fo TSRemapDoRemap
-.Fa "void* ih"
-.Fa "TSHttpTxn rh"
-.Fa "TSRemapRequestInfo* rri"
-.Fc
-.Ft "TSReturnCode"
-.Fo TSRemapNewInstance
-.Fa "int argc"
-.Fa "char* argv[]"
-.Fa "void** ih"
-.Fa "char* errbuf"
-.Fa "int errbuf_size"
-.Fc
-.Ft "void"
-.Fo TSRemapDeleteInstance
-.Fa "void*"
-.Fc
-.Ft "void"
-.Fo TSRemapOSResponse
-.Fa "void* ih"
-.Fa "TSHttpTxn rh"
-.Fa "int os_response_type"
-.Fc
-.Sh DESCRIPTION
-The Traffic Server remap interface provides a simplified mechanism
-for plugins to manipulate HTTP transactions. A remap plugin is not
-global; it is configured on a per-remap rule basis, which enables
-you to customize how URLs are redirected based on individual rules
-in the remap.config file. Writing a remap plugin consists of implementing one
-or more of the remap entry points and configuring the remap.config
-configuration file to route the transaction through your plugin. Multiple
-remap plugins can be specified for a single remap rule, resulting in a remap
-plugin chain where each pligin is given an opportunity to examine the HTTP
-transaction.
-.Pp
-.Fn TSRemapInit
-is a required entry point. This function will be called once when Traffic
-Server loads the plugin. If the optional
-.Fn TSRemapDone
-entry point is available, Traffic Server will call then when unloading the
-remap plugin.
-.Pp
-A remap plugin may be invoked for different remap rules. Traffic Server will
-call the
-.fn TSRemapNewInstance
-entry point each time a plugin is specified in a remap rule. When a remap
-plugin instance is no longer required, Traffic Server will call
-.Fn TSRemapDeleteInstance .
-.Pp
-.Fn TSRemapDoRemap
-is called for each HTTP transaction. This is a mandatory entry point. In this
-function, the remap plugin may examine and modify the HTTP transaction.
-.Sh RETURN VALUES
-.Fn TSRemapInit
-and
-.Fn TSRemapNewInstance
-should return
-.Fa TS_SUCCESS
-on success, and
-.Fa TS_ERROR
-otherwise. A return value of
-.Fa TS_ERROR
-is unrecoverable.
-.Pp
-.Fn TSRemapDoRemap
-returns a status code that indicates whether the HTTP transaction has been
-modified and whether Traffic Server should continue to evaluate the chain of
-remap plugins. If the transaction was modified, the plugin should return
-.Fa TSREMAP_DID_REMAP
-or
-.Fa TSREMAP_DID_REMAP_STOP ;
-otherwise it should return
-.Fa TSREMAP_NO_REMAP
-or
-.Fa TSREMAP_NO_REMAP_STOP .
-If Traffic Server should not send the transaction to subsequent plugins in the
-remap chain, return
-.Fa TSREMAP_NO_REMAP_STOP
-or
-.Fa TSREMAP_DID_REMAP_STOP .
-Returning
-.Fa TSREMAP_ERROR
-causes Traffic Server to stop evaluating the remap chain and respond with an
-error.
-.Sh EXAMPLES
-.nf
-#include <ts/ts.h>
-#include <ts/remap.h>
-.fi
-.Sh SEE ALSO
-.Xr TSAPI 3ts

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/46bb782f/doc/sdk/TSTrafficServerVersionGet.3
----------------------------------------------------------------------
diff --git a/doc/sdk/TSTrafficServerVersionGet.3 b/doc/sdk/TSTrafficServerVersionGet.3
deleted file mode 100644
index da41211..0000000
--- a/doc/sdk/TSTrafficServerVersionGet.3
+++ /dev/null
@@ -1,110 +0,0 @@
-.\"  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. .\"
-.Dd December 22, 2011
-.Dt TSTrafficServerVersionGet 3ts TSAPI
-.Sh NAME
-.Nm TSTrafficServerVersionGet,
-.Nm TSTrafficServerVersionGetMajor,
-.Nm TSTrafficServerVersionGetMinor,
-.Nm TSTrafficServerVersionGetMajor
-.Nd return TrafficServer version information
-.Sh LIBRARY
-Apache Traffic Server plugin API
-.Sh SYNOPSIS
-.In ts/ts.h
-.Ft "const char *"
-.Fo TSTrafficServerVersionGet
-.Fa void
-.Fc
-.Ft "int"
-.Fo TSTrafficServerVersionGetMajor
-.Fa void
-.Fc
-.Ft "int"
-.Fo TSTrafficServerVersionGetMinor
-.Fa void
-.Fc
-.Ft "int"
-.Fo TSTrafficServerVersionGetPatch
-.Fa void
-.Fc
-.Sh DESCRIPTION
-.Fn TSTrafficServerVersionGet
-returns the string that indicates the release version of Traffic
-Server running the plugin.
-.Sh "RETURN VALUES"
-.Fn TSTrafficServerVersionGet
-returns a pointer to a string of characters that indicates the Traffic
-Server release version. This string must not be modified.
-.Pp
-The other APIs return an integer version number.
-.Sh EXAMPLE
-.nf
-#include <stdio.h>
-#include <ts/ts.h>
-
-int
-check_ts_version()
-{
-
-    const char *ts_version = TSTrafficServerVersionGet();
-    int result = 0;
-
-    if (ts_version) {
-        int major_ts_version = 0;
-        int minor_ts_version = 0;
-        int patch_ts_version = 0;
-
-        if (sscanf(ts_version, "%d.%d.%d", &major_ts_version,
-                &minor_ts_version, &patch_ts_version) != 3) {
-          return 0;
-        }
-
-        /* We need at least Traffic Server 2.0 */
-
-        if (major_ts_version >= 2) {
-            result = 1;
-        }
-
-    }
-
-    return result;
-}
-
-void
-TSPluginInit (int argc, const char *argv[])
-{
-    TSPluginRegistrationInfo info;
-
-    info.plugin_name = "hello-world";
-    info.vendor_name = "MyCompany";
-    info.support_email = "ts-api-support@MyCompany.com";
-
-    if (TSPluginRegister(TS_SDK_VERSION_2_0 , &info) != TS_SUCCESS) {
-        TSError("Plugin registration failed. \n");
-    }
-
-    if (!check_ts_version()) {
-        TSError("Plugin requires Traffic Server 2.0 or later\n");
-        return;
-    }
-
-    TSDebug("debug-hello", "Hello World!\n");
-}
-.fi
-.Sh SEE ALSO
-.Xr TSAPI 3ts
-.\" vim: set ts=4 sw=4 et :

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/46bb782f/doc/sdk/TSUrlCreate.3
----------------------------------------------------------------------
diff --git a/doc/sdk/TSUrlCreate.3 b/doc/sdk/TSUrlCreate.3
deleted file mode 100644
index 01ec98a..0000000
--- a/doc/sdk/TSUrlCreate.3
+++ /dev/null
@@ -1,409 +0,0 @@
-.\"  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 .\"
-.Dd October 25, 2012
-.Dt TSUrlCreate 3ts TSAPI
-.Sh NAME
-.Nm TSUrlCreate,
-.Nm TSUrlClone,
-.Nm TSUrlCopy,
-.Nm TSUrlPrint,
-.Nm TSUrlParse,
-.Nm TSUrlLengthGet,
-.Nm TSUrlStringGet,
-.Nm TSUrlSchemeGet,
-.Nm TSUrlSchemeSet,
-.Nm TSUrlUserGet,
-.Nm TSUrlUserSet,
-.Nm TSUrlPasswordGet,
-.Nm TSUrlPasswordSet,
-.Nm TSUrlHostGet,
-.Nm TSUrlHostSet,
-.Nm TSUrlPortGet,
-.Nm TSUrlPortSet,
-.Nm TSUrlPathGet,
-.Nm TSUrlPathSet,
-.Nm TSUrlHttpParamsGet,
-.Nm TSUrlHttpParamsSet,
-.Nm TSUrlHttpQueryGet,
-.Nm TSUrlHttpQuerySet,
-.Nm TSUrlHttpFragmentGet,
-.Nm TSUrlHttpFragmentSet,
-.Nm TSStringPercentEncode,
-.Nm TSUrlPercentEncode,
-.Nm TSStringPercentDecode
-.Nd Traffic Server URL manipulation API
-.Sh LIBRARY
-Apache Traffic Server plugin API
-.Sh SYNOPSIS
-.In ts/ts.h
-.Ft "TSReturnCode"
-.Fo TSUrlCreate
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc* locp"
-.Fc
-.Ft "TSReturnCode"
-.Fo TSUrlClone
-.Fa "TSMBuffer dest_bufp"
-.Fa "TSMBuffer src_bufp"
-.Fa "TSMLoc src_url"
-.Fa "TSMLoc* locp"
-.Fc
-.Ft "TSReturnCode"
-.Fo TSUrlCopy
-.Fa "TSMBuffer dest_bufp"
-.Fa "TSMLoc dest_url"
-.Fa "TSMBuffer src_bufp"
-.Fa "TSMLoc src_url"
-.Fc
-.Ft "void"
-.Fo TSUrlPrint
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "TSIOBuffer iobufp"
-.Fc
-.Ft "TSParseResult"
-.Fo TSUrlParse
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "const char** start"
-.Fa "const char* end"
-.Fc
-.Ft "int"
-.Fo TSUrlLengthGet
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fc
-.Ft "char*"
-.Fo TSUrlStringGet
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "int* length"
-.Fc
-.Ft "const char*"
-.Fo TSUrlSchemeGet
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "int *length"
-.Fc
-.Ft "TSReturnCode"
-.Fo TSUrlSchemeSet
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "const char* value"
-.Fa "int length"
-.Fc
-.Ft "const char*"
-.Fo TSUrlUserGet
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "int* length"
-.Fc
-.Ft "TSReturnCode"
-.Fo TSUrlUserSet
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "const char* value"
-.Fa "int length"
-.Fc
-.Ft "const char*"
-.Fo TSUrlPasswordGet
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "int* length"
-.Fc
-.Ft "TSReturnCode"
-.Fo TSUrlPasswordSet
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "const char* value"
-.Fa "int length"
-.Fc
-.Ft "const char*"
-.Fo TSUrlHostGet
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "int* length"
-.Fc
-.Ft "TSReturnCode"
-.Fo TSUrlHostSet
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "const char* value"
-.Fa "int length"
-.Fc
-.Ft "int"
-.Fo TSUrlPortGet
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fc
-.Ft "TSReturnCode"
-.Fo TSUrlPortSet
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "int port"
-.Fc
-.Ft "const char*"
-.Fo TSUrlPathGet
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "int* length"
-.Fc
-.Ft "TSReturnCode"
-.Fo TSUrlPathSet
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "const char* value"
-.Fa "int length"
-.Fc
-.Ft "const char*"
-.Fo TSUrlHttpParamsGet
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "int* length"
-.Fc
-.Ft "TSReturnCode"
-.Fo TSUrlHttpParamsSet
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "const char* value"
-.Fa "int length"
-.Fc
-.Ft "const char*"
-.Fo TSUrlHttpQueryGet
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "int* length"
-.Fc
-.Ft "TSReturnCode"
-.Fo TSUrlHttpQuerySet
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "const char* value"
-.Fa "int length"
-.Fc
-.Ft "const char*"
-.Fo TSUrlHttpFragmentGet
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "int* length"
-.Fc
-.Ft "TSReturnCode"
-.Fo TSUrlHttpFragmentSet
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "const char* value"
-.Fa "int length"
-.Fc
-.Ft "TSReturnCode"
-.Fo TSStringPercentEncode
-.Fa "const char *str"
-.Fa "int str_len"
-.Fa "char *dst"
-.Fa "size_t dst_size"
-.Fa "size_t *length"
-.Fa "const unsigned char *map"
-.Fc
-.Ft "TSReturnCode"
-.Fo TSUrlPercentEncode
-.Fa "TSMBuffer bufp"
-.Fa "TSMLoc offset"
-.Fa "char *dst"
-.Fa "size_t dst_size"
-.Fa "size_t *length"
-.Fa "const unsigned char *map"
-.Fc
-.Ft "TSReturnCode"
-.Fo TSStringPercentDecode
-.Fa "const char *str"
-.Fa "size_t str_len"
-.Fa "char *dst"
-.Fa "size_t dst_size"
-.Fa "size_t *length"
-.Fc
-
-.Sh DESCRIPTION
-The URL data structure is a parsed version of a standard internet
-URL. The Traffic Server URL API provides access to URL data
-stored in marshal buffers. The URL functions can create, copy,
-retrieve or delete entire URLs, and retrieve or modify parts of
-URLs, such as their port or scheme information.
-
-.Fn TSURLCreate
-creates a new URL within the marshal buffer
-.Fa bufp. Release the resulting handle with a call to
-.Fa TSHandleMLocRelease .
-
-.Pp
-.Fn TSUrlClone
-copies the contents of the URL at location
-.Fa src_url
-within the marshal buffer
-.Fa src_bufp
-to a location within the marshal buffer
-.Fa dest_bufp .
-Release the returned handle with a call to
-.Fn TSHandleMLocRelease .
-
-.Pp
-.Fn TSUrlCopy,
-copies the contents of the URL at location
-.Fa src_url
-within the marshal buffer
-.Fa src_bufp
-to the location
-.Fa dest_url
-within the marshal buffer
-.Fa dest_bufp .
-.Fn TSUrlCopy
-works correctly even if
-.Fa src_bufp
-and
-.Fa dest_bufp
-point to different marshal buffers. It is important
-for the destination URL (its marshal buffer and TSMLoc) to have
-been created before copying into it.
-
-.Pp
-.Fn TSUrlPrint
-formats a URL stored in an TSMBuffer to an TSIOBuffer.
-
-.Pp
-.Fn TSUrlParse
-parses a URL. The
-.Fa start
-pointer is both an input and an output
-parameter and marks the start of the URL to be parsed. After a
-successful parse, the
-.Fa start
-pointer equals the
-.Fa end
-pointer. The
-.Fa end
-pointer must be one byte after the last character you want to
-parse. The URL parsing routine assumes that everything between start
-and end is part of the URL. It is up to higher level parsing routines,
-such as
-.Fn TSHttpHdrParseReq ,
-to determine the actual end of the URL.
-
-.Pp
-.Fn TSUrlLengthGet
-calculates the length of the URL located at
-.Fa offset
-within the marshal buffer
-.Fa bufp
-if it were returned as a string. This length will be the same as the length returned by
-.Fn TSUrlStringGet .
-
-.Fn TSUrlStringGet
-constructs a string representation of the URL located at
-.Fa offset
-within the marshal buffer
-.Fn bufp .
-.Fn TSUrlStringGet
-stores the length of the allocated string in the parameter
-.Fa length .
-This is the same length that
-.Fn TSUrlLengthGet
-returns. The returned string is allocated by a call to
-.Fn TSmalloc
-and must be freed by a call to
-.Fn TSfree .
-If length is NULL then no attempt is made to de-reference it.
-
-
-.Pp
-.Fn TSUrlSchemeGet ,
-.Fn TSUrlUserGet ,
-.Fn TSUrlPasswordGet ,
-.Fn TSUrlHostGet ,
-.Fn TSUrlHttpParamsGet ,
-.Fn TSUrlHttpQueryGet
-and
-.Fn TSUrlHttpFragmentGet
-each retrieve an internal pointer to the specified portion of the
-URL from the marshall buffer
-.Fa bufp .
-The length of the returned string is placed in
-.Fa length
-and a pointer to the URL portion is returned. The returned string
-is not guaranteed to be NUL-terminated.
-
-.Pp
-.Fn TSUrlSchemeSet ,
-.Fn TSUrlUserSet ,
-.Fn TSUrlPasswordSet ,
-.Fn TSUrlHostSet ,
-.Fn TSUrlHttpParamsSet ,
-.Fn TSUrlHttpQuerySet
-and
-.Fn TSUrlHttpFragmentSet
-each set the specified portion of the URL located at 
-.Fa offset
-within the marshal buffer
-.Fa bufp
-to the string value. If
-.Fa length
-is -1 then these functions assume that value is NUL-terminated.
-Otherwise, the length of the string
-.Fa value
-is taken to be
-.Fa length .
-These functions copy the string to within
-.Fa bufp ,
-so it can be subsequently modified or deleted.
-
-.Pp
-.Fn TSUrlPortGet
-retrieves the port number portion of the URL located at
-.Fa offset
-within the marshal buffer
-.Fa bufp ,
-It returns 0 if there is no port number.
-
-.Pp
-.Fn TSUrlPortSet
-sets the port number portion of the URL located at
-.Fa offset within the marshal buffer
-.Fa bufp
-to the value
-.Fa port .
-
-.Pp
-.Fn TSStringPercentEncode
-performs percent-encoding of the string
-.Fa str ,
-storing the new string in the
-.Fa dst
-buffer. The
-.Fa length
-parameter will be
-set to the new (encoded) string length, or 0 if the encoding failed.
-.Fa TSUrlPercentEncode
-is similar but operates on a URL object. If the optional
-.Fa map
-parameter is provided, it should be a map of characters to encode.
-.Pp
-.Fn TSStringPercentDecode
-perform percent-decoding of the string in the buffer, writing
-to the
-.Fa dst
-buffer. The source and destination can be the same,
-in which case they overwrite. The decoded string is always
-guaranteed to be no longer than the source string.
-
-.fi
-.Sh SEE ALSO
-.Xr TSAPI 3ts


[03/52] [abbrv] docs: split reference material into top-level pages

Posted by zw...@apache.org.
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/configuration/records.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/configuration/records.config.en.rst b/doc/reference/configuration/records.config.en.rst
new file mode 100644
index 0000000..a17fbbd
--- /dev/null
+++ b/doc/reference/configuration/records.config.en.rst
@@ -0,0 +1,1758 @@
+..
+   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.
+
+==============
+records.config
+==============
+
+.. configfile:: records.config
+
+The :file:`records.config` file is a list of configurable variables used by
+the Traffic Server software. Many of the variables in the
+:file:`records.config` file are set automatically when you set configuration
+options in Traffic Line or Traffic Shell. After you modify the
+:file:`records.config` file,
+run the command :option:`traffic_line -x` to apply the changes.
+When you apply changes to one node in a cluster, Traffic Server
+automatically applies the changes to all other nodes in the cluster.
+
+Format
+======
+
+Each variable has the following format::
+
+   SCOPE variable_name DATATYPE variable_value
+
+where
+
+``SCOPE`` is related to clustering and is either ``CONFIG`` (all members of the cluster) or ``LOCAL`` (only the local machine)
+
+``DATATYPE`` is one of ``INT`` (integer), ``STRING`` (string), ``FLOAT`` (floating point).
+
+A variable marked as ``Deprecated`` is still functional but should be avoided as it may be removed in a future release without warning.
+
+A variable marked as ``Reloadable`` can be updated via the command::
+
+   traffic_line -x
+
+Examples
+========
+
+In the following example, the variable `proxy.config.proxy_name`_ is
+a ``STRING`` datatype with the value ``my_server``. This means that the
+name of the Traffic Server proxy is ``my_server``. ::
+
+   CONFIG proxy.config.proxy_name STRING my_server
+
+If the server name should be ``that_server`` the line would be ::
+
+   CONFIG proxy.config.proxy_name STRING that_server
+
+In the following example, the variable ``proxy.config.arm.enabled`` is
+a yes/no flag. A value of ``0`` (zero) disables the option; a value of
+``1`` enables the option. ::
+
+   CONFIG proxy.config.arm.enabled INT 0
+
+In the following example, the variable sets the cluster startup timeout
+to 10 seconds. ::
+
+   CONFIG proxy.config.cluster.startup_timeout INT 10
+
+Environment Overrides
+=====================
+
+Every :file:`records.config` configuration variable can be overridden
+by a corresponding environment variable. This can be useful in
+situations where you need a static :file:`records.config` but still
+want to tweak one or two settings. The override variable is formed
+by converting the :file:`records.config` variable name to upper
+case, and replacing any dot separators with an underscore.
+
+Overriding a variable from the environment is permanent and will
+not be affected by future configuration changes made in
+:file:`records.config` or applied with :program:`traffic_line`.
+
+For example, we could override the `proxy.config.product_company`_ variable
+like this::
+
+   $ PROXY_CONFIG_PRODUCT_COMPANY=example traffic_cop &
+   $ traffic_line -r proxy.config.product_company
+
+Configuration Variables
+=======================
+
+The following list describes the configuration variables available in
+the :file:`records.config` file.
+
+System Variables
+----------------
+
+.. ts:confvar:: CONFIG proxy.config.product_company STRING Apache Software Foundation
+
+   The name of the organization developing Traffic Server.
+
+.. ts:confvar:: CONFIG proxy.config.product_vendor STRING Apache
+
+   The name of the vendor providing Traffic Server.
+
+.. ts:confvar:: CONFIG proxy.config.product_name STRING Traffic Server
+
+   The name of the product.
+
+.. ts:confvar:: CONFIG proxy.config.proxy_name STRING ``build_machine``
+   :reloadable:
+
+   The name of the Traffic Server node.
+
+.. ts:confvar:: CONFIG proxy.config.bin_path STRING bin
+
+   The location of the Traffic Server ``bin`` directory.
+
+.. ts:confvar:: CONFIG proxy.config.proxy_binary STRING traffic_server
+
+   The name of the executable that runs the ``traffic_server`` process.
+
+.. ts:confvar:: CONFIG proxy.config.proxy_binary_opts STRING -M
+
+   The command-line options for starting Traffic Server.
+
+.. ts:confvar:: CONFIG proxy.config.manager_binary STRING traffic_manager
+
+   The name of the executable that runs the ``traffic_manager`` process.
+
+.. ts:confvar:: CONFIG proxy.config.cli_binary STRING traffic_line
+
+   The name of the executable that runs the command-line interface :program:`traffic_line`.
+
+.. ts:confvar:: CONFIG proxy.config.watch_script STRING traffic_cop
+
+   The name of the executable that runs the ``traffic_cop`` process.
+
+.. ts:confvar:: CONFIG proxy.config.env_prep STRING
+
+   The script executed before the ``traffic_manager`` process spawns
+   the ``traffic_server`` process.
+
+.. ts:confvar:: CONFIG proxy.config.config_dir STRING config
+
+   The directory that contains Traffic Server configuration files.
+
+.. ts:confvar:: CONFIG proxy.config.temp_dir STRING /tmp
+
+   The directory used for Traffic Server temporary files.
+
+.. ts:confvar:: CONFIG proxy.config.alarm_email STRING
+   :reloadable:
+
+   The email address to which Traffic Server sends alarm messages.
+
+During a custom Traffic Server installation, you can specify the email address;
+otherwise, Traffic Server uses the Traffic Server user account name as the default value for this variable.
+
+.. ts:confvar:: CONFIG proxy.config.syslog_facility STRING LOG_DAEMON
+
+   The facility used to record system log files. Refer to
+   `Understanding Traffic Server Log Files <../working-log-files#UnderstandingTrafficServerLogFiles>`_.
+
+.. ts:confvar:: CONFIG proxy.config.cop.core_signal INT 0
+
+   The signal sent to ``traffic_cop``'s managed processes to stop them.
+
+A value of ``0`` means no signal will be sent.
+
+.. ts:confvar:: CONFIG proxy.config.cop.linux_min_swapfree_kb INT 10240
+
+   The minimum amount of free swap space allowed before Traffic Server stops the ``traffic_server`` and ``traffic_manager`` processes to
+   prevent the system from hanging. This configuration variable applies if swap is enabled in Linux 2.2 only.
+
+.. ts:confvar:: CONFIG proxy.config.output.logfile  STRING traffic.out
+
+   The name and location of the file that contains warnings, status messages, and error messages produced by the Traffic Server
+   processes. If no path is specified, then Traffic Server creates the file in its logging directory.
+
+.. ts:confvar:: CONFIG proxy.config.snapshot_dir STRING snapshots
+
+   The directory in which Traffic Server stores configuration snapshots on the local system. Unless you specify an absolute path, this
+   directory is located in the Traffic Server ``config`` directory.
+
+.. ts:confvar:: CONFIG proxy.config.exec_thread.autoconfig INT 1
+
+   When enabled (the default, ``1``), Traffic Server scales threads according to the available CPU cores. See the config option below.
+
+.. ts:confvar:: CONFIG proxy.config.exec_thread.autoconfig.scale FLOAT 1.5
+
+   Factor by which Traffic Server scales the number of threads. The multiplier is usually the number of available CPU cores. By default
+   this is scaling factor is ``1.5``.
+
+.. ts:confvar:: CONFIG proxy.config.exec_thread.limit INT 2
+
+   *XXX* What does this do?
+
+.. ts:confvar:: CONFIG proxy.config.accept_threads INT 0
+
+   When enabled (``1``), runs a separate thread for accept processing. If disabled (``0``), then only 1 thread can be created.
+
+.. ts:confvar:: CONFIG proxy.config.thread.default.stacksize  INT 1096908
+
+   The new default thread stack size, for all threads. The original default is set at 1 MB.
+
+Network
+=======
+
+.. ts:confvar:: LOCAL proxy.local.incoming_ip_to_bind STRING 0.0.0.0 ::
+
+   Controls the global default IP addresses to which to bind proxy server ports. The value is a space separated list of IP addresses, one per supported IP address family (currently IPv4 and IPv6).
+
+Unless explicitly specified in `proxy.config.http.server_ports`_ the server port will be bound to one of these addresses, selected by IP address family. The built in default is any address. This is used if no address for a family is specified. This setting is useful if most or all server ports should be bound to the same address.
+
+.. note:: This is ignored for inbound transparent server ports because they must be able to accept connections on arbitrary IP addresses.
+
+.. topic:: Example
+
+   Set the global default for IPv4 to ``192.168.101.18`` and leave the global default for IPv6 as any address.::
+
+      LOCAL proxy.local.incoming_ip_to_bind STRING 192.168.101.18
+
+.. topic:: Example
+
+   Set the global default for IPv4 to ``191.68.101.18`` and the global default for IPv6 to ``fc07:192:168:101::17``.::
+
+      LOCAL proxy.local.incoming_ip_to_bind STRING 192.168.101.18 fc07:192:168:101::17
+
+.. ts:confvar:: LOCAL proxy.local.outgoing_ip_to_bind STRING 0.0.0.0 ::
+
+   This controls the global default for the local IP address for outbound connections to origin servers. The value is a list of space separated IP addresses, one per supported IP address family (currently IPv4 and IPv6).
+
+   Unless explicitly specified in `proxy.config.http.server_ports`_ one of these addresses, selected by IP address family, will be used as the local address for outbound connections. This setting is useful if most or all of the server ports should use the same outbound IP addresses.
+
+.. note:: This is ignore for outbound transparent ports as the local outbound address will be the same as the client local address.
+
+.. topic:: Example
+
+   Set the default local outbound IP address for IPv4 connectionsn to ``192.168.101.18``.::
+
+      LOCAL proxy.local.outgoing_ip_to_bind STRING 192.168.101.18
+
+.. topic:: Example
+
+   Set the default local outbound IP address to ``192.168.101.17`` for IPv4 and ``fc07:192:168:101::17`` for IPv6.::
+
+      LOCAL proxy.local.outgoing_ip_to_bind STRING 192.168.101.17 fc07:192:168:101::17
+
+Cluster
+=======
+
+.. ts:confvar:: LOCAL proxy.local.cluster.type INT 3
+
+   Sets the clustering mode:
+
+===== ====================
+Value Effect
+===== ====================
+1     full-clustering mode
+2     management-only mode
+3     no clustering
+===== ====================
+
+.. ts:confvar:: CONFIG proxy.config.cluster.rsport INT 8088
+
+   The reliable service port. The reliable service port is used to send configuration information between the nodes in a cluster. All nodes
+   in a cluster must use the same reliable service port.
+
+.. ts:confvar:: CONFIG proxy.config.cluster.threads INT 1
+
+   The number of threads for cluster communication. On heavy cluster, the number should be adjusted. It is recommend that take the thread
+   CPU usage as a reference when adjusting.
+
+Local Manager
+=============
+
+.. ts:confvar:: CONFIG proxy.config.lm.sem_id INT 11452
+
+   The semaphore ID for the local manager.
+
+.. ts:confvar:: CONFIG proxy.config.admin.autoconf_port INT 8083
+
+   The autoconfiguration port.
+
+.. ts:confvar:: CONFIG proxy.config.admin.number_config_bak INT 3
+
+   The maximum number of copies of rolled configuration files to keep.
+
+.. ts:confvar:: CONFIG proxy.config.admin.user_id STRING nobody
+
+   Option used to specify who to run the ``traffic_server`` process as; also used to specify ownership of config and log files.
+
+The nonprivileged user account designated to Traffic Server.
+
+As of version 2.1.1 if the user_id is prefixed with pound character (#) the remaining of the string is considered to be
+``numeric user identifier <http://en.wikipedia.org/wiki/User_identifier>``_.
+If the value is set to ``#-1`` Traffic Server will not change the user during startup.
+
+Setting ``user_id`` to ``root`` or ``#0`` is now forbidden to
+increase security. Trying to do so, will cause the
+``traffic_server`` fatal failure. However there are two ways to
+bypass that restriction: Specify ``-DBIG_SECURITY_HOLE`` in
+``CXXFLAGS`` during compilation. Set the ``user_id=#-1`` and start
+trafficserver as root.
+
+Process Manager
+===============
+
+.. ts:confvar:: CONFIOG proxy.config.process_manager.mgmt_port  INT 8084
+
+   The port used for internal communication between the ``traffic_manager`` and ``traffic_server`` processes.
+
+Alarm Configuration
+===================
+
+.. ts:confvar:: CONFIG proxy.config.alarm.bin STRING example_alarm_bin.sh
+
+   Name of the script file that can execute certain actions when an alarm is signaled. The default file is a sample script named
+   ``example_alarm_bin.sh`` located in the ``bin`` directory. You must dit the script to suit your needs.
+
+.. ts:confvar:: CONFIG proxy.config.alarm.abs_path STRING NULL
+
+   The full path to the script file that sends email to alert someone bout Traffic Server problems.
+
+HTTP Engine
+===========
+
+.. ts:confvar:: CONFIG proxy.config.http.server_ports STRING 8080
+
+   Ports used for proxying HTTP traffic.
+
+This is a list, separated by space or comma, of :index:`port descriptors`. Each descriptor is a sequence of keywords and values separated by colons. Not all keywords have values, those that do are specifically noted. Keywords with values can have an optional '=' character separating the keyword and value. The case of keywords is ignored. The order of keywords is irrelevant but unspecified results may occur if incompatible options are used (noted below). Options without values are idempotent. Options with values use the last (right most) value specified, except for ``ip-out`` as detailed later.
+
+Quick reference chart.
+
+=========== =============== ========================================
+Name        Note            Definition
+=========== =============== ========================================
+*number*    **Required**    The local port.
+ipv4        **Default**     Bind to IPv4 address family.
+ipv6                        Bind to IPv6 address family.
+tr-in                       Inbound transparent.
+tr-out                      Outbound transparent.
+tr-full                     Fully transparent (inbound and outbound)
+tr-pass                     Pass through enabled.
+ssl                         SSL terminated.
+ip-in       **Value**       Local inbound IP address.
+ip-out      **Value**       Local outbound IP address.
+ip-resolve  **Value**       IP address resolution style.
+blind                       Blind (``CONNECT``) port.
+compress    **N/I**         Compressed. Not implemented.
+=========== =============== ========================================
+
+*number*
+   Local IP port to bind. This is the port to which ATS clients will connect.
+
+ipv4
+   Use IPv4. This is the default and is included primarily for completeness. This forced if the ``ip-in`` option is used with an IPv4 address.
+
+ipv6
+   Use IPv6. This is forced if the ``ip-in`` option is used with an IPv6 address.
+
+tr-in
+   Inbound transparent. The proxy port will accept connections to any IP address on the port. To have IPv6 inbound transparent you must use this and the ``ipv6`` option. This overrides `proxy.local.incoming_ip_to_bind`_.
+
+   Not compatible with: ``ip-in``, ``ssl``, ``blind``
+
+tr-out
+   Outbound transparent. If ATS connects to an origin server for a transaction on this port, it will use the client's address as its local address. This overrides `proxy.local.outgoing_ip_to_bind`_.
+
+   Not compatible with: ``ip-out``, ``ssl``
+
+tr-full
+   Fully transparent. This is a convenience option and is identical to specifying both ``tr-in`` and ``tr-out``.
+
+   Not compatible with: Any option not compatible with ``tr-in`` or ``tr-out``.
+
+tr-pass
+   Transparent pass through. This option is useful only for inbound transparent proxy ports. If the parsing of the expected HTTP header fails, then the transaction is switched to a blind tunnel instead of generating an error response to the client. It effectively enables `proxy.config.http.use_client_target_addr`_ for the transaction as there is no other place to obtain the origin server address.
+
+ip-in
+   Set the local IP address for the port. This is the address to which clients will connect. This forces the IP address family for the port. The ``ipv4`` or ``ipv6`` can be used but it is optional and is an error for it to disagree with the IP address family of this value. An IPv6 address **must** be enclosed in square brackets. If this is omitted `proxy.local.incoming_ip_to_bind`_ is used.
+
+   Not compatible with: ``tr-in``.
+
+ip-out
+   Set the local IP address for outbound connections. This is the address used by ATS locally when it connects to an origin server for transactions on this port. If this is omitted `proxy.local.outgoing_ip_to_bind`_ is used.
+
+   This option can used multiple times, once for each IP address family. The address used is selected by the IP address family of the origin server address.
+
+   Not compatible with: ``tr-out``.
+
+ip-resolve
+   Set the IP address resolution style for the origin server for transactions on this proxy port.
+
+ssl
+   Require SSL termination for inbound connections. SSL must be configured for this option to provide a functional server port.
+
+   Not compatible with: ``tr-in``, ``tr-out``, ``blind``.
+
+blind
+   Accept only ``CONNECT`` transactions on this port.
+
+   Not compatible with: ``tr-in``, ``ssl``.
+
+compress
+   Compress the connection. Retained only by inertia, should be considered "not implemented".
+
+.. topic:: Example
+
+   Listen on port 80 on any address for IPv4 and IPv6.::
+
+      80 80:ipv6
+
+.. topic:: Example
+
+   Listen transparently on any IPv4 address on port 8080, and
+   transparently on port 8080 on local address ``fc01:10:10:1::1``
+   (which implies ``ipv6``).::
+
+      IPv4:tr-FULL:8080 TR-full:IP-in=[fc02:10:10:1::1]:8080
+
+.. topic:: Example
+
+   Listen on port 8080 for IPv6, fully transparent. Set up an SSL port on 443. These ports will use the IP address from `proxy.local.incoming_ip_to_bind`_.  Listen on IP address ``192.168.17.1``, port 80, IPv4, and connect to origin servers using the local address ``10.10.10.1`` for IPv4 and ``fc01:10:10:1::1`` for IPv6.::
+
+      8080:ipv6:tr-full 443:ssl ip-in=192.168.17.1:80:ip-out=[fc01:10:10:1::1]:ip-out=10.10.10.1
+
+.. ts:confvar:: CONFIG proxy.config.http.connect_ports STRING 443 563
+
+   The range of origin server ports that can be used for tunneling via ``CONNECT``.
+
+Traffic Server allows tunnels only to the specified ports.
+Supports both wildcards ('\*') and ranges ("0-1023").
+
+.. note:: These are the ports on the *origin server*, not `server ports <#proxy-config-http-server-ports>`_.
+
+.. ts:confvar:: CONFIG proxy.config.http.insert_request_via_str INT 1
+   :reloadable:
+
+   Set how the ``Via`` field is handled on a request to the origin server.
+
+===== ============================================
+Value Effect
+===== ============================================
+0     no extra information is added to the string.
+1     all extra information is added.
+2     some extra information is added.
+===== ============================================
+
+.. note:: the ``Via`` header string interpretation can be `decoded here. </tools/via>`_
+
+.. ts:confvar:: CONFIG proxy.config.http.insert_response_via_str INT 1
+   :reloadable:
+
+   Set how the ``Via`` field is handled on the response to the client.
+
+===== ======================
+Value Effect
+===== ======================
+0     no extra information is added to the string.
+1     all extra information is added.
+2     some extra information is added.
+===== ======================
+
+.. ts:confvar:: CONFIG proxy.config.http.response_server_enabled INT 1
+   :reloadable:
+
+   You can specify one of the following:
+
+   -  ``0`` no Server: header is added to the response.
+   -  ``1`` the Server: header is added (see string below).
+   -  ``2`` the Server: header is added only if the response from rigin does not have one already.
+
+.. ts:confvar:: CONFIG proxy.config.http.insert_age_in_response INT 1
+   :reloadable:
+
+   This option specifies whether Traffic Server should insert an ``Age`` header in the response. The Age field value is the cache's
+   estimate of the amount of time since the response was generated or revalidated by the origin server.
+
+   -  ``0`` no ``Age`` header is added
+   -  ``1`` the ``Age`` header is added
+
+.. ts:confvar:: CONFIG proxy.config.http.response_server_str STRING ATS/
+   :reloadable:
+
+   The Server: string that ATS will insert in a response header (if requested, see above). Note that the current version number is
+   always appended to this string.
+
+.. ts:confvar:: CONFIG proxy.config.http.enable_url_expandomatic INT 1
+   :reloadable:
+
+   Enables (``1``) or disables (``0``) ``.com`` domain expansion. This configures the Traffic Server to resolve unqualified hostnames by
+   prepending with ``www.`` and appending with ``.com`` before redirecting to the expanded address. For example: if a client makes
+   a request to ``host``, then Traffic Server redirects the request to ``www.host.com``.
+
+.. ts:confvar:: CONFIG proxy.config.http.chunking_enabled INT 1
+   :reloadable:
+
+   Specifies whether Traffic Sever can generate a chunked response:
+
+   -  ``0`` Never
+   -  ``1`` Always
+   -  ``2`` Generate a chunked response if the server has returned HTTP/1.1 before
+   -  ``3`` = Generate a chunked response if the client request is HTTP/1.1 and the origin server has returned HTTP/1.1 before
+
+   **Note:** If HTTP/1.1 is used, then Traffic Server can use
+   keep-alive connections with pipelining to origin servers. If
+   HTTP/0.9 is used, then Traffic Server does not use ``keep-alive``
+   connections to origin servers. If HTTP/1.0 is used, then Traffic
+   Server can use ``keep-alive`` connections without pipelining to
+   origin servers.
+
+.. ts:confvar:: CONFIG proxy.config.http.share_server_sessions INT 1
+
+   Enables (``1``) or disables (``0``) the reuse of server sessions.
+
+.. ts:confvar:: CONFIG proxy.config.http.record_heartbeat INT 0
+   :reloadable:
+
+   Enables (``1``) or disables (``0``) ``traffic_cop`` heartbeat ogging.
+
+.. ts:confvar:: CONFIG proxy.config.http.use_client_target_addr  INT 0
+
+   For fully transparent ports use the same origin server address as the client.
+
+This option causes Traffic Server to avoid where possible doing DNS
+lookups in forward transparent proxy mode. The option is only
+effective if the following three conditions are true -
+
+*  Traffic Server is in forward proxy mode.
+*  The proxy port is inbound transparent.
+*  The target URL has not been modified by either remapping or a plugin.
+
+If any of these conditions are not true, then normal DNS processing
+is done for the connection.
+
+If all of these conditions are met, then the origin server IP
+address is retrieved from the original client connection, rather
+than through HostDB or DNS lookup. In effect, client DNS resolution
+is used instead of Traffic Server DNS.
+
+This can be used to be a little more efficient (looking up the
+target once by the client rather than by both the client and Traffic
+Server) but the primary use is when client DNS resolution can differ
+from that of Traffic Server. Two known uses cases are:
+
+#. Embedded IP addresses in a protocol with DNS load sharing. In
+   this case, even though Traffic Server and the client both make
+   the same request to the same DNS resolver chain, they may get
+   different origin server addresses. If the address is embedded in
+   the protocol then the overall exchange will fail. One current
+   example is Microsoft Windows update, which presumably embeds the
+   address as a security measure.
+
+#. The client has access to local DNS zone information which is not
+   available to Traffic Server. There are corporate nets with local
+   DNS information for internal servers which, by design, is not
+   propagated outside the core corporate network. Depending a
+   network topology it can be the case that Traffic Server can
+   access the servers by IP address but cannot resolve such
+   addresses by name. In such as case the client supplied target
+   address must be used.
+
+This solution must be considered interim. In the longer term, it
+should be possible to arrange for much finer grained control of DNS
+lookup so that wildcard domain can be set to use Traffic Server or
+client resolution. In both known use cases, marking specific domains
+as client determined (rather than a single global switch) would
+suffice. It is possible to do this crudely with this flag by
+enabling it and then use identity URL mappings to re-disable it for
+specific domains.
+
+Parent Proxy Configuration
+==========================
+
+.. ts:confvar:: CONFIG proxy.config.http.parent_proxy_routing_enable INT 0
+   :reloadable:
+
+   Enables (``1``) or disables (``0``) the parent caching option. Refer to Hierarchical Caching <../hierachical-caching>_.
+
+.. ts:confvar:: CONFIG proxy.config.http.parent_proxy.retry_time INT 300
+   :reloadable:
+
+   The amount of time allowed between connection retries to a parent cache that is unavailable.
+
+.. ts:confvar:: CONFIG proxy.config.http.parent_proxy.fail_threshold INT 10
+   :reloadable:
+
+   The number of times the connection to the parent cache can fail before Traffic Server considers the parent unavailable.
+
+.. ts:confvar:: CONFIG proxy.config.http.parent_proxy.total_connect_attempts INT 4
+   :reloadable:
+
+   The total number of connection attempts allowed to a parent cache before Traffic Server bypasses the parent or fails the request
+   (depending on the ``go_direct`` option in the :file:`bypass.config` file).
+
+.. ts:confvar:: CONFIG proxy.config.http.parent_proxy.per_parent_connect_attempts INT 2
+   :reloadable:
+
+   The total number of connection attempts allowed per parent, if multiple parents are used.
+
+.. ts:confvar:: CONFIG proxy.config.http.parent_proxy.connect_attempts_timeout INT 30
+   :reloadable:
+
+   The timeout value (in seconds) for parent cache connection attempts.
+
+.. ts:confvar:: CONFIG proxy.config.http.forward.proxy_auth_to_parent INT 0
+   :reloadable:
+
+   Configures Traffic Server to send proxy authentication headers on to the parent cache.
+
+HTTP Connection Timeouts
+========================
+
+.. ts:confvar:: CONFIG proxy.config.http.keep_alive_no_activity_timeout_in INT 10
+   :reloadable:
+
+   Specifies how long Traffic Server keeps connections to clients open for a subsequent request after a transaction ends.
+
+.. ts:confvar:: CONFIG proxy.config.http.keep_alive_no_activity_timeout_out INT 10
+   :reloadable:
+
+   Specifies how long Traffic Server keeps connections to origin servers open for a subsequent transfer of data after a transaction ends.
+
+.. ts:confvar:: CONFIG proxy.config.http.transaction_no_activity_timeout_in INT 120
+   :reloadable:
+
+   Specifies how long Traffic Server keeps connections to clients open if a transaction stalls.
+
+.. ts:confvar:: CONFIG proxy.config.http.transaction_no_activity_timeout_out INT 120
+   :reloadable:
+
+   Specifies how long Traffic Server keeps connections to origin servers open if the transaction stalls.
+
+.. ts:confvar:: CONFIG proxy.config.http.transaction_active_timeout_in INT 0
+   :reloadable:
+
+   The maximum amount of time Traffic Server can remain connected to a client. If the transfer to the client is not complete before this
+   timeout expires, then Traffic Server closes the connection.
+
+The default value of ``0`` specifies that there is no timeout.
+
+.. ts:confvar:: CONFIG proxy.config.http.transaction_active_timeout_out INT 0
+   :reloadable:
+
+   The maximum amount of time Traffic Server waits for fulfillment of a connection request to an origin server. If Traffic Server does not
+   complete the transfer to the origin server before this timeout expires, then Traffic Server terminates the connection request.
+
+The default value of ``0`` specifies that there is no timeout.
+
+.. ts:confvar:: CONFIG proxy.config.http.accept_no_activity_timeout INT 120
+   :reloadable:
+
+   The timeout interval in seconds before Traffic Server closes a connection that has no activity.
+
+.. ts:confvar:: CONFIG proxy.config.http.background_fill_active_timeout INT 60
+   :reloadable:
+
+   Specifies how long Traffic Server continues a background fill before giving up and dropping the origin server connection.
+
+.. ts:confvar:: CONFIG proxy.config.http.background_fill_completed_threshold FLOAT 0.50000
+   :reloadable:
+
+   The proportion of total document size already transferred when a client aborts at which the proxy continues fetching the document
+   from the origin server to get it into the cache (a **background fill**).
+
+Origin Server Connect Attempts
+==============================
+
+.. ts:confvar:: CONFIG proxy.config.http.connect_attempts_max_retries INT 6
+   :reloadable:
+
+   The maximum number of connection retries Traffic Server can make when the origin server is not responding.
+
+.. ts:confvar:: CONFIG proxy.config.http.connect_attempts_max_retries_dead_server INT 2
+   :reloadable:
+
+   The maximum number of connection retries Traffic Server can make when the origin server is unavailable.
+
+.. ts:confvar:: CONFIG proxy.config.http.server_max_connections INT 0
+   :reloadable:
+
+   Limits the number of socket connections across all origin servers to the value specified. To disable, set to zero (``0``).
+
+.. ts:confvar:: CONFIG proxy.config.http.origin_max_connections INT 0
+   :reloadable:
+
+   Limits the number of socket connections per origin server to the value specified. To enable, set to one (``1``).
+
+.. ts:confvar:: CONFIG proxy.config.http.origin_min_keep_alive_connections INT 0
+   :reloadable:
+
+   As connection to an origin server are opened, keep at least 'n' number of connections open to that origin, even if the connection
+   isn't used for a long time period. Useful when the origin supports keep-alive, removing the time needed to set up a new connection from
+   the next request at the expense of added (inactive) connections. To enable, set to one (``1``).
+
+.. ts:confvar:: CONFIG proxy.config.http.connect_attempts_rr_retries INT 2
+   :reloadable:
+
+   The maximum number of failed connection attempts allowed before a round-robin entry is marked as 'down' if a server has round-robin DNS entries.
+
+.. ts:confvar:: CONFIG proxy.config.http.connect_attempts_timeout INT 30
+   :reloadable:
+
+   The timeout value (in seconds) for an origin server connection.
+
+.. ts:confvar:: CONFIG proxy.config.http.post_connect_attempts_timeout INT 1800
+   :reloadable:
+
+   The timeout value (in seconds) for an origin server connection when the client request is a ``POST`` or ``PUT`` request.
+
+.. ts:confvar:: CONFIG proxy.config.http.down_server.cache_time INT 900
+   :reloadable:
+
+   Specifies how long (in seconds) Traffic Server remembers that an origin server was unreachable.
+
+.. ts:confvar:: CONFIG proxy.config.http.down_server.abort_threshold INT 10
+   :reloadable:
+
+   The number of seconds before Traffic Server marks an origin server as unavailable after a client abandons a request because the origin
+   server was too slow in sending the response header.
+
+Congestion Control
+==================
+
+.. ts:confvar:: CONFIG proxy.config.http.congestion_control.enabled INT 0
+
+   Enables (``1``) or disables (``0``) the Congestion Control option, which configures Traffic Server to stop forwarding HTTP requests to
+   origin servers when they become congested. Traffic Server sends the client a message to retry the congested origin server later. Refer
+   to `Using Congestion Control <../http-proxy-caching#UsingCongestionControl>`_.
+
+Negative Response Caching
+=========================
+
+.. ts:confvar:: CONFIG proxy.config.http.negative_caching_enabled INT 0
+   :reloadable:
+
+   When enabled (``1``), Traffic Server caches negative responses (such as ``404 Not Found``) when a requested page does not exist. The next
+   time a client requests the same page, Traffic Server serves the negative response directly from cache.
+
+   **Note**: ``Cache-Control`` directives from the server forbidding ache are ignored for the following HTTP response codes, regardless
+   of the value specified for the `proxy.config.http.negative_caching_enabled`_ variable. The
+   following negative responses are cached by Traffic Server:::
+
+        204  No Content
+        305  Use Proxy
+        400  Bad Request
+        403  Forbidden
+        404  Not Found
+        405  Method Not Allowed
+        500  Internal Server Error
+        501  Not Implemented
+        502  Bad Gateway
+        503  Service Unavailable
+        504  Gateway Timeout
+
+Proxy User Variables
+====================
+
+.. ts:confvar:: CONFIG proxy.config.http.anonymize_remove_from INT 0
+   :reloadable:
+
+   When enabled (``1``), Traffic Server removes the ``From`` header to protect the privacy of your users.
+
+.. ts:confvar:: CONFIG proxy.config.http.anonymize_remove_referer INT 0
+   :reloadable:
+
+   When enabled (``1``), Traffic Server removes the ``Referrer`` header to protect the privacy of your site and users.
+
+.. ts:confvar:: CONFIG proxy.config.http.anonymize_remove_user_agent INT 0
+   :reloadable:
+
+   When enabled (``1``), Traffic Server removes the ``User-agent`` header to protect the privacy of your site and users.
+
+.. ts:confvar:: CONFIG proxy.config.http.anonymize_remove_cookie INT 0
+   :reloadable:
+
+   When enabled (``1``), Traffic Server removes the ``Cookie`` header to protect the privacy of your site and users.
+
+.. ts:confvar:: CONFIG proxy.config.http.anonymize_remove_client_ip INT 0
+   :reloadable:
+
+   When enabled (``1``), Traffic Server removes ``Client-IP`` headers for more privacy.
+
+.. ts:confvar:: CONFIG proxy.config.http.anonymize_insert_client_ip INT 1
+   :reloadable:
+
+   When enabled (``1``), Traffic Server inserts ``Client-IP`` headers to retain the client IP address.
+
+.. ts:confvar:: CONFIG proxy.config.http.append_xforwards_header INT 0
+
+   When enabled (``1``), Traffic Server appends ``X-Forwards`` headers to outgoing requests.
+
+.. ts:confvar:: CONFIG proxy.config.http.anonymize_other_header_list STRING NULL
+   :reloadable:
+
+   The headers Traffic Server should remove from outgoing requests.
+
+.. ts:confvar:: CONFIG proxy.config.http.insert_squid_x_forwarded_for INT 0
+   :reloadable:
+
+   When enabled (``1``), Traffic Server adds the client IP address to the ``X-Forwarded-For`` header.
+
+.. ts:confvar:: CONFIG proxy.config.http.normalize_ae_gzip INT 0
+   :reloadable:
+
+   Enable (``1``) to normalize all ``Accept-Encoding:`` headers to one of the following:
+
+   -  ``Accept-Encoding: gzip`` (if the header has ``gzip`` or ``x-gzip`` with any ``q``) **OR**
+   -  *blank* (for any header that does not include ``gzip``)
+
+   This is useful for minimizing cached alternates of documents (e.g. ``gzip, deflate`` vs. ``deflate, gzip``). Enabling this option is
+   recommended if your origin servers use no encodings other than ``gzip``.
+
+Security
+========
+
+.. ts:confvar:: CONFIG proxy.config.http.push_method_enabled INT 0
+   :reloadable:
+
+   Enables (``1``) or disables (``0``) the HTTP ``PUSH`` option, which allows you to deliver content directly to the cache without a user
+   request.
+
+   **Important:** If you enable this option, then you must also specify
+   a filtering rule in the ip_allow.config file to allow only certain
+   machines to push content into the cache.
+
+Cache Control
+=============
+
+.. ts:confvar:: CONFIG proxy.config.cache.enable_read_while_writer INT 0
+   :reloadable:
+
+   Enables (``1``) or disables (``0``) ability to a read cached object while the another connection is completing the write to cache for
+   the same object.
+
+.. ts:confvar:: CONFIG proxy.config.cache.force_sector_size INT 512
+   :reloadable:
+
+   Forces the use of a specific hardware sector size (512 - 8192 bytes).
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.http INT 1
+   :reloadable:
+
+   Enables (``1``) or disables (``0``) caching of HTTP requests.
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.ignore_client_no_cache INT 0
+   :reloadable:
+
+   When enabled (``1``), Traffic Server ignores client requests to bypass the cache.
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.ims_on_client_no_cache INT 0
+   :reloadable:
+
+   When enabled (``1``), Traffic Server issues a conditional request to the origin server if an incoming request has a ``No-Cache`` header.
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.ignore_server_no_cache INT 0
+   :reloadable:
+
+   When enabled (``1``), Traffic Server ignores origin server requests to bypass the cache.
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.cache_responses_to_cookies INT 3
+   :reloadable:
+
+   Specifies how cookies are cached:
+
+   -  ``0`` = do not cache any responses to cookies
+   -  ``1`` = cache for any content-type
+   -  ``2`` = cache only for image types
+   -  ``3`` = cache for all but text content-types
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.ignore_authentication INT 0
+
+   When enabled (``1``), Traffic Server ignores ``WWW-Authentication`` headers in responses ``WWW-Authentication`` headers are removed and
+   not cached.
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.cache_urls_that_look_dynamic INT 1
+   :reloadable:
+
+   Enables (``1``) or disables (``0``) caching of URLs that look dynamic, i.e.: URLs that end in *``.asp``* or contain a question
+   mark (*``?``*), a semicolon (*``;``*), or *``cgi``*. For a full list, please refer to
+   `HttpTransact::url_looks_dynamic </link/to/doxygen>`_
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.enable_default_vary_headers INT 0
+   :reloadable:
+
+   Enables (``1``) or disables (``0``) caching of alternate versions of HTTP objects that do not contain the ``Vary`` header.
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.when_to_revalidate INT 0
+   :reloadable:
+
+   Specifies when to revalidate content:
+
+   -  ``0`` = use cache directives or heuristic (the default value)
+   -  ``1`` = stale if heuristic
+   -  ``2`` = always stale (always revalidate)
+   -  ``3`` = never stale
+   -  ``4`` = use cache directives or heuristic (0) unless the request
+       has an ``If-Modified-Since`` header
+
+   If the request contains the ``If-Modified-Since`` header, then
+   Traffic Server always revalidates the cached content and uses the
+   client's ``If-Modified-Since`` header for the proxy request.
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.when_to_add_no_cache_to_msie_requests INT 0
+   :reloadable:
+
+   Specifies when to add ``no-cache`` directives to Microsoft Internet Explorer requests. You can specify the following:
+
+   -  ``0`` = ``no-cache`` is *not* added to MSIE requests
+   -  ``1`` = ``no-cache`` is added to IMS MSIE requests
+   -  ``2`` = ``no-cache`` is added to all MSIE requests
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.required_headers INT 0
+   :reloadable:
+
+   The type of headers required in a request for the request to be cacheable.
+
+   -  ``0`` = no headers required to make document cacheable
+   -  ``1`` = either the ``Last-Modified`` header, or an explicit lifetime header, ``Expires`` or ``Cache-Control: max-age``, is required
+   -  ``2`` = explicit lifetime is required, ``Expires`` or ``Cache-Control: max-age``
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.max_stale_age INT 604800
+   :reloadable:
+
+   The maximum age allowed for a stale response before it cannot be cached.
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.range.lookup INT 1
+
+   When enabled (``1``), Traffic Server looks up range requests in the cache.
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.enable_read_while_writer INT 0
+
+   Enables (``1``) or disables (``0``) the ability to read a cached object while another connection is completing a write to cache
+   for the same object.
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.fuzz.min_time INT 0
+   :reloadable:
+
+   Sets a minimum fuzz time; the default value is ``0``. **Effective fuzz time** is a calculation in the range
+   (``fuzz.min_time`` - ``fuzz.min_time``).
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.ignore_accept_mismatch INT 0
+   :reloadable:
+
+   When enabled (``1``), Traffic Server serves documents from cache with a ``Content-Type:`` header that does not match the ``Accept:``
+   header of the request.
+
+   **Note:** This option should only be enabled if you're having
+   problems with caching *and* one of the following is true:
+
+   -  Your origin server sets ``Vary: Accept`` when doing content negotiation with ``Accept`` *OR*
+   -  The server does not send a ``406 (Not Acceptable)`` response for types that it cannot serve.
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.ignore_accept_language_mismatch INT 0
+   :reloadable:
+
+   When enabled (``1``), Traffic Server serves documents from cache with a ``Content-Language:`` header that does not match the
+   ``Accept-Language:`` header of the request.
+
+   **Note:** This option should only be enabled if you're having
+   problems with caching and your origin server is guaranteed to set
+   ``Vary: Accept-Language`` when doing content negotiation with
+   ``Accept-Language``.
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.ignore_accept_charset_mismatch INT 0
+   :reloadable:
+
+   When enabled (``1``), Traffic Server serves documents from cache with a ``Content-Type:`` header that does not match the
+   ``Accept-Charset:`` header of the request.
+
+   **Note:** This option should only be enabled if you're having
+   problems with caching and your origin server is guaranteed to set
+   ``Vary: Accept-Charset`` when doing content negotiation with
+   ``Accept-Charset``.
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.ignore_client_cc_max_age INT 1
+   :reloadable:
+
+   When enabled (``1``), Traffic Server ignores any ``Cache-Control:  max-age`` headers from the client.
+
+.. ts:confvar:: CONFIG proxy.config.cache.permit.pinning INT 0
+   :reloadable:
+
+   When enabled (``1``), Traffic Server will keep certain HTTP objects in the cache for a certain time as specified in cache.config.
+
+Heuristic Expiration
+====================
+
+.. ts::confvar:: proxy.config.http.cache.heuristic_min_lifetime INT 3600
+   :reloadable:
+
+   The minimum amount of time an HTTP object without an expiration date can remain fresh in the cache before is considered to be stale.
+
+.. ts::confvar:: proxy.config.http.cache.heuristic_max_lifetime INT 86400
+   :reloadable:
+
+   The maximum amount of time an HTTP object without an expiration date can remain fresh in the cache before is considered to be stale.
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.heuristic_lm_factor FLOAT 0.10000
+   :reloadable:
+
+   The aging factor for freshness computations. Traffic Server stores an object for this percentage of the time that elapsed since it last
+   changed.
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.fuzz.time INT 240
+   :reloadable:
+
+   How often Traffic Server checks for an early refresh, during the period before the document stale time. The interval specified must
+   be in seconds.
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.fuzz.probability FLOAT 0.00500
+   :reloadable:
+
+   The probability that a refresh is made on a document during the specified fuzz time.
+
+Dynamic Content & Content Negotiation
+=====================================
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.vary_default_text STRING NULL
+   :reloadable:
+
+   The header on which Traffic Server varies for text documents.
+
+For example: if you specify ``User-agent``, then Traffic Server caches
+all the different user-agent versions of documents it encounters.
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.vary_default_images STRING NULL
+   :reloadable:
+
+   The header on which Traffic Server varies for images.
+
+.. ts:confvar:: CONFIG proxy.config.http.cache.vary_default_other STRING NULL
+   :reloadable:
+
+   The header on which Traffic Server varies for anything other than text and images.
+
+Customizable User Response Pages
+================================
+
+.. ts:confvar:: CONFIG proxy.config.body_factory.enable_customizations INT 0
+   Specifies whether customizable response pages are enabled or
+   disabled and which response pages are used:
+
+   -  ``0`` = disable customizable user response pages
+   -  ``1`` = enable customizable user response pages in the default directory only
+   -  ``2`` = enable language-targeted user response pages
+
+.. ts:confvar:: CONFIG proxy.config.body_factory.enable_logging INT 1
+
+   Enables (``1``) or disables (``0``) logging for customizable response pages. When enabled, Traffic Server records a message in
+   the error log each time a customized response page is used or modified.
+
+.. ts:confvar:: CONFIG proxy.config.body_factory.template_sets_dir STRING config/body_factory
+
+   The customizable response page default directory.
+
+.. ts:confvar:: CONFIG proxy.config.body_factory.response_suppression_mode INT 0
+
+   Specifies when Traffic Server suppresses generated response pages:
+
+   -  ``0`` = never suppress generated response pages
+   -  ``1`` = always suppress generated response pages
+   -  ``2`` = suppress response pages only for intercepted traffic
+
+DNS
+===
+
+.. ts:confvar:: CONFIG proxy.config.dns.search_default_domains INT 1
+   :Reloadable:
+
+   Enables (``1``) or disables (``0``) local domain expansion.
+
+Traffic Server can attempt to resolve unqualified hostnames by
+expanding to the local domain. For example if a client makes a
+request to an unqualified host (``host_x``) and the Traffic Server
+local domain is ``y.com`` , then Traffic Server will expand the
+hostname to ``host_x.y.com``.
+
+.. ts:confvar:: CONFIG proxy.config.dns.splitDNS.enabled INT 0
+   :reloadable:
+
+   Enables (``1``) or disables (``0``) DNS server selection. When enabled, Traffic Server refers to the :file:`splitdns.config` file for
+   the selection specification. Refer to `Configuring DNS Server Selection (Split DNS) <../security-options#ConfiguringDNSServerSelectionSplit>`_.
+
+.. ts:confvar:: CONFIG proxy.config.dns.url_expansions STRING NULL
+
+   Specifies a list of hostname extensions that are automatically added to the hostname after a failed lookup. For example: if you want
+   Traffic Server to add the hostname extension .org, then specify ``org`` as the value for this variable (Traffic Server automatically
+   adds the dot (.)).
+
+   **Note:** If the variable
+   `proxy.config.http.enable_url_expandomatic`_ is set to ``1`` (the default value), then you do not have to add *``www.``* and
+   *``.com``* to this list because Traffic Server automatically tries www. and .com after trying the values you've specified.
+
+.. ts:confvar:: CONFIG proxy.config.dns.resolv_conf STRING /etc/resolv.conf
+
+   Allows to specify which ``resolv.conf`` file to use for finding resolvers. While the format of this file must be the same as the
+   standard ``resolv.conf`` file, this option allows an administrator to manage the set of resolvers in an external configuration file,
+   without affecting how the rest of the operating system uses DNS.
+
+.. ts:confvar:: CONFIG proxy.config.dns.round_robin_nameservers INT 0
+   :reloadable:
+
+   Enables (``1``) or disables (``0``) DNS server round-robin.
+
+.. ts:confvar:: CONFIG proxy.config.dns.nameservers STRING NULL
+   :reloadable:
+
+   The DNS servers.
+
+.. ts:confvar:: CONFIG proxy.config.srv_enabled INT 0
+   :reloadable:
+
+   Indicates whether to use SRV records for orgin server lookup.
+
+HostDB
+======
+
+.. ts:confvar:: CONFIG proxy.config.hostdb.serve_stale_for INT
+
+   The number of seconds for which to use a stale NS record while initiating a background fetch for the new data.
+
+.. ts:confvar:: CONFIG proxy.config.hostdb.storage_size INT 33554432
+
+   The amount of space (in bytes) used to store ``hostdb``.
+   The value of this variable must be increased if you increase the size of the
+   `proxy.config.hostdb.size`_ variable.
+
+.. ts:confvar:: CONFIG proxy.config.hostdb.size INT 200000
+
+   The maximum number of entries that can be stored in the database.
+
+.. note::
+
+   For values above ``200000``, you must increase the value of the `proxy.config.hostdb.storage_size`_   variable by at least 44 bytes per entry.
+
+.. ts:confvar:: CONFIG proxy.config.hostdb.ttl_mode INT 0
+   :reloadable:
+
+   The host database time to live mode. You can specify one of the
+   following:
+
+   -  ``0`` = obey
+   -  ``1`` = ignore
+   -  ``2`` = min(X,ttl)
+   -  ``3`` = max(X,ttl)
+
+.. ts:confvar:: CONFIG proxy.config.hostdb.timeout INT 1440
+   :reloadable:
+
+   The foreground timeout (in minutes).
+
+.. ts:confvar:: CONFIG proxy.config.hostdb.strict_round_robin INT 0
+   :reloadable:
+
+   When disabled (``0``), Traffic Server always uses the same origin
+   server for the same client, for as long as the origin server is
+   available.
+
+Logging Configuration
+=====================
+
+.. ts:confvar:: CONFIG proxy.config.log.logging_enabled INT 3
+   :reloadable:
+
+   Enables and disables event logging:
+
+   -  ``0`` = logging disabled
+   -  ``1`` = log errors only
+   -  ``2`` = log transactions only
+   -  ``3`` = full logging (errors + transactions)
+
+   Refer to `Working with Log Files <../working-log-files>`_.
+
+.. ts:confvar:: CONFIG proxy.config.log.max_secs_per_buffer INT 5
+   :reloadable:
+
+   The maximum amount of time before data in the buffer is flushed to disk.
+
+.. ts:confvar:: CONFIG proxy.config.log.max_space_mb_for_logs INT 2000
+   :reloadable:
+
+   The amount of space allocated to the logging directory (in MB).
+   **Note:** All files in the logging directory contribute to the space used, even if they are not log files. In collation client mode, if
+   there is no local disk logging, or max_space_mb_for_orphan_logs is set to a higher value than max_space_mb_for_logs, TS will
+   take proxy.config.log.max_space_mb_for_orphan_logs for maximum allowed log space.
+
+.. ts:confvar:: CONFIG proxy.config.log.max_space_mb_for_orphan_logs INT 25
+   :reloadable:
+
+   The amount of space allocated to the logging directory (in MB) if this node is acting as a collation client.
+
+   **Note:** When max_space_mb_for_orphan_logs is take as the maximum allowedlog space in the logging system, the same rule apply to
+   proxy.config.log.max_space_mb_for_logs also apply to proxy.config.log.max_space_mb_for_orphan_logs, ie: All files in
+   the logging directory contribute to the space used, even if they are not log files. you may need to consider this when you enable full
+   remote logging, and bump to the same size as proxy.config.log.max_space_mb_for_logs.
+
+.. ts:confvar:: CONFIG proxy.config.log.max_space_mb_headroom INT 10
+   :reloadable:
+
+   The tolerance for the log space limit (in bytes). If the variable `proxy.config.log.auto_delete_rolled_files`_ is set to ``1``
+   (enabled), then autodeletion of log files is triggered when the amount of free space available in the logging directory is less than
+   the value specified here.
+
+.. ts:confvar:: CONFIG proxy.config.log.hostname STRING localhost
+   :reloadable:
+
+   The hostname of the machine running Traffic Server.
+
+.. ts:confvar:: CONFIG proxy.config.log.logfile_dir STRING install_dir\ ``/logs``
+   :reloadable:
+
+   The full path to the logging directory. This can be an absolute path or a path relative to the directory in which Traffic Server is installed.
+
+   **Note:** The directory you specify must already exist.
+
+.. ts:confvar:: CONFIG proxy.config.log.logfile_perm STRING rw-r--r--
+   :reloadable:
+
+   The log file permissions. The standard UNIX file permissions are used (owner, group, other). Permissible values are:
+
+   ``-`` no permission ``r`` read permission ``w`` write permission ``x`` execute permission
+
+   Permissions are subject to the umask settings for the Traffic Server process. This means that a umask setting of\ ``002`` will not allow
+   write permission for others, even if specified in the configuration file. Permissions for existing log files are not changed when the
+   configuration is changed.
+
+.. ts:confvar:: CONFIG proxy.config.log.custom_logs_enabled INT 0
+   :reloadable:
+
+   Enables (``1``) or disables (``0``) custom logging.
+
+.. ts:confvar:: CONFIG proxy.config.log.squid_log_enabled INT 1
+   :reloadable:
+
+   Enables (``1``) or disables (``0``) the `squid log file format <../working-log-files/log-formats#SquidFormat>`_.
+
+.. ts:confvar:: CONFIG proxy.config.log.squid_log_is_ascii INT 1
+   :reloadable:
+
+   The squid log file type:
+
+   -  ``1`` = ASCII
+   -  ``0`` = binary
+
+.. ts:confvar:: CONFIG proxy.config.log.squid_log_name STRING squid
+   :reloadable:
+
+   The `squid log <../working-log-files/log-formats#SquidFormat>`_ filename.
+
+.. ts:confvar:: CONFIG proxy.config.log.squid_log_header STRING NULL
+
+   The `squid log <../working-log-files/log-formats#SquidFormat>`_ file header text.
+
+.. ts:confvar:: CONFIG proxy.config.log.common_log_enabled INT 0
+   :reloadable:
+
+   Enables (``1``) or disables (``0``) the `Netscape common log file format <../working-log-files/log-formats#NetscapeFormats>`_.
+
+.. ts:confvar:: CONFIG proxy.config.log.common_log_is_ascii INT 1
+   :reloadable:
+
+   The `Netscape common log <../working-log-files/log-formats#NetscapeFormats>`_ file type:
+
+   -  ``1`` = ASCII
+   -  ``0`` = binary
+
+.. ts:confvar:: CONFIG proxy.config.log.common_log_name STRING common
+   :reloadable:
+
+   The `Netscape common log <../working-log-files/log-formats#NetscapeFormats>`_ filename.
+
+.. ts:confvar:: CONFIG proxy.config.log.common_log_header STRING NULL
+   :reloadable:
+
+   The `Netscape common log <../working-log-files/log-formats#NetscapeFormats>`_ file header text.
+
+.. ts:confvar:: CONFIG proxy.config.log.extended_log_enabled INT 0
+   :reloadable:
+
+   Enables (``1``) or disables (``0``) the `Netscape extended log file format <../working-log-files/log-formats#NetscapeFormats>`_.
+
+.. ts:confvar:: CONFIG proxy.confg.log.extended_log_is_ascii INT 1
+
+   The `Netscape extended log <../working-log-files/log-formats#NetscapeFormats>`_ file type:
+
+   -  ``1`` = ASCII
+   -  ``0`` = binary
+
+.. ts:confvar:: CONFIG proxy.config.log.extended_log_name STRING extended
+
+   The `Netscape extended log <../working-log-files/log-formats#NetscapeFormats>`_ filename.
+
+.. ts:confvar:: CONFIG proxy.config.log.extended_log_header STRING NULL
+   :reloadable:
+
+   The `Netscape extended log <../working-log-files/log-formats#NetscapeFormats>`_ file header text.
+
+.. ts:confvar:: CONFIG proxy.config.log.extended2_log_enabled INT 0
+   :reloadable:
+
+   Enables (``1``) or disables (``0``) the `Netscape Extended-2 log file format <../working-log-files/log-formats#NetscapeFormats>`_.
+
+.. ts:confvar:: CONFIG proxy.config.log.extended2_log_is_ascii INT 1
+   :reloadable:
+
+   The `Netscape Extended-2 log <../working-log-files/log-formats#NetscapeFormats>`_ file type:
+
+   -  ``1`` = ASCII
+   -  ``0`` = binary
+
+.. ts:confvar:: CONFIG proxy.config.log.extended2_log_name STRING extended2
+   :reloadable:
+
+   The `Netscape Extended-2 log <../working-log-files/log-formats#NetscapeFormats>`_ filename.
+
+.. ts:confvar:: CONFIG proxy.config.log.extended2_log_header STRING NULL
+   :reloadable:
+
+   The `Netscape Extended-2 log <../working-log-files/log-formats#NetscapeFormats>`_ file header text.
+
+.. ts:confvar:: CONFIG proxy.config.log.separate_icp_logs INT 0
+   :reloadable:
+
+   When enabled (``1``), configures Traffic Server to store ICP transactions in a separate log file.
+
+   -  ``0`` = separation is disabled, all ICP transactions are recorded in the same file as HTTP transactions
+   -  ``1`` = all ICP transactions are recorded in a separate log file.
+   -  ``-1`` = filter all ICP transactions from the default log files; ICP transactions are not logged anywhere.
+
+.. ts:confvar:: CONFIG proxy.config.log.separate_host_logs INT 0
+   :reloadable:
+
+   When enabled (``1``), configures Traffic Server to create a separate log file for HTTP transactions for each origin server listed in the
+   :file:`log_hosts.config` file. Refer to `HTTP Host Log Splitting <../working-log-files#HTTPHostLogSplitting>`_.
+
+.. ts:confvar:: LOCAL proxy.local.log.collation_mode INT 0
+   :reloadable:
+
+   Set the log collation mode.
+
+===== ======
+Value Effect
+===== ======
+0     collation is disabled
+1     this host is a log collation server
+2     this host is a collation client and sends entries using standard formats to the collation server
+3     this host is a collation client and sends entries using the traditional custom formats to the collation server
+4     this host is a collation client and sends entries that use both the standard and traditional custom formats to the collation server
+===== ======
+
+For information on sending XML-based custom formats to the collation
+server, refer to `logs_xml.config <logs_xml.config>`_.
+
+.. note:: Although Traffic Server supports traditional custom logging, you should use the more versatile XML-based custom formats.
+
+.. ts:confvar:: proxy.confg.log.collation_host STRING NULL
+
+   The hostname of the log collation server.
+
+.. ts:confvar:: CONFIG proxy.config.log.collation_port INT 8085
+   :reloadable:
+
+   The port used for communication between the collation server and client.
+
+.. ts:confvar:: CONFIG proxy.config.log.collation_secret STRING foobar
+   :reloadable:
+
+   The password used to validate logging data and prevent the exchange of unauthorized information when a collation server is being used.
+
+.. ts:confvar:: CONFIG proxy.config.log.collation_host_tagged INT 0
+   :reloadable:
+
+   When enabled (``1``), configures Traffic Server to include the hostname of the collation client that generated the log entry in each entry.
+
+.. ts:confvar:: CONFIG proxy.config.log.collation_retry_sec INT 5
+   :reloadable:
+
+   The number of seconds between collation server connection retries.
+
+.. ts:confvar:: CONFIG proxy.config.log.rolling_enabled INT 1
+   :reloadable:
+
+   Specifies how log files are rolled. You can specify the following values:
+
+   -  ``0`` = disables log file rolling
+   -  ``1`` = enables log file rolling at specific intervals during the day (specified with the
+       `proxy.config.log.rolling_interval_sec`_ and `proxy.config.log.rolling_offset_hr`_ variables)
+   -  ``2`` = enables log file rolling when log files reach a specific size (specified with the `proxy.config.log.rolling_size_mb`_ variable)
+   -  ``3`` = enables log file rolling at specific intervals during the day or when log files reach a specific size (whichever occurs first)
+   -  ``4`` = enables log file rolling at specific intervals during the day when log files reach a specific size (i.e., at a specified
+       time if the file is of the specified size)
+
+.. ts:confvar:: CONFIG proxy.config.log.rolling_interval_sec INT 86400
+   :reloadable:
+
+   The log file rolling interval, in seconds. The minimum value is ``300`` (5 minutes). The maximum, and default, value is 86400 seconds (one day).
+
+   **Note:** If you start Traffic Server within a few minutes of the next rolling time, then rolling might not occur until the next rolling time.
+
+.. ts:confvar:: CONFIG proxy.config.log.rolling_offset_hr INT 0
+   :reloadable:
+
+   The file rolling offset hour. The hour of the day that starts the log rolling period.
+
+.. ts:confvar:: CONFIG proxy.config.log.rolling_size_mb INT 10
+   :reloadable:
+
+   The size that log files must reach before rolling takes place.
+
+.. ts:confvar:: CONFIG proxy.config.log.auto_delete_rolled_files INT 1
+   :reloadable:
+
+   Enables (``1``) or disables (``0``) automatic deletion of rolled files.
+
+.. ts:confvar:: CONFIG proxy.config.log.sampling_frequency INT 1
+   :reloadable:
+
+   Configures Traffic Server to log only a sample of transactions rather than every transaction. You can specify the following values:
+
+   -  ``1`` = log every transaction
+   -  ``2`` = log every second transaction
+   -  ``3`` = log every third transaction and so on...
+
+.. ts:confvar:: CONFIG proxy.config.http.slow.log.threshold INT 0
+   :reloadable:
+
+   The number of milliseconds before a slow connection's debugging stats are dumped. Specify ``1`` to enable or ``0`` to disable.
+
+Diagnostic Logging Configuration
+================================
+
+.. ts:confvar:: CONFIG proxy.config.diags.output.status STRING
+.. ts:confvar:: CONFIG proxy.config.diags.output.warning STRING
+.. ts:confvar:: CONFIG proxy.config.diags.output.emergency STRING
+
+   control where Traffic Server should log diagnostic output. Messages at diagnostic level can be directed to any combination of diagnostic
+   destinations. Valid diagnostic message destinations are:::
+
+   * 'O' = Log to standard output
+   * 'E' = Log to standard error
+   * 'S' = Log to syslog
+   * 'L' = Log to diags.log
+
+.. topic:: Example
+
+   To log debug diagnostics to both syslog and diags.log:::
+
+        proxy.config.diags.output.debug STRING SL
+
+Reverse Proxy
+=============
+
+.. ts:confvar:: CONFIG proxy.config.reverse_proxy.enabled INT 1
+   :reloadable:
+
+   Enables (``1``) or disables (``0``) HTTP reverse proxy.
+
+.. ts:confvar:: CONFIG proxy.config.header.parse.no_host_url_redirect STRING NULL
+   :reloadable:
+
+   The URL to which to redirect requests with no host headers (reverse
+   proxy).
+
+URL Remap Rules
+===============
+
+.. ts:confvar:: CONFIG proxy.config.url_remap.default_to_server_pac INT 0
+   :reloadable:
+
+   Enables (``1``) or disables (``0``) requests for a PAC file on the proxy service port (8080 by default) to be redirected to the PAC
+   port. For this type of redirection to work, the variable `proxy.config.reverse_proxy.enabled`_ must be set to ``1``.
+
+.. ts:confvar:: CONFIG proxy.config.url_remap.default_to_server_pac_port INT -1
+   :reloadable:
+
+   Sets the PAC port so that PAC requests made to the Traffic Server
+   proxy service port are redirected this port. ``-1`` is the default
+   setting that sets the PAC port to the autoconfiguration port (the
+   default autoconfiguration port is 8083). This variable can be used
+   together with the `proxy.config.url_remap.default_to_server_pac`_
+   variable to get a PAC file from a different port. You must create
+   and run a process that serves a PAC file on this port. For example:
+   if you create a Perl script that listens on port 9000 and writes a
+   PAC file in response to any request, then you can set this variable
+   to ``9000``. Browsers that request the PAC file from a proxy server
+   on port 8080 will get the PAC file served by the Perl script.
+
+.. ts:confvar:: CONFIG proxy.config.url_remap.remap_required INT 1
+   :reloadable:
+
+   Set this variable to ``1`` if you want Traffic Server to serve
+   requests only from origin servers listed in the mapping rules of the
+   :file:`remap.config` file. If a request does not match, then the browser
+   will receive an error.
+
+.. ts:confvar:: CONFIG proxy.config.url_remap.pristine_host_hdr INT 1
+   :reloadable:
+
+   Set this variable to ``1`` if you want to retain the client host
+   header in a request during remapping.
+
+SSL Termination
+===============
+
+.. ts:confvar:: CONFIG proxy.config.ssl.SSLv2 INT 0
+
+   Enables (``1``) or disables (``0``) SSLv2. Please don't enable it.
+
+.. ts:confvar:: CONFIG proxy.config.ssl.SSLv3 INT 1
+
+   Enables (``1``) or disables (``0``) SSLv3.
+
+.. ts:confvar:: CONFIG proxy.config.ssl.TLSv1 INT 1
+
+   Enables (``1``) or disables (``0``) TLSv1.
+
+.. ts:confvar:: CONFIG proxy.config.ssl.client.certification_level INT 0
+
+   Sets the client certification level:
+
+   -  ``0`` = no client certificates are required. Traffic Server does
+       not verify client certificates during the SSL handshake. Access
+       to Traffic Server depends on Traffic Server configuration options
+       (such as access control lists).
+
+   -  ``1`` = client certificates are optional. If a client has a
+       certificate, then the certificate is validated. If the client
+       does not have a certificate, then the client is still allowed
+       access to Traffic Server unless access is denied through other
+       Traffic Server configuration options.
+
+   -  ``2`` = client certificates are required. The client must be
+       authenticated during the SSL handshake. Clients without a
+       certificate are not allowed to access Traffic Server.
+
+.. ts:confvar:: CONFIG proxy.config.ssl.server.cert.path STRING /config
+
+   The location of the SSL certificates and chains used for accepting
+   and validation new SSL sessions. If this is a relative path,
+   it is appended to the Traffic Server installation PREFIX. All
+   certificates and certificate chains listed in
+   :file:`ssl_multicert.config` will be loaded relative to this path.
+
+.. ts:confvar:: CONFIG proxy.config.ssl.server.private_key.path STRING NULL
+
+   The location of the SSL certificate private keys. Change this
+   variable only if the private key is not located in the SSL
+   certificate file. All private keys listed in
+   :file:`ssl_multicert.config` will be loaded relative to this
+   path.
+
+.. ts:confvar:: CONFIG proxy.config.ssl.server.cert_chain.filename STRING NULL
+
+   The name of a file containing a global certificate chain that
+   should be used with every server certificate. This file is only
+   used if there are certificates defined in :file:`ssl_multicert.conf`.
+   Unless this is an absolute path, it is loaded relative to the
+   path specified by `proxy.config.ssl.server.cert.path`_.
+
+.. ts:confvar:: CONFIG proxy.config.ssl.CA.cert.path STRING NULL
+
+   The location of the certificate authority file that client
+   certificates will be verified against.
+
+.. ts:confvar:: CONFIG proxy.config.ssl.CA.cert.filename STRING NULL
+
+   The filename of the certificate authority that client certificates
+   will be verified against.
+
+Client-Related Configuration
+----------------------------
+
+.. ts:confvar:: CONFIG proxy.config.ssl.client.verify.server INT 0
+
+   Configures Traffic Server to verify the origin server certificate
+   with the Certificate Authority (CA).
+
+.. ts:confvar:: CONFIG proxy.config.ssl.client.cert.filename STRING NULL
+
+   The filename of SSL client certificate installed on Traffic Server.
+
+.. ts:confvar:: CONFIG proxy.config.ssl.client.cert.path STRING /config
+
+   The location of the SSL client certificate installed on Traffic
+   Server.
+
+.. ts:confvar:: CONFIG proxy.config.ssl.client.private_key.filename STRING NULL
+
+   The filename of the Traffic Server private key. Change this variable
+   only if the private key is not located in the Traffic Server SSL
+   client certificate file.
+
+.. ts:confvar:: CONFIG proxy.config.ssl.client.private_key.path STRING NULL
+
+   The location of the Traffic Server private key. Change this variable
+   only if the private key is not located in the SSL client certificate
+   file.
+
+.. ts:confvar:: CONFIG proxy.config.ssl.client.CA.cert.filename STRING NULL
+
+   The filename of the certificate authority against which the origin
+   server will be verified.
+
+.. ts:confvar:: CONFIG proxy.config.ssl.client.CA.cert.path STRING NULL
+
+   Specifies the location of the certificate authority file against
+   which the origin server will be verified.
+
+ICP Configuration
+=================
+
+.. ts:confvar:: CONFIG proxy.config.icp.enabled INT 0
+
+   Sets ICP mode for hierarchical caching:
+
+   -  ``0`` = disables ICP
+   -  ``1`` = allows Traffic Server to receive ICP queries only
+   -  ``2`` = allows Traffic Server to send and receive ICP queries
+
+   Refer to `ICP Peering <../hierachical-caching#ICPPeering>`_.
+
+.. ts:confvar:: CONFIG proxy.config.icp.icp_interface STRING your_interface
+
+   Specifies the network interface used for ICP traffic.
+
+   **Note:** The Traffic Server installation script detects your
+   network interface and sets this variable appropriately. If your
+   system has multiple network interfaces, check that this variable
+   specifies the correct interface.
+
+.. ts:confvar:: CONFIG proxy.config.icp.icp_port INT 3130
+   :reloadable:
+
+   Specifies the UDP port that you want to use for ICP messages.
+
+.. ts:confvar:: CONFIG proxy.config.icp.query_timeout INT 2
+   :reloadable:
+
+   Specifies the timeout used for ICP queries.
+
+Scheduled Update Configuration
+==============================
+
+.. XXX this is missing something:
+
+   ``INT``
+   ``0``
+   Enables (``1``) or disables (``0``) the Scheduled Update option.
+
+.. ts:confvar:: CONFIG proxy.config.update.force INT 0
+   :reloadable:
+
+   Enables (``1``) or disables (``0``) a force immediate update. When
+   enabled, Traffic Server overrides the scheduling expiration time for
+   all scheduled update entries and initiates updates until this option
+   is disabled.
+
+.. ts:confvar:: CONFIG proxy.config.update.retry_count INT 10
+   :reloadable:
+
+   Specifies the number of times Traffic Server can retry the scheduled
+   update of a URL in the event of failure.
+
+.. ts:confvar:: CONFIG proxy.config.update.retry_interval INT 2
+   :reloadable:
+
+   Specifies the delay (in seconds) between each scheduled update retry
+   for a URL in the event of failure.
+
+.. ts:confvar:: CONFIG proxy.config.update.concurrent_updates INT 100
+   :reloadable:
+
+   Specifies the maximum simultaneous update requests allowed at any
+   time. This option prevents the scheduled update process from
+   overburdening the host.
+
+Remap Plugin Processor
+======================
+
+.. ts:confvar:: CONFIG proxy.config.remap.use_remap_processor INT 0
+
+   Enables (``1``) or disables (``0``) the ability to run separate threads for remap plugin processing.
+
+.. ts:confvar:: CONFIG proxy.config.remap.num_remap_threads INT 1
+
+   Specifies the number of threads that will be used for remap plugin rocessing.
+
+Plug-in Configuration
+=====================
+
+.. ts:confvar:: CONFIG proxy.config.plugin.plugin_dir STRING config/plugins
+
+   Specifies the location of Traffic Server plugins.
+
+Sockets
+=======
+
+.. ts:confvar:: CONFIG proxy.config.net.defer_accept INT `1`
+
+   default: ``1`` meaning ``on`` all Platforms except Linux: ``45`` seconds
+
+   This directive enables operating system specific optimizations for a listening socket. ``defer_accept`` holds a call to ``accept(2)``
+   back until data has arrived. In Linux' special case this is up to a maximum of 45 seconds.
+
+.. ts:confvar:: CONFIG proxy.config.net.sock_send_buffer_size_in INT 0
+
+   Sets the send buffer size for connections from the client to Traffic Server.
+
+.. ts:confvar:: CONFIG proxy.config.net.sock_recv_buffer_size_in INT 0
+
+   Sets the receive buffer size for connections from the client to Traffic Server.
+
+.. ts:confvar:: CONFIG proxy.config.net.sock_option_flag_in INT 0
+
+   Turns different options "on" for the socket handling client connections:::
+
+        TCP_NODELAY (1)
+        SO_KEEPALIVE (2)
+
+   **Note:** This is a flag and you look at the bits set. Therefore,
+   you must set the value to ``3`` if you want to enable both options
+   above.
+
+.. ts:confvar:: CONFIG proxy.config.net.sock_send_buffer_size_out INT 0
+
+   Sets the send buffer size for connections from Traffic Server to the origin server.
+
+.. ts:confvar:: CONFIG proxy.config.net.sock_recv_buffer_size_out INT 0
+
+   Sets the receive buffer size for connections from Traffic Server to
+   the origin server.
+
+.. ts:confvar:: CONFIG proxy.config.net.sock_option_flag_out INT 0
+
+   Turns different options "on" for the origin server socket:::
+
+        TCP_NODELAY (1)
+        SO_KEEPALIVE (2)
+
+   **Note:** This is a flag and you look at the bits set. Therefore,
+   you must set the value to ``3`` if you want to enable both options
+   above.
+
+.. ts:confvar:: CONFIG proxy.config.net.sock_mss_in INT 0
+
+   Same as the command line option ``--accept_mss`` that sets the MSS for all incoming requests.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/configuration/remap.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/configuration/remap.config.en.rst b/doc/reference/configuration/remap.config.en.rst
new file mode 100644
index 0000000..5122e60
--- /dev/null
+++ b/doc/reference/configuration/remap.config.en.rst
@@ -0,0 +1,277 @@
+.. 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.
+
+============
+remap.config
+============
+
+.. configfile:: remap.config
+
+.. toctree::                                                                                                                                                                                      
+   :maxdepth: 2
+
+
+The :file:`remap.config` file contains mapping rules that Traffic Server
+uses to perform the following actions:
+
+-  Map URL requests for a specific origin server to the appropriate
+   location on Traffic Server when Traffic Server acts as a reverse
+   proxy for that particular origin server
+-  Reverse-map server location headers so that when origin servers
+   respond to a request with a location header that redirects the client
+   to another location, the clients do not bypass Traffic Server
+-  Redirect HTTP requests permanently or temporarily without Traffic
+   Server having to contact any origin servers
+
+Refer to `Reverse Proxy and HTTP
+Redirects <../reverse-proxy-http-redirects>`_, for information about
+redirecting HTTP requests and using reverse proxy.
+
+After you modify the :file:`remap.config` run the
+:option:`traffic_line -x` to apply the changes. When you apply the
+changes to one node in a cluster, Traffic Server automatically applies
+the changes to all other nodes in the cluster.
+
+Format
+======
+
+Each line in the :file:`remap.config` file must contain a mapping rule.
+Traffic Server recognizes three space-delimited fields: ``type``,
+``target``, and ``replacement``. The following list describes the format
+of each field.
+
+*``type``* {#type}
+    Enter one of the following:
+
+    -  ``map`` --translates an incoming request URL to the appropriate
+       origin server URL.
+
+    -  ``reverse_map`` --translates the URL in origin server redirect
+       responses to point to the Traffic Server.
+
+    -  ``redirect`` --redirects HTTP requests permanently without having
+       to contact the origin server. Permanent redirects notify the
+       browser of the URL change (by returning an HTTP status code 301)
+       so that the browser can update bookmarks.
+
+    -  ``redirect_temporary`` --redirects HTTP requests temporarily
+       without having to contact the origin server. Temporary redirects
+       notify the browser of the URL change for the current request only
+       (by returning an HTTP status code 307).
+
+    **Note:** use the ``regex_`` prefix to indicate that the line has a
+    regular expression (regex).
+
+*``target``* {#target}
+    Enter the origin ("from") URL. You can enter up to four components:
+
+    ::
+
+        scheme://host:port/path_prefix
+
+    where *``scheme``* is ``http``.
+
+*``replacement``* {#replacement}
+    Enter the origin ("from") URL. You can enter up to four components:
+
+    ::
+
+        scheme://host:port/path_prefix
+
+    where *``scheme``* can be ``http`` or ``https``.
+
+Precedence
+==========
+
+Remap rules are not processed top-down, but based on an internal
+priority
+
+1. ``map`` and ``reverse_map``
+2. ``redirect`` and ``redirect_temporary``
+3. ``regex_remap``
+4. ``regex_redirect`` and ``regex_redirect_temporary``
+
+Examples
+========
+
+The following section shows example mapping rules in the
+:file:`remap.config` file.
+
+Reverse Proxy Mapping Rules
+===========================
+
+The following example shows a map rule that does not specify a path
+prefix in the target or replacement:
+
+::
+
+    map http://www.x.com/ http://server.hoster.com/
+    reverse_map http://server.hoster.com/ http://www.x.com/
+
+This rule results in the following translations:
+
+Client Request \| Translated Request
+---------------\|-------------------
+``http://www.x.com/Widgets/index.html`` \|
+``http://server.hoster.com/Widgets/index.html``
+``http://www.x.com/cgi/form/submit.sh?arg=true`` \|
+``http://server.hoster.com/cgi/form/submit.sh?arg=true``
+
+The following example shows a map rule with path prefixes specified in
+the target:
+
+::
+
+    map http://www.y.com/marketing/ http://marketing.y.com/
+    reverse_map http://marketing.y.com/ http://www.y.com/marketing/
+    map http://www.y.com/sales/ http://sales.y.com/
+    reverse_map http://sales.y.com/ http://www.y.com/sales/
+    map http://www.y.com/engineering/ http://engineering.y.com/
+    reverse_map http://engineering.y.com/ http://www.y.com/engineering/
+    map http://www.y.com/stuff/ http://info.y.com/
+    reverse_map http://info.y.com/ http://www.y.com/stuff/
+
+These rules result in the following translations:
+
+Client Request \| Translated Request
+---------------\|-------------------
+``http://www.y.com/marketing/projects/manhattan/specs.html`` \|
+``http://marketing.y.com/projects/manhattan/specs.html``
+``http://www.y.com/stuff/marketing/projects/boston/specs.html`` \|
+``http://info.y.com/marketing/projects/boston/specs.html``
+``http://www.y.com/engineering/marketing/requirements.html`` \|
+``http://engineering.y.com/marketing/requirements.html``
+
+The following example shows that the order of the rules matters:
+
+::
+
+    map http://www.g.com/ http://external.g.com/
+    reverse_map http://external.g.com/ http://www.g.com/
+    map http://www.g.com/stuff/ http://stuff.g.com/
+    reverse_map http://stuff.g.com/ http://www.g.com/stuff/
+
+These rules result in the following translation.
+
+Client Request \| Translated Request
+---------------\|------------------- ``http://www.g.com/stuff/a.gif`` \|
+``http://external.g.com/stuff/a.gif``
+
+In the above examples, the second rule is never applied because all URLs
+that match the second rule also match the first rule. The first rule
+takes precedence because it appears earlier in the :file:`remap.config`
+file.
+
+The following example shows a mapping with a path prefix specified in
+the target and replacement::
+
+    map http://www.h.com/a/b/ http://server.h.com/customers/x/y
+    reverse_map http://server.h.com/customers/x/y/ http://www.h.com/a/b/
+
+This rule results in the following translation.
+
+Client Request \| Translated Request
+---------------\|-------------------
+``http://www.h.com/a/b/c/d/doc.html`` \|
+``http://server.h.com/customers/x/y/c/d/doc.html``
+``http://www.h.com/a/index.html`` \| ``Translation fails``
+
+The following example shows reverse-map rules::
+
+    map http://www.x.com/ http://server.hoster.com/x/
+    reverse_map http://server.hoster.com/x/ http://www.x.com/
+
+These rules result in the following translations.
+
+Client Request \| Translated Request
+---------------\|------------------- ``http://www.x.com/Widgets`` \|
+``http://server.hoster.com/x/Widgets`` \|
+
+ 
+
+Client Request \| Origin server Header \| Translated Header
+---------------\|----------------------\|-------------------
+``http://www.x.com/Widgets`` \| ``http://server.hoster.com/x/Widgets/``
+\| ``http://www.x.com/Widgets/``
+
+When acting as a reverse proxy for multiple servers, Traffic Server is
+unable to route to URLs from older browsers that do not send the
+``Host:`` header. As a solution, set the variable
+*``proxy.config.header.parse.no_host_url_redirect``* in the
+:file:`records.config` file to the URL to which Traffic Server will redirect
+requests without host headers.
+
+Redirect Mapping Rules
+======================
+
+The following rule permanently redirects all HTTP requests for
+``www.company.com`` to ``www.company2.com``:
+
+::
+
+    redirect http://www.company.com/ http://www.company2.com/
+
+The following rule *temporarily* redirects all HTTP requests for
+``www.company1.com`` to ``www.company2.com``:
+
+::
+
+    redirect_temporary http://www.company1.com/ http://www.company2.com/
+
+Regular Expression (regex) Remap Support
+========================================
+
+Regular expressions can be specified in remapping rules, with the
+limitations below:
+
+-  Only the ``host`` field can contain a regex; the ``scheme``,
+   ``port``, and other fields cannot. For path manipulation via regexes,
+   use the ``regex_remap`` plugin.
+-  The number of capturing subpatterns is limited to 9. This means that
+   ``$0`` through ``$9`` can be used as subtraction placeholders (``$0``
+   will be the entire input string).
+-  The number of substitutions in the expansion string is limited to 10.
+-  There is no ``regex_`` equivalent to ``reverse_remap``, so when using
+   ``regex_remap`` you should make sure the reverse path is clear by
+   setting
+   (`*``proxy.config.url_remap.pristine_host_hdr``* <../configuration-files/records.config#proxy.config.url_remap.pristine_host_hdr>`_)
+
+Examples
+--------
+
+::
+
+    regex_map http://x([0-9]+).z.com/ http://real-x$1.z.com/
+    regex_redirect http://old.(.*).z.com http://new.$1.z.com
+
+Plugin Chaining
+===============
+
+Plugins can be configured to be evaluated in a specific order, passing
+the results from one in to the next (unless a plugin returns 0, then the
+"chain" is broken).
+
+Examples
+--------
+
+::
+
+    map http://url/path http://url/path @plugin=/etc/traffic_server/config/plugins/plugin1.so @pparam=1 @pparam=2 @plugin=/etc/traffic_server/config/plugins/plugin2.so @pparam=3
+
+will pass "1" and "2" to plugin1.so and "3" to plugin2.so.
+
+This will pass "1" and "2" to plugin1.so and "3" to plugin2.so

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/configuration/splitdns.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/configuration/splitdns.config.en.rst b/doc/reference/configuration/splitdns.config.en.rst
new file mode 100644
index 0000000..4298a45
--- /dev/null
+++ b/doc/reference/configuration/splitdns.config.en.rst
@@ -0,0 +1,125 @@
+.. 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.
+
+===============
+splitdns.config
+===============
+
+
+The :file:`splitdns.config` file enables you to specify the DNS server that
+Traffic Server should use for resolving hosts under specific conditions.
+For more information, refer to `Configuring DNS Server Selection (Split
+DNS) <../security-options#SplitDNS>`_.
+
+To specify a DNS server, you must supply the following information in
+each active line within the file:
+
+-  A primary destination specifier in the form of a destination domain,
+   a destination host, or a URL regular expression
+-  A set of server directives, listing one or more DNS servers with
+   corresponding port numbers
+
+You can also include the following optional information with each DNS
+server specification:
+
+-  A default domain for resolving hosts
+-  A search list specifying the domain search order when multiple
+   domains are specified
+
+After you modify the :file:`splitdns.config` file,
+run the :option:`traffic_line -x`
+command to apply the changes. When you apply changes to a node in a
+cluster, Traffic Server automatically applies the changes to all other
+nodes in the cluster.
+
+Format
+======
+
+Each line in the :file:`splitdns.config` file uses one of the following
+formats:
+
+::
+
+    dest_domain=dest_domain | dest_host | url_regex named=dns_server def_domain=def_domain search_list=search_list
+
+The following list describes each field.
+
+*``dest_domain``* {#dest_domain}
+    A valid domain name. This specifies that DNS server selection will
+    be based on the destination domain. You can prefix the domain with
+    an exclamation mark (``!``) to indicate the NOT logical operator.
+
+*``dest_host``* {#dest_host}
+    A valid hostname. This specifies that DNS server selection will be
+    based on the destination host. You can prefix the host with an
+    exclamation mark (``!``) to indicate the ``NOT`` logical operator.
+
+*``url_regex``* {#url_regex}
+    A valid URL regular expression. This specifies that DNS server
+    selection will be based on a regular expression.
+
+*``dns_server``* {#dns_server}
+    This is a required directive. It identifies the DNS server that
+    Traffic Server should use with the given destination specifier. You
+    can specify a port using a colon (``:``). If you do not specify a
+    port, then 53 is used. Specify multiple DNS servers with spaces or
+    semicolons (``;``) as separators.
+
+    You must specify the domains with IP addresses in CIDR ("dot")
+    notation.
+
+*``def_domain``* {#def_domain}
+    A valid domain name. This optional directive specifies the default
+    domain name to use for resolving hosts. Only one entry is allowed.
+    If you do not provide the default domain, the system determines its
+    value from ``/etc/resolv.conf``
+
+*``search_list``* {#search_list}
+    A list of domains separated by spaces or semicolons (;). This
+    specifies the domain search order. If you do not provide the search
+    list, the system determines the value from ``/etc/resolv.conf``
+
+Examples
+========
+
+Consider the following DNS server selection specifications:
+
+::
+
+      dest_domain=internal.company.com named=255.255.255.255:212 255.255.255.254 def_domain=company.com search_list=company.com company1.com
+      dest_domain=!internal.company.com named=255.255.255.253
+
+Now consider the following two requests:
+
+::
+
+     http://minstar.internal.company.com
+
+This request matches the first line and therefore selects DNS server
+``255.255.255.255`` on port ``212``. All resolver requests use
+``company.com`` as the default domain, and ``company.com`` and
+``company1.com`` as the set of domains to search first.
+
+::
+
+     http://www.microsoft.com
+
+This request matches the second line. Therefore, Traffic Server selects
+DNS server ``255.255.255.253``. Because no ``def_domain`` or
+``search_list`` was supplied, Traffic Server retrieves this information
+from ``/etc/resolv.conf``
+


[36/52] [abbrv] git commit: TS-2086 Remove a few more unused configs

Posted by zw...@apache.org.
TS-2086 Remove a few more unused configs


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/0520723a
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/0520723a
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/0520723a

Branch: refs/heads/3.3.x
Commit: 0520723ac42f5b01b068d3762971b4dd4648cfc9
Parents: 5b80237
Author: Leif Hedstrom <zw...@apache.org>
Authored: Thu Aug 1 11:08:40 2013 +0200
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Fri Aug 2 00:08:03 2013 +0200

----------------------------------------------------------------------
 .gitignore                                      |  1 +
 ci/jenkins/records.config                       |  1 -
 .../configuration/records.config.en.rst         | 12 ------------
 example/app-template/records.config.in          |  1 -
 lib/perl/lib/Apache/TS/AdminClient.pm           |  9 ---------
 mgmt/RecordsConfig.cc                           | 20 --------------------
 mgmt/Rollback.cc                                |  4 ++--
 mgmt/api/remote/APITestCliRemote.cc             | 10 +---------
 proxy/Main.cc                                   |  2 --
 proxy/config/records.config.default.in          |  1 -
 10 files changed, 4 insertions(+), 57 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0520723a/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index f2f4d0c..9a4b056 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,6 +7,7 @@
 *.lo
 *.la
 *.log
+*.trs
 
 .deps
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0520723a/ci/jenkins/records.config
----------------------------------------------------------------------
diff --git a/ci/jenkins/records.config b/ci/jenkins/records.config
index 4f5bdfb..239e901 100644
--- a/ci/jenkins/records.config
+++ b/ci/jenkins/records.config
@@ -23,7 +23,6 @@ CONFIG proxy.config.proxy_name STRING ats.boot.org
 CONFIG proxy.config.config_dir STRING etc/trafficserver
 CONFIG proxy.config.proxy_binary_opts STRING -M
 CONFIG proxy.config.env_prep STRING example_prep.sh
-CONFIG proxy.config.temp_dir STRING /tmp
 CONFIG proxy.config.alarm_email STRING nobody
 CONFIG proxy.config.syslog_facility STRING LOG_DAEMON
 CONFIG proxy.config.output.logfile STRING traffic.out

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0520723a/doc/reference/configuration/records.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/configuration/records.config.en.rst b/doc/reference/configuration/records.config.en.rst
index 3b0d1e2..510e681 100644
--- a/doc/reference/configuration/records.config.en.rst
+++ b/doc/reference/configuration/records.config.en.rst
@@ -136,14 +136,6 @@ System Variables
 
    The name of the executable that runs the ``traffic_manager`` process.
 
-.. ts:confvar:: CONFIG proxy.config.cli_binary STRING traffic_line
-
-   The name of the executable that runs the command-line interface :program:`traffic_line`.
-
-.. ts:confvar:: CONFIG proxy.config.watch_script STRING traffic_cop
-
-   The name of the executable that runs the ``traffic_cop`` process.
-
 .. ts:confvar:: CONFIG proxy.config.env_prep STRING
 
    The script executed before the ``traffic_manager`` process spawns
@@ -153,10 +145,6 @@ System Variables
 
    The directory that contains Traffic Server configuration files.
 
-.. ts:confvar:: CONFIG proxy.config.temp_dir STRING /tmp
-
-   The directory used for Traffic Server temporary files.
-
 .. ts:confvar:: CONFIG proxy.config.alarm_email STRING
    :reloadable:
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0520723a/example/app-template/records.config.in
----------------------------------------------------------------------
diff --git a/example/app-template/records.config.in b/example/app-template/records.config.in
index 148ed5e..3a85b7b 100644
--- a/example/app-template/records.config.in
+++ b/example/app-template/records.config.in
@@ -19,7 +19,6 @@
 ##############################################################################
 CONFIG proxy.config.bin_path STRING bin
 CONFIG proxy.config.config_dir STRING etc/@PACKAGE@
-CONFIG proxy.config.temp_dir STRING /tmp
 CONFIG proxy.config.syslog_facility STRING LOG_DAEMON
 CONFIG proxy.config.cop.linux_min_swapfree_kb INT 10240
 CONFIG proxy.config.cop.linux_min_memfree_kb INT 10240

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0520723a/lib/perl/lib/Apache/TS/AdminClient.pm
----------------------------------------------------------------------
diff --git a/lib/perl/lib/Apache/TS/AdminClient.pm b/lib/perl/lib/Apache/TS/AdminClient.pm
index 3f86033..2e171f4 100644
--- a/lib/perl/lib/Apache/TS/AdminClient.pm
+++ b/lib/perl/lib/Apache/TS/AdminClient.pm
@@ -306,7 +306,6 @@ The Apache Traffic Server Administration Manual will explain what these strings
  proxy.config.cache.url_hash_method
  proxy.config.cache.vary_on_user_agent
  proxy.config.cache.mutex_retry_delay
- proxy.config.cli_binary
  proxy.config.cluster.cluster_configuration
  proxy.config.cluster.cluster_load_clear_duration
  proxy.config.cluster.cluster_load_exceed_duration
@@ -339,7 +338,6 @@ The Apache Traffic Server Administration Manual will explain what these strings
  proxy.config.cop.core_signal
  proxy.config.cop.linux_min_memfree_kb
  proxy.config.cop.linux_min_swapfree_kb
- proxy.config.cop_name
  proxy.config.core_limit
  proxy.config.diags.action.enabled
  proxy.config.diags.action.tags
@@ -373,7 +371,6 @@ The Apache Traffic Server Administration Manual will explain what these strings
  proxy.config.exec_thread.autoconfig.scale
  proxy.config.exec_thread.limit
  proxy.config.header.parse.no_host_url_redirect
- proxy.config.history_info_enabled
  proxy.config.hostdb
  proxy.config.hostdb.cluster
  proxy.config.hostdb.cluster.round_robin
@@ -596,7 +593,6 @@ The Apache Traffic Server Administration Manual will explain what these strings
  proxy.config.log.squid_log_name
  proxy.config.log.xml_config_file
  proxy.config.manager_binary
- proxy.config.manager_name
  proxy.config.net.connections_throttle
  proxy.config.net.listen_backlog
  proxy.config.net_snapshot_filename
@@ -628,7 +624,6 @@ The Apache Traffic Server Administration Manual will explain what these strings
  proxy.config.process_manager.enable_mgmt_port
  proxy.config.process_manager.mgmt_port
  proxy.config.process_manager.timeout
- proxy.config.process_state_dump_mode
  proxy.config.product_company
  proxy.config.product_name
  proxy.config.product_vendor
@@ -640,7 +635,6 @@ The Apache Traffic Server Administration Manual will explain what these strings
  proxy.config.res_track_memory
  proxy.config.reverse_proxy.enabled
  proxy.config.reverse_proxy.oldasxbehavior
- proxy.config.server_name
  proxy.config.snapshot_dir
  proxy.config.socks.accept_enabled
  proxy.config.socks.accept_port
@@ -681,7 +675,6 @@ The Apache Traffic Server Administration Manual will explain what these strings
  proxy.config.ssl.server_port
  proxy.config.ssl.server.private_key.path
  proxy.config.stack_dump_enabled
- proxy.config.start_script
  proxy.config.stat_collector.interval
  proxy.config.stat_collector.port
  proxy.config.stats.config_file
@@ -689,7 +682,6 @@ The Apache Traffic Server Administration Manual will explain what these strings
  proxy.config.stats.snap_frequency
  proxy.config.syslog_facility
  proxy.config.system.mmap_max
- proxy.config.temp_dir
  proxy.config.thread.default.stacksize
  proxy.config.udp.free_cancelled_pkts_sec
  proxy.config.udp.periodic_cleanup
@@ -711,7 +703,6 @@ The Apache Traffic Server Administration Manual will explain what these strings
  proxy.config.vmap.addr_file
  proxy.config.vmap.down_up_timeout
  proxy.config.vmap.enabled
- proxy.config.watch_script
 
 =head1 LICENSE
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0520723a/mgmt/RecordsConfig.cc
----------------------------------------------------------------------
diff --git a/mgmt/RecordsConfig.cc b/mgmt/RecordsConfig.cc
index 39931ad..b5b9972 100644
--- a/mgmt/RecordsConfig.cc
+++ b/mgmt/RecordsConfig.cc
@@ -42,12 +42,6 @@ RecordElement RecordsConfig[] = {
   ,
   {RECT_CONFIG, "proxy.config.product_name", RECD_STRING, "Traffic Server", RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
   ,
-  {RECT_CONFIG, "proxy.config.cop_name", RECD_STRING, "Traffic Cop", RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
-  ,
-  {RECT_CONFIG, "proxy.config.manager_name", RECD_STRING, "Traffic Manager", RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
-  ,
-  {RECT_CONFIG, "proxy.config.server_name", RECD_STRING, "Traffic Server", RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
-  ,
   {RECT_CONFIG, "proxy.config.proxy_name", RECD_STRING, "<proxy_name>", RECU_DYNAMIC, RR_REQUIRED, RECC_STR, ".+", RECA_NULL}
   ,
   {RECT_CONFIG, "proxy.config.bin_path", RECD_STRING, "bin", RECU_NULL, RR_REQUIRED, RECC_NULL, NULL, RECA_NULL}
@@ -55,15 +49,9 @@ RecordElement RecordsConfig[] = {
   {RECT_CONFIG, "proxy.config.proxy_binary", RECD_STRING, "traffic_server", RECU_NULL, RR_REQUIRED, RECC_NULL, NULL, RECA_NULL}
   ,
   {RECT_CONFIG, "proxy.config.manager_binary", RECD_STRING, "traffic_manager", RECU_NULL, RR_REQUIRED, RECC_NULL, NULL, RECA_NULL}
-  ,                             // required for traffic_cop
-  {RECT_CONFIG, "proxy.config.cli_binary", RECD_STRING, "traffic_line", RECU_NULL, RR_REQUIRED, RECC_NULL, NULL, RECA_NULL}
-  ,
-  {RECT_CONFIG, "proxy.config.watch_script", RECD_STRING, "traffic_cop", RECU_NULL, RR_REQUIRED, RECC_NULL, NULL, RECA_NULL}
   ,
   {RECT_CONFIG, "proxy.config.proxy_binary_opts", RECD_STRING, "-M", RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
   ,
-  {RECT_CONFIG, "proxy.config.start_script", RECD_STRING, "start", RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
-  ,
   {RECT_CONFIG, "proxy.config.env_prep", RECD_STRING, "example_prep.sh", RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
   ,
   {RECT_CONFIG, "proxy.config.config_dir", RECD_STRING, TS_BUILD_SYSCONFDIR, RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
@@ -71,8 +59,6 @@ RecordElement RecordsConfig[] = {
   // Jira TS-21
   {RECT_CONFIG, "proxy.config.local_state_dir", RECD_STRING, TS_BUILD_RUNTIMEDIR, RECU_RESTART_TS, RR_NULL, RECC_NULL, NULL, RECA_NULL}
   ,
-  {RECT_CONFIG, "proxy.config.temp_dir", RECD_STRING, "/tmp", RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
-  ,
   {RECT_CONFIG, "proxy.config.alarm_email", RECD_STRING, TS_PKGSYSUSER, RECU_DYNAMIC, RR_NULL, RECC_STR, ".*", RECA_NULL}
   ,
   {RECT_CONFIG, "proxy.config.syslog_facility", RECD_STRING, "LOG_DAEMON", RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
@@ -99,12 +85,6 @@ RecordElement RecordsConfig[] = {
   ,
   {RECT_CONFIG, "proxy.config.cache.max_disk_errors", RECD_INT, "5", RECU_DYNAMIC, RR_NULL, RECC_NULL, NULL, RECA_NULL}
   ,
-  //# 0 = disable
-  {RECT_CONFIG, "proxy.config.history_info_enabled", RECD_INT, "0", RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
-  ,
-  //# 0 = disable
-  {RECT_CONFIG, "proxy.config.process_state_dump_mode", RECD_INT, "0", RECU_NULL, RR_NULL, RECC_NULL, NULL, RECA_NULL}
-  ,
   {RECT_CONFIG, "proxy.config.output.logfile", RECD_STRING, "traffic.out", RECU_RESTART_TC, RR_REQUIRED, RECC_NULL, NULL,
    RECA_NULL}
   ,

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0520723a/mgmt/Rollback.cc
----------------------------------------------------------------------
diff --git a/mgmt/Rollback.cc b/mgmt/Rollback.cc
index 39c747c..e27a745 100644
--- a/mgmt/Rollback.cc
+++ b/mgmt/Rollback.cc
@@ -41,9 +41,9 @@ const char *RollbackStrings[] = { "Rollback Ok",
   "System Call Error",
   "Invalid Version - Version Numbers Must Increase"
 };
+
 Rollback::Rollback(const char *baseFileName, bool root_access_needed_)
-  :
-root_access_needed(root_access_needed_)
+  : root_access_needed(root_access_needed_)
 {
   char configTmp[PATH_NAME_MAX + 1];
   version_t highestSeen;        // the highest backup version

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0520723a/mgmt/api/remote/APITestCliRemote.cc
----------------------------------------------------------------------
diff --git a/mgmt/api/remote/APITestCliRemote.cc b/mgmt/api/remote/APITestCliRemote.cc
index 5d15632..57f6ebc 100644
--- a/mgmt/api/remote/APITestCliRemote.cc
+++ b/mgmt/api/remote/APITestCliRemote.cc
@@ -1247,7 +1247,7 @@ test_record_get_mlt(void)
   TSStringList name_list;
   TSList rec_list;
   int i, num;
-  char *v1, *v2, *v3, *v4, *v5, *v6, *v7, *v8;
+  char *v1, *v2, *v3, *v6, *v7, *v8;
   TSError ret;
 
   name_list = TSStringListCreate();
@@ -1262,12 +1262,6 @@ test_record_get_mlt(void)
   const size_t v3_size = (sizeof(char) * (strlen("proxy.config.manager_binary") + 1));
   v3 = (char *) TSmalloc(v3_size);
   ink_strlcpy(v3, "proxy.config.manager_binary", v3_size);
-  const size_t v4_size = (sizeof(char) * (strlen("proxy.config.cli_binary") + 1));
-  v4 = (char *) TSmalloc(v4_size);
-  ink_strlcpy(v4, "proxy.config.cli_binary", v4_size);
-  const size_t v5_size = (sizeof(char) * (strlen("proxy.config.watch_script") + 1));
-  v5 = (char *) TSmalloc(v5_size);
-  ink_strlcpy(v5, "proxy.config.watch_script", v5_size);
   const size_t v6_size = (sizeof(char) * (strlen("proxy.config.env_prep") + 1));
   v6 = (char *) TSmalloc(v6_size);
   ink_strlcpy(v6, "proxy.config.env_prep", v6_size);
@@ -1282,8 +1276,6 @@ test_record_get_mlt(void)
   TSStringListEnqueue(name_list, v1);
   TSStringListEnqueue(name_list, v2);
   TSStringListEnqueue(name_list, v3);
-  TSStringListEnqueue(name_list, v4);
-  TSStringListEnqueue(name_list, v5);
   TSStringListEnqueue(name_list, v6);
   TSStringListEnqueue(name_list, v7);
   TSStringListEnqueue(name_list, v8);

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0520723a/proxy/Main.cc
----------------------------------------------------------------------
diff --git a/proxy/Main.cc b/proxy/Main.cc
index 590e4de..d0785d5 100644
--- a/proxy/Main.cc
+++ b/proxy/Main.cc
@@ -154,7 +154,6 @@ char system_log_dir[PATH_NAME_MAX + 1];          // Layout->logdir
 static char error_tags[1024] = "";
 static char action_tags[1024] = "";
 static int show_statistics = 0;
-static int history_info_enabled = 1;
 static inkcoreapi DiagsConfig *diagsConfig = NULL;
 HttpBodyFactory *body_factory = NULL;
 
@@ -1450,7 +1449,6 @@ main(int /* argc ATS_UNUSED */, char **argv)
   // pmgmt->start() must occur after initialization of Diags but
   // before calling RecProcessInit()
 
-  TS_ReadConfigInteger(history_info_enabled, "proxy.config.history_info_enabled");
   TS_ReadConfigInteger(res_track_memory, "proxy.config.res_track_memory");
 
   init_http_header();

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0520723a/proxy/config/records.config.default.in
----------------------------------------------------------------------
diff --git a/proxy/config/records.config.default.in b/proxy/config/records.config.default.in
index ffe4ce6..b757418 100644
--- a/proxy/config/records.config.default.in
+++ b/proxy/config/records.config.default.in
@@ -23,7 +23,6 @@ CONFIG proxy.config.proxy_name STRING @build_machine@
 CONFIG proxy.config.config_dir STRING @rel_sysconfdir@
 CONFIG proxy.config.proxy_binary_opts STRING -M
 CONFIG proxy.config.env_prep STRING example_prep.sh
-CONFIG proxy.config.temp_dir STRING /tmp
 CONFIG proxy.config.alarm_email STRING @pkgsysuser@
 CONFIG proxy.config.syslog_facility STRING LOG_DAEMON
 CONFIG proxy.config.output.logfile STRING traffic.out


[35/52] [abbrv] git commit: Added TS-1685

Posted by zw...@apache.org.
Added TS-1685


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/5b80237d
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/5b80237d
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/5b80237d

Branch: refs/heads/3.3.x
Commit: 5b80237d7f05ecc12463094e463eb15564073a7b
Parents: b4d411e
Author: Leif Hedstrom <zw...@apache.org>
Authored: Fri Aug 2 00:07:31 2013 +0200
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Fri Aug 2 00:07:31 2013 +0200

----------------------------------------------------------------------
 CHANGES | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b80237d/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 02d9d02..67cd6d2 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,8 @@
 Changes with Apache Traffic Server 3.3.5
 
 
+  *) [TS-1685] Remove TS_MICRO and fellas.
+
   *) [TS-1255] Add more overridable configurations, and fix bugs in how we
    deal with some of these (all "float" configs were completely broken). I
    also modified the regression tests to be less easy to fool.


[14/52] [abbrv] git commit: doc: convert TSInstallDirGet(3) to sphinx

Posted by zw...@apache.org.
doc: convert TSInstallDirGet(3) to sphinx


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/cdddf8ba
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/cdddf8ba
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/cdddf8ba

Branch: refs/heads/3.3.x
Commit: cdddf8ba70f7f305a40f10dd6702a1f301655c40
Parents: fbe22e4
Author: James Peach <jp...@apache.org>
Authored: Thu Aug 1 10:18:23 2013 -0700
Committer: James Peach <jp...@apache.org>
Committed: Thu Aug 1 10:18:23 2013 -0700

----------------------------------------------------------------------
 doc/conf.py                              |  1 +
 doc/reference/api/TSInstallDirGet.en.rst | 62 +++++++++++++++++++++++++++
 2 files changed, 63 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cdddf8ba/doc/conf.py
----------------------------------------------------------------------
diff --git a/doc/conf.py b/doc/conf.py
index cc449e0..f8b7ad8 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -218,6 +218,7 @@ man_pages = [
    ('reference/api/TSHttpParserCreate.en', 'TSHttpParserCreate', u'Parse HTTP headers from memory buffers', None, u'3ts'),
    ('reference/api/TSHttpTxnMilestoneGet.en', 'TSHttpTxnMilestoneGet', u'Get a specified milestone timer value for the current transaction', None, u'3ts'),
    ('reference/api/TSIOBufferCreate.en', 'TSIOBufferCreate', u'Traffic Server IO buffer API', None, u'3ts'),
+   ('reference/api/TSInstallDirGet.en', 'TSInstallDirGet', u'Return Traffic Server installation directories', None, u'3ts'),
 
    ('reference/commands/traffic_cop.en', 'traffic_cop', u'Traffic Server watchdog', None, '8'),
    ('reference/commands/traffic_line.en', 'traffic_line', u'Traffic Server command line', None, '8'),

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cdddf8ba/doc/reference/api/TSInstallDirGet.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSInstallDirGet.en.rst b/doc/reference/api/TSInstallDirGet.en.rst
new file mode 100644
index 0000000..502f172
--- /dev/null
+++ b/doc/reference/api/TSInstallDirGet.en.rst
@@ -0,0 +1,62 @@
+.. 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.
+
+.. default-domain:: c
+
+===============
+TSInstallDirGet
+===============
+
+Library
+=======
+Apache Traffic Server plugin API
+
+Synopsis
+========
+
+`#include <ts/ts.h>`
+
+.. function:: const char * TSInstallDirGet(void)
+.. function:: const char * TSConfigDirGet(void)
+.. function:: const char * TSPluginDirGet(void)
+
+Description
+===========
+
+:func:`TSInstallDirGet` returns the path to the root of the Traffic
+Server installation. :func:`TSConfigDirGet` and :func:`TSPluginDirGet`
+return the complete, absolute path to the configuration directory
+and the plugin installation directory respectively.
+
+Return values
+=============
+
+These functions all return a NUL-terminated string that must not be modified or freed.
+
+Examples
+========
+
+To load a file that is located in the Traffic Server configuration directory::
+
+    #include <ts/ts.h>
+    #include <stdio.h>
+
+    char * path;
+    asprintf(&path, "%s/example.conf", TSConfigDirGet());
+
+See also
+========
+:manpage:`TSAPI(3ts)`


[43/52] [abbrv] git commit: Fix configure check for eventfd

Posted by zw...@apache.org.
Fix configure check for eventfd


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/3dd1dd4f
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/3dd1dd4f
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/3dd1dd4f

Branch: refs/heads/3.3.x
Commit: 3dd1dd4f8cfd8315ce21b1ffc3ad7cb1f7c1ea8a
Parents: 3e05261
Author: James Peach <jp...@apache.org>
Authored: Thu Aug 1 21:37:24 2013 -0700
Committer: James Peach <jp...@apache.org>
Committed: Thu Aug 1 21:37:24 2013 -0700

----------------------------------------------------------------------
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/3dd1dd4f/configure.ac
----------------------------------------------------------------------
diff --git a/configure.ac b/configure.ac
index 44037fd..3f19c45 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1115,7 +1115,7 @@ TS_FLAG_HEADERS([sys/eventfd.h], [
   ]
 )])
 
-AC_CHECK_FUNCS(has_eventfd)
+AC_CHECK_FUNCS(eventfd)
 
 #
 # Check for pcre library


[29/52] [abbrv] git commit: TS-1255 Fix the types for all overridable configs. This was actually a real bug in the code, in that all float configurations were actually treated as integer, rendering them useless

Posted by zw...@apache.org.
TS-1255 Fix the types for all overridable configs. This was actually a real bug in the code,
in that all float configurations were actually treated as integer, rendering them useless


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/f047b43e
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/f047b43e
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/f047b43e

Branch: refs/heads/3.3.x
Commit: f047b43ecd68d107ef8d904e6afe1415fc6507f0
Parents: cba9303
Author: Leif Hedstrom <zw...@apache.org>
Authored: Mon Jul 29 20:33:48 2013 +0200
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Thu Aug 1 22:42:49 2013 +0200

----------------------------------------------------------------------
 proxy/InkAPI.cc     | 31 +++++++++++++++++--------------
 proxy/InkAPITest.cc | 38 +++++++++++++++++++++++---------------
 2 files changed, 40 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/f047b43e/proxy/InkAPI.cc
----------------------------------------------------------------------
diff --git a/proxy/InkAPI.cc b/proxy/InkAPI.cc
index 5b3e728..602c6a0 100644
--- a/proxy/InkAPI.cc
+++ b/proxy/InkAPI.cc
@@ -7516,6 +7516,7 @@ _conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *t
     ret = &sm->t_state.txn_conf->doc_in_cache_skip_dns;
     break;
   case TS_CONFIG_HTTP_BACKGROUND_FILL_ACTIVE_TIMEOUT:
+    typ = OVERRIDABLE_TYPE_INT;
     ret = &sm->t_state.txn_conf->background_fill_active_timeout;
     break;
   case TS_CONFIG_HTTP_RESPONSE_SERVER_STR:
@@ -7543,7 +7544,6 @@ _conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *t
     ret = &sm->t_state.txn_conf->sock_packet_tos_out;
     break;
   case TS_CONFIG_HTTP_INSERT_AGE_IN_RESPONSE:
-    typ = OVERRIDABLE_TYPE_INT;
     ret = &sm->t_state.txn_conf->insert_age_in_response;
     break;
   case TS_CONFIG_HTTP_CHUNKING_SIZE:
@@ -7562,11 +7562,9 @@ _conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *t
     ret = &sm->t_state.txn_conf->flow_high_water_mark;
     break;
   case TS_CONFIG_HTTP_CACHE_RANGE_LOOKUP:
-    typ = OVERRIDABLE_TYPE_INT;
     ret = &sm->t_state.txn_conf->cache_range_lookup;
     break;
   case TS_CONFIG_HTTP_NORMALIZE_AE_GZIP:
-    typ = OVERRIDABLE_TYPE_INT;
     ret = &sm->t_state.txn_conf->normalize_ae_gzip;
     break;
   case TS_CONFIG_HTTP_DEFAULT_BUFFER_SIZE:
@@ -7586,7 +7584,6 @@ _conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *t
     ret = &sm->t_state.txn_conf->response_hdr_max_size;
     break;
   case TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_ENABLED:
-    typ = OVERRIDABLE_TYPE_INT;
     ret = &sm->t_state.txn_conf->negative_revalidating_enabled;
     break;
   case TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_LIFETIME:
@@ -7594,7 +7591,6 @@ _conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *t
     ret = &sm->t_state.txn_conf->negative_revalidating_lifetime;
     break;
   case TS_CONFIG_HTTP_ACCEPT_ENCODING_FILTER_ENABLED:
-    typ = OVERRIDABLE_TYPE_INT;
     ret = &sm->t_state.txn_conf->accept_encoding_filter_enabled;
     break;
 
@@ -7903,8 +7899,10 @@ TSHttpTxnConfigFind(const char* name, int length, TSOverridableConfigKey *conf,
         cnf = TS_CONFIG_HTTP_KEEP_ALIVE_ENABLED_OUT;
       break;
     case 'y':
-      if (!strncmp(name, "proxy.config.http.cache.fuzz.probability", length))
+      if (!strncmp(name, "proxy.config.http.cache.fuzz.probability", length)) {
+        typ = TS_RECORDDATATYPE_FLOAT;
         cnf = TS_CONFIG_HTTP_CACHE_FUZZ_PROBABILITY;
+      }
       break;
     }
     break;
@@ -7972,8 +7970,10 @@ TSHttpTxnConfigFind(const char* name, int length, TSOverridableConfigKey *conf,
         cnf = TS_CONFIG_HTTP_CACHE_CLUSTER_CACHE_LOCAL;
       break;
     case 'r':
-      if (!strncmp(name, "proxy.config.http.cache.heuristic_lm_factor", length))
+      if (!strncmp(name, "proxy.config.http.cache.heuristic_lm_factor", length)) {
+        typ = TS_RECORDDATATYPE_FLOAT;
         cnf = TS_CONFIG_HTTP_CACHE_HEURISTIC_LM_FACTOR;
+      }
       break;
     }
     break;
@@ -8068,14 +8068,15 @@ TSHttpTxnConfigFind(const char* name, int length, TSOverridableConfigKey *conf,
       break;
     case 't':
       switch (name[length-4]) {
-        case '_':
+      case '_':
         if (!strncmp(name, "proxy.config.http.transaction_active_timeout_out", length))
           cnf = TS_CONFIG_HTTP_TRANSACTION_ACTIVE_TIMEOUT_OUT;
         break;
-        case 'e':
-        if (!strncmp(name, "proxy.config.http.background_fill_active_timeout", length))
-          cnf = TS_CONFIG_HTTP_BACKGROUND_FILL_ACTIVE_TIMEOUT;
-        break;
+      case 'e':
+          if (!strncmp(name, "proxy.config.http.background_fill_active_timeout", length)) {
+            cnf = TS_CONFIG_HTTP_BACKGROUND_FILL_ACTIVE_TIMEOUT;
+          }
+          break;
       }
       break;
     }
@@ -8115,8 +8116,10 @@ TSHttpTxnConfigFind(const char* name, int length, TSOverridableConfigKey *conf,
         cnf = TS_CONFIG_HTTP_TRANSACTION_NO_ACTIVITY_TIMEOUT_OUT;
       break;
       case 'd':
-      if (!strncmp(name, "proxy.config.http.background_fill_completed_threshold", length))
-        cnf = TS_CONFIG_HTTP_BACKGROUND_FILL_COMPLETED_THRESHOLD;
+        if (!strncmp(name, "proxy.config.http.background_fill_completed_threshold", length)) {
+          typ = TS_RECORDDATATYPE_FLOAT;
+          cnf = TS_CONFIG_HTTP_BACKGROUND_FILL_COMPLETED_THRESHOLD;
+        }
       break;
     }
     break;

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/f047b43e/proxy/InkAPITest.cc
----------------------------------------------------------------------
diff --git a/proxy/InkAPITest.cc b/proxy/InkAPITest.cc
index f9a0f83..9bbf6a5 100644
--- a/proxy/InkAPITest.cc
+++ b/proxy/InkAPITest.cc
@@ -7415,11 +7415,13 @@ REGRESSION_TEST(SDK_API_OVERRIDABLE_CONFIGS) (RegressionTest * test, int /* atyp
   HttpSM* s = HttpSM::allocate();
   bool success = true;
   TSHttpTxn txnp = reinterpret_cast<TSHttpTxn>(s);
-  TSMgmtInt ival = 0;
-  TSMgmtFloat fval;
-  const char *sval;
+  InkRand generator(17);
+  TSMgmtInt ival_read, ival_rand;
+  TSMgmtFloat fval_read, fval_rand;
+  const char *sval_read;
   const char *test_string = "The Apache Traffic Server";
-  int tmp_int;
+  int len;
+  
 
   s->init();
 
@@ -7438,23 +7440,28 @@ REGRESSION_TEST(SDK_API_OVERRIDABLE_CONFIGS) (RegressionTest * test, int /* atyp
       success = false;
       continue;
     }
+
     // Now check the getters / setters
     switch (type) {
     case TS_RECORDDATATYPE_INT:
-      TSHttpTxnConfigIntSet(txnp, key, 17);
-      TSHttpTxnConfigIntGet(txnp, key, &ival);
-      if (17 != ival) {
-        SDK_RPRINT(test, "TSHttpTxnConfigIntSet", "TestCase1", TC_FAIL, "Failed on %s, expected 17, got %d", conf, ival);
+      ival_rand = generator.random() % 126; // to fit in a signed byte
+      TSHttpTxnConfigIntSet(txnp, key, ival_rand);
+      TSHttpTxnConfigIntGet(txnp, key, &ival_read);
+      if (ival_rand != ival_read) {
+        SDK_RPRINT(test, "TSHttpTxnConfigIntSet", "TestCase1", TC_FAIL, "Failed on %s, %d != %d", conf,
+                   ival_read, ival_rand);
         success = false;
         continue;
       }
       break;
 
     case TS_RECORDDATATYPE_FLOAT:
-      TSHttpTxnConfigFloatSet(txnp, key, 17.17);
-      TSHttpTxnConfigFloatGet(txnp, key, &fval);
-      if (17.17 != fval) {
-        SDK_RPRINT(test, "TSHttpTxnConfigFloatSet", "TestCase1", TC_FAIL, "Failed on %s, expected 17, got %d", conf, ival);
+      fval_rand = generator.random();
+      TSHttpTxnConfigFloatSet(txnp, key, fval_rand);
+      TSHttpTxnConfigFloatGet(txnp, key, &fval_read);
+      if (fval_rand != fval_read) {
+        SDK_RPRINT(test, "TSHttpTxnConfigFloatSet", "TestCase1", TC_FAIL, "Failed on %s, %f != %f", conf,
+                   fval_read, fval_rand);
         success = false;
         continue;
       }
@@ -7462,9 +7469,10 @@ REGRESSION_TEST(SDK_API_OVERRIDABLE_CONFIGS) (RegressionTest * test, int /* atyp
 
     case TS_RECORDDATATYPE_STRING:
       TSHttpTxnConfigStringSet(txnp, key, test_string, -1);
-      TSHttpTxnConfigStringGet(txnp, key, &sval, &tmp_int);
-      if (test_string != sval) {
-        SDK_RPRINT(test, "TSHttpTxnConfigStringSet", "TestCase1", TC_FAIL, "Failed on %s, expected 17, got %s", conf, sval);
+      TSHttpTxnConfigStringGet(txnp, key, &sval_read, &len);
+      if (test_string != sval_read) {
+        SDK_RPRINT(test, "TSHttpTxnConfigStringSet", "TestCase1", TC_FAIL, "Failed on %s, %s != %s", conf,
+                   sval_read, test_string);
         success = false;
         continue;
       }


[30/52] [abbrv] git commit: TS-1255 Add negative revalidation as overridable configs, and cleanup

Posted by zw...@apache.org.
TS-1255 Add negative revalidation as overridable configs, and cleanup


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/ec65b119
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/ec65b119
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/ec65b119

Branch: refs/heads/3.3.x
Commit: ec65b1193fcb9bcd6ee2150160c94d6825a85a25
Parents: b0e7c2a
Author: Leif Hedstrom <zw...@apache.org>
Authored: Sun Jul 28 23:59:53 2013 +0200
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Thu Aug 1 22:42:49 2013 +0200

----------------------------------------------------------------------
 .../configuration/records.config.en.rst         |  3 +++
 proxy/InkAPI.cc                                 | 14 +++++++++++++
 proxy/InkAPITest.cc                             |  4 +++-
 proxy/api/ts/ts.h.in                            |  2 ++
 proxy/http/HttpConfig.cc                        | 15 ++++++-------
 proxy/http/HttpConfig.h                         | 22 +++++++++-----------
 proxy/http/HttpTransact.cc                      |  4 ++--
 7 files changed, 40 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ec65b119/doc/reference/configuration/records.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/configuration/records.config.en.rst b/doc/reference/configuration/records.config.en.rst
index a17fbbd..3b0d1e2 100644
--- a/doc/reference/configuration/records.config.en.rst
+++ b/doc/reference/configuration/records.config.en.rst
@@ -764,6 +764,9 @@ Negative Response Caching
         503  Service Unavailable
         504  Gateway Timeout
 
+    The cache lifetime for objects cached from this setting is controlled via 
+    ``proxy.config.http.negative_caching_lifetime``.
+
 Proxy User Variables
 ====================
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ec65b119/proxy/InkAPI.cc
----------------------------------------------------------------------
diff --git a/proxy/InkAPI.cc b/proxy/InkAPI.cc
index 99c833d..63001f2 100644
--- a/proxy/InkAPI.cc
+++ b/proxy/InkAPI.cc
@@ -7585,6 +7585,14 @@ _conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *t
     typ = OVERRIDABLE_TYPE_INT;
     ret = &sm->t_state.txn_conf->response_hdr_max_size;
     break;
+  case TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_ENABLED:
+    typ = OVERRIDABLE_TYPE_INT;
+    ret = &sm->t_state.txn_conf->negative_revalidating_enabled;
+    break;
+  case TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_LIFETIME:
+    typ = OVERRIDABLE_TYPE_INT;
+    ret = &sm->t_state.txn_conf->negative_revalidating_lifetime;
+    break;
 
     // This helps avoiding compiler warnings, yet detect unhandled enum members.
   case TS_CONFIG_NULL:
@@ -8025,6 +8033,10 @@ TSHttpTxnConfigFind(const char* name, int length, TSOverridableConfigKey *conf,
 
   case 47:
     switch (name[length-1]) {
+    case 'd':
+      if (!strncmp(name, "proxy.config.http.negative_revalidating_enabled", length))
+        cnf = TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_ENABLED;
+      break;
     case 'e':
       if (!strncmp(name, "proxy.config.http.cache.guaranteed_min_lifetime", length))
         cnf = TS_CONFIG_HTTP_CACHE_GUARANTEED_MIN_LIFETIME;
@@ -8043,6 +8055,8 @@ TSHttpTxnConfigFind(const char* name, int length, TSOverridableConfigKey *conf,
     case 'e':
       if (!strncmp(name, "proxy.config.http.cache.ignore_client_cc_max_age", length))
         cnf = TS_CONFIG_HTTP_CACHE_IGNORE_CLIENT_CC_MAX_AGE;
+      else if (!strncmp(name, "proxy.config.http.negative_revalidating_lifetime", length))
+        cnf = TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_LIFETIME;
       break;
     case 't':
       switch (name[length-4]) {

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ec65b119/proxy/InkAPITest.cc
----------------------------------------------------------------------
diff --git a/proxy/InkAPITest.cc b/proxy/InkAPITest.cc
index 85cc589..108a125 100644
--- a/proxy/InkAPITest.cc
+++ b/proxy/InkAPITest.cc
@@ -7401,7 +7401,9 @@ const char *SDK_Overridable_Configs[TS_CONFIG_LAST_ENTRY] = {
   "proxy.config.http.default_buffer_size",
   "proxy.config.http.default_buffer_water_mark",
   "proxy.config.http.request_header_max_size",
-  "proxy.config.http.response_header_max_size"
+  "proxy.config.http.response_header_max_size",
+  "proxy.config.http.negative_revalidating_enabled",
+  "proxy.config.http.negative_revalidating_lifetime"
 };
 
 REGRESSION_TEST(SDK_API_OVERRIDABLE_CONFIGS) (RegressionTest * test, int /* atype ATS_UNUSED */, int *pstatus)

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ec65b119/proxy/api/ts/ts.h.in
----------------------------------------------------------------------
diff --git a/proxy/api/ts/ts.h.in b/proxy/api/ts/ts.h.in
index 47eeaf6..4b34bd8 100644
--- a/proxy/api/ts/ts.h.in
+++ b/proxy/api/ts/ts.h.in
@@ -677,6 +677,8 @@ extern "C"
     TS_CONFIG_HTTP_DEFAULT_BUFFER_WATER_MARK,
     TS_CONFIG_HTTP_REQUEST_HEADER_MAX_SIZE,
     TS_CONFIG_HTTP_RESPONSE_HEADER_MAX_SIZE,
+    TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_ENABLED,
+    TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_LIFETIME,
     TS_CONFIG_LAST_ENTRY
   } TSOverridableConfigKey;
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ec65b119/proxy/http/HttpConfig.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpConfig.cc b/proxy/http/HttpConfig.cc
index c8c0abc..1f7c478 100644
--- a/proxy/http/HttpConfig.cc
+++ b/proxy/http/HttpConfig.cc
@@ -1316,17 +1316,15 @@ HttpConfig::startup()
   HttpEstablishStaticConfigByte(c.referer_filter_enabled, "proxy.config.http.referer_filter");
   HttpEstablishStaticConfigByte(c.referer_format_redirect, "proxy.config.http.referer_format_redirect");
 
-  // Negative caching
   HttpEstablishStaticConfigLongLong(c.oride.down_server_timeout, "proxy.config.http.down_server.cache_time");
   HttpEstablishStaticConfigLongLong(c.oride.client_abort_threshold, "proxy.config.http.down_server.abort_threshold");
 
-  // Negative revalidating
-  HttpEstablishStaticConfigByte(c.negative_revalidating_enabled, "proxy.config.http.negative_revalidating_enabled");
-  HttpEstablishStaticConfigLongLong(c.negative_revalidating_lifetime, "proxy.config.http.negative_revalidating_lifetime");
-
-  // Negative response caching
+  // Negative caching and revalidation
   HttpEstablishStaticConfigByte(c.oride.negative_caching_enabled, "proxy.config.http.negative_caching_enabled");
   HttpEstablishStaticConfigLongLong(c.oride.negative_caching_lifetime, "proxy.config.http.negative_caching_lifetime");
+  HttpEstablishStaticConfigByte(c.oride.negative_revalidating_enabled, "proxy.config.http.negative_revalidating_enabled");
+  HttpEstablishStaticConfigLongLong(c.oride.negative_revalidating_lifetime,
+                                    "proxy.config.http.negative_revalidating_lifetime");
 
   // Buffer size and watermark
   HttpEstablishStaticConfigLongLong(c.oride.default_buffer_size_index, "proxy.config.http.default_buffer_size");
@@ -1588,11 +1586,10 @@ params->push_method_enabled = INT_TO_BOOL(m_master.push_method_enabled);
   params->oride.down_server_timeout = m_master.oride.down_server_timeout;
   params->oride.client_abort_threshold = m_master.oride.client_abort_threshold;
 
-  params->negative_revalidating_enabled = INT_TO_BOOL(m_master.negative_revalidating_enabled);
-  params->negative_revalidating_lifetime = m_master.negative_revalidating_lifetime;
-
   params->oride.negative_caching_enabled = INT_TO_BOOL(m_master.oride.negative_caching_enabled);
   params->oride.negative_caching_lifetime = m_master.oride.negative_caching_lifetime;
+  params->oride.negative_revalidating_enabled = INT_TO_BOOL(m_master.oride.negative_revalidating_enabled);
+  params->oride.negative_revalidating_lifetime = m_master.oride.negative_revalidating_lifetime;
 
   //##############################################################################
   //#

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ec65b119/proxy/http/HttpConfig.h
----------------------------------------------------------------------
diff --git a/proxy/http/HttpConfig.h b/proxy/http/HttpConfig.h
index de47b94..d4970e5 100644
--- a/proxy/http/HttpConfig.h
+++ b/proxy/http/HttpConfig.h
@@ -401,7 +401,7 @@ struct HttpConfigPortRange
 struct OverridableHttpConfigParams {
   OverridableHttpConfigParams()
     : maintain_pristine_host_hdr(1), chunking_enabled(1),
-      negative_caching_enabled(0), cache_when_to_revalidate(0),
+      negative_caching_enabled(0), negative_revalidating_enabled(0), cache_when_to_revalidate(0),
       keep_alive_enabled_in(1), keep_alive_enabled_out(1), keep_alive_post_out(0),
       share_server_sessions(2), fwd_proxy_auth_to_parent(0), insert_age_in_response(1),
       anonymize_remove_from(0), anonymize_remove_referer(0), anonymize_remove_user_agent(0),
@@ -411,7 +411,8 @@ struct OverridableHttpConfigParams {
       cache_ims_on_client_no_cache(1), cache_ignore_server_no_cache(0), cache_responses_to_cookies(1),
       cache_ignore_auth(0), cache_urls_that_look_dynamic(1), cache_required_headers(2), cache_range_lookup(1),
       insert_request_via_string(1), insert_response_via_string(0), doc_in_cache_skip_dns(1),
-      negative_caching_lifetime(1800), normalize_ae_gzip(0),
+      flow_control_enabled(0), accept_encoding_filter_enabled(0), normalize_ae_gzip(0),
+      negative_caching_lifetime(1800), negative_revalidating_lifetime(1800),
       sock_recv_buffer_size_out(0), sock_send_buffer_size_out(0), sock_option_flag_out(0),
       sock_packet_mark_out(0), sock_packet_tos_out(0), server_tcp_init_cwnd(0),
       request_hdr_max_size(131072), response_hdr_max_size(131072),
@@ -446,6 +447,7 @@ struct OverridableHttpConfigParams {
   //  Negative Response Caching //
   ////////////////////////////////
   MgmtByte negative_caching_enabled;
+  MgmtByte negative_revalidating_enabled;
 
   MgmtByte cache_when_to_revalidate;
 
@@ -504,13 +506,17 @@ struct OverridableHttpConfigParams {
   MgmtByte doc_in_cache_skip_dns;
   MgmtByte flow_control_enabled;
 
-  MgmtInt negative_caching_lifetime;
-
   ////////////////////////////////
   // Optimize gzip alternates   //
   ////////////////////////////////
   MgmtByte normalize_ae_gzip;
 
+  ////////////////////////////////
+  //  Negative cache lifetimes  //
+  ////////////////////////////////
+  MgmtInt negative_caching_lifetime;
+  MgmtInt negative_revalidating_lifetime;
+
   ///////////////////////////////////////
   // origin server connection settings //
   ///////////////////////////////////////
@@ -741,12 +747,6 @@ public:
   char *reverse_proxy_no_host_redirect;
   int reverse_proxy_no_host_redirect_len;
 
-  ////////////////////////////
-  //  Negative Revalidating //
-  ////////////////////////////
-  MgmtByte negative_revalidating_enabled;
-  MgmtInt negative_revalidating_lifetime;
-
   ///////////////////
   // cop access    //
   ///////////////////
@@ -932,8 +932,6 @@ HttpConfigParams::HttpConfigParams()
     server_transparency_enabled(false),
     reverse_proxy_enabled(0),
     url_remap_required(1),
-    negative_revalidating_enabled(0),
-    negative_revalidating_lifetime(1800),
     record_cop_page(0),
     record_tcp_mem_hit(0),
     errors_log_error_pages(1),

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ec65b119/proxy/http/HttpTransact.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc
index 23696ae..a39447e 100644
--- a/proxy/http/HttpTransact.cc
+++ b/proxy/http/HttpTransact.cc
@@ -4103,14 +4103,14 @@ HttpTransact::handle_cache_operation_on_forward_server_response(State* s)
          server_response_code == HTTP_STATUS_BAD_GATEWAY ||
          server_response_code == HTTP_STATUS_SERVICE_UNAVAILABLE) &&
         s->cache_info.action == CACHE_DO_UPDATE &&
-        s->http_config_param->negative_revalidating_enabled && is_stale_cache_response_returnable(s)) {
+        s->txn_conf->negative_revalidating_enabled && is_stale_cache_response_returnable(s)) {
       DebugTxn("http_trans", "[hcoofsr] negative revalidating: revalidate stale object and serve from cache");
 
       s->cache_info.object_store.create();
       s->cache_info.object_store.request_set(&s->hdr_info.client_request);
       s->cache_info.object_store.response_set(s->cache_info.object_read->response_get());
       base_response = s->cache_info.object_store.response_get();
-      time_t exp_time = s->http_config_param->negative_revalidating_lifetime + ink_cluster_time();
+      time_t exp_time = s->txn_conf->negative_revalidating_lifetime + ink_cluster_time();
       base_response->set_expires(exp_time);
 
       SET_VIA_STRING(VIA_CACHE_FILL_ACTION, VIA_CACHE_UPDATED);


[27/52] [abbrv] git commit: TS-1255 Added proxy.config.http.cache.range.lookup as overridable config, and also organized the switch statement in InkAPI.cc to match ts.h

Posted by zw...@apache.org.
TS-1255 Added proxy.config.http.cache.range.lookup as overridable config, and also organized the switch statement in InkAPI.cc to match ts.h


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/bb6939cf
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/bb6939cf
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/bb6939cf

Branch: refs/heads/3.3.x
Commit: bb6939cf56cc0664fff971da81b59b0b26dd4068
Parents: cecc082
Author: Leif Hedstrom <zw...@apache.org>
Authored: Sat Jul 27 02:46:17 2013 -0600
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Thu Aug 1 22:42:48 2013 +0200

----------------------------------------------------------------------
 proxy/InkAPI.cc            | 51 +++++++++++++++++++++++++----------------
 proxy/InkAPITest.cc        |  3 ++-
 proxy/api/ts/ts.h.in       |  1 +
 proxy/http/HttpConfig.cc   |  4 ++--
 proxy/http/HttpConfig.h    |  6 ++---
 proxy/http/HttpTransact.cc |  2 +-
 6 files changed, 40 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/bb6939cf/proxy/InkAPI.cc
----------------------------------------------------------------------
diff --git a/proxy/InkAPI.cc b/proxy/InkAPI.cc
index 540bec8..3433f7d 100644
--- a/proxy/InkAPI.cc
+++ b/proxy/InkAPI.cc
@@ -7362,14 +7362,6 @@ _conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *t
     typ = OVERRIDABLE_TYPE_INT;
     ret = &sm->t_state.txn_conf->sock_option_flag_out;
     break;
-  case TS_CONFIG_NET_SOCK_PACKET_MARK_OUT:
-    typ = OVERRIDABLE_TYPE_INT;
-    ret = &sm->t_state.txn_conf->sock_packet_mark_out;
-    break;
-  case TS_CONFIG_NET_SOCK_PACKET_TOS_OUT:
-    typ = OVERRIDABLE_TYPE_INT;
-    ret = &sm->t_state.txn_conf->sock_packet_tos_out;
-    break;
   case TS_CONFIG_HTTP_FORWARD_PROXY_AUTH_TO_PARENT:
     ret = &sm->t_state.txn_conf->fwd_proxy_auth_to_parent;
     break;
@@ -7526,11 +7518,10 @@ _conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *t
   case TS_CONFIG_HTTP_BACKGROUND_FILL_ACTIVE_TIMEOUT:
     ret = &sm->t_state.txn_conf->background_fill_active_timeout;
     break;
-  case TS_CONFIG_HTTP_INSERT_AGE_IN_RESPONSE:
-    typ = OVERRIDABLE_TYPE_INT;
-    ret = &sm->t_state.txn_conf->insert_age_in_response;
+  case TS_CONFIG_HTTP_RESPONSE_SERVER_STR:
+    typ = OVERRIDABLE_TYPE_STRING;
+    ret = &sm->t_state.txn_conf->proxy_response_server_string;
     break;
-
   case TS_CONFIG_HTTP_CACHE_HEURISTIC_LM_FACTOR:
     typ = OVERRIDABLE_TYPE_FLOAT;
     ret = &sm->t_state.txn_conf->cache_heuristic_lm_factor;
@@ -7543,10 +7534,17 @@ _conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *t
     typ = OVERRIDABLE_TYPE_FLOAT;
     ret = &sm->t_state.txn_conf->background_fill_threshold;
     break;
-
-  case TS_CONFIG_HTTP_RESPONSE_SERVER_STR:
-    typ = OVERRIDABLE_TYPE_STRING;
-    ret = &sm->t_state.txn_conf->proxy_response_server_string;
+  case TS_CONFIG_NET_SOCK_PACKET_MARK_OUT:
+    typ = OVERRIDABLE_TYPE_INT;
+    ret = &sm->t_state.txn_conf->sock_packet_mark_out;
+    break;
+  case TS_CONFIG_NET_SOCK_PACKET_TOS_OUT:
+    typ = OVERRIDABLE_TYPE_INT;
+    ret = &sm->t_state.txn_conf->sock_packet_tos_out;
+    break;
+  case TS_CONFIG_HTTP_INSERT_AGE_IN_RESPONSE:
+    typ = OVERRIDABLE_TYPE_INT;
+    ret = &sm->t_state.txn_conf->insert_age_in_response;
     break;
   case TS_CONFIG_HTTP_CHUNKING_SIZE:
     typ = OVERRIDABLE_TYPE_INT;
@@ -7555,13 +7553,17 @@ _conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *t
   case TS_CONFIG_HTTP_FLOW_CONTROL_ENABLED:
     ret = &sm->t_state.txn_conf->flow_control_enabled;
     break;
+  case TS_CONFIG_HTTP_FLOW_CONTROL_LOW_WATER_MARK:
+    typ = OVERRIDABLE_TYPE_INT;
+    ret = &sm->t_state.txn_conf->flow_low_water_mark;
+    break;
   case TS_CONFIG_HTTP_FLOW_CONTROL_HIGH_WATER_MARK:
     typ = OVERRIDABLE_TYPE_INT;
     ret = &sm->t_state.txn_conf->flow_high_water_mark;
     break;
-  case TS_CONFIG_HTTP_FLOW_CONTROL_LOW_WATER_MARK:
+  case TS_CONFIG_HTTP_CACHE_RANGE_LOOKUP:
     typ = OVERRIDABLE_TYPE_INT;
-    ret = &sm->t_state.txn_conf->flow_low_water_mark;
+    ret = &sm->t_state.txn_conf->cache_range_lookup;
     break;
 
     // This helps avoiding compiler warnings, yet detect unhandled enum members.
@@ -7746,6 +7748,7 @@ TSHttpTxnConfigFind(const char* name, int length, TSOverridableConfigKey *conf,
     if (!strncmp(name, "proxy.config.http.cache.http", length))
       cnf = TS_CONFIG_HTTP_CACHE_HTTP;
     break;
+
   case 31:
     if (!strncmp(name, "proxy.config.http.chunking.size", length))
       cnf = TS_CONFIG_HTTP_CHUNKING_SIZE;
@@ -7762,8 +7765,16 @@ TSHttpTxnConfigFind(const char* name, int length, TSOverridableConfigKey *conf,
     break;
 
   case 36:
-    if (!strncmp(name, "proxy.config.net.sock_packet_tos_out", length))
-      cnf = TS_CONFIG_NET_SOCK_PACKET_TOS_OUT;
+    switch (name[length-1]) {
+    case 'p':
+      if (!strncmp(name, "proxy.config.http.cache.range.lookup", length))
+        cnf = TS_CONFIG_HTTP_CACHE_RANGE_LOOKUP;
+      break;
+    case 't':
+      if (!strncmp(name, "proxy.config.net.sock_packet_tos_out", length))
+        cnf = TS_CONFIG_NET_SOCK_PACKET_TOS_OUT;
+      break;
+    }
     break;
 
   case 37:

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/bb6939cf/proxy/InkAPITest.cc
----------------------------------------------------------------------
diff --git a/proxy/InkAPITest.cc b/proxy/InkAPITest.cc
index 1be5eb0..6f54a3b 100644
--- a/proxy/InkAPITest.cc
+++ b/proxy/InkAPITest.cc
@@ -7395,7 +7395,8 @@ const char *SDK_Overridable_Configs[TS_CONFIG_LAST_ENTRY] = {
   "proxy.config.http.chunking.size",
   "proxy.config.http.flow_control.enabled",
   "proxy.config.http.flow_control.low_water",
-  "proxy.config.http.flow_control.high_water"
+  "proxy.config.http.flow_control.high_water",
+  "proxy.config.http.cache.range.lookup"
 };
 
 REGRESSION_TEST(SDK_API_OVERRIDABLE_CONFIGS) (RegressionTest * test, int /* atype ATS_UNUSED */, int *pstatus)

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/bb6939cf/proxy/api/ts/ts.h.in
----------------------------------------------------------------------
diff --git a/proxy/api/ts/ts.h.in b/proxy/api/ts/ts.h.in
index fc65e0e..7793055 100644
--- a/proxy/api/ts/ts.h.in
+++ b/proxy/api/ts/ts.h.in
@@ -671,6 +671,7 @@ extern "C"
     TS_CONFIG_HTTP_FLOW_CONTROL_ENABLED,
     TS_CONFIG_HTTP_FLOW_CONTROL_LOW_WATER_MARK,
     TS_CONFIG_HTTP_FLOW_CONTROL_HIGH_WATER_MARK,
+    TS_CONFIG_HTTP_CACHE_RANGE_LOOKUP,
     TS_CONFIG_LAST_ENTRY,
   } TSOverridableConfigKey;
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/bb6939cf/proxy/http/HttpConfig.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpConfig.cc b/proxy/http/HttpConfig.cc
index 2080f65..fb5b9ed 100644
--- a/proxy/http/HttpConfig.cc
+++ b/proxy/http/HttpConfig.cc
@@ -1289,7 +1289,7 @@ HttpConfig::startup()
   HttpEstablishStaticConfigByte(c.cache_when_to_add_no_cache_to_msie_requests,
                                     "proxy.config.http.cache.when_to_add_no_cache_to_msie_requests");
   HttpEstablishStaticConfigByte(c.oride.cache_required_headers, "proxy.config.http.cache.required_headers");
-  HttpEstablishStaticConfigByte(c.cache_range_lookup, "proxy.config.http.cache.range.lookup");
+  HttpEstablishStaticConfigByte(c.oride.cache_range_lookup, "proxy.config.http.cache.range.lookup");
 
   HttpEstablishStaticConfigStringAlloc(c.connect_ports_string, "proxy.config.http.connect_ports");
 
@@ -1560,7 +1560,7 @@ HttpConfig::reconfigure()
   params->cache_when_to_add_no_cache_to_msie_requests = m_master.cache_when_to_add_no_cache_to_msie_requests;
 
   params->oride.cache_required_headers = m_master.oride.cache_required_headers;
-  params->cache_range_lookup = INT_TO_BOOL(m_master.cache_range_lookup);
+  params->oride.cache_range_lookup = INT_TO_BOOL(m_master.oride.cache_range_lookup);
 
   params->connect_ports_string = ats_strdup(m_master.connect_ports_string);
   params->connect_ports = parse_ports_list(params->connect_ports_string);

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/bb6939cf/proxy/http/HttpConfig.h
----------------------------------------------------------------------
diff --git a/proxy/http/HttpConfig.h b/proxy/http/HttpConfig.h
index 659bbe7..cbee1fd 100644
--- a/proxy/http/HttpConfig.h
+++ b/proxy/http/HttpConfig.h
@@ -408,10 +408,10 @@ struct OverridableHttpConfigParams {
        anonymize_remove_from(0), anonymize_remove_referer(0), anonymize_remove_user_agent(0),
        anonymize_remove_cookie(0), anonymize_remove_client_ip(0), anonymize_insert_client_ip(1),
        proxy_response_server_enabled(0), insert_squid_x_forwarded_for(0),
-       send_http11_requests(3), // SEND_HTTP11_IF_REQUEST_11_AND_HOSTDB
+       send_http11_requests(3),
        cache_http(0), cache_cluster_cache_local(0), cache_ignore_client_no_cache(0), cache_ignore_client_cc_max_age(1),
        cache_ims_on_client_no_cache(0), cache_ignore_server_no_cache(0), cache_responses_to_cookies(0),
-       cache_ignore_auth(0), cache_urls_that_look_dynamic(0), cache_required_headers(0), // CACHE_REQUIRED_HEADERS_NONE
+       cache_ignore_auth(0), cache_urls_that_look_dynamic(0), cache_required_headers(0), cache_range_lookup(1),
        insert_request_via_string(0), insert_response_via_string(0), doc_in_cache_skip_dns(1),
        negative_caching_lifetime(0),
        sock_recv_buffer_size_out(0), sock_send_buffer_size_out(0), sock_option_flag_out(0),
@@ -498,6 +498,7 @@ struct OverridableHttpConfigParams {
   MgmtByte cache_ignore_auth;
   MgmtByte cache_urls_that_look_dynamic;
   MgmtByte cache_required_headers;
+  MgmtByte cache_range_lookup;
 
   MgmtByte insert_request_via_string;
   MgmtByte insert_response_via_string;
@@ -692,7 +693,6 @@ public:
   ///////////////////
   MgmtByte cache_enable_default_vary_headers;
   MgmtByte cache_when_to_add_no_cache_to_msie_requests;
-  MgmtByte cache_range_lookup;
 
   ////////////////////////////////////////////
   // CONNECT ports (used to be == ssl_ports //

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/bb6939cf/proxy/http/HttpTransact.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc
index f31a8bc..c1cf88d 100644
--- a/proxy/http/HttpTransact.cc
+++ b/proxy/http/HttpTransact.cc
@@ -5887,7 +5887,7 @@ HttpTransact::is_request_cache_lookupable(State* s)
   }
 
   // Don't cache if it's a RANGE request but the cache is not enabled for RANGE.
-  if (!s->http_config_param->cache_range_lookup && s->hdr_info.client_request.presence(MIME_PRESENCE_RANGE)) {
+  if (!s->txn_conf->cache_range_lookup && s->hdr_info.client_request.presence(MIME_PRESENCE_RANGE)) {
     SET_VIA_STRING(VIA_DETAIL_TUNNEL, VIA_DETAIL_TUNNEL_HEADER_FIELD);
     return false;
   }


[28/52] [abbrv] git commit: TS-1255 Make proxy.config.http.normalize_ae_gzip overridable

Posted by zw...@apache.org.
TS-1255 Make proxy.config.http.normalize_ae_gzip overridable


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/cc0b06a2
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/cc0b06a2
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/cc0b06a2

Branch: refs/heads/3.3.x
Commit: cc0b06a28afd2c56c2809a28d582489e0e6e6c63
Parents: db2bc67
Author: Leif Hedstrom <zw...@apache.org>
Authored: Sun Jul 28 00:59:56 2013 +0200
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Thu Aug 1 22:42:48 2013 +0200

----------------------------------------------------------------------
 proxy/InkAPI.cc            |  9 +++++++++
 proxy/InkAPITest.cc        |  3 ++-
 proxy/api/ts/ts.h.in       |  1 +
 proxy/http/HttpConfig.cc   |  6 ++----
 proxy/http/HttpConfig.h    | 15 +++++++--------
 proxy/http/HttpTransact.cc |  2 +-
 6 files changed, 22 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cc0b06a2/proxy/InkAPI.cc
----------------------------------------------------------------------
diff --git a/proxy/InkAPI.cc b/proxy/InkAPI.cc
index 3433f7d..7c2f20f 100644
--- a/proxy/InkAPI.cc
+++ b/proxy/InkAPI.cc
@@ -7565,6 +7565,10 @@ _conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *t
     typ = OVERRIDABLE_TYPE_INT;
     ret = &sm->t_state.txn_conf->cache_range_lookup;
     break;
+  case TS_CONFIG_HTTP_NORMALIZE_AE_GZIP:
+    typ = OVERRIDABLE_TYPE_INT;
+    ret = &sm->t_state.txn_conf->normalize_ae_gzip;
+    break;
 
     // This helps avoiding compiler warnings, yet detect unhandled enum members.
   case TS_CONFIG_NULL:
@@ -7764,6 +7768,11 @@ TSHttpTxnConfigFind(const char* name, int length, TSOverridableConfigKey *conf,
       cnf = TS_CONFIG_HTTP_CHUNKING_ENABLED;
     break;
 
+  case 35:
+    if (!strncmp(name, "proxy.config.http.normalize_ae_gzip", length))
+      cnf = TS_CONFIG_HTTP_NORMALIZE_AE_GZIP;
+    break;
+
   case 36:
     switch (name[length-1]) {
     case 'p':

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cc0b06a2/proxy/InkAPITest.cc
----------------------------------------------------------------------
diff --git a/proxy/InkAPITest.cc b/proxy/InkAPITest.cc
index 6f54a3b..c33ab2b 100644
--- a/proxy/InkAPITest.cc
+++ b/proxy/InkAPITest.cc
@@ -7396,7 +7396,8 @@ const char *SDK_Overridable_Configs[TS_CONFIG_LAST_ENTRY] = {
   "proxy.config.http.flow_control.enabled",
   "proxy.config.http.flow_control.low_water",
   "proxy.config.http.flow_control.high_water",
-  "proxy.config.http.cache.range.lookup"
+  "proxy.config.http.cache.range.lookup",
+  "proxy.config.http.normalize_ae_gzip"
 };
 
 REGRESSION_TEST(SDK_API_OVERRIDABLE_CONFIGS) (RegressionTest * test, int /* atype ATS_UNUSED */, int *pstatus)

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cc0b06a2/proxy/api/ts/ts.h.in
----------------------------------------------------------------------
diff --git a/proxy/api/ts/ts.h.in b/proxy/api/ts/ts.h.in
index 7793055..e72b1c5 100644
--- a/proxy/api/ts/ts.h.in
+++ b/proxy/api/ts/ts.h.in
@@ -672,6 +672,7 @@ extern "C"
     TS_CONFIG_HTTP_FLOW_CONTROL_LOW_WATER_MARK,
     TS_CONFIG_HTTP_FLOW_CONTROL_HIGH_WATER_MARK,
     TS_CONFIG_HTTP_CACHE_RANGE_LOOKUP,
+    TS_CONFIG_HTTP_NORMALIZE_AE_GZIP,
     TS_CONFIG_LAST_ENTRY,
   } TSOverridableConfigKey;
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cc0b06a2/proxy/http/HttpConfig.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpConfig.cc b/proxy/http/HttpConfig.cc
index fb5b9ed..02b7704 100644
--- a/proxy/http/HttpConfig.cc
+++ b/proxy/http/HttpConfig.cc
@@ -1236,10 +1236,8 @@ HttpConfig::startup()
 
 
   HttpEstablishStaticConfigByte(c.oride.insert_age_in_response, "proxy.config.http.insert_age_in_response");
-
   HttpEstablishStaticConfigByte(c.enable_http_stats, "proxy.config.http.enable_http_stats");
-
-  HttpEstablishStaticConfigByte(c.normalize_ae_gzip, "proxy.config.http.normalize_ae_gzip");
+  HttpEstablishStaticConfigByte(c.oride.normalize_ae_gzip, "proxy.config.http.normalize_ae_gzip");
 
   HttpEstablishStaticConfigByte(c.icp_enabled, "proxy.config.icp.enabled");
   HttpEstablishStaticConfigByte(c.stale_icp_enabled, "proxy.config.icp.stale_icp_enabled");
@@ -1512,7 +1510,7 @@ HttpConfig::reconfigure()
   params->oride.insert_squid_x_forwarded_for = INT_TO_BOOL(m_master.oride.insert_squid_x_forwarded_for);
   params->oride.insert_age_in_response = INT_TO_BOOL(m_master.oride.insert_age_in_response);
   params->enable_http_stats = INT_TO_BOOL(m_master.enable_http_stats);
-  params->normalize_ae_gzip = INT_TO_BOOL(m_master.normalize_ae_gzip);
+  params->oride.normalize_ae_gzip = INT_TO_BOOL(m_master.oride.normalize_ae_gzip);
 
   params->icp_enabled = (m_master.icp_enabled == ICP_MODE_SEND_RECEIVE ? 1 : 0); // INT_TO_BOOL
   params->stale_icp_enabled = INT_TO_BOOL(m_master.stale_icp_enabled);

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cc0b06a2/proxy/http/HttpConfig.h
----------------------------------------------------------------------
diff --git a/proxy/http/HttpConfig.h b/proxy/http/HttpConfig.h
index 35508a8..bfbe29b 100644
--- a/proxy/http/HttpConfig.h
+++ b/proxy/http/HttpConfig.h
@@ -411,7 +411,7 @@ struct OverridableHttpConfigParams {
       cache_ims_on_client_no_cache(1), cache_ignore_server_no_cache(0), cache_responses_to_cookies(1),
       cache_ignore_auth(0), cache_urls_that_look_dynamic(1), cache_required_headers(2), cache_range_lookup(1),
       insert_request_via_string(1), insert_response_via_string(0), doc_in_cache_skip_dns(1),
-      negative_caching_lifetime(1800),
+      negative_caching_lifetime(1800), normalize_ae_gzip(0),
       sock_recv_buffer_size_out(0), sock_send_buffer_size_out(0), sock_option_flag_out(0),
       sock_packet_mark_out(0), sock_packet_tos_out(0), server_tcp_init_cwnd(0),
       cache_heuristic_min_lifetime(3600), cache_heuristic_max_lifetime(86400),
@@ -504,6 +504,11 @@ struct OverridableHttpConfigParams {
 
   MgmtInt negative_caching_lifetime;
 
+  ////////////////////////////////
+  // Optimize gzip alternates   //
+  ////////////////////////////////
+  MgmtByte normalize_ae_gzip;
+
   ///////////////////////////////////////
   // origin server connection settings //
   ///////////////////////////////////////
@@ -784,11 +789,6 @@ public:
   MgmtByte ignore_accept_encoding_mismatch;
   MgmtByte ignore_accept_charset_mismatch;
 
-  ////////////////////////////////
-  // Optimize gzip alternates   //
-  ////////////////////////////////
-  MgmtByte normalize_ae_gzip;
-
   OverridableHttpConfigParams oride;
 
 private:
@@ -946,8 +946,7 @@ HttpConfigParams::HttpConfigParams()
     ignore_accept_mismatch(0),
     ignore_accept_language_mismatch(0),
     ignore_accept_encoding_mismatch(0),
-    ignore_accept_charset_mismatch(0),
-    normalize_ae_gzip(0)
+    ignore_accept_charset_mismatch(0)
 {
 }
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cc0b06a2/proxy/http/HttpTransact.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc
index c1cf88d..23696ae 100644
--- a/proxy/http/HttpTransact.cc
+++ b/proxy/http/HttpTransact.cc
@@ -1054,7 +1054,7 @@ HttpTransact::ModifyRequest(State* s)
     }
   }
 
-  if (s->http_config_param->normalize_ae_gzip) {
+  if (s->txn_conf->normalize_ae_gzip) {
     // if enabled, force Accept-Encoding header to gzip or no header
     MIMEField *ae_field = s->hdr_info.client_request.field_find(MIME_FIELD_ACCEPT_ENCODING, MIME_LEN_ACCEPT_ENCODING);
 


[23/52] [abbrv] git commit: doc: remove Library section from man pages

Posted by zw...@apache.org.
doc: remove Library section from man pages


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/cecc082d
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/cecc082d
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/cecc082d

Branch: refs/heads/3.3.x
Commit: cecc082d440c7ee13c0bdff806f2fb69de47bd4d
Parents: d85f4d9
Author: James Peach <jp...@apache.org>
Authored: Thu Aug 1 11:58:02 2013 -0700
Committer: James Peach <jp...@apache.org>
Committed: Thu Aug 1 11:58:02 2013 -0700

----------------------------------------------------------------------
 doc/reference/api/TSAPI.en.rst                 |  6 +++---
 doc/reference/api/TSDebug.en.rst               |  8 ++------
 doc/reference/api/TSHttpHookAdd.en.rst         | 10 +++-------
 doc/reference/api/TSHttpParserCreate.en.rst    |  5 -----
 doc/reference/api/TSHttpTxnMilestoneGet.en.rst |  5 -----
 doc/reference/api/TSIOBufferCreate.en.rst      |  4 ----
 doc/reference/api/TSInstallDirGet.en.rst       |  4 ----
 7 files changed, 8 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cecc082d/doc/reference/api/TSAPI.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSAPI.en.rst b/doc/reference/api/TSAPI.en.rst
index d2ab1b2..df24011 100644
--- a/doc/reference/api/TSAPI.en.rst
+++ b/doc/reference/api/TSAPI.en.rst
@@ -16,9 +16,9 @@
 
 .. default-domain:: c
 
-=======
-`TSAPI`
-=======
+=====
+TSAPI
+=====
 
 Synopsis
 ========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cecc082d/doc/reference/api/TSDebug.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSDebug.en.rst b/doc/reference/api/TSDebug.en.rst
index a57d8cd..dae2d70 100644
--- a/doc/reference/api/TSDebug.en.rst
+++ b/doc/reference/api/TSDebug.en.rst
@@ -16,13 +16,9 @@
 
 .. default-domain:: c
 
-==========
-`TSDebug`
-==========
-
-Library
 =======
-Apache Traffic Server plugin API
+TSDebug
+=======
 
 Synopsis
 ========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cecc082d/doc/reference/api/TSHttpHookAdd.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSHttpHookAdd.en.rst b/doc/reference/api/TSHttpHookAdd.en.rst
index f61219f..657b336 100644
--- a/doc/reference/api/TSHttpHookAdd.en.rst
+++ b/doc/reference/api/TSHttpHookAdd.en.rst
@@ -16,13 +16,9 @@
 
 .. default-domain:: c
 
-===============
-`TSHttpHookAdd`
-===============
-
-Library
-=======
-Apache Traffic Server plugin API
+=============
+TSHttpHookAdd
+=============
 
 Synopsis
 ========

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cecc082d/doc/reference/api/TSHttpParserCreate.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSHttpParserCreate.en.rst b/doc/reference/api/TSHttpParserCreate.en.rst
index faa0a70..6d388e0 100644
--- a/doc/reference/api/TSHttpParserCreate.en.rst
+++ b/doc/reference/api/TSHttpParserCreate.en.rst
@@ -20,11 +20,6 @@
 TSHttpParserCreate
 ===================
 
-Library
-=======
-
-Apache Traffic Server plugin API
-
 Synopsis
 ========
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cecc082d/doc/reference/api/TSHttpTxnMilestoneGet.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSHttpTxnMilestoneGet.en.rst b/doc/reference/api/TSHttpTxnMilestoneGet.en.rst
index 9b4013f..c922258 100644
--- a/doc/reference/api/TSHttpTxnMilestoneGet.en.rst
+++ b/doc/reference/api/TSHttpTxnMilestoneGet.en.rst
@@ -19,11 +19,6 @@
 TSHttpTxnMilestoneGet
 =====================
 
-Library
-=======
-
-Apache Traffic Server plugin API
-
 Synopsis
 ========
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cecc082d/doc/reference/api/TSIOBufferCreate.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSIOBufferCreate.en.rst b/doc/reference/api/TSIOBufferCreate.en.rst
index 5e6ad80..a385c83 100644
--- a/doc/reference/api/TSIOBufferCreate.en.rst
+++ b/doc/reference/api/TSIOBufferCreate.en.rst
@@ -20,10 +20,6 @@
 TSIOBufferCreate
 ================
 
-Library
-=======
-Apache Traffic Server plugin API
-
 Synopsis
 ========
 `#include <ts/ts.h>`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cecc082d/doc/reference/api/TSInstallDirGet.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSInstallDirGet.en.rst b/doc/reference/api/TSInstallDirGet.en.rst
index 502f172..96fc7dd 100644
--- a/doc/reference/api/TSInstallDirGet.en.rst
+++ b/doc/reference/api/TSInstallDirGet.en.rst
@@ -20,10 +20,6 @@
 TSInstallDirGet
 ===============
 
-Library
-=======
-Apache Traffic Server plugin API
-
 Synopsis
 ========
 


[50/52] [abbrv] git commit: TS-2093: Check bounds on plugin stat creation.

Posted by zw...@apache.org.
TS-2093: Check bounds on plugin stat creation.


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/76ef33d4
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/76ef33d4
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/76ef33d4

Branch: refs/heads/3.3.x
Commit: 76ef33d435236aa680e2180191e5584af5adb0d1
Parents: 4651ca7
Author: Phil Sorber <so...@apache.org>
Authored: Sat Aug 3 13:22:21 2013 -0600
Committer: Phil Sorber <so...@apache.org>
Committed: Sat Aug 3 13:22:21 2013 -0600

----------------------------------------------------------------------
 CHANGES         | 2 ++
 proxy/InkAPI.cc | 5 +++--
 2 files changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/76ef33d4/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 8a54291..292e846 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,8 @@
 Changes with Apache Traffic Server 3.3.5
   
 
+  *) [TS-2093] Check bounds on plugin stat creation.
+
   *) [TS-2092] Use of uninitialized member in HdrHeap.
 
   *) [TS-2052] ET_SSL thread spinning

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/76ef33d4/proxy/InkAPI.cc
----------------------------------------------------------------------
diff --git a/proxy/InkAPI.cc b/proxy/InkAPI.cc
index 602c6a0..6ae68ea 100644
--- a/proxy/InkAPI.cc
+++ b/proxy/InkAPI.cc
@@ -6627,14 +6627,15 @@ TSCacheScan(TSCont contp, TSCacheKey key, int KB_per_second)
 int
 TSStatCreate(const char *the_name, TSRecordDataType the_type, TSStatPersistence persist, TSStatSync sync)
 {
-  int volatile id = ink_atomic_increment(&top_stat, 1);
+  int id = ink_atomic_increment(&top_stat, 1);
   RecRawStatSyncCb syncer = RecRawStatSyncCount;
 
   // TODO: This only supports "int" data types at this point, since the "Raw" stats
   // interfaces only supports integers. Going forward, we could extend either the "Raw"
   // stats APIs, or make non-int use the direct (synchronous) stats APIs (slower).
   if ((sdk_sanity_check_null_ptr((void*)the_name) != TS_SUCCESS) ||
-      (sdk_sanity_check_null_ptr((void*)api_rsb) != TS_SUCCESS))
+      (sdk_sanity_check_null_ptr((void*)api_rsb) != TS_SUCCESS) ||
+      (id >= api_rsb->max_stats))
     return TS_ERROR;
 
   switch (sync) {


[13/52] [abbrv] git commit: doc: convert TSIOBufferCreate(3) to sphinx

Posted by zw...@apache.org.
doc: convert TSIOBufferCreate(3) to sphinx


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/fbe22e49
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/fbe22e49
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/fbe22e49

Branch: refs/heads/3.3.x
Commit: fbe22e49fea0d13f34eb10d3245376d7e33bdfe3
Parents: 229a209
Author: James Peach <jp...@apache.org>
Authored: Thu Aug 1 10:12:03 2013 -0700
Committer: James Peach <jp...@apache.org>
Committed: Thu Aug 1 10:12:03 2013 -0700

----------------------------------------------------------------------
 doc/conf.py                               |  1 +
 doc/reference/api/TSIOBufferCreate.en.rst | 91 ++++++++++++++++++++++++++
 2 files changed, 92 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/fbe22e49/doc/conf.py
----------------------------------------------------------------------
diff --git a/doc/conf.py b/doc/conf.py
index d9eb3a1..cc449e0 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -217,6 +217,7 @@ man_pages = [
    ('reference/api/TSHttpHookAdd.en', 'TSHttpHookAdd', u'Intercept Traffic Server events', None, u'3ts'),
    ('reference/api/TSHttpParserCreate.en', 'TSHttpParserCreate', u'Parse HTTP headers from memory buffers', None, u'3ts'),
    ('reference/api/TSHttpTxnMilestoneGet.en', 'TSHttpTxnMilestoneGet', u'Get a specified milestone timer value for the current transaction', None, u'3ts'),
+   ('reference/api/TSIOBufferCreate.en', 'TSIOBufferCreate', u'Traffic Server IO buffer API', None, u'3ts'),
 
    ('reference/commands/traffic_cop.en', 'traffic_cop', u'Traffic Server watchdog', None, '8'),
    ('reference/commands/traffic_line.en', 'traffic_line', u'Traffic Server command line', None, '8'),

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/fbe22e49/doc/reference/api/TSIOBufferCreate.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSIOBufferCreate.en.rst b/doc/reference/api/TSIOBufferCreate.en.rst
new file mode 100644
index 0000000..5e6ad80
--- /dev/null
+++ b/doc/reference/api/TSIOBufferCreate.en.rst
@@ -0,0 +1,91 @@
+.. 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.
+
+.. default-domain:: c
+
+================
+TSIOBufferCreate
+================
+
+Library
+=======
+Apache Traffic Server plugin API
+
+Synopsis
+========
+`#include <ts/ts.h>`
+
+.. function:: TSIOBuffer TSIOBufferCreate(void)
+.. function:: TSIOBuffer TSIOBufferSizedCreate(TSIOBufferSizeIndex index)
+.. function:: void TSIOBufferDestroy(TSIOBuffer bufp)
+.. function:: int64_t TSIOBufferWrite(TSIOBuffer bufp, const void * buf, int64_t length)
+.. function:: void TSIOBufferProduce(TSIOBuffer bufp, int64_t nbytes)
+.. function:: int64_t TSIOBufferWaterMarkGet(TSIOBuffer bufp)
+.. function:: void TSIOBufferWaterMarkSet(TSIOBuffer bufp, int64_t water_mark)
+
+Description
+===========
+
+The :type:`TSIOBuffer` data structure is the building block of the TSVConn
+abstraction. An IO buffer is composed of a list of buffer blocks which
+are reference counted so that they can reside in multiple buffers at the
+same time. This makes it extremely efficient to copy data from one IO
+buffer to another using :func:`TSIOBufferCopy` since Traffic Server only needs to
+copy pointers and adjust reference counts appropriately and not actually
+copy any data; however applications should still strive to ensure data
+blocks are a reasonable size.
+
+The IO buffer abstraction provides for a single writer and multiple
+readers. In order for the readers to have no knowledge of each
+other, they manipulate IO buffers through the :type:`TSIOBufferReader`
+data structure. Since only a single writer is allowed, there is no
+corresponding :type:`TSIOBufferWriter` data structure. The writer
+simply modifies the IO buffer directly.
+
+:func:`TSIOBufferCreate` creates an empty :type:`TSIOBuffer`.
+
+:func:`TSIOBufferSizedCreate` creates an empty :type:`TSIOBuffer`
+with an initial capacity of index bytes.
+
+:func:`TSIOBufferDestroy` destroys the IO buffer bufp. Since multiple IO
+buffers can share data, this does not necessarily free all of the data
+associated with the IO buffer but simply decrements the appropriate reference counts.
+
+:func:`TSIOBufferWrite` appends length bytes from the buffer buf to the IO
+buffer bufp and returns the number of bytes successfully written into the
+IO buffer.
+
+:func:`TSIOBufferProduce` makes nbytes of data available for reading in the IO
+buffer bufp. A common pattern for writing to an IO buffer is to copy
+data into a buffer block and then call INKIOBufferProduce to make the new
+data visible to any readers.
+
+The watermark of an TSIOBuffer is the minimum number of bytes of data
+that have to be in the buffer before calling back any continuation that
+has initiated a read operation on this buffer. As a writer feeds data
+into the TSIOBuffer, no readers are called back until the amount of data
+reaches the watermark. Setting a watermark can improve performance
+because it avoids frequent callbacks to read small amounts of data.
+:func:`TSIOBufferWaterMarkGet` gets the current watermark for the IO buffer
+bufp.
+
+:func:`TSIOBufferWaterMarkSet` gets the current watermark for the IO buffer
+bufp to water_mark bytes.
+
+See also
+========
+
+:manpage:`TSAPI(3ts)`, :manpage:`TSIOBufferReaderAlloc(3ts)`


[05/52] [abbrv] docs: split reference material into top-level pages

Posted by zw...@apache.org.
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/configuration-files/ssl_multicert.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/configuration-files/ssl_multicert.config.en.rst b/doc/admin/configuration-files/ssl_multicert.config.en.rst
deleted file mode 100644
index 8a11e9b..0000000
--- a/doc/admin/configuration-files/ssl_multicert.config.en.rst
+++ /dev/null
@@ -1,81 +0,0 @@
-.. 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.
-
-====================
-ssl_multicert.config
-====================
-
-.. configfile:: ssl_multicert.config
-
-The :file:`ssl_multicert.config` file lets you configure Traffic Server to
-use multiple SSL server certificates with the SSL termination option. If
-you have a Traffic Server system with more than one IP address assigned
-to it, then you can assign a different SSL certificate to be served when
-a client requests a particular IP address.
-
-Format
-======
-
-The format of the :file:`ssl_multicert.config` file is:
-
-::
-
-    dest_ip=ipaddress ssl_cert_name=cert_name ssl_key_name=key_name
-
-where ``ipaddress`` is an IP address assigned to Traffic Server ,
-``ssl_cert_name`` is the filename of the Traffic Server SSL server
-certificate, ``ssl_key_name`` is the filename of the Traffic Server
-SSL private key. If the private key is located in the certificate file,
-then you do not need to specify the name of the private key.
-Additionally ``ssl_ca_name`` can be used to specify the location of a
-Certification Authorithy change in case that differs from what is
-specified under the :file:`records.config`
-``proxy.config.ssl.CA.cert.filename`` value.
-
-Traffic Server will try to find the files specified in
-*``ssl_cert_name``* relative to
-```proxy.config.ssl.server.cert.path`` <../records.config#proxy.config.ssl.server.cert.path>`_,
-*``ssl_key_name``* relative to
-```proxy.config.ssl.server.private_key.path`` <../records.config#proxy.config.ssl.server.private_key.path>`_,
-and *``ssl_ca_name``* relative to
-```proxy.config.ssl.CA.cert.path`` <../records.config#proxy.config.ssl.CA.cert.path>`_.
-
-Examples
-========
-
-The following example configures Traffic Server to use the SSL
-certificate ``server.pem`` for all requests to the IP address
-111.11.11.1 and the SSL certificate ``server1.pem`` for all requests to
-the IP address 11.1.1.1. Since the private key *is* included in the
-certificate files, no private key name is specified.
-
-::
-
-    dest_ip=111.11.11.1  ssl_cert_name=server.pem
-    dest_ip=11.1.1.1   ssl_cert_name=server1.pem
-
-The following example configures Traffic Server to use the SSL
-certificate ``server.pem`` and the private key ``serverKey.pem`` for all
-requests to the IP address 111.11.11.1. Traffic Server uses the SSL
-certificate ``server1.pem`` and the private key ``serverKey1.pem`` for
-all requests to the IP address 11.1.1.1.
-
-::
-
-     dest_ip=111.11.11.1 ssl_cert_name=server.pem ssl_key_name=serverKey.pem
-     dest_ip=11.1.1.1 ssl_cert_name=server1.pem ssl_key_name=serverKey1.pem
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/configuration-files/storage.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/configuration-files/storage.config.en.rst b/doc/admin/configuration-files/storage.config.en.rst
deleted file mode 100644
index aa5a953..0000000
--- a/doc/admin/configuration-files/storage.config.en.rst
+++ /dev/null
@@ -1,120 +0,0 @@
-.. 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.
-
-==============
-storage.config
-==============
-
-.. configfile:: storage.config
-
-The :file:`storage.config` file lists all the files, directories, and/or
-hard disk partitions that make up the Traffic Server cache. After you
-modify the :file:`storage.config` file, you must restart Traffic Server.
-
-Format 
-======
-
-The format of the :file:`storage.config` file is::
-
-    pathname size volume=volume_number
-
-where ``pathname`` is the name of a partition, directory or file, ``size``
-is the size of the named partition, directory or file (in bytes), and
-``volume`` is the volume number that is used in :file:`volume.config`
-and :file:`hosting.config`. You must specify a size for directories or
-files; size is optional for raw partitions. ``volume`` is optional.
-
-You can use any partition of any size. For best performance:
-
--  Use raw disk partitions.
--  For each disk, make all partitions the same size.
--  For each node, use the same number of partitions on all disks.
--  Group similar kinds of storage into different volumes. For example
-   split out SSD's or RAM drives into their own volume.
-
-Specify pathnames according to your operating system requirements. See
-the following examples. In the :file:`storage.config` file, a formatted or
-raw disk must be at least 128 MB.
-
-When using raw disk or partitions, you should make sure the admin user,
-which is the traffic_server running at, have the read&write privileges.
-The admin user_id is set in
-```proxy.config.admin.user_id`` <records.config#proxy.config.admin.user_id>`_.
-One good practice is if the disk set with g+rw, put the admin user into
-the group which have the privileges.
-
-Examples
-========
-
-The following basic example shows 64 MB of cache storage in the
-``/big_dir`` directory::
-
-    /big_dir 67108864
-
-You can use the ``.`` symbol for the current directory. Here is an
-example for 64 MB of cache storage in the current directory::
-
-    . 67108864
-
-Solaris Example
----------------
-
-The following example is for the Solaris operating system::
-
-    /dev/rdsk/c0t0d0s5
-    /dev/rdsk/c0t0d1s5
-
-
-.. note:: Size is optional. If not specified, the entire partition is used.
-
-Linux Example
--------------
-
-The following example will use an entire raw disk in the Linux operating
-system:::
-
-    /dev/sde volume=1
-    /dev/sdf volume=2
-
-In order to make sure ``traffic_server`` will have access to this disk
-you can use ``udev`` to persistently set the right permissions. The
-following rules are targeted for an Ubuntu system, and stored in
-``/etc/udev/rules.d/51-cache-disk.rules``::
-
-    # Assign /dev/sde and /dev/sdf to the www group
-    # make the assignment final, no later changes allowed to the group!
-    SUBSYSTEM=="block", KERNEL=="sd[ef]", GROUP:="www"
-
-FreeBSD Example ## {#LinuxExample}
-----------------------------------
-
-Starting with 5.1 FreeBSD dropped support for explicit raw devices. All
-devices on FreeBSD can be accessed raw now.
-
-The following example will use an entire raw disk in the FreeBSD
-operating system::
-
-    /dev/ada1
-    /dev/ada2
-
-In order to make sure ``traffic_server`` will have access to this disk
-you can use ``devfs`` to persistently set the right permissions. The
-following rules are stored in ``/etc/devfs.conf``::
-
-    # Assign /dev/ada1 and /dev/ada2 to the tserver user
-    own    ada[12]  tserver:tserver
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/configuration-files/update.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/configuration-files/update.config.en.rst b/doc/admin/configuration-files/update.config.en.rst
deleted file mode 100644
index 0b7659e..0000000
--- a/doc/admin/configuration-files/update.config.en.rst
+++ /dev/null
@@ -1,203 +0,0 @@
-.. 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.
-
-=============
-update.config
-=============
-
-.. configfile:: update.config
-
-The :file:`update.config` file controls how Traffic Server performs a
-scheduled update of specific local cache content. The file contains a
-list of URLs specifying objects that you want to schedule for update.
-
-A scheduled update performs a local HTTP ``GET`` on the objects at the
-specific time or interval. You can control the following parameters for
-each specified object:
-
--  The URL
--  URL-specific request headers, which overrides the default
--  The update time and interval
--  The recursion depth
-
-After you modify the :file:`update.config` file,
-run the :option:`traffic_line -x`
-command to apply changes. When you apply changes to one node in a
-cluster, Traffic Server automatically applies the changes to all other
-nodes in the cluster.
-
-Supported Tag/Attribute Pairs
-=============================
-
-Scheduled update supports the following tag/attribute pairs when
-performing recursive URL updates:
-
--  ``<a href=" ">``
--  ``<img src=" ">``
--  ``<img href=" ">``
--  ``<body background=" ">``
--  ``<frame src=" ">``
--  ``<iframe src=" ">``
--  ``<fig src=" ">``
--  ``<overlay src=" ">``
--  ``<applet code=" ">``
--  ``<script src=" ">``
--  ``<embed src=" ">``
--  ``<bgsound src=" ">``
--  ``<area href=" ">``
--  ``<base href=" ">``
--  ``<meta content=" ">``
-
-Scheduled update is designed to operate on URL sets consisting of
-hundreds of input URLs (expanded to thousands when recursive URLs are
-included); it is *not* intended to operate on extremely large URL sets,
-such as those used by Internet crawlers.
-
-Format
-======
-
-Each line in the :file:`update.config` file uses the following format:
-
-::
-
-    URL\request_headers\offset_hour\interval\recursion_depth\
-
-The following list describes each field.
-
-*``URL``* {#URL}
-    HTTP-based URLs.
-
-*``request_headers``* {#request_headers}
-    Optional. A list of headers, separated by semicolons, passed in each
-    ``GET`` request. You can define any request header that conforms to
-    the HTTP specification; the default is no request header.
-
-*``offset_hour``* {#offset_hour}
-    The base hour used to derive the update periods. The range is 00-23
-    hours.
-
-*``interval``* {#interval}
-    The interval (in seconds) at which updates should occur, starting at
-    the offset hour.
-
-*``recursion_depth``* {#recursion_depth}
-    The depth to which referenced URLs are recursively updated, starting
-    at the given URL. This field applies only to HTTP.
-
-Examples
-========
-
-An example HTTP scheduled update is provided below:
-
-::
-
-    http://www.company.com\User-Agent: noname user agent\13\3600\5\
-
-The example specifies the URL and request headers, an offset hour of 13
-(1 pm), an interval of one hour, and a recursion depth of 5. This would
-result in updates at 13:00, 14:00, 15:00, and so on. To schedule an
-update that occurs only once a day, use an interval value 86400 (i.e.,
-24 hours x 60 minutes x 60 seconds = 86400).
-
-Specifying URL Regular Expressions (``url_regex``)
-==================================================
-
-This section describes how to specify a ``url_regex``. Entries of type
-``url_regex`` within the configuration files use regular expressions to
-perform a match.
-
-The following list provides examples to show how to create a valid
-``url_regex``.
-
-``x``
-    Matches the character ``x``
-
-``.``
-    Match any character
-
-``^``
-    Specifies beginning of line
-
-``$``
-    Specifies end of line
-
-``[xyz]``
-    A **character class**. In this case, the pattern matches either
-    ``x``, ``y``, or\ ``z``
-
-``[abj-oZ]``
-    A **character class** with a range. This pattern matches ``a``,
-    ``b``, any letter from ``j`` through ``o``, or ``Z``
-
-``[^A-Z]``
-    A **negated character class**. For example, this pattern matches any
-    character except those in the class.
-
-``r*``
-    Zero or more ``r``, where ``r`` is any regular expression.
-
-``r+``
-    One or more ``r``, where ``r`` is any regular expression.
-
-``r?``
-    Zero or one ``r``, where ``r`` is any regular expression.
-
-``r{2,5}``
-    From two to five ``r``, where ``r`` is any regular expression.
-
-``r{2,}``
-    Two or more ``r``, where ``r`` is any regular expression.
-
-``r{4}``
-    Exactly four ``r``, where ``r`` is any regular expression.
-
-``"[xyz]\"images"``
-    The literal string ``[xyz]"images"``
-
-``\X``
-    If ``X`` is ``a, b, f, n, r, t,`` or ``v``, then the ``ANSI-C``
-    interpretation of ``\x``; otherwise, a literal ``X``. This is used
-    to escape operators such as ``*``
-
-``\0``
-    A ``NULL`` character
-
-``\123``
-    The character with octal value ``123``
-
-``\x2a``
-    The character with hexadecimal value ``2a``
-
-``(r)``
-    Matches an ``r``, where ``r`` is any regular expression. You can use
-    parentheses to override precedence.
-
-``rs``
-    The regular expression ``r``, followed by the regular expression
-    ``s``
-
-``r|s``
-    Either an ``r`` or an ``s``
-
-``#<n>#``
-    Inserts an **end node**, which causes regular expression matching to
-    stop when reached. The value ``n`` is returned.
-
-You can specify ``dest_domain=mydomain.com`` to match any host in
-``mydomain.com``. Likewise, you can specify ``dest_domain=.`` to match
-any request.
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/configuration-files/volume.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/configuration-files/volume.config.en.rst b/doc/admin/configuration-files/volume.config.en.rst
deleted file mode 100644
index 51f239f..0000000
--- a/doc/admin/configuration-files/volume.config.en.rst
+++ /dev/null
@@ -1,72 +0,0 @@
-.. 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.
-
-=============
-volume.config
-=============
-
-.. configfile:: volume.config
-
-The :file:`volume.config` file enables you to manage your cache space more
-efficiently and restrict disk usage by creating cache volumes of
-different sizes for specific protocols. You can further configure these
-volumes to store data from certain origin servers and/or domains in the
-:file:`hosting.config` file.
-
-.. important::
-
-    The volume configuration must be the same on all nodes in
-    a cluster. You must stop Traffic Server before you change the cache
-    volume size and protocol assignment. For step-by-step instructions about
-    partitioning the cache, refer to `Partitioning the
-    Cache <../configuring-cache#PartitioningCache>`_.
-
-Format
-======
-
-For each volume you want to create, enter a line with the following
-format:
-
-::
-
-    volume=volume_number  scheme=protocol_type  size=volume_size
-
-where *``volume_number``* is a number between 1 and 255 (the maximum
-number of volumes is 255) and *``protocol_type``* is ``http``. Traffic
-Server supports ``http`` for HTTP volume types; *``volume_size``* is the
-amount of cache space allocated to the volume. This value can be either
-a percentage of the total cache space or an absolute value. The absolute
-value must be a multiple of 128 MB, where 128 MB is the smallest value.
-If you specify a percentage, then the size is rounded down to the
-closest multiple of 128 MB.
-
-Each volume is striped across several disks to achieve parallel I/O. For
-example: if there are four disks, then a 1-GB volume will have 256 MB on
-each disk (assuming each disk has enough free space available). If you
-do not allocate all the disk space in the cache, then the extra disk
-space is not used. You can use the extra space later to create new
-volumes without deleting and clearing the existing volumes.
-
-Examples
-========
-
-The following example partitions the cache evenly between HTTP and HTTPS
-requests::
-
-    volume=1 scheme=http size=50%
-    volume=2 scheme=https size=50%
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/admin/index.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/index.en.rst b/doc/admin/index.en.rst
index 90aeed6..560b77b 100644
--- a/doc/admin/index.en.rst
+++ b/doc/admin/index.en.rst
@@ -1,4 +1,4 @@
-Administrators's Guide
+Administrators' Guide
 **********************
 
 .. Licensed to the Apache Software Foundation (ASF) under one
@@ -43,10 +43,8 @@ Contents:
    security-options.en
    working-log-files.en
    event-logging-formats.en
-   configuration-files.en
    traffic-line-commands.en
    traffic-server-error-messages.en
-   commands/index.en
    faqs.en
 
 
@@ -305,10 +303,3 @@ following:
 
 Traffic Server security options are described in more detail in
 `Security Options <security-options>`_.
-
-Indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/index.rst
----------------------------------------------------------------------
diff --git a/doc/index.rst b/doc/index.rst
index e793b63..951bd86 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -39,11 +39,13 @@ bandwidth.
 
   admin/index.en
   sdk/index.en
-  plugins/index.en
+  reference/configuration/index.en
+  reference/commands/index.en
+  reference/plugins/index.en
+  reference/api/index.en
 
 Indices and tables
 ==================
 
 * :ref:`genindex`
-* :ref:`modindex`
 * :ref:`search`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/plugins/balancer.en.rst
----------------------------------------------------------------------
diff --git a/doc/plugins/balancer.en.rst b/doc/plugins/balancer.en.rst
deleted file mode 100644
index 9d54d91..0000000
--- a/doc/plugins/balancer.en.rst
+++ /dev/null
@@ -1,92 +0,0 @@
-Balancer Plugin
-***************
-
-.. 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.
-
-
-This is a plugin for Traffic Server, that allows you to configure
-mapping rules.
-
-To use this plugin, configure a remap.config rule like
-
-::
-   map http://foo.com http://bar.com @plugin=balancer.so @pparam=rotation:news
-
-The "To-Url" in the remap.config rule is generally not used, unless the
-lookup completely fails (i.e. this is a backup URL for extreme error
-cases).
-
-This is a list of all available options (set via @pparam):
-
-::
-    rotation      The name of the rotation (e.g. news) [to-host in remap]
-    hash      What to hash on, url, path, cookie, ip, header (primary)
-    hash2     Optional, secondary hash, to hash within a multi-host bucket
-    bucketw   Width of each hash bucket [1]
-
-The rotation parameter specifies which rotation to do the lookup on. If
-not specified, we will default to the same name as used in the To URL in
-the remap rule.
-
-The bucket width specifies how many hosts a particular hash bucket
-should contain, for example:
-
-::
-    @pparam=bucketw:2
-
-The hash parameter can be used zero or more times, without it, no
-hashing is done at all. If you have more than one hash keys, they are
-concatenated in the order specified. For example:
-
-::
-    @pparam=hash:ip @pparam=hash:cookie/B
-
-The "header" hash key takes a required extra value, for example:
-
-::
-    @pparam=hash:header/Host
-
-For "cookie" hash keys, you can optionally specify an identifier for
-which cookie to use (without it, the entire cookie header is used). For
-example:
-
-::
-    @pparam=hash:cookie/B
-
-The secondary hash ("hash2") is used to provide "stickiness" within a
-bucket that's larger than one host (i.e. bucketw > 1). This allows you
-to (for example) have a primary hash on the URL, where each URL is
-served by some number of servers. A secondary hash on B-cookie would
-then provide user stickiness, so that for a particular URL, a particular
-user will always hit the same server.
-
-If the hashes you've requested (either "hash" or "hash2") can not be
-generated, we default to using the URL instead for the primary hash. For
-the secondary hash, if set, we'll default to the src-IP. If these
-defaults are not desirable, make sure that you have at least one hash
-key that is guaranteed to exist (e.g. @pparam=hash:ip).
-
-If no "hash" parameters are specified, no hashing is done. This is the
-default behavior, obviously. In this cash, the "hash2" directive has no
-effect as well.
-
-Finally, a couple of "flag" options (parameters) are available, to
-control some of the lookup mechanisms:
-
--  @pparam=hostip will use the IP returned by the lookup
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/plugins/buffer_upload.en.rst
----------------------------------------------------------------------
diff --git a/doc/plugins/buffer_upload.en.rst b/doc/plugins/buffer_upload.en.rst
deleted file mode 100644
index ab5f209..0000000
--- a/doc/plugins/buffer_upload.en.rst
+++ /dev/null
@@ -1,89 +0,0 @@
-Buffer Upload Plugin
-********************
-
-.. 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.
-
-
-..  XXX Discribe what the heck this plugin actually does.
-
-Upload proxy specs for phase I:
-
-1. Memory buffering (buffer the entire POST data in IOBuffer before
-   connecting to OS) 1.1. Memory buffer size is configured with
-   "mem_buffer_size" in config file. Default and minimum value is 32K
-   You can increase it in the config file. If the size of a request is
-   larger than the "mem_buffer_size" value specifiied in the config
-   file, then the upload proxy feature will be disabled for this
-   particular request
-
-2. Disk buffering (buffer the entire POST data on disk before connecting
-   to OS) 2.1. Use disk async IO. This involved some changes in ATS core
-   . new APIs wrapping around ink_aio_read() and ink_aio_write() .
-   change to distinguish between api call's AIO and cache's AIO .
-   guarantee api call's AIO only involves certain amount of threads .
-   the number of threads is configurable in plugin's config file
-   (default is 4)
-
-3. 
-
-   2. Directories and files generated on disk . base directory:
-      FOOBAR/var/buffer_upload_tmp/ (configurable in config file) .
-      number of subdirectories: 64 (configurable in config file) .
-      filename are randomly generated . files will be removed when the
-      entire data have been sent out to OS . remove dangling files (left
-      on disk due to transaction interruption or traffic server crash)
-      at startup time
-
-4. 
-
-   3. Default chunk size when reading from disk: 16K, configurable in
-      config file
-
-5. Default buffering mode: disk aio buffering mode 3.1. to turn off disk
-   buffering, add a "use_disk_buffer 0" line in config file
-
-6. Trigger POST buffering on certain URLs 4.1. certain URLs will be
-   provided in a plain text file (one URL each line) 4.2. specify
-   filename in config file by "url_list_file" 4.3. max length of each
-   URL: 4096 (configurable in config file) 4.4. use exact match, don't
-   support regex for now
-
-7. URL conversion for Mail's specific URL format 5.1. for now check if
-   the "host" part in the URL is same as the proxy server name, then
-   will do this conversion 5.2. To turn on URL conversion feature, set
-   "convert_url 1" in config file
-
-8. All request headers inlcuding cookies plus the entire POST data will
-   be buffered (either in memory or on disk)
-
-9. Config file can be explicitly sepcified as a parameter in command
-   line (in plugin.config file)
-
-a sample config file:
-
-use_disk_buffer 1 convert_url 1 chunk_size 1024 url_list_file
-/tmp/url_list.conf max_url_length 10000 base_dir /tmp/test1
-subdir_num 100 thread_num 10 mem_buffer_size 40000
-
-default config file: FOOBAR/etc/upload.conf
-
-default config values: use_disk_buffer 1 convert_url 0 chunk_size
-16384 url_list_file none max_url_length 4096 base_dir
-FOOBAR/var/buffer_upload_tmp subdir_num 64 thread_num 4
-mem_buffer_size 32768
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/plugins/cacheurl.en.rst
----------------------------------------------------------------------
diff --git a/doc/plugins/cacheurl.en.rst b/doc/plugins/cacheurl.en.rst
deleted file mode 100644
index 093beac..0000000
--- a/doc/plugins/cacheurl.en.rst
+++ /dev/null
@@ -1,59 +0,0 @@
-CacheURL Plugin
-***************
-
-.. 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.
-
-
-
-This plugin allows you to change the key that is used for caching a
-request. It is designed so that multiple requests that have different
-URLs but the same content (for example, site mirrors) need be cached
-only once.
-
-Installation
-============
-
-This plugin is only built if the configure option ::
-
-    --enable-experimental-plugins
-
-is given at build time.
-
-Configuration
-=============
-
-Create a ``cacheurl.config`` file in the plugin directory with the url
-patterns to match. See the ``cacheurl.config.example`` file for what to
-put in this file.
-
-Add the plugin to your
-```plugins.config`` <../../configuration-files/plugins.config>`_ file::
-
-    cacheurl.so
-
-Start traffic server. Any rewritten URLs will be written to
-``cacheurl.log`` in the log directory by default.
-
-More docs
-=============
-
-There are some docs on cacheurl in Chinese, please find them in the following:
-
-```http://people.apache.org/~zym/trafficserver/cacheurl.html`` <http://people.apache.org/~zym/trafficserver/cacheurl.html>`_
-
-```https://blog.zymlinux.net/index.php/archives/195`` <https://blog.zymlinux.net/index.php/archives/195>`_

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/plugins/combo_handler.en.rst
----------------------------------------------------------------------
diff --git a/doc/plugins/combo_handler.en.rst b/doc/plugins/combo_handler.en.rst
deleted file mode 100644
index 260d3f3..0000000
--- a/doc/plugins/combo_handler.en.rst
+++ /dev/null
@@ -1,84 +0,0 @@
-Combohandler Plugin
-*******************
-
-.. 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.
-
-
-This plugin provides an intelligent way to combine multiple URLs into a single
-URL, and have Apache Traffic Server combine the components into one
-response. This is useful for example to create URLs that combine multiple CSS
-or Javascript files into one.
-
-Installation
-============
-
-This plugin is only built if the configure option ::
-
-    --enable-experimental-plugins
-
-is given at build time. Note that this plugin is built and installed in
-combination with the ESI module, since they share common code.
-
-Configuration
-=============
-
-The arguments in the
-```plugin.config`` <../../configuration-files/plugin.config>`_ line in
-order represent
-
-1. The path that should triggers combo handler (defaults to
-   "admin/v1/combo")
-
-2. The name of the key used for signature verification (disabled by
-   default)
-
-A "-" can be supplied as a value for any of these arguments to request
-default value be applied.
-
-Also, just like the original combohandler, this plugin generates URLs of
-the form ``http://localhost/<dir>/<file-path>``. ``<dir>`` here defaults
-to ``l`` unless specified by the file path in the query parameter using
-a colon. For example::
-
-    http://combo.com/admin/v1/combo?filepath1&dir1:filepath2&filepath3
-
-Will result in these three pages being fetched::
-
-    http://localhost/l/filepath1
-    http://localhost/dir1/filepath2
-    http://localhost/l/filepath3
-
-Remap rules have to be specified to map the above URLs to desired
-content servers.
-
-The plugin also supports a prefix parameter. Common parts of successive
-file paths can be extracted and specified separately using a 'p' query
-parameter. Successive file path parameters are appended to this prefix
-to create complete file paths. The prefix will remain active until
-changed or cleared (set to an empty string). For example, the query ::
-    "/file1&p=/path1/&file2&file3&p=&/file4&p=/dir:path2/&file5&file6"
-
-results in these file paths being "reconstructed"::
-
-    /file1
-    /path1/file2
-    /path1/file3
-    /file4
-    /dir:path2/file5
-    /dir:path2/file6
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/plugins/conf_remap.en.rst
----------------------------------------------------------------------
diff --git a/doc/plugins/conf_remap.en.rst b/doc/plugins/conf_remap.en.rst
deleted file mode 100644
index 2f90e1c..0000000
--- a/doc/plugins/conf_remap.en.rst
+++ /dev/null
@@ -1,107 +0,0 @@
-.. 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.
-
-conf_remap Plugin
-=================
-
-The `conf_remap` plugin allows you to override configuration
-directives dependent on actual remapping rules. The plugin is built
-and installed as part of the normal Apache Traffic Server installation
-process.
-
-If you want to achieve this behaviour now, configure a remap rule
-like this::
-
-    map http://cdn.example.com/ http://some-server.example.com @plugin=conf_remap.so @pparam=/etc/trafficserver/cdn.conf
-
-where `cdn.conf` would look like :file:`records.config`. For example::
-
-    CONFIG proxy.config.url_remap.pristine_host_hdr INT 1
-
-Doing this, you will override your global default configuration on
-a per mapping rule. For now, those options may be overridden through
-the `conf_remap` plugin:
-
-|
-|
-| proxy.config.url_remap.pristine_host_hdr
-| proxy.config.http.chunking_enabled
-| proxy.config.http.negative_caching_enabled
-| proxy.config.http.negative_caching_lifetime
-| proxy.config.http.cache.when_to_revalidate
-| proxy.config.http.keep_alive_enabled_in
-| proxy.config.http.keep_alive_enabled_out
-| proxy.config.http.keep_alive_post_out
-| proxy.config.http.share_server_sessions
-| proxy.config.net.sock_recv_buffer_size_out
-| proxy.config.net.sock_send_buffer_size_out
-| proxy.config.net.sock_option_flag_out
-| proxy.config.http.forward.proxy_auth_to_parent
-| proxy.config.http.anonymize_remove_from
-| proxy.config.http.anonymize_remove_referer
-| proxy.config.http.anonymize_remove_user_agent
-| proxy.config.http.anonymize_remove_cookie
-| proxy.config.http.anonymize_remove_client_ip
-| proxy.config.http.anonymize_insert_client_ip
-| proxy.config.http.response_server_enabled
-| proxy.config.http.insert_squid_x_forwarded_for
-| proxy.config.http.server_tcp_init_cwnd
-| proxy.config.http.send_http11_requests
-| proxy.config.http.cache.http
-| proxy.config.http.cache.cluster_cache_local
-| proxy.config.http.cache.ignore_client_no_cache
-| proxy.config.http.cache.ignore_client_cc_max_age
-| proxy.config.http.cache.ims_on_client_no_cache
-| proxy.config.http.cache.ignore_server_no_cache
-| proxy.config.http.cache.cache_responses_to_cookies
-| proxy.config.http.cache.ignore_authentication
-| proxy.config.http.cache.cache_urls_that_look_dynamic
-| proxy.config.http.cache.required_headers
-| proxy.config.http.insert_request_via_str
-| proxy.config.http.insert_response_via_str
-| proxy.config.http.cache.heuristic_min_lifetime
-| proxy.config.http.cache.heuristic_max_lifetime
-| proxy.config.http.cache.guaranteed_min_lifetime
-| proxy.config.http.cache.guaranteed_max_lifetime
-| proxy.config.http.cache.max_stale_age
-| proxy.config.http.keep_alive_no_activity_timeout_in
-| proxy.config.http.keep_alive_no_activity_timeout_out
-| proxy.config.http.transaction_no_activity_timeout_in
-| proxy.config.http.transaction_no_activity_timeout_out
-| proxy.config.http.transaction_active_timeout_out
-| proxy.config.http.origin_max_connections
-| proxy.config.http.connect_attempts_max_retries
-| proxy.config.http.connect_attempts_max_retries_dead_server
-| proxy.config.http.connect_attempts_rr_retries
-| proxy.config.http.connect_attempts_timeout
-| proxy.config.http.post_connect_attempts_timeout
-| proxy.config.http.down_server.cache_time
-| proxy.config.http.down_server.abort_threshold
-| proxy.config.http.cache.fuzz.time
-| proxy.config.http.cache.fuzz.min_time
-| proxy.config.http.doc_in_cache_skip_dns
-| proxy.config.http.background_fill_active_timeout
-| proxy.config.http.response_server_str
-| proxy.config.http.cache.heuristic_lm_factor
-| proxy.config.http.cache.fuzz.probability
-| proxy.config.http.background_fill_completed_threshold
-| proxy.config.net.sock_packet_mark_out
-| proxy.config.net.sock_packet_tos_out
-| proxy.config.http.insert_age_in_response
-| proxy.config.http.chunking.size
-| proxy.config.http.flow_control.enabled
-| proxy.config.http.flow_control.low_water
-| proxy.config.http.flow_control.high_water

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/plugins/esi.en.rst
----------------------------------------------------------------------
diff --git a/doc/plugins/esi.en.rst b/doc/plugins/esi.en.rst
deleted file mode 100644
index 9130791..0000000
--- a/doc/plugins/esi.en.rst
+++ /dev/null
@@ -1,22 +0,0 @@
-ESI Plugin (undocumented)
-*************************
-
-.. 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.
-
-
-This plugin implements the ESI specification.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/plugins/geoip_acl.en.rst
----------------------------------------------------------------------
diff --git a/doc/plugins/geoip_acl.en.rst b/doc/plugins/geoip_acl.en.rst
deleted file mode 100644
index a864706..0000000
--- a/doc/plugins/geoip_acl.en.rst
+++ /dev/null
@@ -1,94 +0,0 @@
-GeoIP ACLs Plugin
-*****************
-
-.. 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.
-
-This is a simple ATS plugin for denying (or allowing) requests based on
-the source IP geo-location. Currently only the Maxmind APIs are
-supported, but we'd be happy to other other (open) APIs if you let us
-know. This plugin comes with the standard distribution of Apache Traffic
-Server, and should be installed as part of the normal build process.
-
-
-Configuration
-=============
-
-Once installed, there are three primary use cases, which we will discuss
-in details. Note that in all configurations, the first plugin parameter
-must specify what the matches should be applied to. Currently, only one
-rule set is supported, for Country ISO codes. This is specified with a
-parameter of ::
-
-    @pparam=country
-
-Future additions to this plugin could include other regions, such as
-city, state, continent etc.
-
-The three typical use cases are as follows:
-
-1. Per remap configurations, applicable to the entire remap rule. This
-   is useful when you can partition your content so that entire prefix
-   paths should be filtered. For example, lets assume that
-   http://example.com/music is restricted to US customers only, and
-   everything else is world wide accessible. In remap.config, you would
-   have something like ::
-
-    map http://example.com/music http://music.example.com \
-      @plugin=geoip_acl.so @pparam=country @pparam=allow @pparam=US
-    map http://example.com http://other.example.com
-
-2. If you can not partition the data with a path prefix, you can specify
-   a separate regex mapping filter. The remap.config file might then
-   look like ::
-
-    map http://example.com http://music.example.com \
-      @plugin=geoip_acl.so @pparam=country \
-      @pparam=regex::/etc/music.regex
-
-where music.regex is a format with PCRE (perl compatible) regular
-expressions, and unique rules for match. E.g.::
-
-    .*\.mp3  allow  US
-    .*\.ogg  deny   US
-
-Note that the default in the case of no matches on the regular
-expressions is to "allow" the request. This can be overriden, see next
-use case.
-
-3. You can also combine 1) and 2), and provide defaults in the
-   remap.config configuration, which then applies for the cases where no
-   regular expressions matches at all. This would be useful to override
-   the default which is to allow all requests that don't match. For
-   example ::
-
-    map http://example.com http://music.example.com \
-      @plugin=geoip_acl.so @pparam=country @pparam=allow @pparam= US
-      @pparam=regex::/etc/music.regex
-
-This tells the plugin that in the situation where there is no matching
-regular expression, only allow requests originating from the US.
-
-Finally, there's one additional parameter option that can be used ::
-
-    @pparam=html::/some/path.html
-
-This will override the default reponse body for the denied responses
-with a custom piece of HTML. This can be useful to explain to your users
-why they are getting denied access to a particular piece of content.
-This configuration can be used with any of the use cases described
-above.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/plugins/gzip.en.rst
----------------------------------------------------------------------
diff --git a/doc/plugins/gzip.en.rst b/doc/plugins/gzip.en.rst
deleted file mode 100644
index ca49913..0000000
--- a/doc/plugins/gzip.en.rst
+++ /dev/null
@@ -1,91 +0,0 @@
-gzip / deflate Plugin
-*********************
-
-.. 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.
-
-
-This plugin gzips or deflates responses, whichever is applicable. It can
-compress origin respones as well as cached responses. The plugin is built
-and installed as part of the normal Apache Traffic Server installation
-process.
-
-Installation
-============
-
-Add the following line to
-```plugin.config`` <../../configuration-files/plugin.config>`_::
-
-    gzip.so
-
-In this case, the plugin will use the default behaviour:
-
--  Enable caching
--  Compress text/\* for every origin
--  Don't hide accept encoding from origin servers (for an offloading
-   reverse proxy)
--  No urls are disallowed from compression
-
-Configuration
-=============
-
-Alternatively, a configuration can also be specified::
-
-    gzip.so <path-to-plugin>/sample.gzip.config
-
-After modifying plugin.cofnig, restart traffic server (sudo
-traffic_line -L) the configuration is re-read when a management update
-is given (sudo traffic_line -x)
-
-Options
-=======
-
-Flags and options are:
-
-``enabled``: (``true`` or ``false``) Enable or disable compression for a
-host.
-
-``remove-accept-encoding``: (``true`` or ``false``) Sets whether the
-plugin should hide the accept encoding from origin servers:
-
--  To ease the load on the origins.
--  For when the proxy parses responses, and the resulting
-   compression/decompression is wasteful.
-
-``cache``: (``true`` or ``false``) When set, the plugin stores the
-uncompressed and compressed response as alternates.
-
-``compressible-content-type``: Wildcard pattern for matching
-compressible content types.
-
-``disallow``: Wildcard pattern for disabling compression on urls.
-
-Options can be set globally or on a per-site basis, as such::
-
-    # Set some global options first
-    cache true
-    enabled true
-    remove-accept-encoding false
-    compressible-content-type text/*
-
-    # Now set a configuration for www.example.com
-    [www.example.com]
-    cache false
-    remove-accept-encoding true
-    disallow /notthis/*.js
-
-See example.gzip.config for example configurations.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/plugins/header_filter.en.rst
----------------------------------------------------------------------
diff --git a/doc/plugins/header_filter.en.rst b/doc/plugins/header_filter.en.rst
deleted file mode 100644
index 3885612..0000000
--- a/doc/plugins/header_filter.en.rst
+++ /dev/null
@@ -1,133 +0,0 @@
-Header Filter Plugin
-********************
-
-.. 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.
-
-The ``header_filter`` is a simple plugin for filtering out headers from
-requests (or responses). Typical configuration is done either with a
-global configuration, in
-```plugin.config`` <../../configuration-files/plugin.config>`_::
-
-    header_filter.so /usr/local/etc/hdr_filters.conf
-
-Or, alternatively, in a
-```per-remap`` <../../configuration-files/remap.config>`_ rule
-configuration ::
-
-    map http://a.com/ http://b.com @plugin=header_filter.so @pparam=hdr_filters.conf
-
-Even if you don't have a global configuration, if your remap rules
-schedules actions in hooks other than during remap, you must also add
-the ``header_filter.so`` to the
-```plugin.config`` <../../configuration-files/remap.config>`_ (see
-above), but without args::
-
-    header_filter.so
-
-The configuration files looks like ::
-
-    [READ_REQUEST_HDR]
-        X-From-Someone
-        Cookie
-
-    [READ_RESPONSE_HDR]
-        X-From-Server
-        Set-Cookie
-
-    [SEND_RESPONSE_HDR]
-        X-Fie "Test"    # Match the entire string
-        X-Foo /Test/    # Match the (Perl) regex
-        X-Bar [Test*    # Match the prefix string
-        X-Fum *Test]    # Match the postfix string
-
-
-Comments are prefixed with ``#``, and in most cases, the regular
-expression matching is the best choice (very little overhead). The
-pattern matches can also take an option '``!``\ ' to reverse the test.
-The default action is to delete all headers that do (not) match the
-pattern. E.g.::
-
-    [SEND_REQUEST_HDR]
-        X-Fie   /test/
-        X-Foo ! /test/i
-
-The final "``i``\ " qualifier (works on all pattern matches) forces the
-match or comparison to be made case insensitive (just like in Perl).
-
-It's also possible to replace or add headers, using the = and +
-operators. For example ::
-
-    [SEND_REQUEST_HDR]
-        Host =www.example.com=
-        X-Foo +ATS+
-
-This will force the Host: header to have exactly one value,
-``www.example.com``, while ``X-Foo`` will have at least one header with
-the value ATS, but there could be more instances of the header from the
-existing header in the request.
-
-Possible hooks are ::
-
-     READ_REQUEST_HDR
-     SEND_REQUEST_HDR
-     READ_RESPONSE_HDR
-     SEND_RESPONSE_HDR
-
-If not specified, the default hook to add the rules (headers to filter)
-is ``READ_REQUEST_HDR``. It's completely acceptable (and useful) to
-configure a remap rule to delete headers in a later hook (e.g. when
-reading a response from the server). This is what actually makes the
-plugin even remotely useful.
-
-
-Examples
-========
-
-Set X-Forwarded-Proto https on SSL connections
-----------------------------------------------
-
-Often times a backend wants to know whether it's running under HTTP or
-HTTPS. While not regulated standard, we can use the
-``X-Forwarded-Proto`` header for this purpose.
-
-In ```plugin.config`` <../../configuration-files/plugin.config>`_ we
-need to add::
-
-    header_filter.so
-
-Then, in ```remap.config`` <../../configuration-files/remap.config>`_ we
-can configure ``header_filter`` on a case by case basis::
-
-    map http://example.org http://172.16.17.42:8080
-    map https://example.org http://172.16.17.42:8080 @plugin=header_filter.so @pparam=/etc/trafficserver/x_fwd_proto.conf
-
-The configuration that ties everything together is then
-``/etc/trafficserver/x_fwd_proto.config``, to which we add::
-
-    [SEND_REQUEST_HDR]
-        X-Forwarded-Proto =https=
-
-To activate this configuration, we need to restart Traffic Server with
-``traffic_line -L``.
-
-In the backend servers we can now pick this up and do appropriately set
-server variables that will be picked up by CGI programs for instance. In
-the case of Apache httpd backend, this can be acomplished with
-```mod_setenvif`` <http://httpd.apache.org/docs/current/mod/mod_setenvif.html#setenvif>`_::
-
-    SetEnvIf X-Forwarded-Proto https HTTPS=on SSL=on

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/plugins/hipes.en.rst
----------------------------------------------------------------------
diff --git a/doc/plugins/hipes.en.rst b/doc/plugins/hipes.en.rst
deleted file mode 100644
index 2651c67..0000000
--- a/doc/plugins/hipes.en.rst
+++ /dev/null
@@ -1,64 +0,0 @@
-HIPES system (undocumented)
-***************************
-
-.. 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.
-
-
-This plugin implements the HIPES system.
-
-Configuration
-=============
-
-``server:<host>``
-    Name of the server to send this request to
-
-``urlp:<name>``
-    Default: ``url``
-    Name of the query parameter for the service URL
-
-``path:<path>``
-    Default: ``/``
-    Path to use for the service URL
-
-``ssl``
-    Default: ``no``
-    Use SSL when connecting to the service
-
-``service``
-    Service server, ``host[:port]``
-
-``server``
-    Default: ``hipes.yimg.com``
-    Name of HIPES server, ``host[:port]``
-
-``active_timeout``
-    The active connection timeout in ms
-
-``no_activity_timeout``
-    The no activity timeout in ms
-
-``connect_timeout``
-    The connect timeout in ms
-
-``dns_timeout``
-    The DNS timeout
-
-The timeout options override the server defaults (from
-```records.config`` <../../configuration-files/records.config>`_), and
-only apply to the connection to the specific "service" host.
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/plugins/index.en.rst
----------------------------------------------------------------------
diff --git a/doc/plugins/index.en.rst b/doc/plugins/index.en.rst
deleted file mode 100644
index fd2a4dd..0000000
--- a/doc/plugins/index.en.rst
+++ /dev/null
@@ -1,75 +0,0 @@
-Plugin Reference
-****************
-
-.. 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.
-
-Overview
-========
-
-One of the key features of Apache Traffic Server is modularity.
-Features that aren't needed in the core simply aren't there. This
-is a good thing, because it guarantees that our core can remain
-fast by concentrating on the things that we always provide: Caching
-and proxying.
-
-All other things can be moved into plugins, by opening up a consistent
-C API, everyone can implement their own functionality, without
-having to touch the core.
-
-Stable plugins
-==============
-
-Plugins that are considered stable are installed by default in
-Apache Traffic Server releases.
-
-.. toctree::
-  :maxdepth: 1
-
-  cacheurl.en
-  conf_remap.en
-  gzip.en
-  header_filter.en
-  regex_remap.en
-  stats_over_http.en
-
-Experimental plugins
-====================
-
-Plugins that are considered experimental are located in the
-```plugins/experimental`` <https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;a=tree;f=plugins/experimental;hb=HEAD>`_
-directory in the Apache Traffic Server source tree. Exmperimental plugins can be compiled by passing the
-`--enable-experimental-plugins` option to `configure`::
-
-    $ autoconf -i
-    $ ./configure --enable-experimental-plugins
-    $ make
-
-.. toctree::
-  :maxdepth: 1
-
-  balancer.en
-  buffer_upload.en
-  cacheurl.en
-  combo_handler.en
-  esi.en
-  geoip_acl.en
-  hipes.en
-  metafilter.en
-  mysql_remap.en
-  stale_while_revalidate.en
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/plugins/metafilter.en.rst
----------------------------------------------------------------------
diff --git a/doc/plugins/metafilter.en.rst b/doc/plugins/metafilter.en.rst
deleted file mode 100644
index 7c75157..0000000
--- a/doc/plugins/metafilter.en.rst
+++ /dev/null
@@ -1,110 +0,0 @@
-.. 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.
-
-Metalink plugin
-===============
-
-The `metalink` plugin implements the
-`Metalink <http://en.wikipedia.org/wiki/Metalink>`_
-protocol in order to try not to download the same file twice. This
-improves cache efficiency and speeds up user downloads.
-
-Take standard headers and knowledge about objects in the cache and
-potentially rewrite those headers so that a client will use a URL
-that is already cached instead of one that isn't.
-
-The `metalink` headers are specified in :rfc:`6429` and :rfc:`3230` 
-and are sent by various download redirectors or content distribution
-networks.
-
-A lot of download sites distribute the same files from many different
-mirrors and users don't know which mirrors are already cached. These
-sites often present users with a simple download button, but the
-button doesn't predictably access the same mirror, or a mirror that
-is already cached. To users it seems like the download works sometimes
-(takes seconds) and not others (takes hours), which is frustrating.
-
-An extreme example of this happens when users share a limited,
-possibly unreliable internet connection, as is common in parts of
-Africa for example.
-
-How it works
-------------
-
-When the `metalink` plugin sees a response with a ``Location: ...`` header and a
-``Digest: SHA-256=...`` header, it checks to see if the URL in the Location
-header is already cached. If it isn't, then it tries to find a URL
-that is cached to use instead. It looks in the cache for some object
-that matches the digest in the Digest header and if it finds
-something, then it rewites the ``Location`` header with the URL from
-that object.
-
-That way a client should get sent to a URL that's already cached
-and the user won't end up downloading the file again.
-
-Installation
-------------
-
-`metalink` is a global plugin. It is enabled by adding it to your
-:file:`plugins.config` file. There are no options.
-
-Implementation Status
----------------------
-
-The `metalink` plugin implements the ``TS_HTTP_SEND_RESPONSE_HDR_HOOK``
-hook to check and potentially rewrite the ``Location: ...`` and
-``Digest: SHA-256=...`` headers after responses are cached. It
-doesn't do it before they're cached because the contents of the
-cache can change after responses are cached.  It uses :c:func:`TSCacheRead`
-to check if the URL in the ``Location: ...`` header is already
-cached. In future, the plugin should also check if the URL is fresh
-or not.
-
-The plugin implements ``TS_HTTP_READ_RESPONSE_HDR_HOOK`` and a null
-transform to compute the SHA-256 digest for content as it's added
-to the cache, then uses :c:func:`TSCacheWrite` to associate the
-digest with the request URL. This adds a new cache object where the
-key is the digest and the object is the request URL.
-
-To check if the cache already contains content that matches a digest,
-the plugin must call :c:func:`TSCacheRead` with the digest as the
-key, read the URL stored in the resultant object, and then call
-:c:func:`TSCacheRead` again with this URL as the key. This is
-probably inefficient and should be improved.
-
-An early version of the plugin scanned ``Link: <...>; rel=duplicate``
-headers. If the URL in the ``Location: ...`` header was not already
-cached, it scanned ``Link: <...>; rel=duplicate`` headers for a URL
-that was. The ``Digest: SHA-256=...`` header is superior because it
-will find content that already exists in the cache in every case
-that a ``Link: <...>; rel=duplicate`` header would, plus in cases
-where the URL is not listed among the ``Link: <...>; rel=duplicate``
-headers, maybe because the content was downloaded from a URL not
-participating in the content distribution network, or maybe because
-there are too many mirrors to list in ``Link: <...>; rel=duplicate``
-headers.
-
-The ``Digest: SHA-256=...`` header is also more efficient than ``Link:
-<...>; rel=duplicate`` headers because it involves a constant number
-of cache lookups. :rfc:`6249` requires a ``Digest: SHA-256=...`` header
-or ``Link: <...>; rel=duplicate`` headers MUST be ignored:
-
-    If Instance Digests are not provided by the Metalink servers, the
-    Link header fields pertaining to this specification MUST be ignored.
-
-    Metalinks contain whole file hashes as described in Section 6,
-    and MUST include SHA-256, as specified in [FIPS-180-3].
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/plugins/mysql_remap.en.rst
----------------------------------------------------------------------
diff --git a/doc/plugins/mysql_remap.en.rst b/doc/plugins/mysql_remap.en.rst
deleted file mode 100644
index 6e7957e..0000000
--- a/doc/plugins/mysql_remap.en.rst
+++ /dev/null
@@ -1,83 +0,0 @@
-MySQL Remap Plugin
-******************
-
-.. 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.
-
-
-This is a basic plugin for doing dynamic "remaps" from a database. It
-essentially rewrites the incoming request's Host header / origin server
-connection to one retrieved from a database.
-
-The generic proxying setup is the following::
-
-    UA ----> Traffic Server ----> Origin Server
-
-Without the plugin a request like::
-
-    GET /path/to/something HTTP/1.1
-    Host: original.host.com
-
-Ends up requesting ``http://original.host.com/path/to/something``
-
-With this plugin enabled, you can easily change that to anywhere you
-desire. Imagine the many possibilities....
-
-We have benchmarked the plugin with ab at about 9200 requests/sec (1.7k
-object) on a commodity hardware with a local setup of both, MySQL and
-Traffic Server local. Real performance is likely to be substantially
-higher, up to the MySQL's max queries / second.
-
-Installation
-============
-
-This plugin is only built if the configure option ::
-
-    --enable-experimental-plugins
-
-is given at build time.
-
-Configuration
-=============
-
-Import the default schema to a database you create::
-
-    mysql -u root -p -e "CREATE DATABASE mysql_remap;"   # create a new database
-    mysql -u root -p mysql_remap < schema/import.sql     # import the provided schema
-
-insert some interesting values in mysql_remap.hostname &
-mysql_remap.map
-
-Traffic Server plugin configuration is done inside a global
-configuration file: ``/etc/trafficserver/plugin.config``::
-
-    mysql_remap.so /etc/trafficserver/mysql_remap.ini
-
-The INI file should contain the following values::
-
-    [mysql_remap]
-    mysql_host     = localhost   #default
-    mysql_port     = 3306        #default
-    mysql_username = remap_user
-    mysql_password = 
-    mysql_database = mysql_remap #default
-
-To debug errors, start trafficserver manually using::
-
-    traffic_server -T "mysql_remap"
-
-And resolve any errors or warnings displayed.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/plugins/regex_remap.en.rst
----------------------------------------------------------------------
diff --git a/doc/plugins/regex_remap.en.rst b/doc/plugins/regex_remap.en.rst
deleted file mode 100644
index a98107b..0000000
--- a/doc/plugins/regex_remap.en.rst
+++ /dev/null
@@ -1,131 +0,0 @@
-Regex Remap Plugin
-******************
-
-.. 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.
-
-
-This allows you to configure mapping rules based on regular expressions.
-This is similar to what you can accomplish using mod_rewrite in Apache
-httpd, but obviously not as flexible or sophisticated (yet).
-
-To use this plugin, configure a remap.config rule like ::
-
-    map http://a.com http://b.com @plugin=regex_remap.so @pparam=maps.reg
-
-The parameter with the file name is always required, and the regular
-expressions within are evaluated sequentially from the first to the
-last. When a regular expression is positively matched against a request
-URL, evaluation is stopped and the rewrite rule is applied. If none of
-the regular expressions are a match, the default destination URL is
-applied (``http://b.com`` in the example above).
-
-An optional argument (``@pparam``) with the string "``profile``\ " will
-enable profiling of this regex remap rule, e.g. ::
-
-    ... @pparam=maps.reg @pparam=profile
-
-Profiling is very low overhead, and the information is dumped to
-``traffic.out``, located in the log directory. This information is
-useful to optimize the order of your regular expression, such that the
-most common matches appears early in the file. In order to force a
-profile dump, you can do ::
-
-    $ sudo touch remap.config
-    $ sudo traffic_line -x
-
-By default, only the path and query string of the URL are provided for
-the regular expressions to match. The following optional parameters can
-be used to modify the plugin instance behavior ::
-
-    @pparam=[no-]method              [default: off]
-    @pparam=[no-]query-string        [default: on]
-    @pparam=[no-]matrix-parameters   [default: off]
-
-If you wish to match on the HTTP method used (e.g. "``GET``\ "),
-you must use the option ``@pparam=method``. e.g. ::
-
-    ... @pparam=maps.reg @pparam=method
-
-With this enabled, the string that you will need to match will look
-like ::
-
-    GET/path?query=bar
-
-
-The methods are always all upper-case, and always followed by one single
-space. There is no space between the method and the rest of the URL (or
-URI path).
-
-By default, the query string is part of the string that is matched
-again, to turn this off use the option 'no-query-string', e.g. ::
-
-    ... @pparam=maps.reg @pparam=no-query-string
-
-Finally, you can also include the matrix parameters in the string, using
-the option 'matrix-parameters', e.g. ::
-
-    ... @pparam=maps.reg @pparam=matrix-parameters
-
-The config file (``maps.reg`` above) can be placed anywhere, but unless
-you specify an absolute path (as above), it will default to ::
-
-    /usr/local/etc/regex_remap
-
-A typical regex would look like ::
-
-    ^/(ogre.*)/more     http://www.ogre.com/$h/$0/$1
-
-The regular expression must not contain any white spaces!
-
-When the regular expression is matched, only the URL path + query string
-is matched (without any of the optional configuration options). The path
-will always start with a "/". Various substitution strings are allowed
-on the right hand side during evaluation ::
-
-    $0     - The entire matched string
-    $1-9   - Regular expression groups ($1 first group etc.)
-    $h     - The original host header from the request
-    $f     - The host as used in the "from" portion of the remap rule
-    $t     - The host as used in the "to" portion of the remap rule
-    $p     - The original port number
-    $s     - The scheme (e.g. http) of the request
-    $P     - The entire path of the request
-    $q     - The query part of the request
-    $r     - The path parameters of the request (not implemented yet)
-    $c     - The cookie string from the request
-    $i     - The client IP for this request
-
-You can also provide options, similar to how you configure your
-remap.config. The following options are available ::
-
-    @status=<nnn>               - Force the response code to <nnn>
-    @active_timeout=<nnn>       - Active timeout (in ms)
-    @no_activity_timeout=<nnn>  - No activity timeout (in ms)
-    @connect_timeout=<nnn>      - Connect timeouts (in ms)
-    @dns_timeout=<nnn>          - Connect timeouts (in ms)
-
-This can be useful to force a particular response for some URLs, e.g. ::
-
-    ^/(ogre.*)/bad      http://www.examle.com/  @status=404
-
-Or, to force a 302 redirect ::
-
-    ^/oldurl/(.*)$      http://news.example.com/new/$1 @status=302
-
-Setting the status to 301 or 302 will force the new URL to be used
-as a redirect (Location:).

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/plugins/stale_while_revalidate.en.rst
----------------------------------------------------------------------
diff --git a/doc/plugins/stale_while_revalidate.en.rst b/doc/plugins/stale_while_revalidate.en.rst
deleted file mode 100644
index 0a59c90..0000000
--- a/doc/plugins/stale_while_revalidate.en.rst
+++ /dev/null
@@ -1,21 +0,0 @@
-Stale While Revalidate Plugin (undocumented)
-********************************************
-
-.. 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.
-
-refresh content asynchronously while serving stale data

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/plugins/stats_over_http.en.rst
----------------------------------------------------------------------
diff --git a/doc/plugins/stats_over_http.en.rst b/doc/plugins/stats_over_http.en.rst
deleted file mode 100644
index 39b69be..0000000
--- a/doc/plugins/stats_over_http.en.rst
+++ /dev/null
@@ -1,50 +0,0 @@
-Stats over HTTP Plugin
-**********************
-
-.. 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.
-
-
-This plugin implements an HTTP interface to all Traffic Server statistics. The
-metrics returned are in a JSON format, for easy processing. This plugin is now
-part of the standard ATS build process, and should be available after install.
-
-To enable this plugin, add to the plugin.conf file::
-
-    stats_over_http.so
-
-
-After starting Traffic Server, the JSON metrics are now available on the
-default URL::
-
-    http://host:port/_stats
-
-
-where host and port is the hostname/IP and port number of the server. You can
-optionally modify the path to use, and this is highly recommended in a public
-facing server. For example::
-
-    stats_over_http.so 81c075bc0cca1435ea899ba4ad72766b
-
-
-and the URL would then be e.g.::
-
-    https://host:port/81c075bc0cca1435ea899ba4ad72766b
-
-
-This is weak security at best, since the secret could possibly leak if you are
-careless and send it over clear text.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/api/TSAPI.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSAPI.en.rst b/doc/reference/api/TSAPI.en.rst
new file mode 100644
index 0000000..d2ab1b2
--- /dev/null
+++ b/doc/reference/api/TSAPI.en.rst
@@ -0,0 +1,143 @@
+.. 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.
+
+.. default-domain:: c
+
+=======
+`TSAPI`
+=======
+
+Synopsis
+========
+| `#include <ts/ts.h>`
+| `#include <ts/remap.h>`
+
+Description
+===========
+The Apache Traffic Server API enables you to create plugins, using
+the C programming language, that customize the behavior of your
+Traffic Server installation.
+
+Traffic Server enables sophisticated caching and processing of
+web-related traffic, such as DNS and HTTP requests and responses.
+Traffic Server itself consists of an event-driven loop that can be
+simplified as follows::
+
+    for (;;) {
+        event = get_next_event();
+        handle_event (event);
+    }
+
+You compile your plugin source code to create a shared library that
+Traffic Server loads when it is started. Your plugin contains
+callback functions that are registered for specific Traffic Server
+events. When Traffic Server needs to process an event, it invokes
+any and all call-back functions you've registered for that event
+type.
+
+Possible uses for plugins include the following:
+
+* HTTP processing plugins can filter, blacklist, authorize users or transform content.
+* Protocol plugins can enable Traffic Server to proxy-cache new protocol content.
+* A blacklisting plugin denies attempts to access web sites that are off-limits.
+* Append transform plugins add data to HTTP response content.
+* An image conversion plugin transforms JPEG images to GIF images.
+* Compression plugins send response content to a compression server
+  that compresses the data (alternatively, a compression library local
+  to the Traffic Server host machine could do the compression).
+* Authorization plugins check a user's permissions to access
+  particular web sites. The plugin could consult a local authorization
+  program or send queries to an authorization server.
+* A plugin that gathers client information from request headers
+  and enters this information in a database.
+* A protocol plugin listen for specific protocol requests on a
+  designated port and then uses Traffic Server's proxy server and
+  cache to serve client requests.
+
+Naming conventions
+==================
+
+The Traffic Server API adheres to the following naming conventions:
+
+* The TS prefix is used for all function and variable names defined
+  in the Traffic Server API. For example, :data:`TS_EVENT_NONE`, :type:`TSMutex`,
+  and :func:`TSContCreate`.
+* Enumerated values are always written in all uppercase letters.
+  For example, :data:`TS_EVENT_NONE` and :data:`TS_VC_CLOSE_ABORT`.
+* Constant values are all uppercase; enumerated values can be seen
+  as a subset of constants. For example, :data:`TS_URL_SCHEME_FILE` and
+  :data:`TS_MIME_FIELD_ACCEPT`.
+* The names of defined types are mixed-case. For example, :type:`TSHttpSsn`
+  and :func:`TSHttpTxn`. :func:`TSDebug`
+* Function names are mixed-case. For example, :func:`TSUrlCreate`
+  and :func:`TSContDestroy`.
+* Function names use the following subject-verb naming style:
+  TS-<subject>-<verb>, where <subject> goes from general to specific.
+  This makes it easier to determine what a function does by reading
+  its name. For example, the function to retrieve the password field
+  (the specific subject) from a URL (the general subject) is
+  :func:`TSUrlPasswordGet`.
+* Common verbs like Create, Destroy, Get, Set, Copy, Find, Retrieve,
+  Insert, Remove, and Delete are used only when appropriate.
+
+Plugin loading and configuration
+================================
+
+When Traffic Server is first started, it consults the plugin.config
+file to determine the names of all shared plugin libraries that
+need to be loaded. The plugin.config file also defines arguments
+that are to be passed to each plugin's initialization function,
+:func:`TSPluginInit`. The :file:`records.config` file defines the path to
+each plugin shared library.
+
+The sample :file:`plugin.config` file below contains a comment line, a blank
+line, and two plugin configurations::
+
+    # This is a comment line.
+    my-plugin.so www.junk.com www.trash.com www.garbage.com
+    some-plugin.so arg1 arg2 $proxy.config.http.cache.on
+
+Each plugin configuration in the :file:`plugin.config` file resembles
+a UNIX or DOS shell command; each line in :file:`plugin.config`
+cannot exceed 1023 characters.
+
+The first plugin configuration is for a plugin named my-plugin.so.
+It contains three arguments that are to be passed to that plugin's
+initialization routine. The second configuration is for a plugin
+named some-plugin.so; it contains three arguments. The last argument,
+$proxy.config.http.cache.on, is actually a configuration variable.
+Traffic Server will look up the specified configuration variable
+and substitute its value.
+
+Plugins are loaded and initialized by Traffic Server in the order
+they appear in the :file:`plugin.config` file.
+
+Plugin initialization
+=====================
+
+Each plugin must define an initialization function named
+:func:`TSPluginInit` that Traffic Server invokes when the
+plugin is loaded. :func:`TSPluginInit` is commonly used to
+read configuration information and register hooks for event
+notification.
+
+Files
+=====
+:file:`{CONFIG_DIR}/plugin.config`, :file:`{CONFIG_DIR}/records.config`
+
+See also
+========
+:manpage:`TSPluginInit(3ts)`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/api/TSDebug.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSDebug.en.rst b/doc/reference/api/TSDebug.en.rst
new file mode 100644
index 0000000..6471fa5
--- /dev/null
+++ b/doc/reference/api/TSDebug.en.rst
@@ -0,0 +1,83 @@
+.. 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.
+
+.. default-domain:: c
+
+==========
+`TSDebug`
+==========
+
+Library
+=======
+Apache Traffic Server plugin API
+
+Synopsis
+========
+`#include <ts/ts.h>`
+
+.. function:: void TSDebug(const char * tag, const char * format, ...)
+.. function:: void TSError(const char * tag, const char * format, ...)
+.. function:: int TSIsDebugTagSet(const char * tag)
+.. function:: void TSDebugSpecific(int debug_flag, const char * tag, const char * format, ...)
+.. function:: void TSHttpTxnDebugSet(TSHttpTxn txnp, int on)
+.. function:: void TSHttpSsnDebugSet(TSHttpSsn ssn, int on)
+.. function:: int TSHttpTxnDebugGet(TSHttpTxn txnp)
+.. function:: int TSHttpSsnDebugGet(TSHttpSsn ssn)
+.. macro:: void TSAssert(expression)
+.. macro:: void TSReleaseAssert(expression)
+
+Description
+===========
+
+:func:`TSError` is similar to :func:`printf` except that instead
+of writing the output to the C standard output, it writes output
+to the Traffic Server error log.
+
+:func:`TSDebug` is the same as :func:`TSError` except that it only
+logs the debug message if the given debug tag is enabled. It writes
+output to the Traffic Server debug log.
+
+:func:`TSIsDebugTagSet` returns non-zero if the given debug tag is
+enabled.
+
+In debug mode, :macro:`TSAssert` Traffic Server to prints the file
+name, line number and expression, and then aborts. In release mode,
+the expression is not removed but the effects of printing an error
+message and aborting are. :macro:`TSReleaseAssert` prints an error
+message and aborts in both release and debug mode.
+
+:func:`TSDebugSpecific` emits a debug line even if the debug tag
+is turned off, as long as debug flag is enabled. This can be used
+in conjuction with :func:`TSHttpTxnDebugSet`, :func:`TSHttpSsnDebugSet`,
+:func:`TSHttpTxnDebugGet` and :func:`TSHttpSsnDebugGet` to enable
+debugging on specific session and transaction objects.
+
+Examples
+========
+
+This example uses :func:`TSDebugSpecific` to log a message when a specific
+debugging flag is enabled::
+
+    #include <ts/ts.h>
+
+    // Emit debug message if "tag" is enabled or the txn debug
+    // flag is set.
+    TSDebugSpecifc(TSHttpTxnDebugGet(txn), "tag" ,
+            "Hello World from transaction %p", txn);
+
+SEE ALSO
+========
+:manpage:`TSAPI(3ts)`, :manpage:`printf(3)`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/c2eb7363/doc/reference/api/TSHttpHookAdd.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/api/TSHttpHookAdd.en.rst b/doc/reference/api/TSHttpHookAdd.en.rst
new file mode 100644
index 0000000..d791db5
--- /dev/null
+++ b/doc/reference/api/TSHttpHookAdd.en.rst
@@ -0,0 +1,120 @@
+.. 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.
+
+.. default-domain:: c
+
+===============
+`TSHttpHookAdd`
+===============
+
+Library
+=======
+Apache Traffic Server plugin API
+
+Synopsis
+========
+`#include <ts/ts.h>`
+
+.. function:: void TSHttpHookAdd(TSHttpHookID id, TSCont contp)
+.. function:: void TSHttpSsnHookAdd(TSHttpSsn ssnp, TSHttpHookID id, TSCont contp)
+.. function:: void TSHttpTxnHookAdd(TSHttpTxn txnp, TSHttpHookID id, TSCont contp)
+
+Description
+===========
+
+Hooks are points in Apache Traffic Server transaction HTTP processing
+where plugins can step in and do some work. Registering a plugin
+function for callback amounts to adding the function to a hook. You
+can register your plugin to be called back for every single
+transaction, or for specific transactions only.
+
+HTTP transaction hooks are set on a global basis using the function
+:func:`TSHttpHookAdd`. This means that the continuation specified
+as the parameter to :func:`TSHttpHookAdd` is called for every
+transaction. :func:`TSHttpHookAdd` is typically called from
+:func:`TSPluginInit` or :func:`TSRemapInit`.
+
+A session consists of a single client connection to Traffic Server.
+A session can consist of several transactions in succession. The
+session starts when the client connection opens, and ends when the
+connection closes. :func:`TSHttpSsnHookAdd` adds :data:`contp` to
+the end of the list of HTTP transaction hooks specified by :data:`id`.
+This means that :data:`contp` is called back for every transaction
+within the session, at the point specified by the hook ID. Since
+:data:`contp` is added to a session, it is not possible to call
+:func:`TSHttpSsnHookAdd` from the plugin initialization routine;
+the plugin needs a handle to an HTTP session.
+
+A transaction consists of a single HTTP request from a client and
+the response that Traffic Server sends to that client. A transaction
+begins when Traffic Server receives a request, and ends when Traffic
+Server sends the response. :func:`TSHttpTxnHookAdd` adds :data:`contp`
+to the end of the list of HTTP transaction hooks specified by
+:data:`id`. Since :data:`contp` is added to a transaction, it is
+not possible to call :func:`TSHttpTxnHookAdd` from the plugin
+initialization routine but only when the plugin has a handle to an
+HTTP transaction.
+
+Return values
+=============
+
+None. Adding hooks is always successful.
+
+Examples
+========
+
+The following example demonstrates how to add global, session and
+transaction hooks::
+
+    #include <ts/ts.h>
+
+    static int
+    handler(TSCont contp, TSEvent event, void *edata)
+    {
+        TSHttpSsn ssnp;
+        TSHttpTxn txnp;
+
+        switch (event){
+        case TS_EVENT_HTTP_SSN_START:
+            ssnp = (TSHttpSsn) edata;
+            // Add a session hook ...
+            TSHttpSsnHookAdd(ssnp, TS_HTTP_TXN_START_HOOK, contp);
+            TSHttpSsnReenable(ssnp, TS_EVENT_HTTP_CONTINUE);
+            return 0;
+        case TS_EVENT_HTTP_TXN_START:
+            txnp = (TSHttpTxn) edata;
+            // Add a transaction hook ...
+            TSHttpTxnHookAdd(ssnp, TS_HTTP_READ_REQUEST_HDR_HOOK, contp);
+            TSHttpTxnReenable(txnp, TS_EVENT_HTTP_CONTINUE);
+            return 0;
+        default:
+             break;
+        }
+
+        return 0;
+    }
+
+    void
+    TSPluginInit (int argc, const char *argv[])
+    {
+        TSCont contp;
+        contp = TSContCreate(handler, NULL);
+        TSHttpHookAdd(TS_HTTP_SSN_START_HOOK, contp);
+    }
+
+SEE ALSO
+========
+:manpage:`TSAPI(3ts)`, :manpage:`TSContCreate(3ts)`


[38/52] [abbrv] git commit: TS-1953: remove check_ts_version() from examples

Posted by zw...@apache.org.
TS-1953: remove check_ts_version() from examples

remove the boilerplate check_ts_version() function call from all
examples. This function is nice in a specific example, but it does not
make sense to have it in every single example plugin.

Since the code is compiled, in most cases that's too late to catch
issues with API versions, so it doesn't make sense to begin with.
In order to enable Plugin Developers to do such checks, and #ifdef
around API issues, we'd have to expose the TS_VERSION_* contants.

n.b.: We might want add one example which shows off how to use the
TSTrafficServerGetVersion() API, but we have that in the man page now
anyway.


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/5b8b9685
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/5b8b9685
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/5b8b9685

Branch: refs/heads/3.3.x
Commit: 5b8b96850137ed29905fd1c244b4c6da3a3b02e2
Parents: 7e26b68
Author: Igor Galić <i....@brainsware.org>
Authored: Fri Aug 2 00:05:02 2013 +0200
Committer: Igor Galić <i....@brainsware.org>
Committed: Fri Aug 2 00:29:31 2013 +0200

----------------------------------------------------------------------
 example/add-header/add-header.c               | 30 ----------------
 example/append-transform/append-transform.c   | 31 ----------------
 example/basic-auth/basic-auth.c               | 31 ----------------
 example/blacklist-0/blacklist-0.c             | 32 -----------------
 example/blacklist-1/blacklist-1.c             | 31 ----------------
 example/bnull-transform/bnull-transform.c     | 31 ----------------
 example/file-1/file-1.c                       | 30 ----------------
 example/hello/hello.c                         | 30 ----------------
 example/null-transform/null-transform.c       | 31 ----------------
 example/output-header/output-header.c         | 31 ----------------
 example/protocol/Protocol.c                   | 31 ----------------
 example/redirect-1/redirect-1.c               | 31 ----------------
 example/replace-header/replace-header.c       | 31 ----------------
 example/response-header-1/response-header-1.c | 31 ----------------
 example/server-transform/server-transform.c   | 31 ----------------
 example/session-1/session-1.c                 | 31 ----------------
 example/thread-1/thread-1.c                   | 30 ----------------
 example/thread-pool/psi.c                     | 41 ----------------------
 18 files changed, 565 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b8b9685/example/add-header/add-header.c
----------------------------------------------------------------------
diff --git a/example/add-header/add-header.c b/example/add-header/add-header.c
index a329162..7bd1e15 100644
--- a/example/add-header/add-header.c
+++ b/example/add-header/add-header.c
@@ -120,31 +120,6 @@ add_header_plugin(TSCont contp, TSEvent event, void *edata)
   return 0;
 }
 
-int
-check_ts_version()
-{
-
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* Need at least TS 2.0 */
-    if (major_ts_version >= 2) {
-      result = 1;
-    }
-  }
-
-  return result;
-}
-
 void
 TSPluginInit(int argc, const char *argv[])
 {
@@ -162,11 +137,6 @@ TSPluginInit(int argc, const char *argv[])
     goto error;
   }
 
-  if (!check_ts_version()) {
-    TSError("[PluginInit] Plugin requires Traffic Server 3.0 or later\n");
-    goto error;
-  }
-
   if (argc < 2) {
     TSError("[PluginInit] Usage: %s \"name1: value1\" \"name2: value2\" ...>\n", argv[0]);
     goto error;

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b8b9685/example/append-transform/append-transform.c
----------------------------------------------------------------------
diff --git a/example/append-transform/append-transform.c b/example/append-transform/append-transform.c
index 00f0c22..31d78e6 100644
--- a/example/append-transform/append-transform.c
+++ b/example/append-transform/append-transform.c
@@ -347,32 +347,6 @@ load(const char *filename)
   return 1;
 }
 
-int
-check_ts_version()
-{
-
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* Need at least TS 2.0 */
-    if (major_ts_version >= 2) {
-      result = 1;
-    }
-
-  }
-
-  return result;
-}
-
 void
 TSPluginInit(int argc, const char *argv[])
 {
@@ -387,11 +361,6 @@ TSPluginInit(int argc, const char *argv[])
     goto Lerror;
   }
 
-  if (!check_ts_version()) {
-    TSError("Plugin requires Traffic Server 3.0 or later\n");
-    goto Lerror;
-  }
-
   if (argc != 2) {
     TSError("usage: %s <filename>\n", argv[0]);
     goto Lerror;

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b8b9685/example/basic-auth/basic-auth.c
----------------------------------------------------------------------
diff --git a/example/basic-auth/basic-auth.c b/example/basic-auth/basic-auth.c
index 7f6f4af..5b3cda0 100644
--- a/example/basic-auth/basic-auth.c
+++ b/example/basic-auth/basic-auth.c
@@ -209,32 +209,6 @@ auth_plugin(TSCont contp, TSEvent event, void *edata)
   return 0;
 }
 
-int
-check_ts_version()
-{
-
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* Need at least TS 2.0 */
-    if (major_ts_version >= 2) {
-      result = 1;
-    }
-
-  }
-
-  return result;
-}
-
 void
 TSPluginInit(int argc ATS_UNUSED, const char *argv[] ATS_UNUSED)
 {
@@ -249,11 +223,6 @@ TSPluginInit(int argc ATS_UNUSED, const char *argv[] ATS_UNUSED)
     TSError("Plugin registration failed.\n");
   }
 
-  if (!check_ts_version()) {
-    TSError("Plugin requires Traffic Server 3.0 or later\n");
-    return;
-  }
-
   /* Build translation table */
   for (i = 0, cc = 0; i < 256; i++) {
     base64_codes[i] = 0;

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b8b9685/example/blacklist-0/blacklist-0.c
----------------------------------------------------------------------
diff --git a/example/blacklist-0/blacklist-0.c b/example/blacklist-0/blacklist-0.c
index a493277..9038b8f 100644
--- a/example/blacklist-0/blacklist-0.c
+++ b/example/blacklist-0/blacklist-0.c
@@ -146,32 +146,6 @@ blacklist_plugin(TSCont contp, TSEvent event, void *edata)
   return 0;
 }
 
-int
-check_ts_version()
-{
-
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* Need at least TS 2.0 */
-    if (major_ts_version >= 2) {
-      result = 1;
-    }
-
-  }
-
-  return result;
-}
-
 void
 TSPluginInit(int argc, const char *argv[])
 {
@@ -187,12 +161,6 @@ TSPluginInit(int argc, const char *argv[])
 
   }
 
-  if (!check_ts_version()) {
-    TSError("Plugin requires Traffic Server 3.0 or later\n");
-    return;
-  }
-
-
   nsites = argc - 1;
   if (nsites > 0) {
     sites = (char **) TSmalloc(sizeof(char *) * nsites);

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b8b9685/example/blacklist-1/blacklist-1.c
----------------------------------------------------------------------
diff --git a/example/blacklist-1/blacklist-1.c b/example/blacklist-1/blacklist-1.c
index f1a55a2..3b137d6 100644
--- a/example/blacklist-1/blacklist-1.c
+++ b/example/blacklist-1/blacklist-1.c
@@ -306,32 +306,6 @@ handle_txn_start(TSCont contp ATS_UNUSED, TSHttpTxn txnp)
 }
 
 
-int
-check_ts_version()
-{
-
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* Need at least TS 2.0 */
-    if (major_ts_version >= 2) {
-      result = 1;
-    }
-
-  }
-
-  return result;
-}
-
 void
 TSPluginInit(int argc ATS_UNUSED, const char *argv[] ATS_UNUSED)
 {
@@ -347,11 +321,6 @@ TSPluginInit(int argc ATS_UNUSED, const char *argv[] ATS_UNUSED)
     TSError("Plugin registration failed.\n");
   }
 
-  if (!check_ts_version()) {
-    TSError("Plugin requires Traffic Server 3.0 or later\n");
-    return;
-  }
-
   /* create an TSTextLogObject to log blacklisted requests to */
   error = TSTextLogObjectCreate("blacklist", TS_LOG_MODE_ADD_TIMESTAMP, &log);
   if (!log || error == TS_ERROR) {

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b8b9685/example/bnull-transform/bnull-transform.c
----------------------------------------------------------------------
diff --git a/example/bnull-transform/bnull-transform.c b/example/bnull-transform/bnull-transform.c
index 26cceca..03acb26 100644
--- a/example/bnull-transform/bnull-transform.c
+++ b/example/bnull-transform/bnull-transform.c
@@ -306,32 +306,6 @@ transform_plugin(TSCont contp ATS_UNUSED, TSEvent event, void *edata)
   return 0;
 }
 
-int
-check_ts_version()
-{
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* Need at least TS 2.0 */
-    if (major_ts_version >= 2) {
-      result = 1;
-    }
-
-  }
-
-  return result;
-}
-
 void
 TSPluginInit(int argc ATS_UNUSED, const char *argv[] ATS_UNUSED)
 {
@@ -347,11 +321,6 @@ TSPluginInit(int argc ATS_UNUSED, const char *argv[] ATS_UNUSED)
     goto Lerror;
   }
 
-  if (!check_ts_version()) {
-    TSError("[bnull-transform] Plugin requires Traffic Server 3.0" " or later\n");
-    goto Lerror;
-  }
-
   /* This is call we could use if we need to protect global data */
   /* TSReleaseAssert ((mutex = TSMutexCreate()) != TS_NULL_MUTEX); */
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b8b9685/example/file-1/file-1.c
----------------------------------------------------------------------
diff --git a/example/file-1/file-1.c b/example/file-1/file-1.c
index f7c9791..23d67d7 100644
--- a/example/file-1/file-1.c
+++ b/example/file-1/file-1.c
@@ -36,31 +36,6 @@
 #include <stdio.h>
 #include <ts/ts.h>
 
-int
-check_ts_version()
-{
-
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* Need at least TS 2.0 */
-    if (major_ts_version >= 2) {
-      result = 1;
-    }
-  }
-
-  return result;
-}
-
 void
 TSPluginInit(int argc, const char *argv[])
 {
@@ -77,11 +52,6 @@ TSPluginInit(int argc, const char *argv[])
     TSError("Plugin registration failed.\n");
   }
 
-  if (!check_ts_version()) {
-    TSError("Plugin requires Traffic Server 3.0 or later\n");
-    return;
-  }
-
   for (i = 1; i < argc; i++) {
     filep = TSfopen(argv[i], "r");
     if (!filep) {

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b8b9685/example/hello/hello.c
----------------------------------------------------------------------
diff --git a/example/hello/hello.c b/example/hello/hello.c
index 5516274..e8906d3 100644
--- a/example/hello/hello.c
+++ b/example/hello/hello.c
@@ -26,31 +26,6 @@
 #include "ts/ts.h"
 #include "ink_defs.h"
 
-int
-check_ts_version()
-{
-
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* Need at least TS 2.0 */
-    if (major_ts_version >= 2) {
-      result = 1;
-    }
-  }
-
-  return result;
-}
-
 void
 TSPluginInit(int argc ATS_UNUSED, const char *argv[] ATS_UNUSED)
 {
@@ -64,10 +39,5 @@ TSPluginInit(int argc ATS_UNUSED, const char *argv[] ATS_UNUSED)
     TSError("Plugin registration failed. \n");
   }
 
-  if (!check_ts_version()) {
-    TSError("Plugin requires Traffic Server 3.0 or later\n");
-    return;
-  }
-
   TSDebug("debug-hello", "Hello World!\n");
 }

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b8b9685/example/null-transform/null-transform.c
----------------------------------------------------------------------
diff --git a/example/null-transform/null-transform.c b/example/null-transform/null-transform.c
index 154613f..2c23dea 100644
--- a/example/null-transform/null-transform.c
+++ b/example/null-transform/null-transform.c
@@ -306,32 +306,6 @@ transform_plugin(TSCont contp ATS_UNUSED, TSEvent event, void *edata)
   return 0;
 }
 
-int
-check_ts_version()
-{
-
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* Need at least TS 2.0 */
-    if (major_ts_version >= 2) {
-      result = 1;
-    }
-
-  }
-
-  return result;
-}
-
 void
 TSPluginInit(int argc ATS_UNUSED, const char *argv[] ATS_UNUSED)
 {
@@ -346,11 +320,6 @@ TSPluginInit(int argc ATS_UNUSED, const char *argv[] ATS_UNUSED)
     goto Lerror;
   }
 
-  if (!check_ts_version()) {
-    TSError("[null-transform] Plugin requires Traffic Server 3.0 " "or later\n");
-    goto Lerror;
-  }
-
   TSHttpHookAdd(TS_HTTP_READ_RESPONSE_HDR_HOOK, TSContCreate(transform_plugin, NULL));
   return;
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b8b9685/example/output-header/output-header.c
----------------------------------------------------------------------
diff --git a/example/output-header/output-header.c b/example/output-header/output-header.c
index 8307c4e..34a7b81 100644
--- a/example/output-header/output-header.c
+++ b/example/output-header/output-header.c
@@ -148,31 +148,6 @@ hdr_plugin(TSCont contp, TSEvent event, void *edata)
   return 0;
 }
 
-int
-check_ts_version()
-{
-
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* Need at least TS 2.0 */
-    if (major_ts_version >= 2) {
-      result = 1;
-    }
-  }
-
-  return result;
-}
-
 void
 TSPluginInit(int argc ATS_UNUSED, const char *argv[] ATS_UNUSED)
 {
@@ -187,12 +162,6 @@ TSPluginInit(int argc ATS_UNUSED, const char *argv[] ATS_UNUSED)
     goto error;
   }
 
-  if (!check_ts_version()) {
-    TSError("[PluginInit] Plugin requires Traffic Server 3.0 or later\n");
-    goto error;
-  }
-
-
   TSHttpHookAdd(TS_HTTP_OS_DNS_HOOK, TSContCreate(hdr_plugin, NULL));
 
 error:

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b8b9685/example/protocol/Protocol.c
----------------------------------------------------------------------
diff --git a/example/protocol/Protocol.c b/example/protocol/Protocol.c
index 5bb786f..5d71430 100644
--- a/example/protocol/Protocol.c
+++ b/example/protocol/Protocol.c
@@ -100,32 +100,6 @@ protocol_init(int accept_port, int server_port ATS_UNUSED)
   pending_action = TSNetAccept(contp, accept_port, -1, 1);
 }
 
-int
-check_ts_version()
-{
-
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* Need at least TS 2.0 */
-    if (major_ts_version >= 2) {
-      result = 1;
-    }
-  }
-
-  return result;
-}
-
-
 void
 TSPluginInit(int argc, const char *argv[])
 {
@@ -140,11 +114,6 @@ TSPluginInit(int argc, const char *argv[])
     goto error;
   }
 
-  if (!check_ts_version()) {
-    TSError("[PluginInit] Plugin requires Traffic Server 3.0 or later\n");
-    goto error;
-  }
-
 
   /* default value */
   accept_port = 4666;

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b8b9685/example/redirect-1/redirect-1.c
----------------------------------------------------------------------
diff --git a/example/redirect-1/redirect-1.c b/example/redirect-1/redirect-1.c
index 6498b70..613235a 100644
--- a/example/redirect-1/redirect-1.c
+++ b/example/redirect-1/redirect-1.c
@@ -342,32 +342,6 @@ update_redirected_method_stats(TSMBuffer bufp, TSMLoc hdr_loc)
   }
 }
 
-int
-check_ts_version()
-{
-
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* Need at least TS 2.0 */
-    if (major_ts_version >= 2) {
-      result = 1;
-    }
-
-  }
-
-  return result;
-}
-
 void
 TSPluginInit(int argc, const char *argv[])
 {
@@ -383,11 +357,6 @@ TSPluginInit(int argc, const char *argv[])
     TSError("Plugin registration failed.\n");
   }
 
-  if (!check_ts_version()) {
-    TSError("Plugin requires Traffic Server 3.0 or later\n");
-    return;
-  }
-
   if (argc == 3) {
     block_ip = TSstrdup(argv[1]);
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b8b9685/example/replace-header/replace-header.c
----------------------------------------------------------------------
diff --git a/example/replace-header/replace-header.c b/example/replace-header/replace-header.c
index 0b7c7df..d4bc31b 100644
--- a/example/replace-header/replace-header.c
+++ b/example/replace-header/replace-header.c
@@ -93,32 +93,6 @@ replace_header_plugin(TSCont contp ATS_UNUSED, TSEvent event, void *edata)
   return 0;
 }
 
-int
-check_ts_version()
-{
-
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* Need at least TS 2.0 */
-    if (major_ts_version >= 2) {
-      result = 1;
-    }
-
-  }
-
-  return result;
-}
-
 void
 TSPluginInit(int argc ATS_UNUSED, const char *argv[] ATS_UNUSED)
 {
@@ -132,10 +106,5 @@ TSPluginInit(int argc ATS_UNUSED, const char *argv[] ATS_UNUSED)
     TSError("Plugin registration failed. \n");
   }
 
-  if (!check_ts_version()) {
-    TSError("Plugin requires Traffic Server 3.0 or later\n");
-    return;
-  }
-
   TSHttpHookAdd(TS_HTTP_READ_RESPONSE_HDR_HOOK, TSContCreate(replace_header_plugin, NULL));
 }

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b8b9685/example/response-header-1/response-header-1.c
----------------------------------------------------------------------
diff --git a/example/response-header-1/response-header-1.c b/example/response-header-1/response-header-1.c
index 73aff35..68c1d11 100644
--- a/example/response-header-1/response-header-1.c
+++ b/example/response-header-1/response-header-1.c
@@ -232,32 +232,6 @@ modify_response_header_plugin(TSCont contp ATS_UNUSED, TSEvent event, void *edat
   return 0;
 }
 
-int
-check_ts_version()
-{
-
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* Need at least TS 2.0 */
-    if (major_ts_version >= 2) {
-      result = 1;
-    }
-
-  }
-
-  return result;
-}
-
 void
 TSPluginInit(int argc, const char *argv[])
 {
@@ -273,11 +247,6 @@ TSPluginInit(int argc, const char *argv[])
     TSError("Plugin registration failed.\n");
   }
 
-  if (!check_ts_version()) {
-    TSError("Plugin requires Traffic Server 3.0 or later\n");
-    return;
-  }
-
   init_buffer_status = 0;
   if (argc > 1) {
     TSError("usage: %s \n", argv[0]);

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b8b9685/example/server-transform/server-transform.c
----------------------------------------------------------------------
diff --git a/example/server-transform/server-transform.c b/example/server-transform/server-transform.c
index 930d3b8..4a2df81 100644
--- a/example/server-transform/server-transform.c
+++ b/example/server-transform/server-transform.c
@@ -635,32 +635,6 @@ transform_plugin(TSCont contp, TSEvent event, void *edata)
   return 0;
 }
 
-int
-check_ts_version()
-{
-
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* Since this is an TS-SDK 2.0 plugin, we need at
-       least Traffic Server 2.0 to run */
-    if (major_ts_version >= 2) {
-      result = 1;
-    }
-  }
-
-  return result;
-}
-
 void
 TSPluginInit(int argc ATS_UNUSED, const char *argv[] ATS_UNUSED)
 {
@@ -675,11 +649,6 @@ TSPluginInit(int argc ATS_UNUSED, const char *argv[] ATS_UNUSED)
     TSError("Plugin registration failed.\n");
   }
 
-  if (!check_ts_version()) {
-    TSError("Plugin requires Traffic Server 3.0 or later\n");
-    return;
-  }
-
   /* connect to the echo port on localhost */
   server_ip = (127 << 24) | (0 << 16) | (0 << 8) | (1);
   server_ip = htonl(server_ip);

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b8b9685/example/session-1/session-1.c
----------------------------------------------------------------------
diff --git a/example/session-1/session-1.c b/example/session-1/session-1.c
index 7fbd6e0..8547649 100644
--- a/example/session-1/session-1.c
+++ b/example/session-1/session-1.c
@@ -87,32 +87,6 @@ ssn_handler(TSCont contp, TSEvent event, void *edata)
   return 0;
 }
 
-int
-check_ts_version()
-{
-
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* Need at least TS 2.0 */
-    if (major_ts_version >= 2) {
-      result = 1;
-    }
-  }
-
-  return result;
-}
-
-
 void
 TSPluginInit(int argc, const char *argv[])
 {
@@ -128,11 +102,6 @@ TSPluginInit(int argc, const char *argv[])
     goto error;
   }
 
-  if (!check_ts_version()) {
-    TSError("[PluginInit] Plugin requires Traffic Server 3.0 or later\n");
-    goto error;
-  }
-
   transaction_count = INKStatCreate("transaction.count", INKSTAT_TYPE_INT64);
   session_count = INKStatCreate("session.count", INKSTAT_TYPE_INT64);
   av_transaction = INKStatCreate("avg.transactions", INKSTAT_TYPE_FLOAT);

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b8b9685/example/thread-1/thread-1.c
----------------------------------------------------------------------
diff --git a/example/thread-1/thread-1.c b/example/thread-1/thread-1.c
index d5ec2cb..5af7531 100644
--- a/example/thread-1/thread-1.c
+++ b/example/thread-1/thread-1.c
@@ -64,31 +64,6 @@ thread_plugin(TSCont contp ATS_UNUSED, TSEvent event, void *edata)
   return 0;
 }
 
-int
-check_ts_version()
-{
-
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* Need at least TS 2.0 */
-    if (major_ts_version >= 2) {
-      result = 1;
-    }
-
-  }
-
-  return result;
-}
 
 void
 TSPluginInit(int argc ATS_UNUSED, const char *argv[] ATS_UNUSED)
@@ -103,10 +78,5 @@ TSPluginInit(int argc ATS_UNUSED, const char *argv[] ATS_UNUSED)
     TSError("Plugin registration failed.\n");
   }
 
-  if (!check_ts_version()) {
-    TSError("Plugin requires Traffic Server 3.0 or later\n");
-    return;
-  }
-
   TSHttpHookAdd(TS_HTTP_OS_DNS_HOOK, TSContCreate(thread_plugin, NULL));
 }

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5b8b9685/example/thread-pool/psi.c
----------------------------------------------------------------------
diff --git a/example/thread-pool/psi.c b/example/thread-pool/psi.c
index 5a121db..fb84a4a 100644
--- a/example/thread-pool/psi.c
+++ b/example/thread-pool/psi.c
@@ -986,42 +986,6 @@ read_response_handler(TSCont contp ATS_UNUSED, TSEvent event, void *edata)
 
 
 /*-------------------------------------------------------------------------
-  check_ts_version
-  Make sure TS version is at least 2.0
-
-  Input:
-  Output :
-  Return Value:
-    0  if error
-    1  if success
-  -------------------------------------------------------------------------*/
-int
-check_ts_version()
-{
-
-  const char *ts_version = TSTrafficServerVersionGet();
-  int result = 0;
-
-  if (ts_version) {
-    int major_ts_version = 0;
-    int minor_ts_version = 0;
-    int patch_ts_version = 0;
-
-    if (sscanf(ts_version, "%d.%d.%d", &major_ts_version, &minor_ts_version, &patch_ts_version) != 3) {
-      return 0;
-    }
-
-    /* Need at least TS 2.0 */
-    if (major_ts_version >= 2) {
-      result = 1;
-    }
-  }
-
-  return result;
-}
-
-
-/*-------------------------------------------------------------------------
   TSPluginInit
   Function called at plugin init time
 
@@ -1046,11 +1010,6 @@ TSPluginInit(int argc ATS_UNUSED, const char *argv[] ATS_UNUSED)
     TSError("Plugin registration failed.\n");
   }
 
-  if (!check_ts_version()) {
-    TSError("Plugin requires Traffic Server 3.0 or later\n");
-    return;
-  }
-
   /* Initialize the psi directory = <plugin_path>/include */
   sprintf(psi_directory, "%s/%s", TSPluginDirGet(), PSI_PATH);