Updated Branches: refs/heads/master b4423861e -> d13336e8e
TS-1145: additional clang build fixes Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/d13336e8 Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/d13336e8 Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/d13336e8 Branch: refs/heads/master Commit: d13336e8e68defe7d672060e1ee905f851347c8c Parents: b442386 Author: Darrin Jewell <[email protected]> Authored: Fri Mar 16 21:24:52 2012 -0700 Committer: James Peach <[email protected]> Committed: Fri Mar 16 21:25:28 2012 -0700 ---------------------------------------------------------------------- CHANGES | 2 + doc/man/traffic_shell.1 | 16 +++--- lib/ts/IpMap.cc | 99 +++++++++++++++++++++--------------------- lib/ts/ink_inet.h | 16 ++++++- lib/ts/test_Map.cc | 2 +- proxy/UglyLogStubs.cc | 75 +++++++++++++++++++++++++++++++- 6 files changed, 149 insertions(+), 61 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d13336e8/CHANGES ---------------------------------------------------------------------- diff --git a/CHANGES b/CHANGES index f0ffc6f..9fe84e1 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,7 @@ -*- coding: utf-8 -*- Changes with Apache Traffic Server 3.1.3 + *) [TS-1145] Additional clang build fixes. Author: Darrin Jewell. + *) [TS-1144] Fix out of tree builds. Author: Darrin Jewell. *) [TS-1138] Fixed off by one range error in IpMap.s http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d13336e8/doc/man/traffic_shell.1 ---------------------------------------------------------------------- diff --git a/doc/man/traffic_shell.1 b/doc/man/traffic_shell.1 index ed83240..abbd68c 100644 --- a/doc/man/traffic_shell.1 +++ b/doc/man/traffic_shell.1 @@ -15,16 +15,16 @@ .\" limitations under the License. .\" .Dd January 22, 2012 .Dt TRAFFIC.ShELL 1 - +.sp .Sh NAME .Nm traffic_shell .Nd Traffic Server configuration shell - +.sp .Sh SYNOPSIS .Nm .Op Fl V .Op Ar filename - +.sp .Sh DESCRIPTION .Nm is a command-line interface to monitor and configure Apache Traffic Server. @@ -55,7 +55,7 @@ argument, .Nm will read and execute commands from the given file prior to entering interactive mode. - +.sp .Sh USING TRAFFIC SHELL COMMANDS Once you start .Nm @@ -101,7 +101,7 @@ at the .Li trafficserver> prompt to exit .Nm . - +.sp .Sh TRAFFIC SHELL COMMAND SHORTCUTS .Nm supports the following shortcuts for entering commands. @@ -123,7 +123,7 @@ Command history. From the prompt, press the Up and Down arrow keys to scroll through commands that you previously entered. .El - +.sp .Sh ACCESSING ON-LINE HELP .Nm includes manual pages that describe each command. To access @@ -138,7 +138,7 @@ command at the prompt. .It Fl V Print version information and exit. .El - +.sp .Sh EXAMPLES Displaying the on-line help for a command: .Bd -ragged -offset 12345678 @@ -159,7 +159,7 @@ Use a Tcl command to show multiple configuration parameters: .Bd -ragged -offset 12345678 trafficserver> foreach i {http proxy socks ssl} {show:$i} .Ed - +.sp .Sh SEE ALSO .Xr traffic_line 1 , .Xr Tcl n . http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d13336e8/lib/ts/IpMap.cc ---------------------------------------------------------------------- diff --git a/lib/ts/IpMap.cc b/lib/ts/IpMap.cc index 7c2b157..5960c93 100644 --- a/lib/ts/IpMap.cc +++ b/lib/ts/IpMap.cc @@ -39,6 +39,56 @@ namespace ts { namespace detail { +inline int cmp(sockaddr_in6 const& lhs, sockaddr_in6 const& rhs) { + return memcmp(lhs.sin6_addr.s6_addr, rhs.sin6_addr.s6_addr, INK_IP6_SIZE); +} + +// Helper functions + +/// Less than. +inline bool operator<(sockaddr_in6 const& lhs, sockaddr_in6 const& rhs) { + return -1 == ts::detail::cmp(lhs, rhs); +} +inline bool operator<(sockaddr_in6 const* lhs, sockaddr_in6 const& rhs) { + return -1 == ts::detail::cmp(*lhs, rhs); +} +/// Less than. +inline bool operator<(sockaddr_in6 const& lhs, sockaddr_in6 const* rhs) { + return -1 == ts::detail::cmp(lhs, *rhs); +} +/// Equality. +inline bool operator==(sockaddr_in6 const& lhs, sockaddr_in6 const* rhs) { + return 0 == ts::detail::cmp(lhs, *rhs); +} +/// Equality. +inline bool operator==(sockaddr_in6 const* lhs, sockaddr_in6 const& rhs) { + return 0 == ts::detail::cmp(*lhs, rhs); +} +/// Equality. +inline bool operator==(sockaddr_in6 const& lhs, sockaddr_in6 const& rhs) { + return 0 == ts::detail::cmp(lhs, rhs); +} +/// Less than or equal. +inline bool operator<=(sockaddr_in6 const& lhs, sockaddr_in6 const* rhs) { + return 1 != ts::detail::cmp(lhs, *rhs); +} +/// Less than or equal. +inline bool operator<=(sockaddr_in6 const& lhs, sockaddr_in6 const& rhs) { + return 1 != ts::detail::cmp(lhs, rhs); +} +/// Greater than or equal. +inline bool operator>=(sockaddr_in6 const& lhs, sockaddr_in6 const& rhs) { + return -1 != ts::detail::cmp(lhs, rhs); +} +/// Greater than or equal. +inline bool operator>=(sockaddr_in6 const& lhs, sockaddr_in6 const* rhs) { + return -1 != ts::detail::cmp(lhs, *rhs); +} +/// Greater than. +inline bool operator>(sockaddr_in6 const& lhs, sockaddr_in6 const* rhs) { + return 1 == ts::detail::cmp(lhs, *rhs); +} + /// Equality. /// @note If @a n is @c NULL it is treated as having the color @c BLACK. /// @return @c true if @a c and the color of @a n are the same. @@ -508,55 +558,6 @@ template < // Helper functions -inline int cmp(sockaddr_in6 const& lhs, sockaddr_in6 const& rhs) { - return memcmp(lhs.sin6_addr.s6_addr, rhs.sin6_addr.s6_addr, INK_IP6_SIZE); -} - -/// Less than. -inline bool operator<(sockaddr_in6 const& lhs, sockaddr_in6 const& rhs) { - return -1 == ts::detail::cmp(lhs, rhs); -} -inline bool operator<(sockaddr_in6 const* lhs, sockaddr_in6 const& rhs) { - return -1 == ts::detail::cmp(*lhs, rhs); -} -/// Less than. -inline bool operator<(sockaddr_in6 const& lhs, sockaddr_in6 const* rhs) { - return -1 == ts::detail::cmp(lhs, *rhs); -} -/// Equality. -inline bool operator==(sockaddr_in6 const& lhs, sockaddr_in6 const* rhs) { - return 0 == ts::detail::cmp(lhs, *rhs); -} -/// Equality. -inline bool operator==(sockaddr_in6 const* lhs, sockaddr_in6 const& rhs) { - return 0 == ts::detail::cmp(*lhs, rhs); -} -/// Equality. -inline bool operator==(sockaddr_in6 const& lhs, sockaddr_in6 const& rhs) { - return 0 == ts::detail::cmp(lhs, rhs); -} -/// Less than or equal. -inline bool operator<=(sockaddr_in6 const& lhs, sockaddr_in6 const* rhs) { - return 1 != ts::detail::cmp(lhs, *rhs); -} -/// Less than or equal. -inline bool operator<=(sockaddr_in6 const& lhs, sockaddr_in6 const& rhs) { - return 1 != ts::detail::cmp(lhs, rhs); -} -/// Greater than or equal. -inline bool operator>=(sockaddr_in6 const& lhs, sockaddr_in6 const& rhs) { - return -1 != ts::detail::cmp(lhs, rhs); -} -/// Greater than or equal. -inline bool operator>=(sockaddr_in6 const& lhs, sockaddr_in6 const* rhs) { - return -1 != ts::detail::cmp(lhs, *rhs); -} -/// Greater than. -inline bool operator>(sockaddr_in6 const& lhs, sockaddr_in6 const* rhs) { - return 1 == ts::detail::cmp(lhs, *rhs); -} - - template < typename N > N* IpMapBase<N>::lowerBound(ArgType target) { N* n = _root; // current node to test. http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d13336e8/lib/ts/ink_inet.h ---------------------------------------------------------------------- diff --git a/lib/ts/ink_inet.h b/lib/ts/ink_inet.h index 9c5ab5f..afb268b 100644 --- a/lib/ts/ink_inet.h +++ b/lib/ts/ink_inet.h @@ -1150,24 +1150,36 @@ inline bool IpEndpoint::isIp6() const { return AF_INET6 == sa.sa_family; } inline IpEndpoint& IpEndpoint::setToAnyAddr(int family) { + ink_zero(sa); sa.sa_family = family; if (AF_INET == family) { sin.sin_addr.s_addr = INADDR_ANY; - ink_zero(sin.sin_zero); +#if HAVE_STRUCT_SOCKADDR_IN_SIN_LEN + sin.sin_len = sizeof(sockaddr_in); +#endif } else if (AF_INET6 == family) { sin6.sin6_addr = in6addr_any; +#if HAVE_STRUCT_SOCKADDR_IN6_SIN6_LEN + sin6.sin6_len = sizeof(sockaddr_in6); +#endif } return *this; } inline IpEndpoint& IpEndpoint::setToLoopback(int family) { + ink_zero(sa); sa.sa_family = family; if (AF_INET == family) { sin.sin_addr.s_addr = htonl(INADDR_LOOPBACK); - ink_zero(sin.sin_zero); +#if HAVE_STRUCT_SOCKADDR_IN_SIN_LEN + sin.sin_len = sizeof(sockaddr_in); +#endif } else if (AF_INET6 == family) { sin6.sin6_addr = in6addr_loopback; +#if HAVE_STRUCT_SOCKADDR_IN6_SIN6_LEN + sin6.sin6_len = sizeof(sockaddr_in6); +#endif } return *this; } http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d13336e8/lib/ts/test_Map.cc ---------------------------------------------------------------------- diff --git a/lib/ts/test_Map.cc b/lib/ts/test_Map.cc index 27d48c2..4248a73 100644 --- a/lib/ts/test_Map.cc +++ b/lib/ts/test_Map.cc @@ -34,7 +34,7 @@ int main(int argc, char **argv) { ssm.put("b", "B"); ssm.put("c", "C"); ssm.put("d", "D"); - form_SSMap(x, ssm) ; + form_SSMap(x, ssm) { /* nop */ } StringChainHash<> h; cchar *hi = "hi", *ho = "ho", *hum = "hum", *hhi = "hhi"; http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d13336e8/proxy/UglyLogStubs.cc ---------------------------------------------------------------------- diff --git a/proxy/UglyLogStubs.cc b/proxy/UglyLogStubs.cc index 3e46647..223d453 100644 --- a/proxy/UglyLogStubs.cc +++ b/proxy/UglyLogStubs.cc @@ -34,11 +34,23 @@ #include <unistd.h> #endif - #include "P_Net.h" int fds_limit = 8000; +class FakeUDPNetProcessor : public UDPNetProcessor { + virtual int start(int num) { + NOWARN_UNUSED(num); + ink_release_assert(false); + return 0; + }; + virtual void UDPNetProcessor_is_abstract() { + ink_release_assert(false); + }; +} fakeUDPNet; + +UDPNetProcessor& udpNet = fakeUDPNet; + ClassAllocator<UDPPacketInternal> udpPacketAllocator("udpPacketAllocator"); void @@ -103,6 +115,12 @@ LogCollationClientSM::send(LogBuffer * log_buffer) return 0; } +NetAccept * +UnixNetProcessor::createNetAccept() +{ + ink_release_assert(false); + return NULL; +} // TODO: The following was necessary only for Solaris, should examine more. NetVCOptions const Connection::DEFAULT_OPTIONS; @@ -135,6 +153,61 @@ CacheVC::handleWrite(int event, Event *e) ink_release_assert(false); } +UnixNetProcessor unix_netProcessor; +NetProcessor& netProcessor = unix_netProcessor; + +int +UnixNetProcessor::start(int num) +{ + NOWARN_UNUSED(num); + ink_release_assert(false); + return 0; +} + +Action * +NetProcessor::accept(Continuation* cont, AcceptOptions const& opt) +{ + NOWARN_UNUSED(cont); + NOWARN_UNUSED(opt); + ink_release_assert(false); + return NULL; +} + +Action * +NetProcessor::main_accept(Continuation *cont, SOCKET fd, AcceptOptions const& opt) +{ + NOWARN_UNUSED(cont); + NOWARN_UNUSED(fd); + NOWARN_UNUSED(opt); + ink_release_assert(false); + return NULL; +} + +Action * +UnixNetProcessor::accept_internal(Continuation *cont, int fd, AcceptOptions const& opt) +{ + NOWARN_UNUSED(cont); + NOWARN_UNUSED(fd); + NOWARN_UNUSED(opt); + ink_release_assert(false); + return NULL; +} + +UnixNetVConnection * +UnixNetProcessor::allocateThread(EThread * t) +{ + NOWARN_UNUSED(t); + ink_release_assert(false); + return NULL; +} + +void +UnixNetProcessor::freeThread(UnixNetVConnection * vc, EThread * t) +{ + NOWARN_UNUSED(t); + NOWARN_UNUSED(vc); + ink_release_assert(false); +} // For Intel ICC int cache_config_mutex_retry_delay = 2;
