]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Author: Alex Rousskov <rousskov@measurement-factory.com>
authorAmos Jeffries <amosjeffries@squid-cache.org>
Wed, 20 Oct 2010 05:25:13 +0000 (23:25 -0600)
committerAmos Jeffries <amosjeffries@squid-cache.org>
Wed, 20 Oct 2010 05:25:13 +0000 (23:25 -0600)
Prohibit fruitless modification of httpBuildRequestHeader flags parameter.

HttpStateData::httpBuildRequestHeader is a static method, but it has a
parameter called flags, just like HttpStateData objects have a data member
called flags. Modifying that parameter "worked" but had no effect on the
caller's flags. Wasted a few good hours.

The parameter is "const" now, to prevent fruitless modification.

Also removed http_state_flags parameter from HttpStateData::buildRequestPrefix
which is not a static method and has access to the "real" flags member.

No runtime effect expected.

TODO: Rename HttpStateData::httpBuildRequestHeader to mark its static nature.
Does it belong to HttpStateData at all?

src/http.cc
src/http.h

index 2eea123727a4fe45b7ba83011e190cd3203a2216..6a368b66f71fd6e9fa2f474351fe1f8e5c43a8fa 100644 (file)
@@ -1493,7 +1493,7 @@ HttpStateData::httpBuildRequestHeader(HttpRequest * request,
                                       HttpRequest * orig_request,
                                       StoreEntry * entry,
                                       HttpHeader * hdr_out,
-                                      http_state_flags flags)
+                                      const http_state_flags flags)
 {
     /* building buffer for complex strings */
 #define BBUF_SZ (MAX_URL+32)
@@ -1933,8 +1933,7 @@ mb_size_t
 HttpStateData::buildRequestPrefix(HttpRequest * aRequest,
                                   HttpRequest * original_request,
                                   StoreEntry * sentry,
-                                  MemBuf * mb,
-                                  http_state_flags stateFlags)
+                                  MemBuf * mb)
 {
     const int offset = mb->size;
     HttpVersion httpver(1,1);
@@ -1946,7 +1945,7 @@ HttpStateData::buildRequestPrefix(HttpRequest * aRequest,
     {
         HttpHeader hdr(hoRequest);
         Packer p;
-        httpBuildRequestHeader(aRequest, original_request, sentry, &hdr, stateFlags);
+        httpBuildRequestHeader(aRequest, original_request, sentry, &hdr, flags);
 
         if (aRequest->flags.pinned && aRequest->flags.connection_auth)
             aRequest->flags.auth_sent = 1;
@@ -2034,7 +2033,7 @@ HttpStateData::sendRequest()
     }
 
     mb.init();
-    buildRequestPrefix(request, orig_request, entry, &mb, flags);
+    buildRequestPrefix(request, orig_request, entry, &mb);
     debugs(11, 6, "httpSendRequest: FD " << fd << ":\n" << mb.buf);
     comm_write_mbuf(fd, &mb, requestSender);
 
index eeebe1c272d0946806e44c854ec651ef9761e121..99ecd75e36eb674583e96d848190fb0a2520aa2f 100644 (file)
@@ -51,7 +51,7 @@ public:
                                        HttpRequest * orig_request,
                                        StoreEntry * entry,
                                        HttpHeader * hdr_out,
-                                       http_state_flags flags);
+                                       const http_state_flags flags);
 
     virtual int dataDescriptor() const;
     /* should be private */
@@ -117,8 +117,7 @@ private:
     mb_size_t buildRequestPrefix(HttpRequest * request,
                                  HttpRequest * orig_request,
                                  StoreEntry * entry,
-                                 MemBuf * mb,
-                                 http_state_flags flags);
+                                 MemBuf * mb);
     static bool decideIfWeDoRanges (HttpRequest * orig_request);
     bool peerSupportsConnectionPinning() const;