You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2010/04/30 05:14:22 UTC

svn commit: r939548 [2/6] - in /incubator/trafficserver/traffic/trunk: ./ doc/man/ iocore/cache/ iocore/eventsystem/ iocore/net/ libinktomi++/ librecords/ proxy/ proxy/api/include/ proxy/config/ proxy/config/body_factory/default/ proxy/hdrs/ proxy/http...

Modified: incubator/trafficserver/traffic/trunk/proxy/api/include/ts.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/api/include/ts.h?rev=939548&r1=939547&r2=939548&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/api/include/ts.h (original)
+++ incubator/trafficserver/traffic/trunk/proxy/api/include/ts.h Fri Apr 30 03:14:19 2010
@@ -343,7 +343,6 @@ extern "C"
     INK_SRVSTATE_CONNECTION_ALIVE,
     INK_SRVSTATE_CONNECTION_CLOSED,
     INK_SRVSTATE_CONNECTION_ERROR,
-    INK_SRVSTATE_FTP_OPEN_FAILED,
     INK_SRVSTATE_INACTIVE_TIMEOUT,
     INK_SRVSTATE_OPEN_RAW_ERROR,
     INK_SRVSTATE_PARSE_ERROR,
@@ -377,7 +376,6 @@ extern "C"
     INK_CACHE_DATA_TYPE_MIXT_RTSP,
     INK_CACHE_DATA_TYPE_MIXT_WMT,
     INK_CACHE_DATA_TYPE_MIXT_QTIME,
-    INK_CACHE_DATA_TYPE_FTP,
     INK_CACHE_DATA_TYPE_OTHER
   } INKCacheDataType;
 
@@ -1285,7 +1283,7 @@ extern "C"
   inkapi INKReturnCode INKUrlPortSet(INKMBuffer bufp, INKMLoc offset, int port);
 
   // --------------------------------------------------------------------------
