--- squid-2.5.STABLE7/src/client_side.c.original	2004-12-13 19:09:38.000000000 +0200
+++ squid-2.5.STABLE7/src/client_side.c	2004-12-13 19:09:58.000000000 +0200
@@ -1965,6 +1965,30 @@
 	return;
     }
     if (http->out.offset == 0) {
+	/* Zero Penalty Patch (ZPH) begins here ----> */
+        char my_options [] = { 0x88, 0x04, 0xAB, 0xCD };
+        switch ( http->log_type )
+        {
+            /* Match cache hits */
+	    case LOG_TCP_HIT:
+            case LOG_TCP_REFRESH_HIT:
+            case LOG_TCP_REFRESH_FAIL_HIT:
+            case LOG_TCP_IMS_HIT:
+            case LOG_TCP_MEM_HIT:
+            case LOG_TCP_OFFLINE_HIT:
+                enter_suid();
+                if (setsockopt(fd, IPPROTO_IP, IP_OPTIONS, my_options, 4 ) < 0)
+                {
+                    debug(50, 1) ("setsockopt(IP_OPTIONS) on FD %d: %s\n", fd, xstrerror());
+                }
+
+                leave_suid();
+                break;
+            default:
+                break;
+        }
+        /* <----- End of ZPH */
+
 	rep = clientBuildReply(http, buf, size);
 	if (rep) {
 	    aclCheck_t *ch;
