diff -Nru squid-1.0.beta12/ChangeLog squid-1.0.beta13/ChangeLog --- squid-1.0.beta12/ChangeLog Thu Jun 6 21:43:24 1996 +++ squid-1.0.beta13/ChangeLog Fri Jun 7 09:06:49 1996 @@ -228,7 +228,7 @@ - Fixed serious memory leak of MemObject->reply structures. -Changes to squid-1.0.beta12: +Changes to squid-1.0.beta12 (June 6, 1996): - Fixed problem when using udp_outgoing_addr where no ICP packets would be recieved because they were getting sent @@ -249,3 +249,9 @@ - Changed handling of IMS requests. Now will return "304 Not Modified" if the requested object is in the cache and not expired. + +Changes to squid-1.0.beta13 (June 7, 1996): + + - Fixed coredump bug where StoreEntry key was free'd too soon. + - Fixed UDP_HIT_OBJ bug: cancel the hierarchy timeout and set + the ping_status to DONE for UDP_HIT_OBJ replies. diff -Nru squid-1.0.beta12/include/version.h squid-1.0.beta13/include/version.h --- squid-1.0.beta12/include/version.h Tue Jun 4 15:15:03 1996 +++ squid-1.0.beta13/include/version.h Fri Jun 7 09:12:30 1996 @@ -1,7 +1,7 @@ -/* $Id: version.h,v 1.19.4.11 1996/06/04 22:15:03 wessels Exp $ +/* $Id: version.h,v 1.19.4.12 1996/06/07 16:12:30 wessels Exp $ * * SQUID_VERSION - String for version id of this distribution */ #ifndef SQUID_VERSION -#define SQUID_VERSION "1.0.beta12" +#define SQUID_VERSION "1.0.beta13" #endif diff -Nru squid-1.0.beta12/src/ftpget.c squid-1.0.beta13/src/ftpget.c --- squid-1.0.beta12/src/ftpget.c Tue Jun 4 13:41:01 1996 +++ squid-1.0.beta13/src/ftpget.c Fri Jun 7 09:00:46 1996 @@ -1,4 +1,4 @@ -/* $Id: ftpget.c,v 1.23.2.44 1996/06/04 20:41:01 wessels Exp $ */ +/* $Id: ftpget.c,v 1.23.2.45 1996/06/07 16:00:46 wessels Exp $ */ /* * NOTES @@ -2289,9 +2289,9 @@ log_errno2(__FILE__, __LINE__, "fcntl F_GETFL"); #ifdef O_NONBLOCK flags &= ~O_NONBLOCK; -#else - ifdef O_NDELAY - flags &= ~O_NDELAY; +#endif +#ifdef O_NDELAY + flags &= ~O_NDELAY; #endif if (fcntl(c, F_SETFL, flags) < 0) log_errno2(__FILE__, __LINE__, "fcntl F_SETFL"); diff -Nru squid-1.0.beta12/src/neighbors.c squid-1.0.beta13/src/neighbors.c --- squid-1.0.beta12/src/neighbors.c Thu Jun 6 15:29:46 1996 +++ squid-1.0.beta13/src/neighbors.c Fri Jun 7 09:06:04 1996 @@ -1,4 +1,4 @@ -/* $Id: neighbors.c,v 1.22.2.26 1996/06/06 22:29:46 wessels Exp $ */ +/* $Id: neighbors.c,v 1.22.2.27 1996/06/07 16:06:04 wessels Exp $ */ /* * DEBUG: Section 15 neighbors: @@ -580,7 +580,8 @@ debug(15, 0, "Too late UDP_HIT_OBJ '%s'?\n", entry->url); return; } - /* ACK, how to parse headers? */ + protoCancelTimeout(0, entry); + entry->ping_status = PING_DONE; httpState = xcalloc(1, sizeof(HttpStateData)); httpState->entry = entry; httpProcessReplyHeader(httpState, data, data_sz); diff -Nru squid-1.0.beta12/src/proto.c squid-1.0.beta13/src/proto.c --- squid-1.0.beta12/src/proto.c Thu Jun 6 15:29:47 1996 +++ squid-1.0.beta13/src/proto.c Fri Jun 7 09:10:22 1996 @@ -1,4 +1,4 @@ -/* $Id: proto.c,v 1.27.2.32 1996/06/06 22:29:47 wessels Exp $ */ +/* $Id: proto.c,v 1.27.2.33 1996/06/07 16:10:22 wessels Exp $ */ /* * DEBUG: Section 17 proto: @@ -292,7 +292,7 @@ return 1; } -static void protoCancelTimeout(fd, entry) +void protoCancelTimeout(fd, entry) int fd; StoreEntry *entry; { diff -Nru squid-1.0.beta12/src/proto.h squid-1.0.beta13/src/proto.h --- squid-1.0.beta12/src/proto.h Wed Jun 5 14:42:36 1996 +++ squid-1.0.beta13/src/proto.h Fri Jun 7 09:10:23 1996 @@ -1,4 +1,4 @@ -/* $Id: proto.h,v 1.7.2.7 1996/06/05 21:42:36 wessels Exp $ */ +/* $Id: proto.h,v 1.7.2.8 1996/06/07 16:10:23 wessels Exp $ */ #ifndef PROTO_H #define PROTO_H @@ -187,6 +187,7 @@ extern int protoUndispatch _PARAMS((int, char *, StoreEntry *, request_t *)); extern int getFromDefaultSource _PARAMS((int, StoreEntry *)); extern int getFromCache _PARAMS((int, StoreEntry *, edge *, request_t *)); +extern void protoCancelTimeout _PARAMS((int fd, StoreEntry *)); #define DIRECT_NO 0 #define DIRECT_MAYBE 1 diff -Nru squid-1.0.beta12/src/store.c squid-1.0.beta13/src/store.c --- squid-1.0.beta12/src/store.c Thu Jun 6 15:29:50 1996 +++ squid-1.0.beta13/src/store.c Fri Jun 7 09:01:10 1996 @@ -1,5 +1,5 @@ -/* $Id: store.c,v 1.61.4.50 1996/06/06 22:29:50 wessels Exp $ */ +/* $Id: store.c,v 1.61.4.51 1996/06/07 16:01:10 wessels Exp $ */ /* * DEBUG: Section 20 store @@ -171,14 +171,14 @@ debug(20, 3, "destroy_StoreEntry: destroying %p\n", e); if (!e) fatal_dump("destroy_StoreEntry: NULL Entry"); + if (e->mem_obj) + destroy_MemObject(e->mem_obj); meta_data.url_strings -= strlen(e->url); safe_free(e->url); if (BIT_TEST(e->flag, KEY_URL)) e->key = NULL; else safe_free(e->key); - if (e->mem_obj) - destroy_MemObject(e->mem_obj); xfree(e); meta_data.store_entries--; }