diff -ruN squid-2.6.STABLE8/ChangeLog squid-2.6.STABLE9/ChangeLog
--- squid-2.6.STABLE8/ChangeLog	Sun Jan 21 03:26:43 2007
+++ squid-2.6.STABLE9/ChangeLog	Tue Jan 23 19:06:04 2007
@@ -1,3 +1,8 @@
+Changes to squid-2.6.STABLE9 (Jan 24 2007)
+
+	- Bug #1878: If-Modified-Since broken in 2.6.STABLE8
+	- Bug #1877 diskd bug in storeDiskdIOCallback()
+
 Changes to squid-2.6.STABLE8 (Jan 21 2007)
 
 	- Bug #1873: authenticateNTLMFixErrorHeader: state 4.
diff -ruN squid-2.6.STABLE8/RELEASENOTES.html squid-2.6.STABLE9/RELEASENOTES.html
--- squid-2.6.STABLE8/RELEASENOTES.html	Sun Jan 21 03:30:36 2007
+++ squid-2.6.STABLE9/RELEASENOTES.html	Tue Jan 23 19:08:14 2007
@@ -7,7 +7,7 @@
 <BODY>
 <H1>Squid 2.6.STABLE8 release notes</H1>
 
-<H2>Squid Developers</H2>$Id: release-2.6.html,v 1.44.2.1 2007/01/21 10:26:44 hno Exp $
+<H2>Squid Developers</H2>$Id: release-2.6.html,v 1.44.2.2 2007/01/24 02:06:05 hno Exp $
 <HR>
 <EM>This document contains the release notes for version 2.6 of Squid.
 Squid is a WWW Cache application developed by the Web Caching community.</EM>
@@ -51,6 +51,9 @@
 <P>
 <H2><A NAME="toc13">13.</A> <A HREF="#s13">Key changes squid-2.6.STABLE7 to 2.6.STABLE8</A></H2>
 
+<P>
+<H2><A NAME="toc14">14.</A> <A HREF="#s14">Key changes squid-2.6.STABLE8 to 2.6.STABLE9</A></H2>
+
 
 <HR>
 <H2><A NAME="s1">1.</A> <A HREF="#toc1">Key changes from squid 2.5</A></H2>
@@ -580,10 +583,23 @@
 <LI>Bug <a href="http://www.squid-cache.org/bugs/show_bug.cgi?id=1872">#1872</a>: Date parsing error causing objects to get unexpectedly cached. Problem introduced in 2.6.STABLE6.</LI>
 <LI>Bug <a href="http://www.squid-cache.org/bugs/show_bug.cgi?id=1873">#1873</a>: authenticateNTLMFixErrorHeader: state 4. NTLM &amp;
 Negotiate instability introduced in 2.6.STABLE6.</LI>
+<LI>Primitive support for HTTP/1.1 chunked encoding, working around broken servers sending chunked encoding in response to HTTP/1.0 requests.</LI>
 <LI>Bug <a href="http://www.squid-cache.org/bugs/show_bug.cgi?id=1783">#1783</a>: STALE: Entry's timestamp greater than check time. Clock going backwards?</LI>
 <LI>Don't update object timestamps on a failed revalidation.</LI>
 <LI>a number of other minor and cosmetic bugfixes. See the list of 
 <A HREF="http://www.squid-cache.org/Versions/v2/2.6/changesets/SQUID_2_6_STABLE8.html">squid-2.6.STABLE8 changes</A> and the 
+<A HREF="ChangeLog">ChangeLog</A> file for details.</LI>
+</UL>
+</P>
+
+<H2><A NAME="s14">14.</A> <A HREF="#toc14">Key changes squid-2.6.STABLE8 to 2.6.STABLE9</A></H2>
+
+<P>
+<UL>
+<LI>Bug <a href="http://www.squid-cache.org/bugs/show_bug.cgi?id=1878">#1878</a>: If-Modified-Since broken in 2.6.STABLE8</LI>
+<LI>Bug <a href="http://www.squid-cache.org/bugs/show_bug.cgi?id=1877">#1877</a> diskd bug in storeDiskdIOCallback()</LI>
+<LI>See the list of 
+<A HREF="http://www.squid-cache.org/Versions/v2/2.6/changesets/SQUID_2_6_STABLE9.html">squid-2.6.STABLE9 changes</A> and the 
 <A HREF="ChangeLog">ChangeLog</A> file for details.</LI>
 </UL>
 </P>
