Merged fix for zlib crc check from Tcl
authorPat Thoyts <patthoyts@users.sourceforge.net>
Mon, 11 Aug 2008 22:14:26 +0000 (22:14 +0000)
committerPat Thoyts <patthoyts@users.sourceforge.net>
Mon, 11 Aug 2008 22:14:26 +0000 (22:14 +0000)
ChangeLog
http2.6/http.tcl
http2.6/pkgIndex.tcl

index 260649a0dceb6d1f969e0f54a26f3878beb00770..fb19aaa20a89c59f59d22ad86a945d74f266ce57 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-08-11  Pat Thoyts  <patthoyts@users.sourceforge.net>
+
+       * http2.6/http.tcl: Merged zlib crc fix from Tcl.
+
 2008-04-30  Pat Thoyts  <patthoyts@users.sourceforge.net>
 
        * win/makefile.vc:  Updated the NMAKE build files.
index 69f883ae6dd88973ec873a60764a1d66db901adc..447cbfeee4b6c059c18d4836d065d338d1e010e1 100644 (file)
 # 2.6.8 Merged with core version in 8.5.2 and 8.4.19 and above changes.
 #      Core is 2.7, this v2.6.8 has defaultKeepalive 1 and different
 #      default -useragent.
+# 2.6.9 Merged fix for zlib crc check on 64bit systems.
 
 package require Tcl 8.4
 # keep this in sync with pkgIndex.tcl
-package provide http 2.6.8
+package provide http 2.6.9
 
 namespace eval http {
     # Allow resourcing to not clobber existing data
@@ -1428,8 +1429,8 @@ proc http::Gunzip {data} {
 
     binary scan [string range $data end-7 end] ii crc size
     set inflated [zlib inflate [string range $data $pos end-8]]
-
-    if { $crc != [set chk [zlib crc32 $inflated]] } {
+    set chk [zlib crc32 $inflated]
+    if { ($crc & 0xffffffff) != ($chk & 0xffffffff)} {
        return -code error "invalid data: checksum mismatch $crc != $chk"
     }
     return $inflated
index 89a17fad57b3360e09b7af04dbb2f3aadacb4c5b..7e44dd070052417bb244775e145648d88b949c29 100644 (file)
@@ -4,5 +4,5 @@
 # package ifneeded http 2.6 [list tclPkgSetup $dir http 2.6 {{http.tcl source {::http::config ::http::formatQuery ::http::geturl ::http::reset ::http::wait ::http::register ::http::unregister}}}]
 #
 if {![package vsatisfies [package provide Tcl] 8.4]} {return}
-package ifneeded http 2.6.8 [list source [file join $dir http.tcl]]
+package ifneeded http 2.6.9 [list source [file join $dir http.tcl]]