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

svn commit: r1040773 - in /trafficserver/traffic/trunk: ./ libinktomi++/ proxy/ proxy/mgmt2/ proxy/tsconfig/

Author: amc
Date: Tue Nov 30 21:01:04 2010
New Revision: 1040773

URL: http://svn.apache.org/viewvc?rev=1040773&view=rev
Log:
TS-565 fix

Modified:
    trafficserver/traffic/trunk/NOTICE
    trafficserver/traffic/trunk/configure.ac
    trafficserver/traffic/trunk/libinktomi++/ink_config.h.in
    trafficserver/traffic/trunk/proxy/Makefile.am
    trafficserver/traffic/trunk/proxy/mgmt2/LocalManager.cc
    trafficserver/traffic/trunk/proxy/mgmt2/LocalManager.h
    trafficserver/traffic/trunk/proxy/mgmt2/Main.cc
    trafficserver/traffic/trunk/proxy/mgmt2/Makefile.am
    trafficserver/traffic/trunk/proxy/tsconfig/Errata.cc
    trafficserver/traffic/trunk/proxy/tsconfig/Makefile.am

Modified: trafficserver/traffic/trunk/NOTICE
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/NOTICE?rev=1040773&r1=1040772&r2=1040773&view=diff
==============================================================================
--- trafficserver/traffic/trunk/NOTICE (original)
+++ trafficserver/traffic/trunk/NOTICE Tue Nov 30 21:01:04 2010
@@ -3,7 +3,8 @@ Copyright 2010 The Apache Software Found
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
-
+Pavlov Media (http://pavlovmedia.com)
+Network Geographics (http://network-geographics.com)
 ~~~
 
 Codebase originally donated by Yahoo:

Modified: trafficserver/traffic/trunk/configure.ac
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/configure.ac?rev=1040773&r1=1040772&r2=1040773&view=diff
==============================================================================
--- trafficserver/traffic/trunk/configure.ac (original)
+++ trafficserver/traffic/trunk/configure.ac Tue Nov 30 21:01:04 2010
@@ -327,6 +327,26 @@ AC_MSG_RESULT([$enable_v2stats])
 AC_SUBST(has_v2stats)
 AM_CONDITIONAL([BUILD_V2STATS], [test "x$enable_v2stats" = "xyes"])
 
+#
+# WCCP
+#
+has_wccp=0
+AC_MSG_CHECKING([whether to enable WCCP v2 support])
+AC_ARG_ENABLE([wccp],
+  [AS_HELP_STRING([--enable-wccp],[enable WCCP v2])],
+  [
+    has_wccp=1
+    AC_SUBST([LIBWCCP], ["\$(top_builddir)/proxy/wccp/libwccp.a"])
+    AC_SUBST([LIBTSCONFIG], ["\$(top_builddir)/proxy/tsconfig/libtsconfig.a"])
+  ],
+  [enable_wccp=no]
+)
+AC_MSG_RESULT([$enable_wccp])
+AC_SUBST(has_wccp)
+AC_SUBST(LIBWCCP)
+AC_SUBST(LIBTSCONFIG)
+AM_CONDITIONAL([BUILD_WCCP], [test "x$enable_wccp" = "xyes"])
+
 # Google profiler
 AC_MSG_CHECKING([whether to enable profiler])
 AC_ARG_WITH([profiler],
@@ -486,6 +506,12 @@ AC_CHECK_PROG(RM, rm, rm)
 AC_CHECK_PROG(ASCPP, cpp, cpp)
 AC_CHECK_TOOL(AR, ar, ar)
 AC_ISC_POSIX
+AS_IF([test "x$enable_wccp" = "xyes"],
+  [
+    AC_PROG_YACC
+    AC_PROG_LEX
+  ]
+)
 
 AC_PATH_PROG([DOXYGEN], [doxygen]) # needed for Doxygen
 AC_PATH_PROG([PERL],[perl],[not found])

Modified: trafficserver/traffic/trunk/libinktomi++/ink_config.h.in
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/libinktomi%2B%2B/ink_config.h.in?rev=1040773&r1=1040772&r2=1040773&view=diff
==============================================================================
--- trafficserver/traffic/trunk/libinktomi++/ink_config.h.in (original)
+++ trafficserver/traffic/trunk/libinktomi++/ink_config.h.in Tue Nov 30 21:01:04 2010
@@ -126,6 +126,7 @@
 #define TS_HAS_PURIFY                  @has_purify@
 #define TS_HAS_DEMANGLE                @has_demangle@
 #define TS_HAS_TESTS                   @has_tests@
+#define TS_HAS_WCCP                    @has_wccp@
 
 /* XXX: Should make those individually selectable ? */
 /* TODO: Use TS prefix instead no prefix or INK    */

Modified: trafficserver/traffic/trunk/proxy/Makefile.am
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/Makefile.am?rev=1040773&r1=1040772&r2=1040773&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/Makefile.am (original)
+++ trafficserver/traffic/trunk/proxy/Makefile.am Tue Nov 30 21:01:04 2010
@@ -22,7 +22,11 @@ noinst_LIBRARIES = libTrafficServerStand
 bin_PROGRAMS =
 noinst_PROGRAMS =
 else
-SUBDIRS = congest http2 hdrs logging tsconfig wccp mgmt2 config stats
+SUBDIRS = congest http2 hdrs logging
+if BUILD_WCCP
+SUBDIRS += tsconfig wccp
+endif
+SUBDIRS += mgmt2 config stats
 noinst_LIBRARIES =
 bin_PROGRAMS = \
   traffic_server \

Modified: trafficserver/traffic/trunk/proxy/mgmt2/LocalManager.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/mgmt2/LocalManager.cc?rev=1040773&r1=1040772&r2=1040773&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/mgmt2/LocalManager.cc (original)
+++ trafficserver/traffic/trunk/proxy/mgmt2/LocalManager.cc Tue Nov 30 21:01:04 2010
@@ -344,6 +344,7 @@ BaseManager(), run_proxy(proxy_on), reco
     config_path = absolute_config_path;
   }
 
+#if TS_HAS_WCCP
   // Bind the WCCP address if present.
   xptr<char> wccp_addr_str(REC_readString("proxy.config.wccp.addr", &found));
   if (found && wccp_addr_str && *wccp_addr_str) {
@@ -366,6 +367,7 @@ BaseManager(), run_proxy(proxy_on), reco
       mgmt_log("[LocalManager::LocalManager] WCCP service configuration file '%s' was specified but could not be found in the file system.\n", static_cast<char*>(wccp_config_str));
     }
   }
+#endif
 
   bin_path = REC_readString("proxy.config.bin_path", &found);
   process_server_timeout_secs = REC_readInteger("proxy.config.lm.pserver_timeout_secs", &found);
@@ -483,9 +485,11 @@ LocalManager::initMgmtProcessServer()
   int servlen, one = 1;
   struct sockaddr_un serv_addr;
 
+#if TS_HAS_WCCP
   if (wccp_cache.isConfigured()) {
     if (0 > wccp_cache.open()) mgmt_log("Failed to open WCCP socket\n");
   }
+#endif
 
   snprintf(fpath, sizeof(fpath), "%s/%s", pserver_path, LM_CONNECTION_SERVER);
   unlink(fpath);
@@ -532,13 +536,11 @@ LocalManager::pollMgmtProcessServer()
   struct timeval timeout;
   struct sockaddr_in clientAddr;
   fd_set fdlist;
+#if TS_HAS_WCCP
   int wccp_fd = wccp_cache.getSocket();
+#endif
 
   while (1) {
-    // Only run WCCP housekeeping while we have a server process.
-    // Note: The WCCP socket is opened iff WCCP is configured.
-    bool wccp_active = wccp_fd != ts::NO_FD && watched_process_fd != ts::NO_FD;
-
     // poll only
     timeout.tv_sec = process_server_timeout_secs;
     timeout.tv_usec = process_server_timeout_msecs * 1000;
@@ -546,25 +548,27 @@ LocalManager::pollMgmtProcessServer()
     FD_SET(process_server_sockfd, &fdlist);
     if (watched_process_fd != -1) FD_SET(watched_process_fd, &fdlist);
 
-    if (wccp_active) {
+#if TS_HAS_WCCP
+    // Only run WCCP housekeeping while we have a server process.
+    // Note: The WCCP socket is opened iff WCCP is configured.
+    if (wccp_fd != ts::NO_FD && watched_process_fd != ts::NO_FD) {
       wccp_cache.housekeeping();
       time_t wccp_wait = wccp_cache.waitTime();
       if (wccp_wait < process_server_timeout_secs) timeout.tv_sec = wccp_wait;
       FD_SET(wccp_cache.getSocket(), &fdlist);
     }
+#endif
 
     num = mgmt_select(FD_SETSIZE, &fdlist, NULL, NULL, &timeout);
     if (num == 0) {             /* Have nothing */
-
       break;
-
     } else if (num > 0) {       /* Have something */
-
+#if TS_HAS_WCCP
       if (wccp_fd != ts::NO_FD && FD_ISSET(wccp_fd, &fdlist)) {
         wccp_cache.handleMessage();
         --num;
       }
-
+#endif
       if (FD_ISSET(process_server_sockfd, &fdlist)) {   /* New connection */
         int clientLen = sizeof(clientAddr);
         int new_sockfd = mgmt_accept(process_server_sockfd,

Modified: trafficserver/traffic/trunk/proxy/mgmt2/LocalManager.h
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/mgmt2/LocalManager.h?rev=1040773&r1=1040772&r2=1040773&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/mgmt2/LocalManager.h (original)
+++ trafficserver/traffic/trunk/proxy/mgmt2/LocalManager.h Tue Nov 30 21:01:04 2010
@@ -41,7 +41,9 @@
 #include "ClusterCom.h"
 #include "VMap.h"
 #include "WebPluginList.h"
+#if TS_HAS_WCCP
 #include "../wccp/Wccp.h"
+#endif
 
 #if !defined(WIN32)
 #define ink_get_hrtime ink_get_hrtime_internal
@@ -183,8 +185,9 @@ public:
 #endif
 
   WebPluginList plugin_list;
+#if TS_HAS_WCCP
   wccp::Cache wccp_cache;
-
+# endif
 private:
 
 };                              /* End class LocalManager */

Modified: trafficserver/traffic/trunk/proxy/mgmt2/Main.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/mgmt2/Main.cc?rev=1040773&r1=1040772&r2=1040773&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/mgmt2/Main.cc (original)
+++ trafficserver/traffic/trunk/proxy/mgmt2/Main.cc Tue Nov 30 21:01:04 2010
@@ -445,6 +445,7 @@ set_process_limits(int fds_throttle)
 
 }
 
+#if TS_HAS_WCCP
 void
 Errata_Logger(ts::Errata const& err) {
   size_t n;
@@ -467,6 +468,7 @@ void
 Init_Errata_Logging() {
   ts::Errata::registerSink(&Errata_Logger);
 }
+#endif
 
 int
 main(int argc, char **argv)
@@ -706,7 +708,9 @@ main(int argc, char **argv)
 
   RecLocalInit();
   LibRecordsConfigInit();
+#if TS_HAS_WCCP
   Init_Errata_Logging();
+#endif
   lmgmt = new LocalManager(mgmt_path, new LMRecords(mgmt_path, recs_conf, 0), proxy_on);
   RecLocalInitMessage();
   lmgmt->initAlarm();

Modified: trafficserver/traffic/trunk/proxy/mgmt2/Makefile.am
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/mgmt2/Makefile.am?rev=1040773&r1=1040772&r2=1040773&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/mgmt2/Makefile.am (original)
+++ trafficserver/traffic/trunk/proxy/mgmt2/Makefile.am Tue Nov 30 21:01:04 2010
@@ -120,4 +120,4 @@ traffic_manager_LDADD = \
   @LIBEXPAT@ @LIBPCRE@ \
   @LIBSSL@ @LIBDB@ @LIBSQLITE3@ @LIBTCL@ @LIBICONV@ \
   @LIBM@ @LIBDL@ @LIBSOCKET@ @LIBNSL@ @LIBRESOLV@ \
-  @LIBTHREAD@ @LIBRT@ @LIBEXECINFO@ @LIBCAP@ ../wccp/libwccp.a ../tsconfig/libtsconfig.a
+  @LIBTHREAD@ @LIBRT@ @LIBEXECINFO@ @LIBCAP@ @LIBWCCP@ @LIBTSCONFIG@

Modified: trafficserver/traffic/trunk/proxy/tsconfig/Errata.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/tsconfig/Errata.cc?rev=1040773&r1=1040772&r2=1040773&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/tsconfig/Errata.cc (original)
+++ trafficserver/traffic/trunk/proxy/tsconfig/Errata.cc Tue Nov 30 21:01:04 2010
@@ -289,4 +289,5 @@ errata::format(boost::format const& fmt,
 
 # endif
 
-} // namespace ngeo
+} // namespace ts
+

Modified: trafficserver/traffic/trunk/proxy/tsconfig/Makefile.am
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/tsconfig/Makefile.am?rev=1040773&r1=1040772&r2=1040773&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/tsconfig/Makefile.am (original)
+++ trafficserver/traffic/trunk/proxy/tsconfig/Makefile.am Tue Nov 30 21:01:04 2010
@@ -22,9 +22,10 @@ AM_CPPFLAGS = \
   -DPKGSYSUSER=\"$(pkgsysuser)\"
 
 noinst_LIBRARIES = libtsconfig.a
-#noinst_PROGRAMS = test-cache
 
 libtsconfig_a_SOURCES = \
+  TsConfig.lex.c TsConfig.lex.h \
+  TsConfig.tab.c TsConfig.tab.h \
   Errata.cc \
   Errata.h \
   TsErrataUtil.cc \
@@ -35,17 +36,10 @@ libtsconfig_a_SOURCES = \
   TsBuilder.cc \
   TsBuilder.h \
   TsValue.cc \
-  TsValue.h \
-  TsConfig.tab.c \
-  TsConfig.lex.c
+  TsValue.h
 
 TsConfig.tab.c TsConfig.tab.h: TsConfig.y
-	bison -d --name-prefix tsconfig TsConfig.y
+	$(YACC) -d -b TsConfig --name-prefix tsconfig TsConfig.y
 
 TsConfig.lex.c TsConfig.lex.h: TsConfig.flex
-	flex --outfile TsConfig.lex.c TsConfig.flex
-
-#test_cache_SOURCES = \
-#  wccp-test-cache.cc
-
-#test_cache_LDADD = ./libwccp.a -lconfig++ -lcrypto
\ No newline at end of file
+	$(LEX) --outfile TsConfig.lex.c TsConfig.flex