diff -ruN squid-2.6.STABLE8/configure squid-2.6.STABLE9/configure
--- squid-2.6.STABLE8/configure	Sun Jan 21 03:30:04 2007
+++ squid-2.6.STABLE9/configure	Tue Jan 23 19:07:43 2007
@@ -1,7 +1,7 @@
 #! /bin/sh
-# From configure.in Revision: 1.416.2.1 .
+# From configure.in Revision: 1.416.2.2 .
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for Squid Web Proxy 2.6.STABLE8.
+# Generated by GNU Autoconf 2.59 for Squid Web Proxy 2.6.STABLE9.
 #
 # Report bugs to <http://www.squid-cache.org/bugs/>.
 #
@@ -270,8 +270,8 @@
 # Identity of this package.
 PACKAGE_NAME='Squid Web Proxy'
 PACKAGE_TARNAME='squid'
-PACKAGE_VERSION='2.6.STABLE8'
-PACKAGE_STRING='Squid Web Proxy 2.6.STABLE8'
+PACKAGE_VERSION='2.6.STABLE9'
+PACKAGE_STRING='Squid Web Proxy 2.6.STABLE9'
 PACKAGE_BUGREPORT='http://www.squid-cache.org/bugs/'
 
 ac_default_prefix=/usr/local/squid
