trafficserver-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From zw...@apache.org
Subject [3/14] Delete all the old files, they are moved to plugins/experimental in our normal repo
Date Wed, 20 Jun 2012 21:23:01 GMT
http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/combo_handler/LICENSE
----------------------------------------------------------------------
diff --git a/combo_handler/LICENSE b/combo_handler/LICENSE
deleted file mode 100644
index b2e6b61..0000000
--- a/combo_handler/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) 2004, 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.
-
-~~~
-
-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) 1994-2011 John Bradley Plevyak, 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 name of the author 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.
-
-~~~
-
-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.
-

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/combo_handler/Makefile
----------------------------------------------------------------------
diff --git a/combo_handler/Makefile b/combo_handler/Makefile
deleted file mode 100644
index c58e2fb..0000000
--- a/combo_handler/Makefile
+++ /dev/null
@@ -1,26 +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?=tsxs
-
-all:	combo_handler.cc
-	$(TSXS) -v -C $?  -o combo_handler.so
-
-install:
-	tsxs -i -o combo_handler.so
-
-clean:
-	rm -f *.lo *.so

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/combo_handler/README
----------------------------------------------------------------------
diff --git a/combo_handler/README b/combo_handler/README
deleted file mode 100644
index ea64bbd..0000000
--- a/combo_handler/README
+++ /dev/null
@@ -1,84 +0,0 @@
-Combohandler
---------------------
-
-This plugin provides that functionality (and more) with the same
-interface but with these differences in configuration:
-
-The arguments in the 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.
-
-From 1.1.0, 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
-
-Version 1.1.2
-- Use the Bucket visited(instead of 'l' as the default) as the nickname if nickname is not passed.
-
-Version 1.1.1
--------------
-- Using yts_http_fetcher_impl package instead of yts_esi_lib
-
-Version 1.1.0
--------------
-- Support for 'p=' prefix parameters
-
-Version 1.0.4
--------------
-- Checking vconn before closing (triggered on cache hits)
-
-Version 1.0.3
--------------
-- Defaulting to '/l' as the path if no colon prefix path
-  is specified
-
-Version 1.0.2
--------------
-- Using localhost as content server (relying on remap rules)
-  and generalizing the colon prefix paths
-
-Version 1.0.1
--------------
-- Using d.yimg.com for "d:" prefixed file paths
-
-Version 1.0.0
--------------
-- Initial version
-

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/combo_handler/combo_handler.cc
----------------------------------------------------------------------
diff --git a/combo_handler/combo_handler.cc b/combo_handler/combo_handler.cc
deleted file mode 100644
index 0650d94..0000000
--- a/combo_handler/combo_handler.cc
+++ /dev/null
@@ -1,883 +0,0 @@
-/** @file
-
-    ATS plugin to do combo handling.
-
-    @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.
-*/
-
-#include <list>
-#include <string>
-#include <time.h>
-#include <arpa/inet.h>
-
-#include <ts/ts.h>
-
-#include <HttpDataFetcherImpl.h> 
-#include <gzip.h>
-#include <Utils.h>
-
-using namespace std;
-using namespace EsiLib;
-
-#define DEBUG_TAG "combo_handler"
-
-static string SIG_KEY_NAME;
-
-#define DEFAULT_COMBO_HANDLER_PATH "admin/v1/combo"
-static string COMBO_HANDLER_PATH;
-static int COMBO_HANDLER_PATH_SIZE;
-
-#define LOG_ERROR(fmt, args...) do {                                    \
-    TSError("[%s:%d] [%s] ERROR: " fmt, __FILE__, __LINE__, __FUNCTION__ , ##args ); \
-    TSDebug(DEBUG_TAG, "[%s:%d] [%s] ERROR: " fmt, __FILE__, __LINE__, __FUNCTION__ , ##args ); \
-  } while (0)
-
-#define LOG_DEBUG(fmt, args...) do {                                    \
-    TSDebug(DEBUG_TAG, "[%s:%d] [%s] DEBUG: " fmt, __FILE__, __LINE__, __FUNCTION__ , ##args ); \
-  } while (0)
-
-typedef list<string> StringList;
-
-struct ClientRequest {
-  TSHttpStatus status;
-  unsigned int client_ip;
-  int client_port;
-  StringList file_urls;
-  bool gzip_accepted;
-  string defaultBucket;	//default Bucket is set to l
-  ClientRequest()
-    : status(TS_HTTP_STATUS_OK), client_ip(0), client_port(0), gzip_accepted(false), defaultBucket("l") { };
-};
-
-struct InterceptData {
-  TSVConn net_vc;
-  TSCont contp;
-
-  struct IoHandle {
-    TSVIO vio;
-    TSIOBuffer buffer;
-    TSIOBufferReader reader;
-
-    IoHandle()
-      : vio(0), buffer(0), reader(0) { };
-
-    ~IoHandle() {
-      if (reader) {
-        TSIOBufferReaderFree(reader);
-      }
-      if (buffer) {
-        TSIOBufferDestroy(buffer);
-      }
-    };
-  };
-
-  IoHandle input;
-  IoHandle output;
-  TSHttpParser http_parser;
-
-  string body;
-  TSMBuffer req_hdr_bufp;
-  TSMLoc req_hdr_loc;
-  bool req_hdr_parsed;
-  bool initialized;
-  ClientRequest creq;
-  HttpDataFetcherImpl *fetcher;
-  bool read_complete;
-  bool write_complete;
-  string gzipped_data;
-  
-  InterceptData(TSCont cont) 
-    : net_vc(0), contp(cont), input(), output(), req_hdr_bufp(0), req_hdr_loc(0), req_hdr_parsed(false),
-      initialized(false), fetcher(0), read_complete(false), write_complete(false) {
-    http_parser = TSHttpParserCreate();
-  }
-
-  bool init(TSVConn vconn);
-  void setupWrite();
-
-  ~InterceptData();
-};
-
-bool
-InterceptData::init(TSVConn vconn)
-{
-  if (initialized) {
-    LOG_ERROR("InterceptData already initialized!");
-    return false;
-  }
-  
-  net_vc = vconn;
-
-  input.buffer = TSIOBufferCreate();
-  input.reader = TSIOBufferReaderAlloc(input.buffer);
-  input.vio = TSVConnRead(net_vc, contp, input.buffer, INT_MAX);
-
-  req_hdr_bufp = TSMBufferCreate();
-  req_hdr_loc = TSHttpHdrCreate(req_hdr_bufp);
-  TSHttpHdrTypeSet(req_hdr_bufp, req_hdr_loc, TS_HTTP_TYPE_REQUEST);
-
-  fetcher = new HttpDataFetcherImpl(contp, creq.client_ip, creq.client_port, "combohandler_fetcher");
-
-  initialized = true;
-  LOG_DEBUG("InterceptData initialized!");
-  return true;
-}
-
-void
-InterceptData::setupWrite()
-{
-  TSAssert(output.buffer == 0);
-  output.buffer = TSIOBufferCreate();
-  output.reader = TSIOBufferReaderAlloc(output.buffer);
-  output.vio = TSVConnWrite(net_vc, contp, output.reader, INT_MAX);
-}
-
-InterceptData::~InterceptData()
-{
-  if (req_hdr_loc) {
-    TSHandleMLocRelease(req_hdr_bufp, TS_NULL_MLOC, req_hdr_loc);
-  }
-  if (req_hdr_bufp) {
-    TSMBufferDestroy(req_hdr_bufp);
-  }
-  if (fetcher) {
-    delete fetcher;
-  }
-  TSHttpParserDestroy(http_parser); 
-  if (net_vc) {
-    TSVConnClose(net_vc);
-  }
-}
-
-// forward declarations
-static int handleReadRequestHeader(TSCont contp, TSEvent event, void *edata);
-static bool isComboHandlerRequest(TSMBuffer bufp, TSMLoc hdr_loc, TSMLoc url_loc);
-static void getClientRequest(TSHttpTxn txnp, TSMBuffer bufp, TSMLoc hdr_loc, TSMLoc url_loc,
-                             ClientRequest &creq);
-static void parseQueryParameters(const char *query, int query_len, ClientRequest &creq);
-static void checkGzipAcceptance(TSMBuffer bufp, TSMLoc hdr_loc, ClientRequest &creq);
-static int handleServerEvent(TSCont contp, TSEvent event, void *edata);
-static bool initRequestProcessing(InterceptData &int_data, void *edata, bool &write_response);
-static bool readInterceptRequest(InterceptData &int_data);
-static bool writeResponse(InterceptData &int_data);
-static bool writeErrorResponse(InterceptData &int_data, int &n_bytes_written);
-static bool writeStandardHeaderFields(InterceptData &int_data, int &n_bytes_written);
-static void prepareResponse(InterceptData &int_data, ByteBlockList &body_blocks, string &resp_header_fields);
-static bool getContentType(TSMBuffer bufp, TSMLoc hdr_loc, string &resp_header_fields);
-static bool getDefaultBucket(TSHttpTxn txnp, TSMBuffer bufp, TSMLoc hdr_obj, ClientRequest &creq);
-
-
-void
-TSPluginInit(int argc, const char *argv[])
-{
-  if ((argc > 1) && (strcmp(argv[1], "-") != 0)) {
-    COMBO_HANDLER_PATH =  argv[1];
-    if (COMBO_HANDLER_PATH == "/") {
-      COMBO_HANDLER_PATH.clear();
-    } else {
-      if (COMBO_HANDLER_PATH[0] == '/') {
-        COMBO_HANDLER_PATH.erase(0, 1);
-      }
-      if (COMBO_HANDLER_PATH[COMBO_HANDLER_PATH.size() - 1] == '/') {
-        COMBO_HANDLER_PATH.erase(COMBO_HANDLER_PATH.size() - 1, 1);
-      }
-    }
-  } else {
-    COMBO_HANDLER_PATH = DEFAULT_COMBO_HANDLER_PATH;
-  }
-  COMBO_HANDLER_PATH_SIZE = static_cast<int>(COMBO_HANDLER_PATH.size());
-  LOG_DEBUG("Combo handler path is [%s]", COMBO_HANDLER_PATH.c_str());
-
-  SIG_KEY_NAME = ((argc > 2) && (strcmp(argv[2], "-") != 0)) ? argv[2] : "";
-  LOG_DEBUG("Signature key is [%s]", SIG_KEY_NAME.c_str());
-
-  TSCont rrh_contp = TSContCreate(handleReadRequestHeader, NULL);
-  if (!rrh_contp || (rrh_contp == TS_ERROR_PTR)) {
-    LOG_ERROR("Could not create read request header continuation");
-    return;
-  }
-  if (TSHttpHookAdd(TS_HTTP_READ_REQUEST_HDR_HOOK, rrh_contp) == TS_ERROR) {
-    LOG_ERROR("Error while registering to read request hook");
-    TSContDestroy(rrh_contp);
-    return;
-  }
-  Utils::init(&TSDebug, &TSError);
-  LOG_DEBUG("Plugin started");
-}
-
-static int
-handleReadRequestHeader(TSCont contp, TSEvent event, void *edata)
-{
-  TSAssert(event == TS_EVENT_HTTP_READ_REQUEST_HDR);
-
-  LOG_DEBUG("handling read request header event...");
-  TSHttpTxn txnp = static_cast<TSHttpTxn>(edata);
-  TSEvent reenable_to_event = TS_EVENT_HTTP_CONTINUE;
-  TSMBuffer bufp;
-  TSMLoc hdr_loc;
-
-  if (TSHttpTxnClientReqGet(txnp, &bufp, &hdr_loc)) {
-    TSMLoc url_loc = TSHttpHdrUrlGet(bufp, hdr_loc);
-    if (url_loc && (url_loc != TS_ERROR_PTR)) {
-      if (isComboHandlerRequest(bufp, hdr_loc, url_loc)) {
-        TSCont contp = TSContCreate(handleServerEvent, TSMutexCreate());
-        if (!contp || (contp == TS_ERROR_PTR)) {
-          LOG_ERROR("[%s] Could not create intercept request", __FUNCTION__);
-          reenable_to_event = TS_EVENT_HTTP_ERROR;
-        } else {
-          if (TSHttpTxnServerIntercept(contp, txnp) == TS_SUCCESS) {
-            InterceptData *int_data = new InterceptData(contp);
-            TSContDataSet(contp, int_data);
-            // todo: check if these two cacheable sets are required
-            TSHttpTxnSetReqCacheableSet(txnp);
-            TSHttpTxnSetRespCacheableSet(txnp);
-            getClientRequest(txnp, bufp, hdr_loc, url_loc, int_data->creq);
-            LOG_DEBUG("Setup server intercept to handle client request");
-          } else {
-            TSContDestroy(contp);
-            LOG_ERROR("Could not setup server intercept");
-            reenable_to_event = TS_EVENT_HTTP_ERROR;
-          }
-        }
-      }
-      TSHandleMLocRelease(bufp, hdr_loc, url_loc);
-    } else {
-      LOG_ERROR("Could not get request URL");
-    }
-    TSHandleMLocRelease(bufp, TS_NULL_MLOC, hdr_loc);
-  } else {
-    LOG_ERROR("Could not get client request");
-  }
-
-  TSHttpTxnReenable(txnp, reenable_to_event);
-  return 1;
-}
-
-static bool
-isComboHandlerRequest(TSMBuffer bufp, TSMLoc hdr_loc, TSMLoc url_loc)
-{
-  int method_len;
-  bool retval = false;
-  const char *method = TSHttpHdrMethodGet(bufp, hdr_loc, &method_len);
-
-  if (method == TS_ERROR_PTR) {
-    LOG_ERROR("Could not obtain method!", __FUNCTION__);
-  } else {
-    if ((method_len != TS_HTTP_LEN_GET) || (strncasecmp(method, TS_HTTP_METHOD_GET, TS_HTTP_LEN_GET) != 0)) {
-      LOG_DEBUG("Unsupported method [%.*s]", method_len, method);
-    } else {
-      retval = true;
-    }
-    TSHandleStringRelease(bufp, hdr_loc, method);
-
-    if (retval) {
-      int path_len;
-      const char *path = TSUrlPathGet(bufp, url_loc, &path_len);
-      if (path == TS_ERROR_PTR) {
-        LOG_ERROR("Could not get path from request URL");
-        retval = false;
-      } else {
-        retval = (path_len == COMBO_HANDLER_PATH_SIZE) &&
-          (strncasecmp(path, COMBO_HANDLER_PATH.c_str(), COMBO_HANDLER_PATH_SIZE) == 0);
-        LOG_DEBUG("Path [%.*s] is %s combo handler path", path_len, path, (retval ? "a" : "not a"));
-        TSHandleStringRelease(bufp, hdr_loc, path);
-      }
-    }
-  }
-  return retval;
-}
-
-static bool
-getDefaultBucket(TSHttpTxn txnp, TSMBuffer bufp, TSMLoc hdr_obj, ClientRequest &creq)
-{
-  LOG_DEBUG("In getDefaultBucket");
-  TSMLoc field_loc;
-  const char* host;
-  int host_len = 0;
-  bool defaultBucketFound = false;
-
-  field_loc=TSMimeHdrFieldFind(bufp, hdr_obj, TS_MIME_FIELD_HOST, -1);
-  if (field_loc == TS_ERROR_PTR) {
-    LOG_ERROR("Host field not found.");
-    return false;
-  }
-
-  host=TSMimeHdrFieldValueGet (bufp, hdr_obj, field_loc, 0, &host_len);
-  if (!host || host_len <= 0) {
-    LOG_ERROR("Error Extracting Host Header");
-    TSHandleMLocRelease (bufp, hdr_obj, field_loc);
-    return false;
-  }
-
-  LOG_DEBUG("host: %s", host);
-  for(int i = 0 ; i < host_len; i++)
-    {
-      if (host[i] == '.')
-        {
-          creq.defaultBucket = string(host, i);
-          defaultBucketFound = true;
-          break;
-        }
-    }
-
-  TSHandleMLocRelease (bufp, hdr_obj, field_loc);
-  TSHandleStringRelease(bufp, field_loc, host);
-
-  LOG_DEBUG("defaultBucket: %s", creq.defaultBucket.data());
-  return defaultBucketFound;
-}
-
-static void
-getClientRequest(TSHttpTxn txnp, TSMBuffer bufp, TSMLoc hdr_loc, TSMLoc url_loc, ClientRequest &creq)
-{
-  int query_len;
-  const char *query = TSUrlHttpQueryGet(bufp, url_loc, &query_len);
-
-  if (query == TS_ERROR_PTR) {
-    LOG_ERROR("Could not get query from request URL");
-  } else {
-    if (!getDefaultBucket(txnp, bufp, hdr_loc, creq))
-      {
-        LOG_ERROR("failed getting Default Bucket for the request");
-        TSHandleStringRelease(bufp, url_loc, query);
-        return;
-      }
-    parseQueryParameters(query, query_len, creq);
-    TSHandleStringRelease(bufp, url_loc, query);
-    creq.client_ip = ntohl(TSHttpTxnClientIPGet(txnp));
-    if (TSHttpTxnClientRemotePortGet(txnp, &creq.client_port) != TS_SUCCESS) {
-      creq.client_port = 0;
-    } else {
-      creq.client_port = ntohs(static_cast<uint16_t>(creq.client_port));
-    }
-    checkGzipAcceptance(bufp, hdr_loc, creq);
-  }
-}
-
-static void
-parseQueryParameters(const char *query, int query_len, ClientRequest &creq)
-{
-  creq.status = TS_HTTP_STATUS_OK;
-  int param_start_pos = 0;
-  bool sig_verified = false;
-  int colon_pos = -1;
-  string file_url("http://localhost/");
-  size_t file_base_url_size = file_url.size();
-  const char *common_prefix = 0;
-  int common_prefix_size = 0;
-  const char *common_prefix_path = 0;
-  int common_prefix_path_size = 0;
-
-  for (int i = 0; i <= query_len; ++i) {
-    if ((i == query_len) || (query[i] == '&') || (query[i] == '?')) {
-      int param_len = i - param_start_pos;
-      if (param_len) {
-        const char *param = query + param_start_pos;
-        if ((param_len >= 4) && (strncmp(param, "sig=", 4) == 0)) {
-          if (SIG_KEY_NAME.size()) {
-            if (!param_start_pos) {
-              LOG_DEBUG("Signature cannot be the first parameter in query [%.*s]", query_len, query);
-            } else if (param_len == 4) {
-              LOG_DEBUG("Signature empty in query [%.*s]", query_len, query);
-            } else {
-              // TODO - really verify the signature
-              LOG_DEBUG("Verified signature successfully");
-              sig_verified = true;
-            } else {
-              LOG_DEBUG("Signature [%.*s] on query [%.*s] is invalid", param_len - 4, param + 4,
-                        param_start_pos, query);
-            }
-          }
-        } else {
-          LOG_DEBUG("Verification not configured; ignoring signature...");
-        }
-        break; // nothing useful after the signature
-      }
-      if ((param_len >= 2) && (param[0] == 'p') && (param[1] == '=')) {
-        common_prefix_size = param_len - 2;
-        common_prefix_path_size = 0;
-        if (common_prefix_size) {
-          common_prefix = param + 2;
-          for (int i = 0; i < common_prefix_size; ++i) {
-            if (common_prefix[i] == ':') {
-              common_prefix_path = common_prefix;
-              common_prefix_path_size = i;
-              ++i; // go beyond the ':'
-              common_prefix += i;
-              common_prefix_size -= i;
-              break;
-            }
-          }
-        }
-        LOG_DEBUG("Common prefix is [%.*s], common prefix path is [%.*s]", common_prefix_size, common_prefix,
-                  common_prefix_path_size, common_prefix_path);
-      }
-      else {
-        if (common_prefix_path_size) {
-          if (colon_pos >= param_start_pos) { // we have a colon in this param as well?
-            LOG_ERROR("Ambiguous 'bucket': [%.*s] specified in common prefix and [%.*s] specified in "
-                      "current parameter [%.*s]", common_prefix_path_size, common_prefix_path,
-                      colon_pos - param_start_pos, param, param_len, param);
-            creq.file_urls.clear();
-            break;
-          }
-          file_url.append(common_prefix_path, common_prefix_path_size);
-        }
-        else if (colon_pos >= param_start_pos) { // we have a colon
-          if ((colon_pos == param_start_pos) || (colon_pos == (i - 1))) {
-            LOG_ERROR("Colon-separated path [%.*s] has empty part(s)", param_len, param);
-            creq.file_urls.clear();
-            break;
-          }
-          file_url.append(param, colon_pos - param_start_pos); // appending pre ':' part first
-            
-          // modify these to point to the "actual" file path
-          param_start_pos = colon_pos + 1;
-          param_len = i - param_start_pos;
-          param = query + param_start_pos;
-        } else {
-          file_url += creq.defaultBucket; // default path
-        }
-        file_url += '/';
-        if (common_prefix_size) {
-          file_url.append(common_prefix, common_prefix_size);
-        }
-        file_url.append(param, param_len);
-        creq.file_urls.push_back(file_url);
-        LOG_DEBUG("Added file path [%s]", file_url.c_str());
-        file_url.resize(file_base_url_size);
-      }
-    }
-    param_start_pos = i + 1;
-  } else if (query[i] == ':') {
-    colon_pos = i;
-  }
-}
-if (!creq.file_urls.size()) {
-  creq.status = TS_HTTP_STATUS_BAD_REQUEST;
- } else if (SIG_KEY_NAME.size() && !sig_verified) {
-  LOG_DEBUG("Invalid/empty signature found; Need valid signature");
-  creq.status = TS_HTTP_STATUS_FORBIDDEN;
-  creq.file_urls.clear();
- }
-}
-
-static void
-checkGzipAcceptance(TSMBuffer bufp, TSMLoc hdr_loc, ClientRequest &creq)
-{
-  creq.gzip_accepted = false;
-  TSMLoc field_loc = TSMimeHdrFieldFind(bufp, hdr_loc, TS_MIME_FIELD_ACCEPT_ENCODING,
-                                          TS_MIME_LEN_ACCEPT_ENCODING);
-  if ((field_loc != TS_ERROR_PTR) && field_loc) {
-    const char *value;
-    int value_len;
-    int n_values = TSMimeHdrFieldValuesCount(bufp, hdr_loc, field_loc);
-
-    for (int i = 0; i < n_values; ++i) {
-      if (TSMimeHdrFieldValueStringGet(bufp, hdr_loc, field_loc, i, &value, &value_len) == TS_SUCCESS) {
-        if ((value_len == TS_HTTP_LEN_GZIP) && (strncasecmp(value, TS_HTTP_VALUE_GZIP, value_len) == 0)) {
-          creq.gzip_accepted = true;
-        }
-        TSHandleStringRelease(bufp, hdr_loc, value);
-      } else {
-        LOG_DEBUG("Error while getting value # %d of header [%.*s]", i, TS_MIME_LEN_ACCEPT_ENCODING,
-                  TS_MIME_FIELD_ACCEPT_ENCODING);
-      }
-      if (creq.gzip_accepted) {
-        break;
-      }
-    }
-    TSHandleMLocRelease(bufp, hdr_loc, field_loc);
-  }
-  LOG_DEBUG("Client %s gzip encoding", (creq.gzip_accepted ? "accepts" : "does not accept"));
-}
-
-static int
-handleServerEvent(TSCont contp, TSEvent event, void *edata)
-{
-  InterceptData *int_data = static_cast<InterceptData *>(TSContDataGet(contp));
-  bool write_response = false;
-
-  switch (event) {
-  case TS_EVENT_NET_ACCEPT_FAILED:
-    LOG_DEBUG("Received net accept failed event; going to abort continuation");
-    int_data->read_complete = int_data->write_complete = true;
-    break;
-
-  case TS_EVENT_NET_ACCEPT:
-    LOG_DEBUG("Received net accept event");
-    if (!initRequestProcessing(*int_data, edata, write_response)) {
-      LOG_ERROR("Could not initialize request processing");
-      return 0;
-    }
-    break;
-
-  case TS_EVENT_VCONN_READ_READY:
-    LOG_DEBUG("Received read ready event");
-    if (!readInterceptRequest(*int_data)) {
-      LOG_ERROR("Error while reading from input vio");
-      return 0;
-    }
-    break;
-
-  case TS_EVENT_VCONN_READ_COMPLETE:
-  case TS_EVENT_VCONN_EOS:
-    LOG_DEBUG("Received read complete/eos event %d", event);
-    int_data->read_complete = true;
-    break;
-
-  case TS_EVENT_VCONN_WRITE_READY:
-    LOG_DEBUG("Received write ready event");
-    break;
-
-  case TS_EVENT_VCONN_WRITE_COMPLETE:
-    LOG_DEBUG("Received write complete event");
-    int_data->write_complete = true;
-    break;
-
-  case TS_EVENT_ERROR:
-    LOG_ERROR("Received error event!");
-    break;
-
-  default:
-    if (int_data->fetcher && int_data->fetcher->isFetchEvent(event)) {
-      if (!int_data->fetcher->handleFetchEvent(event, edata)) {
-        LOG_ERROR("Couldn't handle fetch request event %d", event);
-      }
-      write_response = int_data->fetcher->isFetchComplete();
-    } else {
-      LOG_DEBUG("Unexpected event %d", event);
-    }
-    break;
-  }
-
-  if (write_response) {
-    if (!writeResponse(*int_data)) {
-      LOG_ERROR("Couldn't write response");
-      int_data->write_complete = true;
-    } else {
-      LOG_DEBUG("Wrote response successfully");
-    }
-  }
-
-  if (int_data->read_complete && int_data->write_complete) {
-    LOG_DEBUG("Completed request processing. Shutting down...");
-    delete int_data;
-    TSContDestroy(contp);
-  }
-
-  return 1;
-}
-
-static bool
-initRequestProcessing(InterceptData &int_data, void *edata, bool &write_response)
-{
-  TSAssert(int_data.initialized == false);
-  if (!int_data.init(static_cast<TSVConn>(edata))) {
-    LOG_ERROR("Could not initialize intercept data!");
-    return false;
-  }
-
-  if (int_data.creq.status == TS_HTTP_STATUS_OK) {
-    for (StringList::iterator iter = int_data.creq.file_urls.begin();
-         iter != int_data.creq.file_urls.end(); ++iter) {
-      if (!int_data.fetcher->addFetchRequest(*iter)) {
-        LOG_ERROR("Couldn't add fetch request for URL [%s]", iter->c_str());
-      } else {
-        LOG_DEBUG("Added fetch request for URL [%s]", iter->c_str());
-      }
-    }
-  } else {
-    LOG_DEBUG("Client request status [%d] not ok; Not fetching URLs", int_data.creq.status);
-    write_response = true;
-  }
-  return true;
-}
-
-static bool
-readInterceptRequest(InterceptData &int_data)
-{
-  TSAssert(!int_data.read_complete);
-  int avail = TSIOBufferReaderAvail(int_data.input.reader);
-  if (avail == TS_ERROR) {
-    LOG_ERROR("Error while getting number of bytes available");
-    return false;
-  }
-  
-  int consumed = 0;
-  if (avail > 0) {
-    int data_len;
-    const char *data;
-    TSIOBufferBlock block = TSIOBufferReaderStart(int_data.input.reader);
-    while (block != NULL) {
-      data = TSIOBufferBlockReadStart(block, int_data.input.reader, &data_len);
-      const char *endptr = data + data_len;
-      if (TSHttpHdrParseReq(int_data.http_parser, int_data.req_hdr_bufp, int_data.req_hdr_loc,
-                             &data, endptr) == TS_PARSE_DONE) {
-        int_data.read_complete = true;
-      }
-      consumed += data_len;
-      block = TSIOBufferBlockNext(block);
-      if (block == TS_ERROR_PTR) {
-        LOG_ERROR("Error while getting block from ioreader");
-        return false;
-      }
-    }
-  }
-  LOG_DEBUG("Consumed %d bytes from input vio", consumed);
-  
-  if (TSIOBufferReaderConsume(int_data.input.reader, consumed) == TS_ERROR) {
-    LOG_ERROR("Error while consuming data from input vio");
-    return false;
-  }
-  
-  // Modify the input VIO to reflect how much data we've completed.
-  if (TSVIONDoneSet(int_data.input.vio, TSVIONDoneGet(int_data.input.vio) + consumed) == TS_ERROR) {
-    LOG_ERROR("Error while setting ndone on input vio");
-    return false;
-  }
-
-  if (!int_data.read_complete) {
-    LOG_DEBUG("Re-enabling input VIO as request header not completely read yet");
-    TSVIOReenable(int_data.input.vio);
-  }
-  return true;
-}
-
-static const string OK_REPLY_LINE("HTTP/1.0 200 OK\r\n");
-static const string BAD_REQUEST_RESPONSE("HTTP/1.0 400 Bad Request\r\n\r\n");
-static const string ERROR_REPLY_RESPONSE("HTTP/1.0 500 Internal Server Error\r\n\r\n");
-static const string FORBIDDEN_RESPONSE("HTTP/1.0 403 Forbidden\r\n\r\n");
-static const char GZIP_ENCODING_FIELD[] = { "Content-Encoding: gzip\r\n" };
-static const int GZIP_ENCODING_FIELD_SIZE = sizeof(GZIP_ENCODING_FIELD) - 1;
-
-static bool
-writeResponse(InterceptData &int_data)
-{
-  int_data.setupWrite();
-  
-  ByteBlockList body_blocks;
-  string resp_header_fields;
-  prepareResponse(int_data, body_blocks, resp_header_fields);
-
-  int n_bytes_written = 0;
-  if (int_data.creq.status != TS_HTTP_STATUS_OK) {
-    if (!writeErrorResponse(int_data, n_bytes_written)) {
-      LOG_ERROR("Couldn't write response error");
-      return false;
-    }
-  } else {
-    n_bytes_written = OK_REPLY_LINE.size();
-    if (TSIOBufferWrite(int_data.output.buffer, OK_REPLY_LINE.data(), n_bytes_written) == TS_ERROR) {
-      LOG_ERROR("Error while writing reply line");
-      return false;
-    }
-    
-    if (!writeStandardHeaderFields(int_data, n_bytes_written)) {
-      LOG_ERROR("Could not write standard header fields");
-      return false;
-    }
-    
-    if (resp_header_fields.size()) {
-      if (TSIOBufferWrite(int_data.output.buffer, resp_header_fields.data(),
-                           resp_header_fields.size()) == TS_ERROR) {
-        LOG_ERROR("Error while writing additional response header fields");
-        return false;
-      }
-      n_bytes_written += resp_header_fields.size();
-    }
-    
-    if (TSIOBufferWrite(int_data.output.buffer, "\r\n", 2) == TS_ERROR) {
-      LOG_ERROR("Error while writing header terminator");
-      return false;
-    }
-    n_bytes_written += 2;
-    
-    for (ByteBlockList::iterator iter = body_blocks.begin(); iter != body_blocks.end(); ++iter) {
-      if (TSIOBufferWrite(int_data.output.buffer, iter->data, iter->data_len) == TS_ERROR) {
-        LOG_ERROR("Error while writing content");
-        return false;
-      }
-      n_bytes_written += iter->data_len;
-    }
-  }
-    
-  LOG_DEBUG("Wrote reply of size %d", n_bytes_written);
-  if (TSVIONBytesSet(int_data.output.vio, n_bytes_written) == TS_ERROR) {
-    LOG_ERROR("Error while setting nbytes to %d on output vio", n_bytes_written);
-    return false;
-  }
-  
-  if (TSVIOReenable(int_data.output.vio) == TS_ERROR) {
-    LOG_ERROR("Error while reenabling output VIO");
-    return false;
-  }
-  return true;
-}
-
-static void
-prepareResponse(InterceptData &int_data, ByteBlockList &body_blocks, string &resp_header_fields)
-{
-  bool got_content_type = false;
-
-  if (int_data.creq.status == TS_HTTP_STATUS_OK) {
-    HttpDataFetcherImpl::ResponseData resp_data;
-    TSMLoc field_loc;
-    time_t expires_time;
-    bool got_expires_time = false;
-    for (StringList::iterator iter = int_data.creq.file_urls.begin(); iter != int_data.creq.file_urls.end();
-         ++iter) {
-      if (int_data.fetcher->getData(*iter, resp_data)) {
-        body_blocks.push_back(ByteBlock(resp_data.content, resp_data.content_len));
-        if (!got_content_type) {
-          got_content_type = getContentType(resp_data.bufp, resp_data.hdr_loc, resp_header_fields);
-        }
-        field_loc = TSMimeHdrFieldFind(resp_data.bufp, resp_data.hdr_loc, TS_MIME_FIELD_EXPIRES,
-                                        TS_MIME_LEN_EXPIRES);
-        if (field_loc && (field_loc != TS_ERROR_PTR)) {
-          time_t curr_field_expires_time;
-          int n_values = TSMimeHdrFieldValuesCount(resp_data.bufp, resp_data.hdr_loc, field_loc);
-          if ((n_values != TS_ERROR) && (n_values > 0)) {
-            if (TSMimeHdrFieldValueDateGet(resp_data.bufp, resp_data.hdr_loc, field_loc,
-                                            &curr_field_expires_time) == TS_SUCCESS) {
-              if (!got_expires_time) {
-                expires_time = curr_field_expires_time;
-                got_expires_time = true;
-              } else if (curr_field_expires_time < expires_time) {
-                expires_time = curr_field_expires_time;
-              }
-            } else {
-              LOG_DEBUG("Error while getting date value");
-            }
-          }
-          TSHandleMLocRelease(resp_data.bufp, resp_data.hdr_loc, field_loc);
-        }
-      } else {
-        LOG_ERROR("Could not get content for requested URL [%s]", iter->c_str());
-        int_data.creq.status = TS_HTTP_STATUS_BAD_REQUEST;
-        break;
-      }
-    }
-    if (int_data.creq.status == TS_HTTP_STATUS_OK) {
-      if (got_expires_time) {
-        if (expires_time <= 0) {
-          resp_header_fields.append("Expires: 0\r\n");
-        } else {
-          char line_buf[128];
-          int line_size = strftime(line_buf, 128, "Expires: %a, %d %b %Y %T GMT\r\n", gmtime(&expires_time));
-          resp_header_fields.append(line_buf, line_size);
-        }
-      }
-      LOG_DEBUG("Prepared response header field\n%s", resp_header_fields.c_str());
-    }
-  }
-
-  if ((int_data.creq.status == TS_HTTP_STATUS_OK) && int_data.creq.gzip_accepted) {
-    if (!gzip(body_blocks, int_data.gzipped_data)) {
-      LOG_ERROR("Could not gzip content!");
-      int_data.creq.status = TS_HTTP_STATUS_INTERNAL_SERVER_ERROR;
-    } else {
-      body_blocks.clear();
-      body_blocks.push_back(ByteBlock(int_data.gzipped_data.data(), int_data.gzipped_data.size()));
-      resp_header_fields.append(GZIP_ENCODING_FIELD, GZIP_ENCODING_FIELD_SIZE);
-    }
-  }
-}
-
-static bool
-getContentType(TSMBuffer bufp, TSMLoc hdr_loc, string &resp_header_fields)
-{
-  bool retval = false;
-  TSMLoc field_loc = TSMimeHdrFieldFind(bufp, hdr_loc, TS_MIME_FIELD_CONTENT_TYPE,
-                                          TS_MIME_LEN_CONTENT_TYPE);
-  if (field_loc && (field_loc != TS_ERROR_PTR)) {
-    bool values_added = false;
-    const char *value;
-    int value_len;
-    int n_values = TSMimeHdrFieldValuesCount(bufp, hdr_loc, field_loc);
-    for (int i = 0; i < n_values; ++i) {
-      if (TSMimeHdrFieldValueStringGet(bufp, hdr_loc, field_loc, i, &value, &value_len) == TS_SUCCESS) {
-        if (!values_added) {
-          resp_header_fields.append("Content-Type: ");
-          values_added = true;
-        } else {
-          resp_header_fields.append(", ");
-        }
-        resp_header_fields.append(value, value_len);
-        TSHandleStringRelease(bufp, hdr_loc, value);
-      } else {
-        LOG_DEBUG("Error while getting Content-Type value #%d", i);
-      }
-    }
-    TSHandleMLocRelease(bufp, hdr_loc, field_loc);
-    if (values_added) {
-      resp_header_fields.append("\r\n");
-      retval = true;
-    }
-  }
-  return retval;
-}
-
-static const char INVARIANT_FIELD_LINES[] = { "Vary: Accept-Encoding\r\n"
-                                              "Cache-Control: max-age=315360000\r\n" };
-static const char INVARIANT_FIELD_LINES_SIZE = sizeof(INVARIANT_FIELD_LINES) - 1;
-
-static bool
-writeStandardHeaderFields(InterceptData &int_data, int &n_bytes_written)
-{
-  if (TSIOBufferWrite(int_data.output.buffer, INVARIANT_FIELD_LINES,
-                       INVARIANT_FIELD_LINES_SIZE) == TS_ERROR) {
-    LOG_ERROR("Error while writing invariant fields");
-    return false;
-  }
-  n_bytes_written += INVARIANT_FIELD_LINES_SIZE;
-  time_t time_now = static_cast<time_t>(TShrtime() / 1000000000); // it returns nanoseconds!
-  char last_modified_line[128];
-  int last_modified_line_size = strftime(last_modified_line, 128, "Last-Modified: %a, %d %b %Y %T GMT\r\n",
-                                         gmtime(&time_now));
-  if (TSIOBufferWrite(int_data.output.buffer, last_modified_line, last_modified_line_size) == TS_ERROR) {
-    LOG_ERROR("Error while writing last-modified fields");
-    return false;
-  }
-  n_bytes_written += last_modified_line_size;
-  return true;
-}
-
-static bool
-writeErrorResponse(InterceptData &int_data, int &n_bytes_written)
-{
-  const string *response;
-  switch (int_data.creq.status) {
-  case TS_HTTP_STATUS_BAD_REQUEST:
-    response = &BAD_REQUEST_RESPONSE;
-    break;
-  case TS_HTTP_STATUS_FORBIDDEN:
-    response = &FORBIDDEN_RESPONSE;
-    break;
-  default:
-    response = &ERROR_REPLY_RESPONSE;
-    break;
-  } 
-  if (TSIOBufferWrite(int_data.output.buffer, response->data(), response->size()) == TS_ERROR) {
-    LOG_ERROR("Error while writing error response");
-    return false;
-  }
-  n_bytes_written += response->size();
-  return true;
-}

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/esi/LICENSE
----------------------------------------------------------------------
diff --git a/esi/LICENSE b/esi/LICENSE
deleted file mode 100644
index b2e6b61..0000000
--- a/esi/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) 2004, 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.
-
-~~~
-
-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) 1994-2011 John Bradley Plevyak, 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 name of the author 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.
-
-~~~
-
-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.
-

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/esi/Makefile
----------------------------------------------------------------------
diff --git a/esi/Makefile b/esi/Makefile
deleted file mode 100644
index 1c2f58e..0000000
--- a/esi/Makefile
+++ /dev/null
@@ -1,26 +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?=tsxs
-
-all:	plugin.cc serverIntercept.cc
-	$(TSXS) -v -I lib -I fetcher/ -C plugin.cc serverIntercept.cc lib/*.cc fetcher/*.cc -o esi.so
-
-install:
-	$(TSXS) -i -o esi.so
-
-clean:
-	rm -f *.lo *.so

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/esi/README
----------------------------------------------------------------------
diff --git a/esi/README b/esi/README
deleted file mode 100644
index 0815902..0000000
--- a/esi/README
+++ /dev/null
@@ -1,76 +0,0 @@
-ESI plugin
---------------------
-
-This plugin implements the ESI specification.
-
-Version 1.3.0
--------------
-- Upgrading to yts_esi_lib-1.3.0 and using yts_http_fetcher_impl-1.0.0
-
-Version 1.2.0
--------------
-- Using INKVConnClose instead of INKVConnShutdown to avoid memory
-  leak
-- Upgrading to yts_esi_lib-1.2.0
-
-Version 1.1.1
--------------
-- Suppressing non-200 status handling error message
-- Upgrading to yts_esi_lib-1.1.1
-
-Version 1.1.0
--------------
-- Suppressing non-200 status handling error message
-- Upgrading to yts_esi_lib-1.1.0
-
-Version 1.0.1
--------------
-- Added symlink from conf/yts/plugins for backward compatibility
-
-Version 1.0.0
--------------
-- Upgrading to yts_esi_lib-0.0.6
-
-Version 0.0.6
--------------
-- Removing X-Esi header from outbound client response
-
-Version 0.0.5_1
----------------
-- Requiring correct version of yts_esi_lib (0.0.5)
-
-Version 0.0.5
--------------
-- Using intercept solution to POST-back and cache serialized
-  form of document
-- Added basic stats
-
-Version 0.0.4_2
----------------
-- Using yts_esi_lib-0.0.4
-
-Version 0.0.4_1
----------------
-- Added conf/yts_plugin_esi directory and handlers.cfg
-
-Version 0.0.4
--------------
-- Upgrading to yts_esi_lib{,_dev}-0.0.3
-- Special include handlers can now add 'footer' data
-- Dealing with gzip'ed data from OS and gzip'ing output if requested
-
-Version 0.0.3
--------------
-- Conforming to API changes becase of ticket 3515300
-- Partial fix to bug 3503119 (ESI plugin should return error code
-  (4xx or 5xx) if it can not fetch include src url)
-
-
-Version 0.0.2 
--------------
-- Upgraded to new fetch API, support for special includes
-
-Version 0.0.1
--------------
-- Prototype implementation
-

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/esi/fetcher/FetchedDataProcessor.h
----------------------------------------------------------------------
diff --git a/esi/fetcher/FetchedDataProcessor.h b/esi/fetcher/FetchedDataProcessor.h
deleted file mode 100644
index eaff189..0000000
--- a/esi/fetcher/FetchedDataProcessor.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/** @file
-
-  A brief file description
-
-  @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.
- */
-
-#ifndef _FETCHED_DATA_PROCESSOR_H
-
-#define _FETCHED_DATA_PROCESSOR_H
-
-class FetchedDataProcessor { 
-
-public:
-
-  FetchedDataProcessor() { };
-
-  virtual void processData(const char *reqeust_url, int request_url_len, 
-                           const char *response_data, int response_data_len) = 0;
-
-  virtual ~FetchedDataProcessor() { };
-
-};
-
-#endif

