]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Merge from trunk
authorAmos Jeffries <squid3@treenet.co.nz>
Fri, 13 Aug 2010 04:42:26 +0000 (16:42 +1200)
committerAmos Jeffries <squid3@treenet.co.nz>
Fri, 13 Aug 2010 04:42:26 +0000 (16:42 +1200)
12 files changed:
1  2 
src/cache_cf.cc
src/cf.data.pre
src/client_side.cc
src/client_side_request.cc
src/comm/ListenStateData.cc
src/comm/ListenStateData.h
src/dns_internal.cc
src/forward.cc
src/http.cc
src/icp_v2.cc
src/structs.h
src/wccp2.cc

diff --cc src/cache_cf.cc
Simple merge
diff --cc src/cf.data.pre
Simple merge
Simple merge
Simple merge
index 10980d8d9f8fbde6acb1919bfd849802486fc863,838d7ff5f7ed9c3ecae6d1f7b3230bb46f542783..78f11c528f3b6eb1a15b61fb2f4500c8ea4d7961
@@@ -204,9 -169,9 +201,9 @@@ Comm::ListenStateData::acceptOne(
      }
  
      debugs(5, 5, HERE << "accepted: FD " << fd <<
 -           " newfd: " << newfd << " from: " << connDetails.peer <<
 +           " newfd: " << newfd << " from: " << connDetails->remote <<
             " handler: " << theCallback);
-     notify(newfd, COMM_OK, 0, connDetails);
+     notify(newfd, COMM_OK, connDetails);
  }
  
  void
@@@ -218,7 -183,7 +215,7 @@@ Comm::ListenStateData::acceptNext(
  }
  
  void
- Comm::ListenStateData::notify(int newfd, comm_err_t errcode, int xerrno, Comm::ConnectionPointer connDetails)
 -Comm::ListenStateData::notify(int newfd, comm_err_t flag, const ConnectionDetail &connDetails)
++Comm::ListenStateData::notify(int newfd, comm_err_t flag, const Comm::ConnectionPointer &connDetails)
  {
      // listener socket handlers just abandon the port with COMM_ERR_CLOSING
      // it should only happen when this object is deleted...
@@@ -251,11 -216,13 +248,13 @@@ Comm::ListenStateData::oldAccept(Comm::
      statCounter.syscalls.sock.accepts++;
      int sock;
      struct addrinfo *gai = NULL;
 -    details.me.InitAddrInfo(gai);
 +    details.local.InitAddrInfo(gai);
  
+     errcode = 0; // reset local errno copy.
      if ((sock = accept(fd, gai->ai_addr, &gai->ai_addrlen)) < 0) {
+         errcode = errno; // store last accept errno locally.
  
 -        details.me.FreeAddrInfo(gai);
 +        details.local.FreeAddrInfo(gai);
  
          PROF_stop(comm_accept);
  
index 65609fd6d910b405ee5968aee7691c5b19f257bc,b8e3c9057b2a0c8bb5bab16ea013068646642148..bd0ca895bdfdb37858d558c8ef2b983f7e873221
@@@ -22,9 -21,9 +22,9 @@@ public
      ListenStateData(const ListenStateData &r); // not implemented.
      ~ListenStateData();
  
 -    void subscribe(AsyncCall::Pointer &call);
 +    void subscribe(AsyncCall::Pointer &call) { theCallback = call; };
      void acceptNext();
-     void notify(int newfd, comm_err_t, int xerrno, Comm::ConnectionPointer);
 -    void notify(int newfd, comm_err_t flag, const ConnectionDetail &details);
++    void notify(int newfd, comm_err_t flag, const Comm::ConnectionPointer &details);
  
      int fd;
  
index 661f3bcb377b4edcf2ff7d5d19d4e520f2e1bc89,ce0c5bd6f25c93019831c4c94d16c26f24f98725..fb91dc18aad18fd576a3f9df55a08f6f3bc02226
@@@ -195,14 -194,19 +195,19 @@@ idnsAddNameserver(const char *buf
      Ip::Address A;
  
      if (!(A = buf)) {
--        debugs(78, 0, "WARNING: rejecting '" << buf << "' as a name server, because it is not a numeric IP address");
++        debugs(78, DBG_CRITICAL, "WARNING: rejecting '" << buf << "' as a name server, because it is not a numeric IP address");
          return;
      }
  
      if (A.IsAnyAddr()) {
--        debugs(78, 0, "WARNING: Squid does not accept " << A << " in DNS server specifications.");
-         A = "127.0.0.1";
-         debugs(78, 0, "Will be using " << A << " instead, assuming you meant that DNS is running on the same machine");
++        debugs(78, DBG_CRITICAL, "WARNING: Squid does not accept " << A << " in DNS server specifications.");
+         A.SetLocalhost();
 -        debugs(78, 0, "Will be using " << A << " instead, assuming you meant that DNS is running on the same machine");
++        debugs(78, DBG_CRITICAL, "Will be using " << A << " instead, assuming you meant that DNS is running on the same machine");
+     }
+     if (!Ip::EnableIpv6 && !A.SetIPv4()) {
+         debugs(78, DBG_IMPORTANT, "WARNING: IPv6 is disabled. Discarding " << A << " in DNS server specifications.");
+         return;
      }
  
      if (nns == nns_alloc) {
diff --cc src/forward.cc
index 2c577acbdad54099b197b81b6fe6f5ae96e71ef2,41f1fabb4d04d3960de07649d6ea95395be83a92..9b9ed85b2e26eb71f7e14e4d014902719d253ff3
  #include "Store.h"
  #include "icmp/net_db.h"
  #include "ip/Intercept.h"
--#include "ip/tools.h"
  
 -static PSC fwdStartCompleteWrapper;
 +
 +static PSC fwdPeerSelectionCompleteWrapper;
  static PF fwdServerClosedWrapper;
  #if USE_SSL
  static PF fwdNegotiateSSLWrapper;
diff --cc src/http.cc
index 5fe58b1d19e7e7432cc32eda64affd7bab3c97f7,6e922bb54447ad863dac1d4c4d1725be2e2f3bc1..e9c2b2ed7c75428abafca45ace9bd07aa7281b1d
@@@ -2081,9 -2081,9 +2081,9 @@@ httpStart(FwdState *fwd
  void
  HttpStateData::doneSendingRequestBody()
  {
 -    debugs(11,5, HERE << "doneSendingRequestBody: FD " << fd);
 +    debugs(11,5, HERE << "doneSendingRequestBody: FD " << serverConnection->fd);
  
- #if HTTP_VIOLATIONS
+ #if USE_HTTP_VIOLATIONS
      if (Config.accessList.brokenPosts) {
          ACLFilledChecklist ch(Config.accessList.brokenPosts, request, NULL);
          if (!ch.fastCheck()) {
          return;
      }
      debugs(11, 5, "doneSendingRequestBody: No brokenPosts list");
- #endif /* HTTP_VIOLATIONS */
+ #endif /* USE_HTTP_VIOLATIONS */
  
      CommIoCbParams io(NULL);
 -    io.fd=fd;
 -    io.flag=COMM_OK;
 +    io.fd = serverConnection->fd;
 +    io.flag = COMM_OK;
      sendComplete(io);
  }
  
diff --cc src/icp_v2.cc
Simple merge
diff --cc src/structs.h
Simple merge
diff --cc src/wccp2.cc
Simple merge