@@ -781,7 +781,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Squid Web Proxy 2.6.STABLE8 to adapt to many kinds of systems.
+\`configure' configures Squid Web Proxy 2.6.STABLE9 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -847,7 +847,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Squid Web Proxy 2.6.STABLE8:";;
+     short | recursive ) echo "Configuration of Squid Web Proxy 2.6.STABLE9:";;
    esac
   cat <<\_ACEOF
 
@@ -1158,7 +1158,7 @@
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-Squid Web Proxy configure 2.6.STABLE8
+Squid Web Proxy configure 2.6.STABLE9
 generated by GNU Autoconf 2.59
 
 Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1172,7 +1172,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Squid Web Proxy $as_me 2.6.STABLE8, which was
+It was created by Squid Web Proxy $as_me 2.6.STABLE9, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   $ $0 $@
@@ -1818,7 +1818,7 @@
 
 # Define the identity of the package.
  PACKAGE='squid'
- VERSION='2.6.STABLE8'
+ VERSION='2.6.STABLE9'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -18494,7 +18494,7 @@
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by Squid Web Proxy $as_me 2.6.STABLE8, which was
+This file was extended by Squid Web Proxy $as_me 2.6.STABLE9, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18557,7 +18557,7 @@
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-Squid Web Proxy config.status 2.6.STABLE8
+Squid Web Proxy config.status 2.6.STABLE9
 configured by $0, generated by GNU Autoconf 2.59,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 
diff -ruN squid-2.6.STABLE8/configure.in squid-2.6.STABLE9/configure.in
--- squid-2.6.STABLE8/configure.in	Sun Jan 21 03:30:04 2007
+++ squid-2.6.STABLE9/configure.in	Tue Jan 23 19:07:43 2007
@@ -1,16 +1,16 @@
 dnl
 dnl  Configuration input file for Squid
 dnl
-dnl  $Id: configure.in,v 1.416.2.1 2007/01/21 04:43:22 hno Exp $
+dnl  $Id: configure.in,v 1.416.2.2 2007/01/24 02:06:04 hno Exp $
 dnl
 dnl
 dnl
-AC_INIT(Squid Web Proxy, 2.6.STABLE8, http://www.squid-cache.org/bugs/, squid)
+AC_INIT(Squid Web Proxy, 2.6.STABLE9, http://www.squid-cache.org/bugs/, squid)
 AC_PREREQ(2.52)
 AM_CONFIG_HEADER(include/autoconf.h)
 AC_CONFIG_AUX_DIR(cfgaux)
 AM_INIT_AUTOMAKE
-AC_REVISION($Revision: 1.416.2.1 $)dnl
+AC_REVISION($Revision: 1.416.2.2 $)dnl
 AC_PREFIX_DEFAULT(/usr/local/squid)
 AM_MAINTAINER_MODE
 
diff -ruN squid-2.6.STABLE8/include/version.h squid-2.6.STABLE9/include/version.h
--- squid-2.6.STABLE8/include/version.h	Sun Jan 21 03:30:04 2007
+++ squid-2.6.STABLE9/include/version.h	Tue Jan 23 19:07:43 2007
@@ -9,5 +9,5 @@
  */
 
 #ifndef SQUID_RELEASE_TIME
-#define SQUID_RELEASE_TIME 1169375401
+#define SQUID_RELEASE_TIME 1169604460
 #endif
diff -ruN squid-2.6.STABLE8/src/client_side.c squid-2.6.STABLE9/src/client_side.c
--- squid-2.6.STABLE8/src/client_side.c	Sun Jan 21 03:26:44 2007
+++ squid-2.6.STABLE9/src/client_side.c	Tue Jan 23 18:38:16 2007
@@ -1,6 +1,6 @@
 
 /*
- * $Id: client_side.c,v 1.693.2.1 2007/01/21 10:26:44 hno Exp $
+ * $Id: client_side.c,v 1.693.2.2 2007/01/24 01:38:16 hno Exp $
  *
  * DEBUG: section 33    Client-side Routines
  * AUTHOR: Duane Wessels
@@ -2217,11 +2217,11 @@
 	    stringClean(&req_etags);
 	    if (has_etag) {
 		debug(33, 4) ("clientCacheHit: If-None-Match matches\n");
-		is_modified = 0;
+		if (is_modified == -1)
+		    is_modified = 0;
 	    } else {
 		debug(33, 4) ("clientCacheHit: If-None-Match mismatch\n");
-		if (is_modified == -1)
-		    is_modified = 1;
+		is_modified = 1;
 	    }
 	}
     }
@@ -2237,12 +2237,12 @@
 	    return;
 	}
 	if (modifiedSince(e, http->request)) {
-	    debug(33, 4) ("clientCacheHit: If-Modified-Since not modified\n");
-	    is_modified = 0;
-	} else {
 	    debug(33, 4) ("clientCacheHit: If-Modified-Since modified\n");
+	    is_modified = 1;
+	} else {
+	    debug(33, 4) ("clientCacheHit: If-Modified-Since not modified\n");
 	    if (is_modified == -1)
-		is_modified = 1;
+		is_modified = 0;
 	}
     }
     stale = refreshCheckHTTPStale(e, r);
diff -ruN squid-2.6.STABLE8/src/fs/diskd/store_io_diskd.c squid-2.6.STABLE9/src/fs/diskd/store_io_diskd.c
--- squid-2.6.STABLE8/src/fs/diskd/store_io_diskd.c	Sun Nov  5 14:14:36 2006
+++ squid-2.6.STABLE9/src/fs/diskd/store_io_diskd.c	Tue Jan 23 18:54:48 2007
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_io_diskd.c,v 1.33 2006/11/05 21:14:36 hno Exp $
+ * $Id: store_io_diskd.c,v 1.33.2.1 2007/01/24 01:54:48 hno Exp $
  *
  * DEBUG: section 79    Squid-side DISKD I/O functions.
  * AUTHOR: Duane Wessels
@@ -468,11 +468,11 @@
 static void
 storeDiskdIOCallback(storeIOState * sio, int errflag)
 {
-    int valid = cbdataValid(sio->callback_data);
-    debug(79, 3) ("storeDiskdIOCallback: errflag=%d\n", errflag);
-    cbdataUnlock(sio->callback_data);
-    if (valid)
-	sio->callback(sio->callback_data, errflag, sio);
+    void *p = sio->callback_data;
+    debug(79, 3) ("storeUfsIOCallback: errflag=%d\n", errflag);
+    if (cbdataValid(p))
+	sio->callback(p, errflag, sio);
+    cbdataUnlock(p);
     cbdataFree(sio);
 }
 
