trafficserver-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From zw...@apache.org
Subject [12/14] Delete all the old files, they are moved to plugins/experimental in our normal repo
Date Wed, 20 Jun 2012 21:23:02 GMT
http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/hipes/hipes.cc
----------------------------------------------------------------------
diff --git a/hipes/hipes.cc b/hipes/hipes.cc
deleted file mode 100644
index 1bbdbee..0000000
--- a/hipes/hipes.cc
+++ /dev/null
@@ -1,536 +0,0 @@
-/** @file
-
-    @section license License
-
-    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.
-*/
-
-#define UNUSED __attribute__ ((unused))
-static char UNUSED rcsId__url_remap_cc[] = "@(#) $Id: yfor_remap.cc 218 2009-04-25 01:29:16Z leifh $ built on " __DATE__ " " __TIME__;
-
-#include <stdio.h>
-#include <sys/time.h>
-#include <string.h>
-#include <stdlib.h>
-#include <string>
-
-#include <ts/remap.h>
-#include <ts/ts.h>
-
-static const char* PLUGIN_NAME = "hipes";
-static const char* HIPES_SERVER_NAME = "hipes.example.com";
-
-
-///////////////////////////////////////////////////////////////////////////////
-// Escape a URL string.
-//
-int
-escapify_url(const char *src, int src_len, char* dst, int dst_len)
-{
-  // This bitmap is generated using the gen_escape.c prog.
-  static unsigned char codes_to_escape[32] = {
-    0xFF, 0xFF, 0xFF, 0xFF, 
-    0xFF, 0xF9, 0x00, 0x3F, 
-    0x80, 0x00, 0x00, 0x1E, 
-    0x80, 0x00, 0x00, 0x1F, 
-    0xFF, 0xFF, 0xFF, 0xFF, 
-    0xFF, 0xFF, 0xFF, 0xFF, 
-    0xFF, 0xFF, 0xFF, 0xFF, 
-    0xFF, 0xFF, 0xFF, 0xFF
-  };
-
-  static char hex_digit[16] = {
-    '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C',
-    'D', 'E', 'F'
-  };
-
-  const char* from = src;
-  char* to = dst;
-  int len = 0;
-
-  // Sanity check
-  if (!src)
-    return -1;
-
-  while (from < (src + src_len)) {
-    register unsigned char c = *from;
-
-    if (len >= dst_len)
-      return -1; // Does not fit.... abort!
-
-    if (codes_to_escape[c / 8] & (1 << (7 - c % 8))) {
-      *to++ = '%';
-      *to++ = hex_digit[c / 16];
-      *to++ = hex_digit[c % 16];
-      len += 3;
-    } else {
-      *to++ = *from;
-      ++len;
-    }
-    ++from;
-  }
-  *to = '\0';
-
-  return len;
-}
-
-
-///////////////////////////////////////////////////////////////////////////////
-// Unescape a string. Have to make sure the destination buffer is at least as
-// long as the source buffer.
-//
-char*
-unescapify(const char* src, char* dst, int len) {
-  const char* cur = src;
-  char* next;
-  char subStr[3];
-  int size;
-
-  subStr[2] = '\0';
-  while ((next = (char*)memchr(cur, '%', len))) {
-    size = next - cur;
-    if (size > 0) {
-      memcpy(dst, cur, size);
-      dst += size;
-      cur += size;
-      len -= size;
-    }
-
-    if (len > 2  && (*cur+1) != '\0' && *(cur+2) != '\0') {
-      subStr[0] = *(++cur);
-      subStr[1] = *(++cur);
-      len -= 2;
-      *dst = (char)strtol(subStr, (char**)NULL, 16);
-    } else {
-      *dst = *cur;
-    }
-    ++dst;
-    ++cur;
-    --len;
-  }
-
-  if (len > 0) {
-    memcpy(dst, cur, len);
-    dst += len;
-  }
-
-  return dst;
-}
-
-
-///////////////////////////////////////////////////////////////////////////////
-// Class encapsulating one service configuration
-//
-struct HIPESService
-{
-  HIPESService()
-    : url_param("url"), path(""), svc_server(""), svc_port(80), ssl(false), hipes_server(HIPES_SERVER_NAME),
-      hipes_port(80), default_redirect_flag(1), x_hipes_header("X-HIPES-Redirect"),
-      active_timeout(-1), no_activity_timeout(-1), connect_timeout(-1), dns_timeout(-1)
-  { };
-
-  std::string url_param;
-  std::string path;
-  std::string svc_server;
-  int svc_port;
-  bool ssl;
-  std::string hipes_server;
-  int hipes_port;
-  unsigned int default_redirect_flag;
-  std::string x_hipes_header;
-  int active_timeout;
-  int no_activity_timeout;
-  int connect_timeout;
-  int dns_timeout;
-};
-
-
-///////////////////////////////////////////////////////////////////////////////
-// Initialize the plugin.
-//
-int
-TSRemapInit(TSREMAP_INTERFACE *api_info, char *errbuf, int errbuf_size)
-{
-  if (!api_info) {
-    strncpy(errbuf, "[tsremap_init] - Invalid TSREMAP_INTERFACE argument", errbuf_size - 1);
-    return TS_ERROR;
-  }
-
-  if (api_info->tsremap_version < TSREMAP_VERSION) {
-    snprintf(errbuf, errbuf_size - 1, "[tsremap_init] - Incorrect API version %ld.%ld",
-             api_info->tsremap_version >> 16, (api_info->tsremap_version & 0xffff));
-    return TS_ERROR;
-  }
-
-  INKDebug("hipes", "plugin is succesfully initialized");
-  return TS_SUCCESS;
-}
-
-
-///////////////////////////////////////////////////////////////////////////////
-// One instance per remap.config invocation.
-//
-int
-tsremap_new_instance(int argc, char *argv[], ihandle *ih, char *errbuf, int errbuf_size)
-{
-  HIPESService* ri = new HIPESService;
-
-  *ih = static_cast<ihandle>(ri);
-
-  if (ri == NULL) {
-    INKError("Unable to create remap instance");
-    return -5;
-  }
-
-  for (int ix=2; ix < argc; ++ix) {
-    std::string arg = argv[ix];
-    std::string::size_type sep = arg.find_first_of(":");
-
-    if (sep == std::string::npos) {
-      INKError("Malformed options in url_remap: %s", argv[ix]);
-    } else {
-      std::string arg_val = arg.substr(sep + 1, std::string::npos);
-
-      if (arg.compare(0, 4, "urlp") == 0) {
-        ri->url_param = arg_val;
-      } else if (arg.compare(0, 4, "path") == 0) {
-        ri->path = arg_val;
-        if (arg_val[0] == '/')
-          ri->path = arg_val.substr(1);
-        else
-          ri->path = arg_val;
-      } else if (arg.compare(0, 3, "ssl") == 0) {
-        ri->ssl = true;
-      } else if (arg.compare(0, 7, "service") == 0) {
-        std::string::size_type port = arg_val.find_first_of(":");
-
-        if (port == std::string::npos) {
-          ri->svc_server = arg_val;
-        } else {
-          ri->svc_server = arg_val.substr(0, port);
-          ri->svc_port = atoi(arg_val.substr(port+1).c_str());
-        }
-      } else if (arg.compare(0, 6, "server") == 0) {
-        std::string::size_type port = arg_val.find_first_of(":");
-
-        if (port == std::string::npos) {
-          ri->hipes_server = arg_val;
-        } else {
-          ri->hipes_server = arg_val.substr(0, port);
-          ri->hipes_port = atoi(arg_val.substr(port+1).c_str());
-        }
-      } else if (arg.compare(0, 14, "active_timeout") == 0) {
-        ri->active_timeout = atoi(arg_val.c_str());
-      } else if (arg.compare(0, 19, "no_activity_timeout") == 0) {
-        ri->no_activity_timeout = atoi(arg_val.c_str());
-      } else if (arg.compare(0, 15, "connect_timeout") == 0) {
-        ri->connect_timeout = atoi(arg_val.c_str());
-      } else if (arg.compare(0, 11, "dns_timeout") == 0) {
-        ri->dns_timeout = atoi(arg_val.c_str());
-      } else {
-        INKError("Unknown url_remap option: %s", argv[ix]);
-      }
-    }
-  }
-
-  return 0;
-}
-
-void
-tsremap_delete_instance(ihandle ih)
-{
-  HIPESService* ri = static_cast<HIPESService*>(ih);
-
-  delete ri;
-}
-
-
-///////////////////////////////////////////////////////////////////////////////
-// This is the main "entry" point for the plugin, called for every request.
-//
-int
-tsremap_remap(ihandle ih, rhandle rh, REMAP_REQUEST_INFO *rri)
-{
-  const char* slash;
-  char* ptr;
-  HIPESService* h_conf = static_cast<HIPESService*>(ih);
-
-  if (NULL == h_conf) {
-    INKDebug("hipes", "Falling back to default URL on URL remap without rules");
-    return 0;
-  }
-
-  // Make sure we have a matrix parameter, anything without is a bogus request.
-  if (rri->request_matrix_size <= 0) {
-    INKHttpTxnSetHttpRetStatus((INKHttpTxn)rh, INK_HTTP_STATUS_BAD_REQUEST);
-    return 0;
-  }
-
-  // Don't think this can/should happen, but safety first ...
-  if (rri->request_matrix_size > TSREMAP_RRI_MAX_PATH_SIZE) {
-    INKHttpTxnSetHttpRetStatus((INKHttpTxn)rh, INK_HTTP_STATUS_REQUEST_URI_TOO_LONG);
-    return 0;
-  }
-
-  // If there is a '/' in the matrix parameters, we know there are multiple service requests in
-  // the incoming URL, so nibble off the first one, and pass the rest as a HIPES URL to the service.
-  if ((slash = static_cast<const char*>(memchr(rri->request_matrix, '/', rri->request_matrix_size)))) {
-    char svc_url[TSREMAP_RRI_MAX_PATH_SIZE + 1];
-    char svc_url_esc[TSREMAP_RRI_MAX_PATH_SIZE + 1];
-    int len, query_len;
-
-    // Create the escaped URL, which gets passed over to the service as a url= param.
-    len = 8 + h_conf->hipes_server.size() + (rri->request_matrix_size - (slash - rri->request_matrix) - 1);
-    if (len > TSREMAP_RRI_MAX_PATH_SIZE) {
-      INKHttpTxnSetHttpRetStatus((INKHttpTxn)rh, INK_HTTP_STATUS_REQUEST_URI_TOO_LONG);
-      return 0;
-    }
-    snprintf(svc_url, TSREMAP_RRI_MAX_PATH_SIZE, "http://%s/%.*s", h_conf->hipes_server.c_str(), len, slash + 1);
-    INKDebug("hipes", "Service URL is %s", svc_url);
-
-    len = escapify_url(svc_url, len, svc_url_esc, TSREMAP_RRI_MAX_PATH_SIZE);
-    if (len < 0) {
-      return 0;
-    }
-    INKDebug("hipes", "Escaped service URL is %s(%d)", svc_url_esc, len);
-
-    // Prepare the new query arguments, make sure it fits
-    if (( (slash - rri->request_matrix) + 2 + h_conf->url_param.size() + len) > TSREMAP_RRI_MAX_PATH_SIZE) {
-      INKHttpTxnSetHttpRetStatus((INKHttpTxn)rh, INK_HTTP_STATUS_REQUEST_URI_TOO_LONG);
-      return 0;
-    }
-
-    query_len = (slash - rri->request_matrix);
-    memcpy(rri->new_query, rri->request_matrix, query_len);
-    ptr = rri->new_query;
-    while ((ptr = static_cast<char*>(memchr(ptr, ';', (rri->new_query + query_len) - ptr))))
-      *ptr = '&';
-
-    rri->new_query[query_len++] = '&';
-    memcpy(rri->new_query + query_len, h_conf->url_param.c_str(), h_conf->url_param.size());
-    query_len += h_conf->url_param.size();
-    rri->new_query[query_len++] = '=';
-
-    memcpy(rri->new_query + query_len, svc_url_esc, len);
-    rri->new_query_size = query_len + len;
-    INKDebug("hipes", "New query is %.*s(%d)", rri->new_query_size, rri->new_query, rri->new_query_size);
-  } else {
-    // This is the "final" step in this HIPES URL, so don't point back to HIPES (or we'll never leave)
-    rri->new_query_size = rri->request_matrix_size;
-    memcpy(rri->new_query, rri->request_matrix, rri->request_matrix_size);
-    ptr = rri->new_query;
-    while ((ptr = static_cast<char*>(memchr(ptr, ';', (rri->new_query + rri->new_query_size) - ptr))))
-      *ptr = '&';
-
-    INKDebug("hipes", "New query is %.*s(%d)", rri->new_query_size, rri->new_query, rri->new_query_size);
-  }
-
-  // Test if we should redirect or not
-  bool do_redirect = false;
-  int redirect_flag = h_conf->default_redirect_flag;
-  char* pos = rri->new_query;
-
-  while (pos && (pos = (char*)memchr(pos, '_', rri->new_query_size - (pos - rri->new_query)))) {
-    if (pos) {
-      ++pos;
-      if ((rri->new_query_size - (pos - rri->new_query)) < 10) { // redirect=n
-        pos = NULL;
-      } else {
-        if ((*pos == 'r') && (!strncmp(pos, "redirect=", 9))) {
-          redirect_flag = *(pos + 9) - '0';
-          if ((redirect_flag < 0) || (redirect_flag > 2))
-            redirect_flag = h_conf->default_redirect_flag;
-          INKDebug("hipes", "Found _redirect flag in URL: %d\n", redirect_flag);
-          pos = NULL;
-        }
-      }
-    }
-  }
-
-  if (redirect_flag > 0) {
-    // Now check the incoming request header, and match up.
-    INKMBuffer bufp;
-    INKMLoc hdr_loc, field_loc;
-    bool has_error = false;
-
-    if (INKHttpTxnClientReqGet((INKHttpTxn)rh, &bufp, &hdr_loc)) {
-      field_loc = INKMimeHdrFieldFind(bufp, hdr_loc, h_conf->x_hipes_header.c_str(), h_conf->x_hipes_header.size());
-      if (field_loc) {
-        int hdr_flag;
-
-        if (INKMimeHdrFieldValueIntGet(bufp, hdr_loc, field_loc, 0, &hdr_flag) == INK_SUCCESS) {
-          // Alright, now match up this header flag with the request (or default) flag
-          INKDebug("hipes", "Extracted %s header with value %d", h_conf->x_hipes_header.c_str(), hdr_flag);
-          switch (redirect_flag) {
-          case 0:
-            if (hdr_flag == 2) {
-              INKHttpTxnSetHttpRetStatus((INKHttpTxn)rh, INK_HTTP_STATUS_BAD_REQUEST);
-              has_error = true;
-            } // Everything else is a "no"
-            break;
-          case 1:
-            if (hdr_flag == 2) {
-              do_redirect = true;
-            } // Everything else is a "no"
-            break;
-          case 2:
-            if (hdr_flag == 2) {
-              do_redirect = true;
-            } else {
-              INKHttpTxnSetHttpRetStatus((INKHttpTxn)rh, INK_HTTP_STATUS_BAD_REQUEST);
-              has_error = true;
-            }
-            break;
-          default:
-            INKHttpTxnSetHttpRetStatus((INKHttpTxn)rh, INK_HTTP_STATUS_BAD_REQUEST);
-            has_error = true;
-            break;
-          }
-        }
-        INKHandleMLocRelease(bufp, hdr_loc, field_loc);
-      }
-      INKHandleMLocRelease(bufp, INK_NULL_MLOC, hdr_loc);
-    }
-    if (has_error)
-      return 1;
-  }
-
-  // If we redirect, just generate a 302 URL, otherwise update the RRI struct properly.
-  if (do_redirect) {
-    int len; 
-
-    if (h_conf->ssl) {
-      // https://<host>:<port>/<path>?<query?\0
-      len = 5 + 3 + h_conf->svc_server.size() + 6 + 1 + h_conf->path.size() + 1 + rri->new_query_size + 1;
-    } else {
-      // http://<host>:<port>/<path>?<query?\0
-      len = 4 + 3 + h_conf->svc_server.size() + 6 + 1 + h_conf->path.size() + 1 + rri->new_query_size + 1;
-    }
-
-    if (len > TSREMAP_RRI_MAX_REDIRECT_URL) {
-      INKError("Redirect in HIPES URL too long");
-      INKHttpTxnSetHttpRetStatus((INKHttpTxn)rh, (INKHttpStatus)414);
-    } else {
-      int port = -1;
-
-      pos = rri->redirect_url;
-
-      // HTTP vs HTTPS
-      if (h_conf->ssl) {
-        memcpy(pos, "https://", 8);
-        pos += 8;
-        if (h_conf->svc_port != 443)
-          port = h_conf->svc_port;
-      } else {
-        memcpy(pos, "http://", 7);
-        pos += 7;
-        if (h_conf->svc_port != 80)
-          port = h_conf->svc_port;
-      }
-
-      // Server
-      memcpy(pos, h_conf->svc_server.c_str(), h_conf->svc_server.size());
-      pos += h_conf->svc_server.size();
-
-      // Port
-      if (port != -1)
-        pos += snprintf(pos, 6, ":%d", port);
-
-      // Path
-      *(pos++) = '/';
-      if (h_conf->path.size() > 0) {
-        memcpy(pos, h_conf->path.c_str(), h_conf->path.size());
-        pos += h_conf->path.size();
-      }
-
-      // Query
-      if (rri->new_query_size > 0) {
-        *(pos++) = '?';
-        memcpy(pos, rri->new_query, rri->new_query_size);
-        pos += rri->new_query_size;
-      }
-
-      // NULL terminate the URL.
-      *pos = '\0';
-
-      rri->redirect_url_size = pos - rri->redirect_url + 1;
-      INKDebug("hipes", "Redirecting to %.*s", rri->redirect_url_size, rri->redirect_url);
-      *(rri->new_query) = '\0';
-      rri->new_query_size = 0;
-      INKHttpTxnSetHttpRetStatus((INKHttpTxn)rh, INK_HTTP_STATUS_MOVED_TEMPORARILY);
-    }
-  } else { // Not a redirect, so proceed normally
-    // Set timeouts (if requested)
-    if (h_conf->active_timeout > -1) {
-      INKDebug("hipes", "Setting active timeout to %d", h_conf->active_timeout);
-      INKHttpTxnActiveTimeoutSet((INKHttpTxn)rh, h_conf->active_timeout);
-    }
-    if (h_conf->no_activity_timeout > -1) {
-      INKDebug("hipes", "Setting no activity timeout to %d", h_conf->no_activity_timeout);
-      INKHttpTxnNoActivityTimeoutSet((INKHttpTxn)rh, h_conf->no_activity_timeout);
-    }
-    if (h_conf->connect_timeout > -1) {
-      INKDebug("hipes", "Setting connect timeout to %d", h_conf->connect_timeout);
-      INKHttpTxnConnectTimeoutSet((INKHttpTxn)rh, h_conf->connect_timeout);
-    }
-    if (h_conf->dns_timeout > -1) {
-      INKDebug("hipes", "Setting DNS timeout to %d", h_conf->dns_timeout);
-      INKHttpTxnDNSTimeoutSet((INKHttpTxn)rh, h_conf->dns_timeout);
-    }
-
-    // Set server ...
-    rri->new_host_size = h_conf->svc_server.size();
-    memcpy(rri->new_host, h_conf->svc_server.c_str(), rri->new_host_size);
-    INKDebug("hipes", "New server is %.*s", rri->new_host_size, rri->new_host);
-
-    // ... and port
-    rri->new_port = h_conf->svc_port;
-    INKDebug("hipes", "New port is %d", rri->new_port);
-
-    // Update the path
-    rri->new_path_size = h_conf->path.size();
-    memcpy(rri->new_path, h_conf->path.c_str(), rri->new_path_size);
-    INKDebug("hipes", "New path is %.*s", rri->new_path_size, rri->new_path);
-
-    // Enable SSL?
-    if (h_conf->ssl)
-      rri->require_ssl = 1;
-
-    // Clear previous matrix params
-    rri->new_matrix_size = -1;
-  }
-
-  // Step 3: Profit
-  return 1;
-}
-
-
-
-/*
-  local variables:
-  mode: C++
-  indent-tabs-mode: nil
-  c-basic-offset: 2
-  c-comment-only-line-offset: 0
-  c-file-offsets: ((statement-block-intro . +)
-  (label . 0)
-  (statement-cont . +)
-
-  end:
-
-  Indent with: /usr/bin/indent -ncs -nut -npcs -l 120 logstats.cc
-*/

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/memcached_remap/AUTHORS
----------------------------------------------------------------------
diff --git a/memcached_remap/AUTHORS b/memcached_remap/AUTHORS
deleted file mode 100644
index 945968f..0000000
--- a/memcached_remap/AUTHORS
+++ /dev/null
@@ -1,7 +0,0 @@
-Author: opensource@navyaprabha.com
-
-memcached_remap plugin
-
-========= CREDITS ===============
-Eric Balsa <ericb@apache.org>
-Original concept via mysql_remap plugin

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/memcached_remap/Changelog
----------------------------------------------------------------------
diff --git a/memcached_remap/Changelog b/memcached_remap/Changelog
deleted file mode 100644
index 3d16c80..0000000
--- a/memcached_remap/Changelog
+++ /dev/null
@@ -1,2 +0,0 @@
-1.0.0 20-May-2011
-	* Initial Release for 2.1.8-unstable apache release

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/memcached_remap/LICENSE
----------------------------------------------------------------------
diff --git a/memcached_remap/LICENSE b/memcached_remap/LICENSE
deleted file mode 100644
index ca4e0a3..0000000
--- a/memcached_remap/LICENSE
+++ /dev/null
@@ -1,427 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
-~~~
-
-Copyright (C) 2009 Yahoo! Inc.
-
-Licensed 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
-
-~~~
-
-Mersenne Twister License
-
-Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- 1. Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
-
- 3. The names of its contributors may not be used to endorse or promote
-    products derived from this software without specific prior written
-    permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
-CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-Any feedback is very welcome.
-http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
-email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space)
-
-~~~
-
-TK 8.3 License
-
-This software is copyrighted by the Regents of the University of
-California, Sun Microsystems, Inc., and other parties.  The following
-terms apply to all files associated with the software unless explicitly
-disclaimed in individual files.
-
-The authors hereby grant permission to use, copy, modify, distribute,
-and license this software and its documentation for any purpose, provided
-that existing copyright notices are retained in all copies and that this
-notice is included verbatim in any distributions. No written agreement,
-license, or royalty fee is required for any of the authorized uses.
-Modifications to this software may be copyrighted by their authors
-and need not follow the licensing terms described here, provided that
-the new terms are clearly indicated on the first page of each file where
-they apply.
-
-IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
-FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
-ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
-DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE
-IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
-NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
-MODIFICATIONS.
-
-GOVERNMENT USE: If you are acquiring this software on behalf of the
-U.S. government, the Government shall have only "Restricted Rights"
-in the software and related documentation as defined in the Federal
-Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2).  If you
-are acquiring the software on behalf of the Department of Defense, the
-software shall be classified as "Commercial Computer Software" and the
-Government shall have only "Restricted Rights" as defined in Clause
-252.227-7013 (c) (1) of DFARs.  Notwithstanding the foregoing, the
-authors grant the U.S. Government and others acting in its behalf
-permission to use and distribute the software in accordance with the
-terms specified in this license.
-
-~~~
-
-BIND license
-
-Copyright (c) 1985, 1989, 1993
-   The Regents of the University of California.  All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. Neither the name of the University nor the names of its contributors
-   may be used to endorse or promote products derived from this software
-   without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
-
-
-Portions Copyright (c) 1993 by Digital Equipment Corporation.
-
-Permission to use, copy, modify, and distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies, and that
-the name of Digital Equipment Corporation not be used in advertising or
-publicity pertaining to distribution of the document or software without
-specific, written prior permission.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
-WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS.   IN NO EVENT SHALL DIGITAL EQUIPMENT
-CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
-DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
-PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
-ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-
-
-
-Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
-Portions Copyright (c) 1996-1999 by Internet Software Consortium.
-
-Permission to use, copy, modify, and distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
-OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-~~~
-
-Copyright (C) 2007 Ariya Hidayat (ariya@kde.org)
-Copyright (C) 2006 Ariya Hidayat (ariya@kde.org)
-Copyright (C) 2005 Ariya Hidayat (ariya@kde.org)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
-
-For the strlcat, strlcpy in inktomi++/ink_string.cc:
-
-Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
-
-Permission to use, copy, modify, and distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-
-INI parsing from
-
-Copyright (c) 2000-2007 by Nicolas Devillard.
-MIT License
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the "Software"),
-to deal in the Software without restriction, including without limitation
-the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/memcached_remap/Makefile
----------------------------------------------------------------------
diff --git a/memcached_remap/Makefile b/memcached_remap/Makefile
deleted file mode 100644
index 3b220e5..0000000
--- a/memcached_remap/Makefile
+++ /dev/null
@@ -1,32 +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?=$(shell which tsxs)
-
-# you may need to change the path to memcached.h 
-export CPPFLAGS+=-Wall $(shell pkg-config --cflags libmemcached)
-
-# you may need to adjust the path
-export LDFLAGS += $(shell pkg-config --libs libmemcached)
-
-all:	memcached_remap.cc 
-	$(TSXS) -v -C $? -o memcached_remap.so
-
-install: all
-	$(TSXS) -i -o memcached_remap.so
-
-clean:
-	rm -f *.lo *.so src/*.lo src/*.so

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/memcached_remap/NOTICE
----------------------------------------------------------------------
diff --git a/memcached_remap/NOTICE b/memcached_remap/NOTICE
deleted file mode 100644
index c19f064..0000000
--- a/memcached_remap/NOTICE
+++ /dev/null
@@ -1,5 +0,0 @@
-Apache Traffic Server
-Copyright 2010 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/memcached_remap/README
----------------------------------------------------------------------
diff --git a/memcached_remap/README b/memcached_remap/README
deleted file mode 100644
index 3ad0461..0000000
--- a/memcached_remap/README
+++ /dev/null
@@ -1,122 +0,0 @@
-Apache Traffic Server Memcached-based remap plugin
-==============================================
-
-This is a plugin which is based on the mysql_remap code (http://svn.apache.org/repos/asf/trafficserver/plugins/mysql_remap/)
-that allows us to do dynamic reverse proxy (dynamic remap) based on the
-information present in the memcached database.
-
-                                     (decision via memcached)
-[Browser] <----> [Apache Traffic Server] <----------> [Backend Servers]
-                                     (decision via memcached)
-
-NOTE: memcached is used only as decision making place. All communication
-happens via HTTP between above components
-
-##################
-#   QUICK HOWTO  #
-##################
-
-The following steps are for Fedora-14 System, same will apply to your
-server too (please change things accordingly, if any)
-
-1. Install memcached
-
-sudo yum install memcached python-memcached
-
-2. Compile and Install the memcached_remap plugin
-
-[user@ memcached_remap]$ gmake
-/usr/local/bin/tsxs -C memcached_remap.cc -o memcached_remap.so
-  compiling memcached_remap.cc -> memcached_remap.lo
-  linking -> memcached_remap.so
-
-[user@ memcached_remap]$ sudo gmake install
-/usr/local/bin/tsxs -C memcached_remap.cc -o memcached_remap.so
-  compiling memcached_remap.cc -> memcached_remap.lo
-  linking -> memcached_remap.so
-/usr/local/bin/tsxs -i -o memcached_remap.so
-  installing memcached_remap.so ->
-/usr/local/libexec/trafficserver/memcached_remap.so
-
-3. Start the Traffic Server in Plugin Mode (to debug any issues)
-
-/usr/local/bin/traffic_server -T "memcached_remap"
-
-3. Start the memcached
-
-sudo service memcached
-
-4. Start apache on port 8080 (change configs accordingly)
-
-sudo service httpd start
-
-5. Add some keys into the memcached for testing (via python shell)
-
-[user@ memcached_remap]$ python
-Python 2.7 (r27:82500, Sep 16 2010, 18:02:00) 
-[GCC 4.5.1 20100907 (Red Hat 4.5.1-3)] on linux2
-Type "help", "copyright", "credits" or "license" for more information.
->>> import memcache
->>> mc = memcache.Client(['127.0.0.1:11211'], debug=0)
->>> print mc.get("http://localhost:80/")
-http://localhost:8080/
->>> print mc.get("http://localhost:80/")
-http://localhost:8080/
->>> mc.set("http://127.0.0.1:80/", "http://127.0.0.1:8080");
-True
->>> print mc.get("http://127.0.0.1:80/")
-http://127.0.0.1:8080
->>> 
-
-6. Do sample query on localhost port 80
-
-[user@ ~]$ curl -v http://127.0.0.1/ -s > /dev/null
-* About to connect() to 127.0.0.1 port 80 (#0)
-*   Trying 127.0.0.1... connected
-* Connected to 127.0.0.1 (127.0.0.1) port 80 (#0)
-> GET / HTTP/1.1
-> User-Agent: curl/7.21.0 (x86_64-redhat-linux-gnu) libcurl/7.21.0
-> NSS/3.12.8.0 zlib/1.2.5 libidn/1.18 libssh2/1.2.4
-> Host: 127.0.0.1
-> Accept: */*
-> 
-< HTTP/1.1 200 OK
-< Date: Wed, 09 Mar 2011 15:48:25 GMT
-< Server: ATS/2.1.6-unstable
-< Last-Modified: Sat, 05 Mar 2011 16:15:13 GMT
-< ETag: "618ef-38b-49dbe914322ed"
-< Accept-Ranges: bytes
-< Content-Length: 907
-< Content-Type: text/html; charset=UTF-8
-< Age: 0
-< Connection: keep-alive
-< 
-{ [data not shown]
-* Connection #0 to host 127.0.0.1 left intact
-* Closing connection #0
-
-7. Thats it !
-
-################################
-#  SUPPORTED KEYS IN MEMCACHED #
-################################
-
-The advantage of memcached is that, its a hash table.
-
-KEY FORMAT:    [PROTOCOL]://[SERVER]:[PORT]/
---------------------------------------------
-(Even ending / is important!)
-
-PROTOCOL can be any word in a-z, A-Z chars
-SERVER   can be any string which isn't a colon character
-PORT     should be a number
-/        should end with a slash
-
-VALUE FORMAT:  [PROTOCOL]://[SERVER]:[PORT]/
---------------------------------------------
-(Even ending / is important!)
-
-PROTOCOL can be any word created from a-z, A-Z chars
-SERVER   can be any string which isn't a colon character
-PORT     should be a number
-/        should end with a slash

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/memcached_remap/memcached_remap.cc
----------------------------------------------------------------------
diff --git a/memcached_remap/memcached_remap.cc b/memcached_remap/memcached_remap.cc
deleted file mode 100644
index e4b16d8..0000000
--- a/memcached_remap/memcached_remap.cc
+++ /dev/null
@@ -1,244 +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.
-*/
-
-#include <ts/ts.h>
-#include <ts/remap.h>
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-
-// change this on your box
-#include <libmemcached/memcached.h>
-
-// global settings
-static const char *PLUGIN_NAME = "memcached_remap";
-
-// memcached related global variables
-memcached_server_st *servers;
-memcached_st *memc;
-
-bool do_memcached_remap(TSCont contp, TSHttpTxn txnp)
-{
-    TSMBuffer reqp;
-    TSMLoc hdr_loc, url_loc, field_loc;
-    bool ret_val = false;
-
-    const char *request_host;
-    int request_host_length = 0;
-    const char *request_scheme;
-    int request_scheme_length = 0;
-    int request_port = 80;
-    char ikey[1024];
-    char *m_result = NULL;
-    size_t oval_length;
-    uint32_t flags;
-    memcached_return_t lrc;
-
-    if (TSHttpTxnClientReqGet((TSHttpTxn) txnp, &reqp, &hdr_loc) !=
-        TS_SUCCESS) {
-        TSDebug(PLUGIN_NAME, "could not get request data");
-        return false;
-    }
-
-    if (TSHttpHdrUrlGet(reqp, hdr_loc, &url_loc) != TS_SUCCESS) {
-        TSDebug(PLUGIN_NAME, "couldn't retrieve request url");
-        goto release_hdr;
-    }
-
-
-    field_loc =
-        TSMimeHdrFieldFind(reqp, hdr_loc, TS_MIME_FIELD_HOST,
-                           TS_MIME_LEN_HOST);
-
-    if (!field_loc) {
-        TSDebug(PLUGIN_NAME, "couldn't retrieve request HOST header");
-        goto release_url;
-    }
-
-    request_host =
-        TSMimeHdrFieldValueStringGet(reqp, hdr_loc, field_loc, 0,
-                                     &request_host_length);
-    if (request_host == NULL || strlen(request_host) < 1) {
-        TSDebug(PLUGIN_NAME, "couldn't find request HOST header");
-        goto release_field;
-    }
-
-    request_scheme = TSUrlSchemeGet(reqp, url_loc, &request_scheme_length);
-    request_port = TSUrlPortGet(reqp, url_loc);
-
-    TSDebug(PLUGIN_NAME, "      +++++MEMCACHED REMAP+++++      ");
-
-    TSDebug(PLUGIN_NAME,
-            "\nINCOMING REQUEST ->\n ::: from_scheme_desc: %.*s\n ::: from_hostname: %.*s\n ::: from_port: %d",
-            request_scheme_length, request_scheme, request_host_length,
-            request_host, request_port);
-
-    snprintf(ikey, 1024, "%.*s://%.*s:%d/", request_scheme_length,
-             request_scheme, request_host_length, request_host,
-             request_port);
-
-    TSDebug(PLUGIN_NAME, "querying for the key %s\n", ikey);
-    m_result =
-        memcached_get(memc, ikey, strlen(ikey), &oval_length, &flags,
-                      &lrc);
-
-    char oscheme[1024], ohost[1024];
-    int oport;
-
-    if (lrc == MEMCACHED_SUCCESS) {
-        TSDebug(PLUGIN_NAME, "got the response from server : %s\n",
-                m_result);
-        TSDebug(PLUGIN_NAME, "scanf result : %d\n",
-                sscanf(m_result, "%[a-zA-Z]://%[^:]:%d", oscheme, ohost,
-                       &oport));
-        if (sscanf
-            (m_result, "%[a-zA-Z]://%[^:]:%d", oscheme, ohost,
-             &oport) == 3) {
-            if (m_result)
-                free(m_result);
-            TSDebug(PLUGIN_NAME, "\nOUTGOING REQUEST ->\n ::: to_scheme_desc: %s\n ::: to_hostname: %s\n ::: to_port: %d", oscheme, ohost, oport);      //row[0],row[1],row[2]);
-            TSMimeHdrFieldValueStringSet(reqp, hdr_loc, field_loc, 0,
-                                         ohost, -1);
-            TSUrlHostSet(reqp, url_loc, ohost, -1);
-            TSUrlSchemeSet(reqp, url_loc, oscheme, -1);
-            TSUrlPortSet(reqp, url_loc, oport);
-            ret_val = true;
-        } else {
-            if (m_result)
-                free(m_result);
-            goto not_found;
-        }
-    } else {
-        TSDebug(PLUGIN_NAME,
-                "didn't get any response from the server %d, %d, %d\n",
-                lrc, flags, oval_length);
-        goto not_found;
-    }
-
-    goto free_stuff;            // free the result set after processed
-
-  not_found:
-    //lets build up a nice 404 message for someone
-    if (!ret_val) {
-        TSHttpHdrStatusSet(reqp, hdr_loc, TS_HTTP_STATUS_NOT_FOUND);
-        TSHttpTxnSetHttpRetStatus(txnp, TS_HTTP_STATUS_NOT_FOUND);
-    }
-  free_stuff:
-#if (TS_VERSION_NUMBER < 2001005)
-    if (request_host)
-        TSHandleStringRelease(reqp, hdr_loc, request_host);
-    if (request_scheme)
-        TSHandleStringRelease(reqp, hdr_loc, request_scheme);
-#endif
-  release_field:
-    if (field_loc)
-        TSHandleMLocRelease(reqp, hdr_loc, field_loc);
-  release_url:
-    if (url_loc)
-        TSHandleMLocRelease(reqp, hdr_loc, url_loc);
-  release_hdr:
-    if (hdr_loc)
-        TSHandleMLocRelease(reqp, TS_NULL_MLOC, hdr_loc);
-
-    return ret_val;
-}
-
-static int memcached_remap(TSCont contp, TSEvent event, void *edata)
-{
-    TSHttpTxn txnp = (TSHttpTxn) edata;
-    TSEvent reenable = TS_EVENT_HTTP_CONTINUE;
-
-    if (event == TS_EVENT_HTTP_READ_REQUEST_HDR) {
-        TSDebug(PLUGIN_NAME, "Reading Request");
-        TSSkipRemappingSet(txnp, 1);
-        if (!do_memcached_remap(contp, txnp)) {
-            reenable = TS_EVENT_HTTP_ERROR;
-        }
-    }
-
-    TSHttpTxnReenable(txnp, reenable);
-    return 1;
-}
-
-void TSPluginInit(int argc, const char *argv[])
-{
-    TSPluginRegistrationInfo info;
-    memcached_return_t rc;
-    //FILE *fp;
-    //char servers_string[8192];
-
-    info.plugin_name = const_cast < char *>(PLUGIN_NAME);
-    info.vendor_name = const_cast < char *>("Apache Software Foundation");
-    info.support_email = const_cast < char *>("eric@ericbalsa.com");
-
-    TSDebug(PLUGIN_NAME, "about to init memcached\n");
-    if (TSPluginRegister(TS_SDK_VERSION_2_0, &info) != TS_SUCCESS) {
-        TSError("memcached_remap: plugin registration failed.\n");
-        return;
-    }
-
-    // parse the configuration file
-    // TODO: this is still under testing 1.0.2 version should have this feature
-    /*
-    if(argc < 1) {
-        TSError("memcached_remap: you should pass a configuration file as argument to plugin with list of servers.\n");
-        return;
-    }
-
-    fp = fopen(argv[0], "r");
-    if(!fp) {
-        TSError("memcached_remap: Failed to open the configuration file %s\n", argv[0]);
-        return;
-    }
-
-    while(!feof(fp)) {
-        fscanf(fp,"servers=%[^\n] ", servers_string);
-    }
-
-    fclose(fp);
-    */
-
-    // initialize the memcache
-    //fp = NULL;
-    //snprintf(servers_string, 1,"%c",'h');
-    memc = memcached_create(NULL);
-
-    //servers = memcached_servers_parse(servers_string);
-
-    servers = memcached_server_list_append(NULL, "localhost", 11211, &rc);
-    if (rc != MEMCACHED_SUCCESS) {
-        TSError
-            ("memcached_remap: plugin registration failed while adding servers.\n");
-        return;
-    }
-
-    rc = memcached_server_push(memc, servers);
-    if (rc != MEMCACHED_SUCCESS) {
-        TSError
-            ("memcached_remap: plugin registration failed while adding to pool.\n");
-        return;
-    }
-
-    TSCont cont = TSContCreate(memcached_remap, TSMutexCreate());
-
-    TSHttpHookAdd(TS_HTTP_READ_REQUEST_HDR_HOOK, cont);
-
-    TSDebug(PLUGIN_NAME,
-            "plugin is succesfully initialized [plugin mode]");
-    return;
-}

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/memcached_remap/sample.py
----------------------------------------------------------------------
diff --git a/memcached_remap/sample.py b/memcached_remap/sample.py
deleted file mode 100755
index 555d9ed..0000000
--- a/memcached_remap/sample.py
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/python
-
-# Author: opensource@navyaprabha.com
-# Description: Sample script to add keys to memcached for use with YTS/memcached_remap plugin
-
-import memcache
-
-# connect to local server
-mc = memcache.Client(['127.0.0.1:11211'], debug=0)
-
-# Add couple of keys
-mc.set("http://127.0.0.1:80/", "http://127.0.0.1:8080");
-mc.set("http://localhost:80/", "http://localhost:8080");
-
-# Print the keys that are saved
-print "response-1 is '%s'" %(mc.get("http://127.0.0.1:80/"))
-print "response-2 is '%s'" %(mc.get("http://localhost:80/"))
-

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/mysql_remap/.gitignore
----------------------------------------------------------------------
diff --git a/mysql_remap/.gitignore b/mysql_remap/.gitignore
deleted file mode 100644
index c43366c..0000000
--- a/mysql_remap/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*.so
-*.lo
-.svn

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/mysql_remap/AUTHORS
----------------------------------------------------------------------
diff --git a/mysql_remap/AUTHORS b/mysql_remap/AUTHORS
deleted file mode 100644
index 3c25016..0000000
--- a/mysql_remap/AUTHORS
+++ /dev/null
@@ -1,7 +0,0 @@
-Author: Eric Balsa <ericb@apache.org>
-Original concept and code
-
-====
-
-Author: Nicolas Devillard
-INI parsing library

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/mysql_remap/CHANGES
----------------------------------------------------------------------
diff --git a/mysql_remap/CHANGES b/mysql_remap/CHANGES
deleted file mode 100644
index 88e08f7..0000000
--- a/mysql_remap/CHANGES
+++ /dev/null
@@ -1,5 +0,0 @@
-                                                         -*- coding: utf-8 -*-
-
-Changes with Apache Traffic Server mysql_remap plugin 1.0
-
-  *) This is a basic plugin for doing remaps from a MySQL database.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/mysql_remap/LICENSE
----------------------------------------------------------------------
diff --git a/mysql_remap/LICENSE b/mysql_remap/LICENSE
deleted file mode 100644
index ca4e0a3..0000000
--- a/mysql_remap/LICENSE
+++ /dev/null
@@ -1,427 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
-~~~
-
-Copyright (C) 2009 Yahoo! Inc.
-
-Licensed 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
-
-~~~
-
-Mersenne Twister License
-
-Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- 1. Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
-
- 3. The names of its contributors may not be used to endorse or promote
-    products derived from this software without specific prior written
-    permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
-CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-Any feedback is very welcome.
-http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
-email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space)
-
-~~~
-
-TK 8.3 License
-
-This software is copyrighted by the Regents of the University of
-California, Sun Microsystems, Inc., and other parties.  The following
-terms apply to all files associated with the software unless explicitly
-disclaimed in individual files.
-
-The authors hereby grant permission to use, copy, modify, distribute,
-and license this software and its documentation for any purpose, provided
-that existing copyright notices are retained in all copies and that this
-notice is included verbatim in any distributions. No written agreement,
-license, or royalty fee is required for any of the authorized uses.
-Modifications to this software may be copyrighted by their authors
-and need not follow the licensing terms described here, provided that
-the new terms are clearly indicated on the first page of each file where
-they apply.
-
-IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
-FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
-ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
-DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE
-IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
-NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
-MODIFICATIONS.
-
-GOVERNMENT USE: If you are acquiring this software on behalf of the
-U.S. government, the Government shall have only "Restricted Rights"
-in the software and related documentation as defined in the Federal
-Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2).  If you
-are acquiring the software on behalf of the Department of Defense, the
-software shall be classified as "Commercial Computer Software" and the
-Government shall have only "Restricted Rights" as defined in Clause
-252.227-7013 (c) (1) of DFARs.  Notwithstanding the foregoing, the
-authors grant the U.S. Government and others acting in its behalf
-permission to use and distribute the software in accordance with the
-terms specified in this license.
-
-~~~
-
-BIND license
-
-Copyright (c) 1985, 1989, 1993
-   The Regents of the University of California.  All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. Neither the name of the University nor the names of its contributors
-   may be used to endorse or promote products derived from this software
-   without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
-
-
-Portions Copyright (c) 1993 by Digital Equipment Corporation.
-
-Permission to use, copy, modify, and distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies, and that
-the name of Digital Equipment Corporation not be used in advertising or
-publicity pertaining to distribution of the document or software without
-specific, written prior permission.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
-WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS.   IN NO EVENT SHALL DIGITAL EQUIPMENT
-CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
-DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
-PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
-ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-SOFTWARE.
-
-
-
-Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
-Portions Copyright (c) 1996-1999 by Internet Software Consortium.
-
-Permission to use, copy, modify, and distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
-OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-~~~
-
-Copyright (C) 2007 Ariya Hidayat (ariya@kde.org)
-Copyright (C) 2006 Ariya Hidayat (ariya@kde.org)
-Copyright (C) 2005 Ariya Hidayat (ariya@kde.org)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
-
-For the strlcat, strlcpy in inktomi++/ink_string.cc:
-
-Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
-
-Permission to use, copy, modify, and distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-
-INI parsing from
-
-Copyright (c) 2000-2007 by Nicolas Devillard.
-MIT License
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the "Software"),
-to deal in the Software without restriction, including without limitation
-the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/mysql_remap/Makefile
----------------------------------------------------------------------
diff --git a/mysql_remap/Makefile b/mysql_remap/Makefile
deleted file mode 100644
index 01d23e3..0000000
--- a/mysql_remap/Makefile
+++ /dev/null
@@ -1,31 +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.
-
-
-# you may need to change the path to mysql.h 
-export CPPFLAGS+=-I /opt/local/include/mysql5/ -ggdb -O0
-
-# you may need to adjust the path
-export LDFLAGS +=-l mysqlclient_r -L/opt/local/lib/mysql5/mysql
-
-all:	mysql_remap.cc lib/dictionary.c lib/iniparser.c 
-	tsxs -C $? -o mysql_remap.so
-
-install: all
-	tsxs -i -o mysql_remap.so
-
-clean:
-	rm -f *.lo *.so src/*.lo src/*.so

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/mysql_remap/NOTICE
----------------------------------------------------------------------
diff --git a/mysql_remap/NOTICE b/mysql_remap/NOTICE
deleted file mode 100644
index c19f064..0000000
--- a/mysql_remap/NOTICE
+++ /dev/null
@@ -1,5 +0,0 @@
-Apache Traffic Server
-Copyright 2010 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/mysql_remap/README
----------------------------------------------------------------------
diff --git a/mysql_remap/README b/mysql_remap/README
deleted file mode 100644
index ab224f4..0000000
--- a/mysql_remap/README
+++ /dev/null
@@ -1,74 +0,0 @@
-Apache Traffic Server MySQL-based remap plugin
-==============================================
-
-== Description ==
-  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....
-
-I have benchmarked this at about 9200 requests/sec (1.7k object) on a junky imac with mysql, ab & trafficserver local. Real performance
-is likely substantially higher up to your mysql's max queries / second. 
-
-== Build ==
-  A simple
-
-% make install
-
-should do it, assuming that you have the tsxs script in your search path. 
-This script is installed with your installation of Apache Traffic Server. 
-
-NOTE: you may need to open the Makefile and adjust the paths to MySQL client includes & libraries
-
-== 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: /path/to/etc/trafficserver/plugin.config:
-
-  mysql_remap.so /path/to/sample.ini
-
-The INI file should contain the following values:
-
-[mysql_remap]
-mysql_host     = localhost   #default
-mysql_port     = 3306        #default
-mysql_username = root
-mysql_password = 
-mysql_database = mysql_remap #default
-
-To debug errors, start trafficserver manually using:
-
-/path/to/traffic_server -T "mysql_remap"
-
-And resolve any errors or warnings displayed.
-
-== Credits ==
-  * Eric Balsa
-  * ericb@apache.org / eric@ericbalsa.com
-  * http://www.ericbalsa.com
-
-== TODO == 
-  * some stupid bug in the ini parsing requiring a blank trailing \n
-  * make db backend pluggable
-  * handle mysql connections a bit more intelligently
-  * define a fallback host for missing remaps (instead of blindly issuing a 404)
-  * handle rewriting paths
-  * handle regexp in paths & hosts
-  * verify scheme switching
-  * ... many more ideas ...

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/mysql_remap/STATUS
----------------------------------------------------------------------
diff --git a/mysql_remap/STATUS b/mysql_remap/STATUS
deleted file mode 100644
index b2df7ae..0000000
--- a/mysql_remap/STATUS
+++ /dev/null
@@ -1,18 +0,0 @@
-Traffic Server MySQL remap 1.0 STATUS:                                              -*-text-*-
-
-The current version of this file can be found at:
-
-  * http://svn.apache.org/repos/asf/trafficserver/plugins/mysql_remap/STATUS
-
-Release history:
-    1.0.0-alpha     : Released 11/16/2010
-    1.0.1-alpha     : Released 03/07/2011
-
-Contributors looking for a mission:
-  * check the README
-
-RELEASE PROCESS
-
-The Traffic Server release process is documented at
-
-    http://cwiki.apache.org/confluence/display/TS/ReleaseProcess

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/mysql_remap/default.h
----------------------------------------------------------------------
diff --git a/mysql_remap/default.h b/mysql_remap/default.h
deleted file mode 100644
index 9ee6648..0000000
--- a/mysql_remap/default.h
+++ /dev/null
@@ -1,25 +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.
-*/
-
-#ifndef __DEFAULT_H__
-#define __DEFAULT_H__ 1
-
-static const char* PLUGIN_NAME = "mysql_remap";
-#define QSIZE 2048
-
-#endif // __DEFAULT_H__


Mime
View raw message