SQUID 1.2.beta15 available

From: Duane Wessels <wessels@dont-contact.us>
Date: Fri, 13 Feb 1998 14:04:36 -0700

Superstitous people beware... its friday the 13th.

Changes to squid-1.2.beta15 (Feb 13, 1998):

        NOTE: This version has changes which may cause all or part
              of your cache to be lost. However, you can problably
              save most of it by doing a slow restart. Specifically:

        1. Kill the running squid-1.2.beta14 process; wait for it to
           fully exit.
        2. Remove all 'swap.state*' files, either in each cache_dir, or
           as defined in your squid.conf
        3. Start squid-1.2.beta15. The store will be rebuilt from the
           existing swap files, reading the directories and opening
           the files.

        - Fixed some problems related to disk (and pipe) write error
          handling. file_close() doesn't always close the file
          immediately; i.e. when there are pending buffers to write.
          StoreEntry->lock_count could become zero while a write is
          pending, then bad things happen during the callback.
        - The file_write() callback data must now be in the callback
          database (cbdata). We now use the swapout_ctrl_t structure
          for the callback data; it stays around for as long as we are
          swapping out.
        - Changed the way write errors are handled by diskHandleWrite.
          If there is no callback function, now we exit with a fatal
          message under the assumption that the file in question is a
          log file or IPC pipe. Otherwise, we flush all the pending
          write buffers (so we don't see multiple repeated write errors
          from the same descriptor) and let the upper layer decide how
          to handle the failure.
        - Fixed storeDirWriteCleanLogs. A write failure was leaving
          some empty swap.state files, even though it tells us that its
          "not replacing the file." Don't flush/rename logs which we
          have prematurely closed due to write failures, indiciated by
          fd[dirn] == -1. Close these files LAST, not before
          renaming.
        - Fixed storeDirClean to clean directories in a more sensible
          order, instead of the new "MONOTONIC" order for swap files.
        - Merged fdstat.c functions into fd.c.
        - Cleaned up some debugging sections. Some unrelated source
          files were using the same section.
        - Removed curly brackets from all cachemgr output.
        - Removed unused filemap->last_file_number_allocated member.
        - Removed unused fde->lifetime_data member.
        - Fixed incorrectly applying htonl() on icp_common_t->shostid.
        - Call setsid() before exec() in ipc.c so that child processes
          don't receive SIGINT (etc) when running squid on a tty.
        - Changed StoreEntry->object_len to ->swap_file_sz so we
          can verify the disk file size at restart. Moved object_len
          to MemObject->object_sz. Note object_sz is initialized
          to -1. If object_sz < 0, then we need to open the swap
          file and read the swap metadata.
        - Changed store_client->mem to ->entry because we need
          e->swap_file_sz to set mem->object_sz at swapin.
        - Renamed storeSwapData structure to storeSwapLogData.
        - Fixed storeGetNextFile to not increment d->dirn. Added
          check for opendir() failure.
        - Fixed storeRebuildStart to properly link the directory
          list for storeRebuildfromDirectory mode.
        - Added -S command line option to double-check store
          consistency with disk files in storeCleanup().
        - Fixed a problem with transactional logging. In many
          cases we were adding the public cache key and then
          logging a delete for the private key. This is worthless
          because during rebuild we could not locate the previous
          public-keyed entry. Now we assert that only public-keyed
          entries can be logged to swap.state. storeSetPublicKey()
          and storeSetPrivateKey() have been modified to log an
          ADD or DEL when the key changes.
        - Fixed storeDirClean bug. Needed to call
          storeDirProperFileno() so the "dirn bits" get set.
        - Fixed a storeRebuildFromDirectory bug. fullpath[] and
          fullfilename[] were static to that function and did
          not change when the "rebuild_dir" arg did. Moved these
          buffers to the rebuild_dir structure.
        - In storeRebuildFromSwapLog, we were calling storeRelease()
          for cache key collisions. This only set the RELEASE_REQUEST
          bit and did not clear the swap_file_number in the filemap or
          in the StoreEntry, so the swap file could get unlinked later
          when it was really released.
        - Fixed FTP so that ';type=X' specifically sets the HTTP reply
          content-type and content-encoding (Henrik Nordstrom).
        - Removed 'icon_content_type' configuration option. Content
          types now taken from mime.conf (Henrik Nordstrom).
        - Added additional memory malloc tracing and memory leak
          detection. Use --enable-xmalloc-debug-trace configure
          option and -m command line option (Henrik Nordstrom).
Received on Tue Jul 29 2003 - 13:15:46 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:11:42 MST