-  // FTP and HTTP specific URLs
+  // HTTP specific URLs
 
   /**
       Retrieves the path portion of the URL located at url_loc within

Modified: incubator/trafficserver/traffic/trunk/proxy/config/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/config/Makefile.am?rev=939548&r1=939547&r2=939548&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/config/Makefile.am (original)
+++ incubator/trafficserver/traffic/trunk/proxy/config/Makefile.am Fri Apr 30 03:14:19 2010
@@ -27,7 +27,6 @@ dist_sysconf_DATA =	\
   cluster.config \
   congestion.config \
   filter.config \
-  ftp_remap.config \
   hosting.config \
   icp.config \
   ip_allow.config \

Modified: incubator/trafficserver/traffic/trunk/proxy/config/body_factory/default/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/config/body_factory/default/Makefile.am?rev=939548&r1=939547&r2=939548&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/config/body_factory/default/Makefile.am (original)
+++ incubator/trafficserver/traffic/trunk/proxy/config/body_factory/default/Makefile.am Fri Apr 30 03:14:19 2010
@@ -31,10 +31,6 @@ dist_bodyfactory_DATA = \
   connect\#failed_connect \
   connect\#hangup \
   default \
-  ftp\#auth_required \
-  ftp\#bad_request \
-  ftp\#error \
-  ftp\#unsupported_method \
   interception\#no_host \
   README \
   redirect\#moved_temporarily \

Modified: incubator/trafficserver/traffic/trunk/proxy/config/filter.config
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/config/filter.config?rev=939548&r1=939547&r2=939548&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/config/filter.config (original)
+++ incubator/trafficserver/traffic/trunk/proxy/config/filter.config Fri Apr 30 03:14:19 2010
@@ -1,7 +1,7 @@
 #
 # filter.config
 #
-# The purpose of this file is to specify which http and ftp
+# The purpose of this file is to specify which http
 #  objects can be obtained through Traffic Server and which
 #  headers should be forwarded for http requests. This file 
 #  is also used for authentication and authorization

Modified: incubator/trafficserver/traffic/trunk/proxy/config/logs_xml.config
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/config/logs_xml.config?rev=939548&r1=939547&r2=939548&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/config/logs_xml.config (original)
+++ incubator/trafficserver/traffic/trunk/proxy/config/logs_xml.config Fri Apr 30 03:14:19 2010
@@ -169,11 +169,10 @@ Example2: do not log requests for domain
 
   <Protocols = "list of protocols"/>
       The list of protocols to log is a comma separated list of the
-      protocols that the object logs. Valid protocol names are http 
-      (which includes ftp), icp, and mco. If the object has
-      no Protocol tag, then it logs all protocols. The Protocol tag
-      simply provides an easy way to create a filter that accepts the
-      specified protocols.
+      protocols that the object logs. Valid protocol names are http,
+      icp, and mco. If the object has no Protocol tag, then it logs
+      all protocols. The Protocol tag simply provides an easy way to
+      create a filter that accepts the specified protocols.
 
   <ServerHosts = "list of servers"/>
       This tag provides an easy way to create a filter that logs only the

Modified: incubator/trafficserver/traffic/trunk/proxy/config/stats.config.xml
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/config/stats.config.xml?rev=939548&r1=939547&r2=939548&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/config/stats.config.xml (original)
+++ incubator/trafficserver/traffic/trunk/proxy/config/stats.config.xml Fri Apr 30 03:14:19 2010
@@ -60,53 +60,10 @@
         <destination>proxy.node.http.origin_server_current_connections_count</destination>
         <destination scope="cluster">proxy.cluster.http.origin_server_current_connections_count</destination>
         <expression>
-            proxy.process.http.current_server_connections +
-            proxy.process.ftp.connections_currently_open
+            proxy.process.http.current_server_connections
         </expression>
     </statistics>
 
-
-    <!-- FTP -->
-    <statistics
-	minimum="0">
-        <destination>proxy.node.ftp.user_agents_total_documents_served</destination>
-        <destination scope="cluster">proxy.cluster.ftp.user_agents_total_documents_served</destination>
-        <expression>
-            proxy.process.ftp.incoming_requests
-        </expression>
-    </statistics>
-
-
-    <statistics
-	minimum="0">
-        <destination>proxy.node.ftp.current_server_connections</destination>
-        <destination scope="cluster">proxy.cluster.ftp.current_server_connections</destination>
-       <expression>
-            proxy.process.ftp.current_server_connections
-        </expression>
-    </statistics>
-
-
-    <statistics
-	minimum="0">
-        <destination>proxy.node.ftp.current_client_connections</destination>
-        <destination scope="cluster">proxy.cluster.ftp.current_client_connections</destination>
-        <expression>
-            proxy.process.ftp.current_client_connections
-        </expression>
-    </statistics>
-
-
-    <statistics
-	minimum="0">
-        <destination>proxy.node.ftp.current_cache_connections</destination>
-        <destination scope="cluster">proxy.cluster.ftp.current_cache_connections</destination>
-        <expression>
-            proxy.process.ftp.current_cache_connections
-        </expression>
-    </statistics>
-
-
     <!-- RNI -->
     <statistics
 	minimum="0">
@@ -560,20 +517,6 @@
         </expression>
     </statistics>
 
-  
-    <statistics
-        interval="10"
-	minimum="0">
-        <destination>proxy.node.ftp.user_agent_xacts_per_second</destination>
-        <destination scope="cluster">proxy.cluster.ftp.user_agent_xacts_per_second</destination>
-        <expression>
-            #proxy.process.ftp.incoming_requests *
-            $HRTIME_SECOND                  /
-            _DIFFTIME
-        </expression>
-    </statistics>
-
-  
     <statistics
         interval="10"
 	minimum="0">
@@ -633,7 +576,6 @@
         <destination scope="cluster">proxy.cluster.user_agent_xacts_per_second</destination>
         <expression>
             proxy.node.http.user_agent_xacts_per_second  +
-            proxy.node.ftp.user_agent_xacts_per_second   +
             proxy.node.rni.user_agent_xacts_per_second   +
             proxy.node.wmt.user_agent_xacts_per_second   +
             proxy.node.qt.user_agent_xacts_per_second    +
@@ -650,7 +592,6 @@
         <destination>proxy.node.user_agents_total_documents_served</destination>
         <expression>
             proxy.node.http.user_agents_total_documents_served +
-            proxy.node.ftp.user_agents_total_documents_served  +
             proxy.node.rni.user_agents_total_documents_served  +
             proxy.node.wmt.user_agents_total_documents_served  +
             proxy.node.qt.user_agents_total_documents_served   +
@@ -747,17 +688,6 @@
 
     <statistics
 	minimum="0">
-        <destination>proxy.node.ftp.downstream_total_bytes</destination>
-        <destination scope="cluster">proxy.cluster.ftp.downstream_total_bytes</destination>
-        <expression>
-            proxy.process.ftp.downstream.request_bytes +
-            proxy.process.ftp.downstream.response_bytes
-        </expression>
-    </statistics>
-
-
-    <statistics
-	minimum="0">
         <destination>proxy.node.rni.downstream_total_bytes</destination>
         <destination scope="cluster">proxy.cluster.rni.downstream_total_bytes</destination>
         <expression>
@@ -846,17 +776,6 @@
 
     <statistics
 	minimum="0">
-        <destination>proxy.node.ftp.upstream_total_bytes</destination>
-        <destination scope="cluster">proxy.cluster.ftp.upstream_total_bytes</destination>
-        <expression>
-            proxy.process.ftp.upstream.request_bytes +
-            proxy.process.ftp.upstream.response_bytes
-        </expression>
-    </statistics>
-
-
-    <statistics
-	minimum="0">
         <destination>proxy.node.rni.upstream_total_bytes</destination>
         <destination scope="cluster">proxy.cluster.rni.upstream_total_bytes</destination>
        <expression>
@@ -907,7 +826,6 @@
         <expression>
             proxy.node.http.user_agent_total_request_bytes  +
             proxy.node.http.user_agent_total_response_bytes +
-            proxy.node.ftp.downstream_total_bytes           +
             proxy.node.rni.downstream_total_bytes           +
             proxy.node.wmt.downstream_total_bytes           +
             proxy.node.qt.downstream_total_bytes            +
@@ -925,7 +843,6 @@
             proxy.node.http.origin_server_total_response_bytes +
             proxy.node.http.parent_proxy_total_request_bytes   +
             proxy.node.http.parent_proxy_total_response_bytes  +
-            proxy.node.ftp.upstream_total_bytes                +
             proxy.node.rni.upstream_total_bytes                +
             proxy.node.wmt.upstream_total_bytes                +
             proxy.node.qt.upstream_total_bytes                 +
@@ -1019,7 +936,6 @@
         <expression>
             (
             #proxy.node.http.user_agent_total_response_bytes +
-            #proxy.node.ftp.downstream_total_bytes           +
             #proxy.node.rni.downstream_total_bytes           +
             #proxy.node.wmt.downstream_total_bytes           +
             #proxy.node.qt.downstream_total_bytes            +
@@ -1087,26 +1003,6 @@
     <statistics
 	minimum="0"
         interval="10">
-        <destination>proxy.node.ftp.cache_hits_avg_10s</destination>
-        <expression>
-            #proxy.process.ftp.cache_hits
-        </expression>
-    </statistics>
-
-
-    <statistics
-	minimum="0"
-        interval="10">
-        <destination>proxy.node.ftp.cache_hit_fresh_avg_10s</destination>
-        <expression>
-            #proxy.process.ftp.cache_hit_fresh
-        </expression>
-    </statistics>
-
-
-    <statistics
-	minimum="0"
-        interval="10">
         <destination>proxy.node.rni.block_hit_count_avg_10s</destination>
         <expression>
             #proxy.process.rni.block_hit_count
@@ -1205,26 +1101,6 @@
 
 
     <statistics
-        interval="10"
-	minimum="0">
-        <destination>proxy.node.ftp.cache_misses_avg_10s</destination>
-        <expression>
-            #proxy.process.ftp.cache_misses
-        </expression>
-    </statistics>
-
-
-    <statistics
-	minimum="0"
-        interval="10">
-        <destination>proxy.node.ftp.cache_miss_cold_avg_10s</destination>
-        <expression>
-            #proxy.process.ftp.cache_miss_cold
-        </expression>
-    </statistics>
-
-
-    <statistics
 	minimum="0"
         interval="10">
         <destination>proxy.node.rni.block_miss_count_avg_10s</destination>
@@ -1274,8 +1150,6 @@
             proxy.node.http.cache_hit_revalidated_avg_10s  +
             proxy.node.http.cache_hit_ims_avg_10s          +
             proxy.node.http.cache_hit_stale_served_avg_10s +
-            proxy.node.ftp.cache_hits_avg_10s              +
-	    proxy.node.ftp.cache_hit_fresh_avg_10s         +
             proxy.node.rni.block_hit_count_avg_10s         +
             proxy.node.wmt.block_hit_count_avg_10s         +
             proxy.node.qt.block_hit_count_avg_10s          +
@@ -1296,8 +1170,6 @@
             proxy.node.http.cache_miss_client_no_cache_avg_10s +
             proxy.node.http.cache_miss_ims_avg_10s             +
             proxy.node.http.cache_read_error_avg_10s           +
-            proxy.node.ftp.cache_misses_avg_10s                +
-	    proxy.node.ftp.cache_miss_cold_avg_10s             +
             proxy.node.rni.block_miss_count_avg_10s            +
             proxy.node.wmt.block_miss_count_avg_10s            +
             proxy.node.qt.block_miss_count_avg_10s             +
@@ -1343,8 +1215,6 @@
             proxy.process.http.cache_hit_revalidated  +
             proxy.process.http.cache_hit_ims          +
             proxy.process.http.cache_hit_stale_served +
-            proxy.process.ftp.cache_hits              +
-	    proxy.process.ftp.cache_hit_fresh         +
             proxy.process.rni.block_hit_count         +
             proxy.process.wmt.block_hit_count         +
             proxy.process.qt.block_hit_count          +
@@ -1364,8 +1234,6 @@
             proxy.process.http.cache_miss_client_no_cache +
             proxy.process.http.cache_miss_ims             +
             proxy.process.http.cache_read_error           +
-            proxy.process.ftp.cache_misses                +
-	    proxy.process.ftp.cache_miss_cold             +
             proxy.process.rni.block_miss_count            +
             proxy.process.wmt.block_miss_count            +
             proxy.process.qt.block_miss_count             +
@@ -2376,7 +2244,6 @@
         <destination scope="cluster">proxy.cluster.current_client_connections</destination>
         <expression>
             proxy.node.http.user_agent_current_connections_count +
-            proxy.node.ftp.current_client_connections            +
             proxy.node.rni.current_client_connections            +
             proxy.node.wmt.current_client_connections            +
             proxy.node.qt.current_client_connections             +
@@ -2392,7 +2259,6 @@
         <expression>
             proxy.node.http.origin_server_current_connections_count +
             proxy.node.http.current_parent_proxy_connections        +
-            proxy.node.ftp.current_server_connections               + 
             proxy.node.rni.current_server_connections               +
             proxy.node.wmt.current_server_connections               +
             proxy.node.qt.current_server_connections                +
@@ -2407,7 +2273,6 @@
         <destination scope="cluster">proxy.cluster.current_cache_connections</destination>
         <expression>
             proxy.node.http.cache_current_connections_count +
-            proxy.node.ftp.current_cache_connections        +
             proxy.node.rni.current_cache_connections	    +
             proxy.node.wmt.current_cache_connections        +
             proxy.node.qt.current_cache_connections         +

Modified: incubator/trafficserver/traffic/trunk/proxy/config/update.config
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/config/update.config?rev=939548&r1=939547&r2=939548&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/config/update.config (original)
+++ incubator/trafficserver/traffic/trunk/proxy/config/update.config Fri Apr 30 03:14:19 2010
@@ -41,17 +41,6 @@
 #
 #  http://www.inktomi.com\User-Agent: noname user agent\13\3600\5\
 ###############################################################################
-#
-# FTP example:
-#
-#  FTP request, offset hour 18 (6 pm), offset interval every 2 minutes
-#
-#  Note: User must be "anonymous" and the password must 
-#     	 be entered in records.config using the configuration
-#	 variable "proxy.config.http.ftp.anonymous_passwd"
-#
-#  ftp://anonymous@ftp.inktomi.com/pub/misc/test_file.cc\\18\120\0\
-###############################################################################
 #	
 # RTSP example:
 #

Modified: incubator/trafficserver/traffic/trunk/proxy/hdrs/HTTP.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/hdrs/HTTP.h?rev=939548&r1=939547&r2=939548&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/hdrs/HTTP.h (original)
+++ incubator/trafficserver/traffic/trunk/proxy/hdrs/HTTP.h Fri Apr 30 03:14:19 2010
@@ -156,7 +156,6 @@ enum SquidLogCode
   SQUID_LOG_ERR_NO_RELAY = 'C',
   SQUID_LOG_ERR_DISK_IO = 'D',
   SQUID_LOG_ERR_ZERO_SIZE_OBJECT = 'E',
-  SQUID_LOG_ERR_FTP_DISABLED = 'F',
   SQUID_LOG_ERR_PROXY_DENIED = 'G',
   SQUID_LOG_ERR_WEBFETCH_DETECTED = 'H',
   SQUID_LOG_ERR_FUTURE_1 = 'I',

Modified: incubator/trafficserver/traffic/trunk/proxy/hdrs/HdrTest.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/hdrs/HdrTest.cc?rev=939548&r1=939547&r2=939548&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/hdrs/HdrTest.cc (original)
+++ incubator/trafficserver/traffic/trunk/proxy/hdrs/HdrTest.cc Fri Apr 30 03:14:19 2010
@@ -394,9 +394,6 @@ HdrTest::test_url()
     "http://foo:bar@some.place",
     "http://foo:bar@some.place/",
 
-    "ftp://some.place/path",
-    "ftp://some.place/path;type=c",
-
     "mms://sm02.tsqa.inktomi.com/0102rally.asf",
     "pnm://foo:bar@some.place:80/path;params?query#fragment",
     "rtsp://foo:bar@some.place:80/path;params?query#fragment",
@@ -877,48 +874,7 @@ HdrTest::test_http_hdr_print_and_copy()
         "HTTP/1.0 200 OK\r\n"
         "Content-Length: 16428\r\n"
         "Content-Type: text/html\r\n"
-        "\r\n", "HTTP/1.0 200 OK\r\n" "Content-Length: 16428\r\n" "Content-Type: text/html\r\n" "\r\n"}, {
-    "GET ftp://cust read:Rcus 01#@update.sym antec.com/foo bar/blah HTTP/1.0\r\n"
-        "Cache-Control: max-age=1234,private=\"foo\", community=\"UCI\"\r\n"
-        "Connection: keep-alive\r\n"
-        "Pragma: no-cache\r\n"
-        "Referer: foobar\r\n"
-        "Host: xach.dorknet.com\r\n"
-        "If-Modified-Since: Wed, 30 Jul 1997 00:07:30 GMT\r\n"
-        "Cokie: foo; bar, argh\r\n"
-        "Bazz: foo\r\n"
-        "Baz: foo bar\r\n"
-        "User-Agent: Mozilla/3.01 (X11; I; Linux 2.0.30 i586)\r\n"
-        "User-Agent: Mozilla/3.01 (X11; I; SunOS 5.5.1 i86pc)\r\n"
-        "\r\n",
-        "GET ftp://cust read:Rcus 01#@update.sym antec.com/foo bar/blah HTTP/1.0\r\n"
-        "Cache-Control: max-age=1234,private=\"foo\", community=\"UCI\"\r\n"
-        "Connection: keep-alive\r\n"
-        "Pragma: no-cache\r\n"
-        "Referer: foobar\r\n"
-        "Host: xach.dorknet.com\r\n"
-        "If-Modified-Since: Wed, 30 Jul 1997 00:07:30 GMT\r\n"
-        "Cokie: foo; bar, argh\r\n"
-        "Bazz: foo\r\n"
-        "Baz: foo bar\r\n"
-        "User-Agent: Mozilla/3.01 (X11; I; Linux 2.0.30 i586)\r\n"
-        "User-Agent: Mozilla/3.01 (X11; I; SunOS 5.5.1 i86pc)\r\n"
-        "\r\n",
-        "HTTP/1.0 200 OK\r\n"
-        "Date: 6 Nov 1994 08:49:37 GMT\r\n"
-        "Content-Length: 10307\r\n"
-        "X-ETag: \"10\"\r\n"
-        "Cache-Control: private, no-cache\r\n"
-        "Pragma: no-cache\r\n"
-        "X-Xact: 26877940.1896887846:2147483643\r\n"
-        "Connection: close\r\n"
-        "\r\n",
-        "HTTP/1.0 200 OK\r\n"
-        "Date: 6 Nov 1994 08:49:37 GMT\r\n"
-        "Content-Length: 10307\r\n"
-        "X-ETag: \"10\"\r\n"
-        "Cache-Control: private, no-cache\r\n"
-        "Pragma: no-cache\r\n" "X-Xact: 26877940.1896887846:2147483643\r\n" "Connection: close\r\n" "\r\n"}
+        "\r\n", "HTTP/1.0 200 OK\r\n" "Content-Length: 16428\r\n" "Content-Type: text/html\r\n" "\r\n"}
   };
 
   int ntests = sizeof(tests) / sizeof(tests[0]);
@@ -1292,22 +1248,6 @@ HdrTest::test_http()
       "Host: people.netscape.com\r\n" "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*\r\n" "\r\n"
   };
 
-  static const char request2[] = {
-    "GET ftp://cust read:Rcus 01#@update.sym antec.com/foo bar/blah HTTP/1.0\r\n" "Cache-Control: max-age=1234,private=\"foo\", community=\"UCI\"\r\n" "Connection: keep-alive\r\n" "Pragma: no-cache\r\n" "Accept:  image/gif;\r\n"    // NOTE: continuation lines below
-    "         q=0.1, image/x-xbitmap,\r\n"
-      "         image/jpeg, image/pjpeg, */*\r\n"
-      "Referer: foobar\r\n"
-      "Host: xach.dorknet.com\r\n"
-      "If-Modified-Since: Wed, 30 Jul 1997 00:07:30 GMT\r\n"
-      ": empty header field\r\n"
-      "Cokie: foo; bar, argh\r\n"
-      "coKie: bar, foo; argh\r\n"
-      "Bazz: foo\r\n"
-      "Baz: foo bar\r\n"
-      "User-Agent: Mozilla/3.01 (X11; I; Linux 2.0.30 i586)\r\n"
-      "User-Agent: Mozilla/3.01 (X11; I; SunOS 5.5.1 i86pc)\r\n" "\r\n"
-  };
-
   static const char request_no_colon[] = {
     "GET http://people.netscape.com/jwz/hacks-1.gif HTTP/1.0\r\n"
       "If-Modified-Since Wednesday, 26-Feb-97 06:58:17 GMT; length=842\r\n"
@@ -1409,29 +1349,6 @@ HdrTest::test_http()
       "Date: Tuesday, 08-Dec-98 20:32:17 GMT\r\n" "Content-Type: text/html\r\n" "\r\n"
   };
 
