#### debug.c #### A minor cleanup in _db_print in __STRICT_ANSI__ mode. Use normal argument passing for all required arguments, and stdargs for all extra args. #### http.c #### Here are a number of changes. 1. data->reply_hdr are the full unmodified MIME headers, including terminating "\r\n\r\n" 2. Some debugging at level 0 is changed to level 1. (keep debug level 0 clean from informal messages please) 3. The MIME parsing is made more tolerant, as specified in the HTTP 1.0 spec. (only look for \n) 4. Expiry information are set when the headers are received (before the object goes public). This is to enable the use of TTL 0 to indicate that the object is private (either throught Expires: header, or ttl_pattern) 5. If the server connection is closed by RESET, throw the object away. RESET should only be generated by malfunctioning servers or when the server dies. It is very unpolite to cache modified objects. (I am not sure I got this right, pleas check it out) Not checked: If expiry time is set correctly when DELETE_BEHIND. #### icp.c #### 1. Changed some debug() from loglevel 0 to 1. 2. Fixed coredump when the client closes the connection before sending a request. (the logging coredumped) 3. Corrected logging condition for "icp_hit_or_miss: swap file open failed" It was logging a openfailure on every cachemiss, regardless of if the open actually failed or not. (this logging is probably not needed, since store logs this as well) #### mime.c ##### True parsing of mime headers #### mime.h #### True parsing of mime headers #### stat.c #### Unneded argument to ttl_describe removed #### store.c #### 1. Added storeExpire(StoreEntry *) that marks a object as expired i.e. it will NOT be provided to new clients 2. don't cache objects with private keys. This is actually a workaround a small problem: If the server closes the connection before the MIME headers are send, the object is cached with a private key. This solves that problem, and adds some error toleranse in the code. Probably it should be extended to not cache expired objects as well. 3. Expire objects that have a pending delete This is to prevent new clients from using a object that should be deleted as soon as possible. 4. Minor changes in debug messages (name corrections and level adjustment) #### ttl.c #### 1. Deleted unneeded code handling uncacheable http objects. 2. Changed ttl_pattern logging to include default_ttl where it applies.