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