http://git-wip-us.apache.org/repos/asf/trafficserver-plugins/blob/ff849998/esi/fetcher/HttpDataFetcher.h
----------------------------------------------------------------------
diff --git a/esi/fetcher/HttpDataFetcher.h b/esi/fetcher/HttpDataFetcher.h
deleted file mode 100644
index bda0e0e..0000000
--- a/esi/fetcher/HttpDataFetcher.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/** @file
-
-  A brief file description
-
-  @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.
- */
-
-#ifndef _HTTP_DATA_FETCHER_H
-#define _HTTP_DATA_FETCHER_H
-
-#include <string>
-
-#include "FetchedDataProcessor.h"
-
-enum DataStatus { STATUS_ERROR = -1, STATUS_DATA_AVAILABLE = 0, STATUS_DATA_PENDING = 1  };
-
-class HttpDataFetcher
-{
-
-public:
-
-  virtual bool addFetchRequest(const char *url, int url_len, FetchedDataProcessor *callback_obj = 0) {
-    return addFetchRequest(std::string(url, url_len), callback_obj);
-  }
-
-  virtual bool addFetchRequest(const char *url, FetchedDataProcessor *callback_obj = 0) {
-    return addFetchRequest(std::string(url), callback_obj);
-  }
-
-  virtual bool addFetchRequest(const std::string &url, FetchedDataProcessor *callback_obj = 0) = 0;
-
-  virtual DataStatus getRequestStatus(const char *url, int url_len) const {
-    return getRequestStatus(std::string(url, url_len));
-  }
-
-  virtual DataStatus getRequestStatus(const char *url) const {
-    return getRequestStatus(std::string(url));
-  }
-
-  virtual DataStatus getRequestStatus(const std::string &url) const = 0;
-
-  virtual int getNumPendingRequests() const = 0;
-
-  virtual bool getContent(const char *url, int url_len, const char *&content, int &content_len) const {
-    return getContent(std::string(url, url_len), content, content_len);
-  }
-
-  virtual bool getContent(const char *url, const char *&content, int &content_len) const {
-    return getContent(std::string(url), content, content_len);
-  }
-
-  virtual bool getContent(const std::string &url, const char *&content, int &content_len) const = 0;
-
-  virtual ~HttpDataFetcher() { };
-
-};
-
-#endif


Mime
View raw message