-  static const char response2[] = {
-    "HTTP/1.0 200 OK\r\n"
-      "Date: 6 Nov 1994 08:49:37 GMT\r\n"
-      "Content-Length: 10307\r\n"
-      "X-ETag: \"10\"\r\n"
-      "Cache-Control: private, no-cache\r\n"
-      "Pragma: no-cache\r\n" "X-Xact: 26877940.1896887846:2147483643\r\n" "Connection: close\r\n" "\r\n"
-  };
-
-  static const char response_lf[] = {
-    "HTTP/1.0 200 OK\n"
-      "X-Content-Length: 10307\n"
-      "X-Cache-Control: private, no-cache\n"
-      "X-Pragma: no-cache\n" "X-Xact: 26877940.1896887846:2147483643\n" "X-Connection: close\n" "\n"
-  };
-
-  static const char response_lflf[] = {
-    "HTTP/1.0 200 OK\n\n"
-      "X-Content-Length: 10307\n\n"
-      "X-Cache-Control: private, no-cache\n\n"
-      "X-Pragma: no-cache\n\n" "X-Xact: 26877940.1896887846:2147483643\n\n" "X-Connection: close\n\n" "\n\n"
-  };
-
   static const char response_no_colon[] = {
     "HTTP/1.0 200 OK\r\n"
       "Server Netscape-Communications/1.12\r\n"
@@ -1461,9 +1378,6 @@ HdrTest::test_http()
   status = status & test_http_aux(request0, response0);
   status = status & test_http_aux(request09, response09);
   status = status & test_http_aux(request1, response1);
-  status = status & test_http_aux(request2, response2);
-  status = status & test_http_aux(request2, response_lf);
-  status = status & test_http_aux(request2, response_lflf);
   status = status & test_http_aux(request_no_colon, response_no_colon);
   status = status & test_http_aux(request_no_val, response_no_colon);
   status = status & test_http_aux(request_leading_space, response0);

Modified: incubator/trafficserver/traffic/trunk/proxy/hdrs/URL.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/hdrs/URL.cc?rev=939548&r1=939547&r2=939548&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/hdrs/URL.cc (original)
+++ incubator/trafficserver/traffic/trunk/proxy/hdrs/URL.cc Fri Apr 30 03:14:19 2010
@@ -378,8 +378,6 @@ url_scheme_set(HdrHeap * heap, URLImpl *
 
   if (scheme_wks == URL_SCHEME_HTTP)
     url->m_url_type = URL_TYPE_HTTP;
-  else if (scheme_wks == URL_SCHEME_FTP)
-    url->m_url_type = URL_TYPE_FTP;
   else if (scheme_wks == URL_SCHEME_MMS)
     url->m_url_type = URL_TYPE_MMS;
   else if (scheme_wks == URL_SCHEME_MMSU)
@@ -799,19 +797,14 @@ url_length_get(URLImpl * url)
   else
     length += 1;                // +1 for /
 
-  if (url->m_url_type == URL_TYPE_FTP) {
-    if (url->m_type_code)
-      length += 7;              // +7 for ";type=?"
-  } else {
-    if (url->m_ptr_params)
-      length += url->m_len_params + 1;  // +1 for ";"
+  if (url->m_ptr_params)
+    length += url->m_len_params + 1;  // +1 for ";"
 
-    if (url->m_ptr_query)
-      length += url->m_len_query + 1;   // +1 for "?"
+  if (url->m_ptr_query)
+    length += url->m_len_query + 1;   // +1 for "?"
 
-    if (url->m_ptr_fragment)
-      length += url->m_len_fragment + 1;        // +1 for "/"
-  }
+  if (url->m_ptr_fragment)
+    length += url->m_len_fragment + 1;        // +1 for "/"
 
   return (length);
 }
@@ -874,30 +867,22 @@ url_to_string(URLImpl * url, Arena * are
   memcpy(&str[idx], url->m_ptr_path, url->m_len_path);
   idx += url->m_len_path;
 
-  if (url->m_url_type == URL_TYPE_FTP) {
-    if (url->m_type_code) {
-      memcpy(&str[idx], ";type=", 6);
-      idx += 6;
-      str[idx++] = url->m_type_code;
-    }
-  } else {
-    if (url->m_ptr_params) {
-      str[idx++] = ';';
-      memcpy(&str[idx], url->m_ptr_params, url->m_len_params);
-      idx += url->m_len_params;
-    }
-
-    if (url->m_ptr_query) {
-      str[idx++] = '?';
-      memcpy(&str[idx], url->m_ptr_query, url->m_len_query);
-      idx += url->m_len_query;
-    }
-
-    if (url->m_ptr_fragment) {
-      str[idx++] = '#';
-      memcpy(&str[idx], url->m_ptr_fragment, url->m_len_fragment);
-      idx += url->m_len_fragment;
-    }
+  if (url->m_ptr_params) {
+    str[idx++] = ';';
+    memcpy(&str[idx], url->m_ptr_params, url->m_len_params);
+    idx += url->m_len_params;
+  }
+
+  if (url->m_ptr_query) {
+    str[idx++] = '?';
+    memcpy(&str[idx], url->m_ptr_query, url->m_len_query);
+    idx += url->m_len_query;
+  }
+
+  if (url->m_ptr_fragment) {
+    str[idx++] = '#';
+    memcpy(&str[idx], url->m_ptr_fragment, url->m_len_fragment);
+    idx += url->m_len_fragment;
   }
 
   str[idx++] = '\0';
@@ -1145,10 +1130,7 @@ skip_ws:
   url_scheme_set(heap, url, scheme_start, scheme_wks_idx, scheme_end - scheme_start, copy_strings);
 
   *start = scheme_end;
-  if (scheme_wks == URL_SCHEME_FTP)
-    return url_parse_ftp(heap, url, start, end, copy_strings);
-  else
-    return url_parse_http(heap, url, start, end, copy_strings);
+  return url_parse_http(heap, url, start, end, copy_strings);
 
 done:
   *start = scheme_start;
@@ -1223,10 +1205,7 @@ skip_ws:
   url_scheme_set(heap, url, scheme_start, scheme_wks_idx, scheme_end - scheme_start, copy_strings);
 
   *start = scheme_end;
-  if (scheme_wks == URL_SCHEME_FTP)
-    return url_parse_ftp(heap, url, start, end, copy_strings);
-  else
-    return url_parse_http_no_path_component_breakdown(heap, url, start, end, copy_strings);
+  return url_parse_http_no_path_component_breakdown(heap, url, start, end, copy_strings);
 
 done:
   *start = scheme_start;
@@ -1417,72 +1396,6 @@ eof:
 /*-------------------------------------------------------------------------
   -------------------------------------------------------------------------*/
 
-MIMEParseResult
-url_parse_ftp(HdrHeap * heap, URLImpl * url, const char **start, const char *end, bool copy_strings)
-{
-  MIMEParseResult err;
-  const char *cur;
-  const char *path_start = NULL;
-  const char *path_end = NULL;
-  char typecode = 0;
-
-  err = url_parse_internet(heap, url, start, end, copy_strings);
-  if (err < 0)
-    return err;
-
-  cur = *start;
-  if (*start == end)
-    goto done;
-
-  path_start = cur;
-parse_path2:
-  if (*cur == ';') {
-    path_end = cur;
-    GETNEXT(done);
-    goto parse_type1;
-  }
-  GETNEXT(done);
-  goto parse_path2;
-
-parse_type1:
-  if (*cur != 't')
-    goto error;
-  GETNEXT(error);
-  if (*cur != 'y')
-    goto error;
-  GETNEXT(error);
-  if (*cur != 'p')
-    goto error;
-  GETNEXT(error);
-  if (*cur != 'e')
-    goto error;
-  GETNEXT(error);
-  if (*cur != '=')
-    goto error;
-  GETNEXT(error);
-  if ((cur + 1) != end)
-    goto error;
-  typecode = *cur;
-
-done:
-  if (path_start) {
-    if (!path_end)
-      path_end = cur;
-    url_path_set(heap, url, path_start, path_end - path_start, copy_strings);
-  }
-  if (typecode)
-    url_type_set(url, typecode);
-
-  *start = cur;
-  return PARSE_DONE;
-
-error:
-  return PARSE_ERROR;
-}
-
-/*-------------------------------------------------------------------------
-  -------------------------------------------------------------------------*/
-
 // empties params/query/fragment component
 
 MIMEParseResult
@@ -1641,7 +1554,7 @@ url_print(URLImpl * url, char *buf_start
       ((url->m_len_scheme + url->m_len_user + url->m_len_host
         + url->m_len_params + url->m_len_query + url->m_len_fragment
         + *buf_chars_to_skip_inout) == 0) &&
-      (url->m_url_type != URL_TYPE_FTP) && (1 + url->m_len_path < buf_length - *buf_index_inout)) {
+      (1 + url->m_len_path < buf_length - *buf_index_inout)) {
 
     char *p = buf_start + *buf_index_inout;
     *p++ = '/';
@@ -1689,30 +1602,22 @@ url_print(URLImpl * url, char *buf_start
                        buf_length, buf_index_inout, buf_chars_to_skip_inout));
   }
 
-  if (url->m_url_type == URL_TYPE_FTP) {
-    if (url->m_type_code) {
-      char c = (char) url->m_type_code;
-      TRY(mime_mem_print(";type=", 6, buf_start, buf_length, buf_index_inout, buf_chars_to_skip_inout));
-      TRY(mime_mem_print(&c, 1, buf_start, buf_length, buf_index_inout, buf_chars_to_skip_inout));
-    }
-  } else {
-    if (url->m_ptr_params) {
-      TRY(mime_mem_print(";", 1, buf_start, buf_length, buf_index_inout, buf_chars_to_skip_inout));
-      TRY(mime_mem_print(url->m_ptr_params, url->m_len_params,
-                         buf_start, buf_length, buf_index_inout, buf_chars_to_skip_inout));
-    }
+  if (url->m_ptr_params) {
+    TRY(mime_mem_print(";", 1, buf_start, buf_length, buf_index_inout, buf_chars_to_skip_inout));
+    TRY(mime_mem_print(url->m_ptr_params, url->m_len_params,
+                       buf_start, buf_length, buf_index_inout, buf_chars_to_skip_inout));
+  }
 
-    if (url->m_ptr_query) {
-      TRY(mime_mem_print("?", 1, buf_start, buf_length, buf_index_inout, buf_chars_to_skip_inout));
-      TRY(mime_mem_print(url->m_ptr_query, url->m_len_query,
-                         buf_start, buf_length, buf_index_inout, buf_chars_to_skip_inout));
-    }
+  if (url->m_ptr_query) {
+    TRY(mime_mem_print("?", 1, buf_start, buf_length, buf_index_inout, buf_chars_to_skip_inout));
+    TRY(mime_mem_print(url->m_ptr_query, url->m_len_query,
+                       buf_start, buf_length, buf_index_inout, buf_chars_to_skip_inout));
+  }
 
-    if (url->m_ptr_fragment) {
-      TRY(mime_mem_print("#", 1, buf_start, buf_length, buf_index_inout, buf_chars_to_skip_inout));
-      TRY(mime_mem_print(url->m_ptr_fragment, url->m_len_fragment,
-                         buf_start, buf_length, buf_index_inout, buf_chars_to_skip_inout));
-    }
+  if (url->m_ptr_fragment) {
+    TRY(mime_mem_print("#", 1, buf_start, buf_length, buf_index_inout, buf_chars_to_skip_inout));
+    TRY(mime_mem_print(url->m_ptr_fragment, url->m_len_fragment,
+                       buf_start, buf_length, buf_index_inout, buf_chars_to_skip_inout));
   }
 
   return (1);
@@ -1827,7 +1732,6 @@ url_MD5_get_general(URLImpl * url, INK_M
 
   char buffer[BUFSIZE];
   char *p, *e;
-  char tmpbuf[2];
   const char *strs[13], *ends[13];
   const char *t;
   inku16 port;
@@ -1853,27 +1757,14 @@ url_MD5_get_general(URLImpl * url, INK_M
   ends[7] = strs[7] + 1;
   ends[8] = strs[8] + url->m_len_path;
 
-  if (url->m_url_type == URL_TYPE_FTP) {
-    tmpbuf[0] = (char) (url->m_type_code);
-    tmpbuf[1] = '\0';
-    strs[9] = ";type=";
-    strs[10] = tmpbuf;
-    strs[11] = NULL;
-    strs[12] = NULL;
-    ends[9] = strs[9] + 6;
-    ends[10] = strs[10] + 1;
-    ends[11] = NULL;
-    ends[12] = NULL;
-  } else {
-    strs[9] = ";";
-    strs[10] = url->m_ptr_params;
-    strs[11] = "?";
-    strs[12] = url->m_ptr_query;
-    ends[9] = strs[9] + 1;
-    ends[10] = strs[10] + url->m_len_params;
-    ends[11] = strs[11] + 1;
-    ends[12] = strs[12] + url->m_len_query;
-  }
+  strs[9] = ";";
+  strs[10] = url->m_ptr_params;
+  strs[11] = "?";
+  strs[12] = url->m_ptr_query;
+  ends[9] = strs[9] + 1;
+  ends[10] = strs[10] + url->m_len_params;
+  ends[11] = strs[11] + 1;
+  ends[12] = strs[12] + url->m_len_query;
 
   p = buffer;
   e = buffer + BUFSIZE;

Modified: incubator/trafficserver/traffic/trunk/proxy/hdrs/URL.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/hdrs/URL.h?rev=939548&r1=939547&r2=939548&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/hdrs/URL.h (original)
+++ incubator/trafficserver/traffic/trunk/proxy/hdrs/URL.h Fri Apr 30 03:14:19 2010
@@ -37,7 +37,6 @@ enum URLType
   URL_TYPE_NONE,
   URL_TYPE_HTTP,
   URL_TYPE_HTTPS,
-  URL_TYPE_FTP,
   URL_TYPE_MMS,
   URL_TYPE_MMSU,
   URL_TYPE_MMST,
@@ -74,7 +73,7 @@ struct URLImpl:public HdrHeapObjImpl
   // Tokenized values
   ink16 m_scheme_wks_idx;
   inku16 m_port;
-  inku8 m_url_type;             // e.g. FTP or HTTP
+  inku8 m_url_type;             // e.g. HTTP
   inku8 m_type_code;            // RFC 1738 limits type code to 1 char
   // 6 bytes
 
@@ -191,10 +190,9 @@ void url_password_set(HdrHeap * heap, UR
 void url_host_set(HdrHeap * heap, URLImpl * url, const char *value, int length, bool copy_string);
 void url_port_set(HdrHeap * heap, URLImpl * url, unsigned int port);
 
-/* FTP and HTTP specific */
+/* HTTP specific */
 void url_path_set(HdrHeap * heap, URLImpl * url, const char *value, int length, bool copy_string);
 
-/* FTP specific */
 void url_type_set(URLImpl * url, unsigned int type);
 
 /* HTTP specific */
@@ -207,7 +205,6 @@ MIMEParseResult url_parse_no_path_compon
                                                       const char **start, const char *end, bool copy_strings);
 MIMEParseResult url_parse_internet(HdrHeap * heap, URLImpl * url,
                                    const char **start, const char *end, bool copy_strings);
-MIMEParseResult url_parse_ftp(HdrHeap * heap, URLImpl * url, const char **start, const char *end, bool copy_strings);
 MIMEParseResult url_parse_http(HdrHeap * heap, URLImpl * url, const char **start, const char *end, bool copy_strings);
 MIMEParseResult url_parse_http_no_path_component_breakdown(HdrHeap * heap, URLImpl * url,
                                                            const char **start, const char *end, bool copy_strings);
@@ -220,8 +217,6 @@ url_canonicalize_port(int type, int port
   if (port == 0) {
     if (type == URL_TYPE_HTTP)
       port = 80;
-    else if (type == URL_TYPE_FTP)
-      port = 21;
     else if (type == URL_TYPE_HTTPS)
       port = 443;
     else if (type == URL_TYPE_MMS || type == URL_TYPE_MMSU || type == URL_TYPE_MMST)

Modified: incubator/trafficserver/traffic/trunk/proxy/hdrs/test_header.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/hdrs/test_header.cc?rev=939548&r1=939547&r2=939548&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/hdrs/test_header.cc (original)
+++ incubator/trafficserver/traffic/trunk/proxy/hdrs/test_header.cc Fri Apr 30 03:14:19 2010
@@ -243,9 +243,6 @@ test_url()
     "http://foo:bar@some.place",
     "http://foo:bar@some.place/",
 
-    "ftp://some.place/path",
-    "ftp://some.place/path;type=c",
-
     "pnm://foo:bar@some.place:80/path;params?query#fragment",
     "rtsp://foo:bar@some.place:80/path;params?query#fragment",
     "rtspu://foo:bar@some.place:80/path;params?query#fragment",
@@ -645,22 +642,6 @@ test_http()
       "Host: people.netscape.com\r\n" "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*\r\n" "\r\n"
   };
 
-  static const char request2[] = {
-    "GET ftp://cust read:Rcus 01#@update.sym antec.com/foo bar/blah HTTP/1.0\r\n" "Cache-Control: max-age=1234,private=\"foo\", community=\"UCI\"\r\n" "Connection: keep-alive\r\n" "Pragma: no-cache\r\n" "Accept:  image/gif;\r\n"    // NOTE: continuation lines below
-    "         q=0.1, image/x-xbitmap,\r\n"
-      "         image/jpeg, image/pjpeg, */*\r\n"
-      "Referer: foobar\r\n"
-      "Host: xach.dorknet.com\r\n"
-      "If-Modified-Since: Wed, 30 Jul 1997 00:07:30 GMT\r\n"
-      ": empty header field\r\n"
-      "Cokie: foo; bar, argh\r\n"
-      "coKie: bar, foo; argh\r\n"
-      "Bazz: foo\r\n"
-      "Baz: foo bar\r\n"
-      "User-Agent: Mozilla/3.01 (X11; I; Linux 2.0.30 i586)\r\n"
-      "User-Agent: Mozilla/3.01 (X11; I; SunOS 5.5.1 i86pc)\r\n" "\r\n"
-  };
-
   static const char request_no_colon[] = {
     "GET http://people.netscape.com/jwz/hacks-1.gif HTTP/1.0\r\n"
       "If-Modified-Since Wednesday, 26-Feb-97 06:58:17 GMT; length=842\r\n"
@@ -762,29 +743,6 @@ test_http()
       "Date: Tuesday, 08-Dec-98 20:32:17 GMT\r\n" "Content-Type: text/html\r\n" "\r\n"
   };
 
-  static const char response2[] = {
-    "HTTP/1.0 200 OK\r\n"
-      "Date: 6 Nov 1994 08:49:37 GMT\r\n"
-      "Content-Length: 10307\r\n"
-      "X-ETag: \"10\"\r\n"
-      "Cache-Control: private, no-cache\r\n"
-      "Pragma: no-cache\r\n" "X-Xact: 26877940.1896887846:2147483643\r\n" "Connection: close\r\n" "\r\n"
-  };
-
-  static const char response_lf[] = {
-    "HTTP/1.0 200 OK\n"
-      "X-Content-Length: 10307\n"
-      "X-Cache-Control: private, no-cache\n"
-      "X-Pragma: no-cache\n" "X-Xact: 26877940.1896887846:2147483643\n" "X-Connection: close\n" "\n"
-  };
-
-  static const char response_lflf[] = {
-    "HTTP/1.0 200 OK\n\n"
-      "X-Content-Length: 10307\n\n"
-      "X-Cache-Control: private, no-cache\n\n"
-      "X-Pragma: no-cache\n\n" "X-Xact: 26877940.1896887846:2147483643\n\n" "X-Connection: close\n\n" "\n\n"
-  };
-
   static const char response_no_colon[] = {
     "HTTP/1.0 200 OK\r\n"
       "Server Netscape-Communications/1.12\r\n"
@@ -816,9 +774,6 @@ test_http()
   test_http_aux(request0, response0);
   test_http_aux(request09, response09);
   test_http_aux(request1, response1);
-  test_http_aux(request2, response2);
-  test_http_aux(request2, response_lf);
-  test_http_aux(request2, response_lflf);
   test_http_aux(request_no_colon, response_no_colon);
   test_http_aux(request_no_val, response_no_colon);
   test_http_aux(request_leading_space, response0);

Modified: incubator/trafficserver/traffic/trunk/proxy/http2/HttpConfig.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/http2/HttpConfig.cc?rev=939548&r1=939547&r2=939548&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/http2/HttpConfig.cc (original)
+++ incubator/trafficserver/traffic/trunk/proxy/http2/HttpConfig.cc Fri Apr 30 03:14:19 2010
@@ -468,18 +468,6 @@ register_stat_callbacks()
                      RECD_INT, RECP_NULL, (int) http_server_raw_transaction_time_stat, RecRawStatSyncSum);
 
   RecRegisterRawStat(http_rsb, RECT_PROCESS,
-                     "proxy.process.ftp.cache_lookups",
-                     RECD_COUNTER, RECP_NULL, (int) ftp_cache_lookups_stat, RecRawStatSyncCount);
-
-  RecRegisterRawStat(http_rsb, RECT_PROCESS,
-                     "proxy.process.ftp.cache_hits",
-                     RECD_COUNTER, RECP_NULL, (int) ftp_cache_hits_stat, RecRawStatSyncCount);
-
-  RecRegisterRawStat(http_rsb, RECT_PROCESS,
-                     "proxy.process.ftp.cache_misses",
-                     RECD_COUNTER, RECP_NULL, (int) ftp_cache_misses_stat, RecRawStatSyncCount);
-
-  RecRegisterRawStat(http_rsb, RECT_PROCESS,
                      "proxy.process.http.user_agent_request_header_total_size",
                      RECD_INT, RECP_NULL, (int) http_user_agent_request_header_total_size_stat, RecRawStatSyncSum);
 
@@ -1048,8 +1036,6 @@ HttpConfig::startup()
   HttpEstablishStaticConfigStringAlloc(c.proxy_response_via_string, "proxy.config.http.response_via_str");
   c.proxy_response_via_string_len = -1;
 
-  HttpEstablishStaticConfigLongLong(c.ftp_enabled, "proxy.config.http.ftp_enabled");
-
   HttpEstablishStaticConfigLongLong(c.wuts_enabled, "proxy.config.http.wuts_enabled");
   HttpEstablishStaticConfigLongLong(c.log_spider_codes, "proxy.config.http.log_spider_codes");
 
@@ -1175,7 +1161,6 @@ HttpConfig::startup()
   HttpEstablishStaticConfigLongLong(c.cache_open_write_retry_time, "proxy.config.http.cache.open_write_retry_time");
 
   HttpEstablishStaticConfigLongLong(c.cache_http, "proxy.config.http.cache.http");
-  HttpEstablishStaticConfigLongLong(c.cache_ftp, "proxy.config.http.cache.ftp");
   HttpEstablishStaticConfigLongLong(c.cache_ignore_client_no_cache, "proxy.config.http.cache.ignore_client_no_cache");
   HttpEstablishStaticConfigLongLong(c.cache_ignore_client_cc_max_age,
                                     "proxy.config.http.cache.ignore_client_cc_max_age");
@@ -1211,12 +1196,6 @@ HttpConfig::startup()
 
   HttpEstablishStaticConfigLongLong(c.push_method_enabled, "proxy.config.http.push_method_enabled");
 
-  HttpEstablishStaticConfigStringAlloc(c.ftp_anonymous_passwd, "proxy.config.http.ftp.anonymous_passwd");
-
-  HttpEstablishStaticConfigLongLong(c.cache_ftp_document_lifetime, "proxy.config.http.ftp.cache.document_lifetime");
-
-  HttpEstablishStaticConfigLongLong(c.ftp_binary_transfer_only, "proxy.config.http.ftp.binary_transfer_only");
-
   HttpEstablishStaticConfigLongLong(c.reverse_proxy_enabled, "proxy.config.reverse_proxy.enabled");
   HttpEstablishStaticConfigLongLong(c.url_remap_required, "proxy.config.url_remap.remap_required");
 
@@ -1412,7 +1391,6 @@ HttpConfig::reconfigure()
   params->proxy_response_via_string_len =
     (params->proxy_response_via_string) ? (strlen(params->proxy_response_via_string)) : (0);
 
-  params->ftp_enabled = INT_TO_BOOL(m_master.ftp_enabled);
   params->wuts_enabled = INT_TO_BOOL(m_master.wuts_enabled);
   params->log_spider_codes = INT_TO_BOOL(m_master.log_spider_codes);
 
@@ -1511,7 +1489,6 @@ HttpConfig::reconfigure()
   params->cache_open_write_retry_time = m_master.cache_open_write_retry_time;
 
   params->cache_http = INT_TO_BOOL(m_master.cache_http);
-  params->cache_ftp = INT_TO_BOOL(m_master.cache_ftp);
   params->cache_ignore_client_no_cache = INT_TO_BOOL(m_master.cache_ignore_client_no_cache);
   params->cache_ignore_client_cc_max_age = INT_TO_BOOL(m_master.cache_ignore_client_cc_max_age);
   params->cache_ims_on_client_no_cache = INT_TO_BOOL(m_master.cache_ims_on_client_no_cache);
@@ -1539,10 +1516,6 @@ HttpConfig::reconfigure()
   params->response_hdr_max_size = m_master.response_hdr_max_size;
   params->push_method_enabled = m_master.push_method_enabled;
 
-  params->ftp_anonymous_passwd = xstrdup(m_master.ftp_anonymous_passwd);
-  params->cache_ftp_document_lifetime = m_master.cache_ftp_document_lifetime;
-  params->ftp_binary_transfer_only = m_master.ftp_binary_transfer_only;
-
   params->reverse_proxy_enabled = INT_TO_BOOL(m_master.reverse_proxy_enabled);
   params->url_remap_required = INT_TO_BOOL(m_master.url_remap_required);
   params->errors_log_error_pages = INT_TO_BOOL(m_master.errors_log_error_pages);

Modified: incubator/trafficserver/traffic/trunk/proxy/http2/HttpConfig.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/http2/HttpConfig.h?rev=939548&r1=939547&r2=939548&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/http2/HttpConfig.h (original)
+++ incubator/trafficserver/traffic/trunk/proxy/http2/HttpConfig.h Fri Apr 30 03:14:19 2010
@@ -288,12 +288,6 @@ enum
   http_server_transaction_time_stat,
   http_server_raw_transaction_time_stat,
 
-  // Ftp stats
-
-  ftp_cache_lookups_stat,
-  ftp_cache_hits_stat,
-  ftp_cache_misses_stat,
-
   // Http cache errors
   http_cache_write_errors,
   http_cache_read_errors,
@@ -433,10 +427,6 @@ public:
   char *proxy_response_via_string;
   int proxy_response_via_string_len;
 
-  /////////////
-  // schemes //
-  /////////////
-  MgmtInt ftp_enabled;
   //////////////////
   // WUTS headers //
   //////////////////
@@ -568,7 +558,6 @@ public:
   // cache control //
   ///////////////////
   MgmtInt cache_http;
-  MgmtInt cache_ftp;
   MgmtInt cache_ignore_client_no_cache;
   MgmtInt cache_ignore_client_cc_max_age;
   MgmtInt cache_ims_on_client_no_cache;
@@ -599,13 +588,6 @@ public:
   //////////
   MgmtInt push_method_enabled;
 
-  /////////
-  // Ftp //
-  /////////
-  char *ftp_anonymous_passwd;
-  MgmtInt cache_ftp_document_lifetime;
-  MgmtInt ftp_binary_transfer_only;
-
 
   ////////////////////////////
   // HTTP Referer filtering //
@@ -874,7 +856,6 @@ proxy_request_via_string(0),
 proxy_request_via_string_len(0),
 proxy_response_via_string(0),
 proxy_response_via_string_len(0),
-ftp_enabled(false),
 wuts_enabled(false),
 log_spider_codes(false),
 url_expansions_string(0),
@@ -947,7 +928,6 @@ cache_open_read_retry_time(0),
 max_cache_open_write_retries(0),
 cache_open_write_retry_time(0),
 cache_http(false),
-cache_ftp(false),
 cache_ignore_client_no_cache(false),
 cache_ignore_client_cc_max_age(true),
 cache_ims_on_client_no_cache(false),
@@ -964,9 +944,6 @@ ssl_ports(0),
 request_hdr_max_size(0),
 response_hdr_max_size(0),
 push_method_enabled(0),
-ftp_anonymous_passwd(0),
-cache_ftp_document_lifetime(0),
-ftp_binary_transfer_only(0),
 referer_filter_enabled(0),
 referer_format_redirect(0),
 accept_encoding_filter_enabled(0),
@@ -1031,7 +1008,6 @@ HttpConfigParams()
   xfree(cache_vary_default_images);
   xfree(cache_vary_default_other);
   xfree(ssl_ports_string);
-  xfree(ftp_anonymous_passwd);
   xfree(reverse_proxy_no_host_redirect);
 
   if (ssl_ports) {

Modified: incubator/trafficserver/traffic/trunk/proxy/http2/HttpDebugNames.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/http2/HttpDebugNames.cc?rev=939548&r1=939547&r2=939548&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/http2/HttpDebugNames.cc (original)
+++ incubator/trafficserver/traffic/trunk/proxy/http2/HttpDebugNames.cc Fri Apr 30 03:14:19 2010
@@ -24,7 +24,6 @@
 #include "ink_unused.h"        /* MAGIC_EDITING_TAG */
 #include "HttpDebugNames.h"
 #include "P_EventSystem.h"
-//#include "Ftp.h"
 #include "StatPages.h"
 #include "HttpTunnel.h"
 #include "Transform.h"
@@ -49,8 +48,6 @@ HttpDebugNames::get_server_state_name(Ht
     return "CONNECTION_CLOSED";
   case HttpTransact::CONNECTION_ERROR:
     return "CONNECTION_ERROR";
-  case HttpTransact::FTP_OPEN_FAILED:
-    return "FTP_OPEN_FAILED";
   case HttpTransact::INACTIVE_TIMEOUT:
     return "INACTIVE_TIMEOUT";
   case HttpTransact::OPEN_RAW_ERROR:
@@ -174,17 +171,6 @@ HttpDebugNames::get_event_name(int event
     return ("DNS_EVENT_LOOKUP");
 
     ////////////////////
-    // FTP     EVENTS //
-    ////////////////////
-/*
-  case FTP_EVENT_OPEN:
-    return ("FTP_EVENT_OPEN");
-  case FTP_EVENT_ACCEPT:
-    return ("FTP_EVENT_ACCEPT");
-  case FTP_EVENT_OPEN_FAILED:
-    return ("FTP_EVENT_OPEN_FAILED");
-*/
-    ////////////////////
     // CACHE   EVENTS //
     ////////////////////
 
@@ -299,18 +285,6 @@ HttpDebugNames::get_action_name(HttpTran
   case HttpTransact::REVERSE_DNS_LOOKUP:
     return ("REVERSE_DNS_LOOKUP");
 
-  case HttpTransact::FTP_SERVER_OPEN:
-    return ("FTP_SERVER_OPEN");
-
-  case HttpTransact::FTP_READ:
-    return ("FTP_READ");
-
-  case HttpTransact::FTP_WRITE_CACHE_DELETE:
-    return ("FTP_WRITE_CACHE_DELETE");
-
-  case HttpTransact::FTP_WRITE_CACHE_NOOP:
-    return ("FTP_WRITE_CACHE_NOOP");
-
   case HttpTransact::ICP_QUERY:
     return ("ICP_QUERY");
 

Modified: incubator/trafficserver/traffic/trunk/proxy/http2/HttpSM.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/http2/HttpSM.cc?rev=939548&r1=939547&r2=939548&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/http2/HttpSM.cc (original)
+++ incubator/trafficserver/traffic/trunk/proxy/http2/HttpSM.cc Fri Apr 30 03:14:19 2010
@@ -33,7 +33,6 @@
 #include "StatPages.h"
 #include "Log.h"
 #include "LogAccessHttp.h"
-//#include "Ftp.h"
 #include "ICP.h"
 #include "PluginVC.h"
 #include "ReverseProxy.h"
@@ -265,15 +264,11 @@ HttpVCTable::cleanup_entry(HttpVCTableEn
     default:
       // This covers:
       // HTTP_UNKNOWN, HTTP_SERVER_VC, HTTP_TRANSFORM_VC, HTTP_CACHE_READ_VC,
-      // HTTP_CACHE_WRITE_VC, HTTP_RAW_SERVER_VC, HTTP_FTP_VC
+      // HTTP_CACHE_WRITE_VC, HTTP_RAW_SERVER_VC
       break;
     }
 
-    // The vc in our table  is the data vc and should not
-    // be closed out from under the FtpVConnection
-    if (e->vc_type != HTTP_FTP_VC) {
-      e->vc->do_io_close();
-    }
+    e->vc->do_io_close();
     e->vc = NULL;
   }
   remove_entry(e);
@@ -338,7 +333,7 @@ plugin_tunnel(NULL), reentrancy_count(0)
 history_pos(0), tunnel(), ua_entry(NULL),
 ua_session(NULL), background_fill(BACKGROUND_FILL_NONE),
 server_entry(NULL), server_session(NULL), shared_session_retries(0),
-server_buffer_reader(NULL), //ftp_session(NULL),
+server_buffer_reader(NULL),
 transform_info(), post_transform_info(), second_cache_sm(NULL),
 default_handler(NULL), pending_action(NULL), historical_action(NULL),
 last_action(HttpTransact::STATE_MACHINE_ACTION_UNDEFINED),
@@ -731,7 +726,6 @@ HttpSM::state_read_client_request_header
   ink_assert(ua_entry->read_vio == (VIO *) data);
   ink_assert(server_entry == NULL);
   ink_assert(server_session == NULL);
-  //ink_assert(ftp_session == NULL);
 
   int bytes_used = 0;
   int return_val = EVENT_CONT;
@@ -1179,113 +1173,6 @@ HttpSM::state_raw_http_server_open(int e
 
 }
 
-//////////////////////////////////////////////////////////////////////////
-//
-//  HttpSM:state_ftp_server_open()
-//
-//  ftp processor is calling back the state machine. Possible events are
-//  FTP_EVENT_OPEN and FTP_EVENT_OPEN_FAILED. If the event is FTP_EVENT_OPEN
-//  the data field is an instance of FtpVConnection.
-//////////////////////////////////////////////////////////////////////////
-int
-HttpSM::state_ftp_server_open(int event, void *data)
-{
-/*
-  STATE_ENTER(&HttpSM::state_ftp_server_open, event);
-
-  NetVConnection *data_vc = NULL;
-  ink_assert(ftp_session == NULL);
-  // REQ_FLAVOR_SCHEDULED_UPDATE can be transformed in REQ_FLAVOR_REVPROXY
-  ink_assert(ua_entry != NULL
-             || t_state.req_flavor == HttpTransact::REQ_FLAVOR_SCHEDULED_UPDATE
-             || t_state.req_flavor == HttpTransact::REQ_FLAVOR_REVPROXY);
-  pending_action = NULL;
-  // milestones.server_connect_end = ink_get_hrtime();
-
-  switch (event) {
-  case FTP_EVENT_OPEN:
-    Debug("http", "[%lld] Ftp says FTP_EVENT_OPEN", sm_id);
-
-    ftp_session = (FtpVConnection *) data;
-    data_vc = ftp_session->get_data_vconnection();
-
-    // Record the data VC in our table
-    server_entry = vc_table.new_entry();
-    server_entry->vc = data_vc;
-    server_entry->vc_type = HTTP_FTP_VC;
-
-    // We don't want the datavc closed out from
-    //  under the ftp vc since this leads to
-    //  badness
-    server_entry->in_tunnel = true;
-
-    ink_assert(server_entry->vc != NULL);
-
-    ///////////////////////////////////////
-    // set active and inactivity timeout //
-    ///////////////////////////////////////
-    data_vc->set_inactivity_timeout(HRTIME_SECONDS(t_state.http_config_param->transaction_no_activity_timeout_out));
-    data_vc->set_active_timeout(HRTIME_SECONDS(t_state.http_config_param->transaction_active_timeout_out));
-    t_state.ftp_info->is_directory = ftp_session->get_is_directory();
-    t_state.ftp_info->last_modified = ftp_session->get_last_modified();
-
-    if (t_state.ftp_info->is_directory) {
-      // this is the intersection of ftp_session, which knows current
-      // directory, and transformProcessor.
-      // our chance to add in absolute path into url
-      txn_hook_prepend(INK_HTTP_RESPONSE_TRANSFORM_HOOK,
-                       transformProcessor.ftp_list_transform(mutex, &t_state.hdr_info.client_request,
-                                                             ftp_session->steal_message_buffer(),
-                                                             ftp_session->get_current_directory()));
-    }
-
-    t_state.ftp_info->last_modified = ftp_session->get_last_modified();
-
-    if ((t_state.ftp_info->content_length = ftp_session->get_file_size()) < 0)
-      t_state.ftp_info->content_length = 0;
-    t_state.current.state = HttpTransact::CONNECTION_ALIVE;
-
-    if (HttpTransact::build_ftp_server_response(&t_state)) {
-      t_state.transact_return_point = HttpTransact::HandleFtpResponse;
-      t_state.api_next_action = HttpTransact::HTTP_API_READ_REPONSE_HDR;
-      do_api_callout();
-      return 0;
-    }
-
-    call_transact_and_set_next_state(HttpTransact::HandleFtpResponse);
-    break;
-
-  case FTP_EVENT_NOT_MODIFIED:
-    // Our document was revalidated with the FTP server
-    Debug("http", "[%lld] Ftp says FTP_EVENT_NOT_MODIFIED", sm_id);
-    t_state.ftp_info->last_modified = *((ink_time_t *) data);
-    call_transact_and_set_next_state(HttpTransact::HandleFtpRevalidate);
-    break;
-
-  case FTP_EVENT_OPEN_FAILED:
-
-    Debug("http", "[%lld] Ftp says FTP_EVENT_OPEN_FAILED. errno = %ld", sm_id, -(long) data);
-    t_state.ftp_info->last_error = ((FtpVConnection *) data)->get_last_error();
-    t_state.ftp_info->last_reply_code = ((FtpVConnection *) data)->get_reply_code();
-
-    Debug("http", "[%lld] Ftp says FTP_EVENT_OPEN_FAILED. errno = %d %d",
-          sm_id, t_state.ftp_info->last_error, ((FtpVConnection *) data)->get_reply_code());
-
-    HttpTransact::SetFtpErrorMessage(&t_state, (((FtpVConnection *) data)->get_message_buffer()));
-
-    t_state.current.state = HttpTransact::FTP_OPEN_FAILED;
-
-    call_transact_and_set_next_state(HttpTransact::HandleFtpResponse);
-    break;
-
-  default:
-    ink_release_assert(0);
-    break;
-  }
-*/
-  ink_release_assert(0);
-  return 0;
-}
 
 // int HttpSM::state_request_wait_for_transform_read(int event, void* data)
 //
@@ -1755,14 +1642,6 @@ HttpSM::handle_api_return()
       tunnel.tunnel_run();
       break;
     }
-  case HttpTransact::FTP_READ:
-    {
-      setup_ftp_transfer();
-      perform_cache_write_action();
-      tunnel.tunnel_run();
-      break;
-    }
-
   case HttpTransact::SERVE_FROM_CACHE:
     {
       setup_cache_read_transfer();
@@ -2708,7 +2587,7 @@ HttpSM::main_handler(int event, void *da
 // void HttpSM::tunnel_handler_post_or_put()
 //
 //   Handles the common cleanup tasks for Http post/put
-//     and ftp put to prevent code duplication
+//   to prevent code duplication
 //
 void
 HttpSM::tunnel_handler_post_or_put(HttpTunnelProducer * p)
@@ -2757,46 +2636,6 @@ HttpSM::tunnel_handler_post_or_put(HttpT
   }
 }
 
-// int HttpSM::tunnel_handler_ftp_put(int event, void* data)
-//
-//    Handles completion of an ftp put tunnel
-//
-int
-HttpSM::tunnel_handler_ftp_put(int event, void *data)
-{
-  STATE_ENTER(&HttpSM::tunnel_handler_ftp_put, event);
-
-  ink_assert(event == HTTP_TUNNEL_EVENT_DONE);
-  ink_assert(data == &tunnel);
-  // The tunnel calls this when it is done
-
-  HttpTunnelProducer *p = tunnel.get_producer(ua_session);
-  int p_handler_state = p->handler_state;
-  tunnel_handler_post_or_put(p);
-
-  switch (p_handler_state) {
-  case HTTP_SM_POST_SERVER_FAIL:
-    // The server broke the connection - send an error message
-    tunnel.deallocate_buffers();
-    tunnel.deallocate_redirect_postdata_buffers();
-    tunnel.reset();
-    ua_entry->in_tunnel = false;
-    server_entry->in_tunnel = false;
-    call_transact_and_set_next_state(HttpTransact::HandleFtpPutFailure);
-    break;
-
-  case HTTP_SM_POST_UA_FAIL:
-    break;
-
-  case HTTP_SM_POST_SUCCESS:
-    // Call transact to generate a PUT response header
-    call_transact_and_set_next_state(HttpTransact::HandleFtpPutSuccess);
-    break;
-  }
-
-  return 0;
-}
-
 // int HttpSM::tunnel_handler_post(int event, void* data)
 //
 //   Handles completion of any http request body tunnel
@@ -3030,44 +2869,34 @@ HttpSM::tunnel_handler_server(int event,
     //  is an abort
     close_connection = true;
     t_state.current.server->state = HttpTransact::TRANSACTION_COMPLETE;
-    if (p->vc_type == HT_HTTP_SERVER) {
-      if (is_http_server_eos_truncation(p)) {
-        Debug("http", "[%lld] [HttpSM::tunnel_handler_server] "
-              "aborting cache writes due to server truncation", sm_id);
-        tunnel.abort_cache_write_finish_others(p);
-        t_state.current.server->abort = HttpTransact::ABORTED;
-        if (t_state.http_config_param->log_spider_codes) {
-          t_state.squid_codes.wuts_proxy_status_code = WUTS_PROXY_STATUS_SPIDER_TIMEOUT_WHILE_DRAINING;
-          t_state.squid_codes.log_code = SQUID_LOG_ERR_SPIDER_TIMEOUT_WHILE_DRAINING;
-          t_state.squid_codes.hier_code = SQUID_HIER_TIMEOUT_DIRECT;
-        }
-      } else {
-        p->read_success = true;
-        t_state.current.server->abort = HttpTransact::DIDNOT_ABORT;
-        // Appending reason to a response without Content-Length will result in
-        // the reason string being written to the client and a bad CL when reading from cache.
-        // I didn't find anywhere this appended reason is being used, so commenting it out.
-        /*
-           if (t_state.negative_caching && p->bytes_read == 0) {
-           int reason_len;
-           const char *reason = t_state.hdr_info.server_response.reason_get(&reason_len);
-           if (reason == NULL)
-           tunnel.append_message_to_producer_buffer(p, "Negative Response", sizeof("Negative Response") - 1);
-           else
-           tunnel.append_message_to_producer_buffer(p, reason, reason_len);
-           }
-         */
-        tunnel.local_finish_all(p);
-      }
 
+    ink_assert(p->vc_type == HT_HTTP_SERVER);
+    if (is_http_server_eos_truncation(p)) {
+      Debug("http", "[%lld] [HttpSM::tunnel_handler_server] "
+            "aborting cache writes due to server truncation", sm_id);
+      tunnel.abort_cache_write_finish_others(p);
+      t_state.current.server->abort = HttpTransact::ABORTED;
+      if (t_state.http_config_param->log_spider_codes) {
+        t_state.squid_codes.wuts_proxy_status_code = WUTS_PROXY_STATUS_SPIDER_TIMEOUT_WHILE_DRAINING;
+        t_state.squid_codes.log_code = SQUID_LOG_ERR_SPIDER_TIMEOUT_WHILE_DRAINING;
+        t_state.squid_codes.hier_code = SQUID_HIER_TIMEOUT_DIRECT;
+      }
     } else {
-      // Handle FTP here
-      ink_assert(p->vc_type == HT_FTP_SERVER);
-
-      // Fix - Can we tell if the ftp server truncated
-      //   the document?
       p->read_success = true;
       t_state.current.server->abort = HttpTransact::DIDNOT_ABORT;
+      // Appending reason to a response without Content-Length will result in
+      // the reason string being written to the client and a bad CL when reading from cache.
+      // I didn't find anywhere this appended reason is being used, so commenting it out.
+      /*
+        if (t_state.negative_caching && p->bytes_read == 0) {
+        int reason_len;
+        const char *reason = t_state.hdr_info.server_response.reason_get(&reason_len);
+        if (reason == NULL)
+        tunnel.append_message_to_producer_buffer(p, "Negative Response", sizeof("Negative Response") - 1);
+        else
+        tunnel.append_message_to_producer_buffer(p, reason, reason_len);
+        }
+      */
       tunnel.local_finish_all(p);
     }
     break;
@@ -3132,45 +2961,32 @@ HttpSM::tunnel_handler_server(int event,
   // We handled the event.  Now either shutdown the connection or
   //   setup it up for keep-alive
   ink_assert(server_entry->vc == p->vc);
-  if (p->vc_type == HT_HTTP_SERVER) {
-    ink_assert(p->vc == server_session);
-    if (close_connection) {
-      p->vc->do_io_close();
-      p->read_vio = NULL;
-    } else {
-      server_session->attach_hostname(t_state.current.server->name);
-      server_session->server_trans_stat--;
-      HTTP_DECREMENT_DYN_STAT(http_current_server_transactions_stat);
+  ink_assert(p->vc_type == HT_HTTP_SERVER);
+  ink_assert(p->vc == server_session);
 
-      // If the client is still around, attach the the server session
-      //  to so the next ka request can use it.  We bind privately to the
-      //  client to add some degree of affinity to the system.  However,
-      //  we turn off private binding when outbound conenctions are being
-      //  limit since it makes it too expense to initiate a purge of idle
-      //  server keep-alive sessions
-      if (ua_session &&
-          t_state.client_info.keep_alive == HTTP_KEEPALIVE &&
-          t_state.http_config_param->server_max_connections <= 0 &&
-          t_state.http_config_param->origin_max_connections <= 0) {
-        ua_session->attach_server_session(server_session);
-      } else {
-        // Release the session back into the shared session pool
-        server_session->release();
-      }
-    }
-  } else {
-    ink_release_assert(0);
-    /*
-    // Ftp
-    ink_assert(p->vc_type == HT_FTP_SERVER);
-    //ink_assert(p->vc == ftp_session->get_data_vconnection());
+  if (close_connection) {
+    p->vc->do_io_close();
     p->read_vio = NULL;
-
-    // Ftp sessions are really VConnections and need a special
-    //   close call
-    ftp_session->close();
-    ftp_session = NULL;
-    */
+  } else {
+    server_session->attach_hostname(t_state.current.server->name);
+    server_session->server_trans_stat--;
+    HTTP_DECREMENT_DYN_STAT(http_current_server_transactions_stat);
+
+    // If the client is still around, attach the the server session
+    //  to so the next ka request can use it.  We bind privately to the
+    //  client to add some degree of affinity to the system.  However,
+    //  we turn off private binding when outbound conenctions are being
+    //  limit since it makes it too expense to initiate a purge of idle
+    //  server keep-alive sessions
+    if (ua_session &&
+        t_state.client_info.keep_alive == HTTP_KEEPALIVE &&
+        t_state.http_config_param->server_max_connections <= 0 &&
+        t_state.http_config_param->origin_max_connections <= 0) {
+      ua_session->attach_server_session(server_session);
+    } else {
+      // Release the session back into the shared session pool
+      server_session->release();
+    }
   }
 
   return 0;
@@ -3295,7 +3111,7 @@ HttpSM::tunnel_handler_ua(int event, Htt
         // Otherwise in case of large docs, producer iobuffer gets filled up,
         // waiting for a consumer to consume data and the connection is never closed.
         if (p->alive &&
-            ((p->vc_type == HT_CACHE_READ) || (p->vc_type == HT_HTTP_SERVER) || (p->vc_type == HT_FTP_SERVER))) {
+            ((p->vc_type == HT_CACHE_READ) || (p->vc_type == HT_HTTP_SERVER))) {
           tunnel.chain_abort_all(p);
         }
       }
@@ -3592,14 +3408,10 @@ HttpSM::tunnel_handler_post_server(int e
   case VC_EVENT_ACTIVE_TIMEOUT:
     //  Did not complete post tunnling
     //
-    //  There are two ways we got here.  Either
-    //    we're tunneling to an http server or
-    //    a ftp server.  In the http case, we don't
-    //    want to close the connection because the
+    //    In the http case, we don't want to close
+    //    the connection because the
     //    destroys the header buffer which may
     //    a response even though the tunnel failed.
-    //    If this ftp, we never close that connection
-    //    from tunnel handlers
 
     // Shutdown both sides of the connection.  This prevents us
     //  from getting any futher events and signals to client
@@ -3731,7 +3543,7 @@ HttpSM::tunnel_handler_ssl_producer(int 
     break;
   default:
     // Covered here:
-    // HT_FTP_SERVER, HT_CACHE_READ, HT_CACHE_WRITE,
+    // HT_CACHE_READ, HT_CACHE_WRITE,
     // HT_TRANSFORM, HT_STATIC.
     break;
   }
@@ -3800,7 +3612,7 @@ HttpSM::tunnel_handler_ssl_consumer(int 
     break;
   default:
     // Handled here:
-    // HT_FTP_SERVER, HT_CACHE_READ, HT_CACHE_WRITE, HT_TRANSFORM,
+    // HT_CACHE_READ, HT_CACHE_WRITE, HT_TRANSFORM,
     // HT_STATIC
     break;
   }
@@ -4213,14 +4025,10 @@ HttpSM::do_cache_lookup_and_read()
   t_state.cache_info.lookup_url->MD5_get(&md5b);
   ink_assert(md5a == md5b ||
              t_state.http_config_param->maintain_pristine_host_hdr ||
-             t_state.pristine_host_hdr > 0 || t_state.cache_info.lookup_url->scheme_get_wksidx() == URL_WKSIDX_FTP);
+             t_state.pristine_host_hdr > 0);
 #endif
 
-  if (t_state.scheme == URL_WKSIDX_HTTP) {
-    HTTP_INCREMENT_TRANS_STAT(http_cache_lookups_stat);
-  } else {
-    HTTP_INCREMENT_TRANS_STAT(ftp_cache_lookups_stat);
-  }
+  HTTP_INCREMENT_TRANS_STAT(http_cache_lookups_stat);
 
   Debug("http_seq", "[HttpSM::do_cache_lookup_and_read] Issuing cache lookup");
   milestones.cache_open_read_begin = ink_get_hrtime();
@@ -4269,7 +4077,7 @@ HttpSM::do_cache_delete_all_alts(Continu
   t_state.cache_info.lookup_url->MD5_get(&md5b);
   ink_assert(md5a == md5b ||
              t_state.http_config_param->maintain_pristine_host_hdr ||
-             t_state.pristine_host_hdr > 0 || t_state.cache_info.lookup_url->scheme_get_wksidx() == URL_WKSIDX_FTP);
+             t_state.pristine_host_hdr > 0);
 #endif
 
   Debug("http_seq", "[HttpSM::do_cache_update] Issuing cache delete for %s",
@@ -4673,73 +4481,6 @@ HttpSM::do_http_server_open(bool raw)
   return;
 }
 
-//////////////////////////////////////////////////////////////////////////
-//
-//  HttpSM::do_ftp_server_open()
-//
-//////////////////////////////////////////////////////////////////////////
-void
-HttpSM::do_ftp_server_open()
-{
-  /*
-  ///////////////////////////////////////////////////
-  // assert that we are not connecting to a parent //
-  ///////////////////////////////////////////////////
-  ink_release_assert(t_state.current.server == &t_state.server_info);
-
-  // we should not already have a connection to the ftp server.
-  ink_assert(ftp_session == NULL);
-
-  /////////////////////////
-  // open ftp connectiwon //
-  /////////////////////////
-  Debug("http_seq", "[HttpSM::do_ftp_server_open] " "Opening ftp server connection");
-
-
-  milestones.server_connect = ink_get_hrtime();
-  if (milestones.server_first_connect == 0) {
-    milestones.server_first_connect = milestones.server_connect;
-  }
-
-  Action *ftp_open_action_handle;
-  if (t_state.method == HTTP_WKSIDX_GET) {
-    ftp_open_action_handle = ftpProcessor.get(this,     // cont
-                                              t_state.server_info.ip,   // host_ip
-                                              t_state.hdr_info.client_request.url_get()->port_get(),    // port
-                                              t_state.http_config_param->outgoing_ip_to_bind_saddr, t_state.ftp_info->username, // username
-                                              t_state.ftp_info->password,       // password
-                                              t_state.ftp_info->path,   // path
-                                              t_state.ftp_info->filename,       // filename
-                                              t_state.ftp_info->transfer_mode,  // ftp_type
-                                              t_state.hdr_info.server_request.get_if_modified_since()   // revalidation
-      );
-  } else if (t_state.method == HTTP_WKSIDX_PUT) {
-    ftp_open_action_handle = ftpProcessor.put(this,
-                                              t_state.server_info.ip,
-                                              t_state.hdr_info.client_request.url_get()->port_get(),
-                                              t_state.http_config_param->outgoing_ip_to_bind_saddr,
-                                              t_state.ftp_info->username,
-                                              t_state.ftp_info->password,
-                                              t_state.ftp_info->path,
-                                              t_state.ftp_info->filename, t_state.ftp_info->transfer_mode);
-  } else {
-    ftp_open_action_handle = NULL;
-    HTTP_DEBUG_ASSERT(!"Unsupported ftp method. Should've been caught earlier.");
-  }
-
-  if (ftp_open_action_handle) {
-    if (ftp_open_action_handle != ACTION_RESULT_DONE) {
-      ink_assert(!pending_action);
-      pending_action = ftp_open_action_handle;
-      historical_action = pending_action;
-    }
-  }
-
-  return;
-  */
-  ink_release_assert(0);
-}
-
 //void
 //HttpSM::do_auth_callout()
 //{
@@ -5040,7 +4781,6 @@ HttpSM::handle_post_failure()
   STATE_ENTER(&HttpSM::handle_post_failure, VC_EVENT_NONE);
 
   ink_assert(ua_entry->vc == ua_session);
-  //ink_assert(server_entry->vc == server_session || server_entry->vc == ftp_session->get_data_vconnection());
   ink_assert(server_entry->eos == true);
 
   // First order of business is to clean up from
@@ -5222,64 +4962,6 @@ HttpSM::handle_server_setup_error(int ev
 }
 
 void
-HttpSM::do_setup_put_tunnel_to_ftp()
-{
-
-  int put_bytes = t_state.hdr_info.request_content_length;
-  MIOBuffer *put_buffer = new_MIOBuffer(BUFFER_SIZE_INDEX_32K);
-  IOBufferReader *buf_start = put_buffer->alloc_reader();
-  t_state.hdr_info.request_body_start = true;
-
-  client_request_body_bytes = put_buffer->write(ua_buffer_reader, put_bytes);
-  ua_buffer_reader->consume(client_request_body_bytes);
-
-  HTTP_SM_SET_DEFAULT_HANDLER(&HttpSM::tunnel_handler_ftp_put);
-
-  tunnel.add_producer(ua_entry->vc,
-                      put_bytes, buf_start, &HttpSM::tunnel_handler_post_ua, HT_HTTP_CLIENT, "user agent put");
-
-  VConnection *server_source;
-
-  if (do_post_transform_open()) {
-    server_source = post_transform_info.vc;
-    MIOBuffer *trans_buffer = new_MIOBuffer(BUFFER_SIZE_INDEX_32K);
-    IOBufferReader *trans_reader = trans_buffer->alloc_reader();
-
-
-    HttpTunnelConsumer *trans_c = tunnel.add_consumer(post_transform_info.vc,
-                                                      ua_entry->vc,
-                                                      &HttpSM::tunnel_handler_transform_write,
-                                                      HT_TRANSFORM,
-                                                      "put transform");
-
-    // Fortunately, ftp put does not require a content length so
-    //   we can just tunnel until EOS
-    HttpTunnelProducer *trans_p = tunnel.add_producer(post_transform_info.vc,
-                                                      INT_MAX,
-                                                      trans_reader,
-                                                      &HttpSM::tunnel_handler_transform_read,
-                                                      HT_TRANSFORM,
-                                                      "put transform");
-
-    trans_p->self_consumer = trans_c;
-    trans_c->self_producer = trans_p;
-    post_transform_info.entry->in_tunnel = true;
-
-  } else {
-    // No transform, tunnel directly from user agent
-    server_source = ua_entry->vc;
-  }
-
-  tunnel.add_consumer(server_entry->vc,
-                      server_source, &HttpSM::tunnel_handler_post_server, HT_FTP_SERVER, "ftp server put");
-  ua_entry->in_tunnel = true;
-  server_entry->in_tunnel = true;
-
-  tunnel.tunnel_run();
-}
-
-
-void
 HttpSM::setup_transform_to_server_transfer()
 {
   ink_assert(post_transform_info.vc != NULL);
@@ -6193,66 +5875,6 @@ HttpSM::setup_internal_transfer(HttpSMHa
   tunnel.tunnel_run();
 }
 
-HttpTunnelProducer *
-HttpSM::setup_ftp_transfer_to_transform()
-{
-  MIOBuffer *buf = new_MIOBuffer(find_ftp_buffer_size());
-  IOBufferReader *buf_start = buf->alloc_reader();
-
-  HTTP_SM_SET_DEFAULT_HANDLER(&HttpSM::state_response_wait_for_transform_read);
-
-  HttpTunnelProducer *p = tunnel.add_producer(server_entry->vc,
-                                              t_state.hdr_info.response_content_length,
-                                              buf_start,
-                                              &HttpSM::tunnel_handler_server,
-                                              HT_FTP_SERVER,
-                                              "ftp server");
-
-  tunnel.add_consumer(transform_info.vc,
-                      server_entry->vc, &HttpSM::tunnel_handler_transform_write, HT_TRANSFORM, "transform write");
-
-  server_entry->in_tunnel = true;
-  transform_info.entry->in_tunnel = true;
-
-  return p;
-}
-
-void
-HttpSM::setup_ftp_transfer()
-{
-
-  int hdr_size, nbytes;
-
-  MIOBuffer *buf = new_MIOBuffer(find_ftp_buffer_size());
-  buf->water_mark = (int) t_state.http_config_param->default_buffer_water_mark;
-  IOBufferReader *buf_start = buf->alloc_reader();
-
-  // Now dump the header into the buffer
-  client_response_hdr_bytes = hdr_size = write_response_header_into_buffer(&t_state.hdr_info.client_response, buf);
-
-  if (t_state.hdr_info.response_content_length == HTTP_UNDEFINED_CL) {
-    nbytes = -1;
-  } else {
-    nbytes = t_state.hdr_info.response_content_length + hdr_size;
-  }
-
-  HTTP_SM_SET_DEFAULT_HANDLER(&HttpSM::tunnel_handler);
-
-  HttpTunnelProducer *p = tunnel.add_producer(server_entry->vc,
-                                              nbytes,
-                                              buf_start,
-                                              &HttpSM::tunnel_handler_server,
-                                              HT_FTP_SERVER,
-                                              "ftp server");
-
-  NOWARN_UNUSED(p);
-
-  tunnel.add_consumer(ua_entry->vc, server_entry->vc, &HttpSM::tunnel_handler_ua, HT_HTTP_CLIENT, "user agent");
-
-  ua_entry->in_tunnel = true;
-  server_entry->in_tunnel = true;
-}
-
 // int HttpSM::find_http_resp_buffer_size(int cl)
 //
 //   Returns the allocation index for the buffer for
@@ -6283,29 +5905,6 @@ HttpSM::find_http_resp_buffer_size(int c
   return alloc_index;
 }
 
-// int HttpSM::find_server_buffer_size()
-//
-//   Returns the allocation index for the buffer for
-//     the server response
-//
-int
-HttpSM::find_ftp_buffer_size()
-{
-  int buf_size;
-  int alloc_index;
-
-  if (t_state.hdr_info.response_content_length == HTTP_UNDEFINED_CL) {
-    // Ftp documents tend to be large so use a big
-    //   buffer is we don't know what the size is
-    alloc_index = BUFFER_SIZE_INDEX_32K;
-  } else {
-    buf_size = HTTP_HEADER_BUFFER_SIZE + t_state.hdr_info.response_content_length;
-    alloc_index = buffer_size_to_index(buf_size);
-  }
-
-  return alloc_index;
-}
-
 // int HttpSM::server_transfer_init()
 //
 //    Moves data from the header buffer into the reply buffer
@@ -6506,36 +6105,6 @@ HttpSM::setup_server_transfer_to_cache_o
 }
 
 void
-HttpSM::setup_ftp_transfer_to_cache_only()
-{
-
-  int nbytes;
-
-  MIOBuffer *buf = new_MIOBuffer(find_ftp_buffer_size());
-  IOBufferReader *buf_start = buf->alloc_reader();
-
-  if (t_state.hdr_info.response_content_length == HTTP_UNDEFINED_CL) {
-    nbytes = -1;
-  } else {
-    nbytes = t_state.hdr_info.response_content_length;
-  }
-
-  HTTP_SM_SET_DEFAULT_HANDLER(&HttpSM::tunnel_handler);
-
-  HttpTunnelProducer *p = tunnel.add_producer(server_entry->vc,
-                                              nbytes,
-                                              buf_start,
-                                              &HttpSM::tunnel_handler_server,
-                                              HT_FTP_SERVER,
-                                              "ftp server");
-
-  NOWARN_UNUSED(p);
-
-  setup_cache_write_transfer(&cache_sm, server_entry->vc, &t_state.cache_info.object_store, 0, "cache write");
-}
-
-
-void
 HttpSM::setup_server_transfer()
 {
 
@@ -6809,12 +6378,6 @@ HttpSM::kill_this()
       plugin_tunnel = NULL;
     }
 
-    /*
-    if (ftp_session) {
-      ftp_session->close();
-      ftp_session = NULL;
-    }
-    */
     ua_session = NULL;
     server_session = NULL;
 
@@ -7357,32 +6920,6 @@ HttpSM::set_next_state()
       break;
     }
 
-  case HttpTransact::FTP_SERVER_OPEN:
-    {
-      HTTP_SM_SET_DEFAULT_HANDLER(&HttpSM::state_ftp_server_open);
-
-      do_ftp_server_open();
-      break;
-    }
-
-  case HttpTransact::FTP_READ:
-    {
-      t_state.source = HttpTransact::SOURCE_FTP_ORIGIN_SERVER;
-
-      if (transform_info.vc) {
-        ink_assert(t_state.hdr_info.client_response.valid() == 0);
-        ink_assert((t_state.hdr_info.transform_response.valid()? true : false) == true);
-        HttpTunnelProducer *p = setup_ftp_transfer_to_transform();
-        perform_cache_write_action();
-        tunnel.tunnel_run(p);
-      } else {
-        ink_assert((t_state.hdr_info.client_response.valid()? true : false) == true);
-        t_state.api_next_action = HttpTransact::HTTP_API_SEND_REPONSE_HDR;
-        do_api_callout();
-      }
-      break;
-    }
-
   case HttpTransact::SERVER_READ:
     {
       t_state.source = HttpTransact::SOURCE_HTTP_ORIGIN_SERVER;
@@ -7558,24 +7095,6 @@ HttpSM::set_next_state()
       break;
     }
 
-  case HttpTransact::FTP_WRITE_CACHE_NOOP:
-    {
-      cache_sm.end_both();
-      do_setup_put_tunnel_to_ftp();
-      break;
-    }
-
-  case HttpTransact::FTP_WRITE_CACHE_DELETE:
-    {
-
-      // Write close deletes the old alternate
-      cache_sm.close_write();
-      cache_sm.close_read();
-
-      do_setup_put_tunnel_to_ftp();
-      break;
-    }
-
   case HttpTransact::CACHE_ISSUE_WRITE_TRANSFORM:
     {
 

Modified: incubator/trafficserver/traffic/trunk/proxy/http2/HttpSM.h
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/http2/HttpSM.h?rev=939548&r1=939547&r2=939548&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/http2/HttpSM.h (original)
+++ incubator/trafficserver/traffic/trunk/proxy/http2/HttpSM.h Fri Apr 30 03:14:19 2010
@@ -72,7 +72,6 @@
 #define HTTP_SERVER_RESP_HDR_BUFFER_INDEX BUFFER_SIZE_INDEX_8K
 
 class HttpServerSession;
-//class FtpVConnection;
 class AuthHttpAdapter;
 
 class HttpSM;
@@ -81,8 +80,7 @@ typedef int (HttpSM::*HttpSMHandler) (in
 enum HttpVC_t
 { HTTP_UNKNOWN = 0, HTTP_UA_VC, HTTP_SERVER_VC,
   HTTP_TRANSFORM_VC, HTTP_CACHE_READ_VC,
-  HTTP_CACHE_WRITE_VC, HTTP_RAW_SERVER_VC,
-  HTTP_FTP_VC
+  HTTP_CACHE_WRITE_VC, HTTP_RAW_SERVER_VC
 };
 
 enum BackgroundFill_t
@@ -324,8 +322,6 @@ protected:
   IOBufferReader *server_buffer_reader;
   void remove_server_entry();
 
-  //FtpVConnection *ftp_session;
-
   HttpTransformInfo transform_info;
   HttpTransformInfo post_transform_info;
 
@@ -349,7 +345,6 @@ protected:
   //YTS Team, yamsat Plugin
   int tunnel_handler_for_partial_post(int event, void *data);
 
-  int tunnel_handler_ftp_put(int event, void *data);
   void tunnel_handler_post_or_put(HttpTunnelProducer * p);
 
   int tunnel_handler_100_continue(int event, void *data);
@@ -386,9 +381,6 @@ protected:
   int state_acquire_server_read(int event, void *data);
   int state_read_server_response_header(int event, void *data);
 
-  // FTP Server Handlers
-  int state_ftp_server_open(int event, void *data);
-
   // API
   int state_request_wait_for_transform_read(int event, void *data);
   int state_response_wait_for_transform_read(int event, void *data);
@@ -413,9 +405,7 @@ protected:
   void do_hostdb_reverse_lookup();
   void do_cache_lookup_and_read();
   void do_http_server_open(bool raw = false);
-  void do_ftp_server_open();
   void do_setup_post_tunnel(HttpVC_t to_vc_type);
-  void do_setup_put_tunnel_to_ftp();
   void do_cache_prepare_write();
   void do_cache_prepare_write_transform();
   void do_cache_prepare_update();
@@ -454,8 +444,6 @@ protected:
   void setup_server_send_request_api();
   void setup_server_transfer();
   void setup_server_transfer_to_cache_only();
-  void setup_ftp_transfer();
-  void setup_ftp_transfer_to_cache_only();
   void setup_cache_read_transfer();
   void setup_internal_transfer(HttpSMHandler handler);
   void setup_error_transfer();
@@ -470,7 +458,6 @@ protected:
   void perform_nca_cache_action();
   void setup_blind_tunnel(bool send_response_hdr);
   HttpTunnelProducer *setup_server_transfer_to_transform();
-  HttpTunnelProducer *setup_ftp_transfer_to_transform();
   HttpTunnelProducer *setup_transfer_from_transform();
   HttpTunnelProducer *setup_cache_transfer_to_transform();
   HttpTunnelProducer *setup_transfer_from_transform_to_cache_only();
@@ -484,7 +471,6 @@ protected:
   bool is_bg_fill_necessary(HttpTunnelConsumer * c);
   int find_server_buffer_size();
   int find_http_resp_buffer_size(int cl);
-  int find_ftp_buffer_size();
   int server_transfer_init(MIOBuffer * buf, int hdr_size);
 
 public: