John Mark Bell
991472d264
Remove bogus assertions
...
svn path=/trunk/netsurf/; revision=11048
2010-12-13 08:24:04 +00:00
John Mark Bell
f40da966ad
We cannot invalidate a user's next/prev pointers when removing it from an object, as it may be the target of iteration
...
svn path=/trunk/netsurf/; revision=11047
2010-12-13 08:16:32 +00:00
John Mark Bell
702c94bb30
Fix assertion: user->next may be NULL, so there's no point asserting that it isn't
...
svn path=/trunk/netsurf/; revision=11046
2010-12-13 08:12:31 +00:00
John Mark Bell
d9f8b8949e
Fix assertion to compare, and not assign
...
svn path=/trunk/netsurf/; revision=11045
2010-12-13 08:10:29 +00:00
John Mark Bell
650f884527
Make llcache_object_notify_users robust to the object's user list changing underneath it
...
svn path=/trunk/netsurf/; revision=11044
2010-12-12 23:37:21 +00:00
John Mark Bell
e5bc525030
Fix bug 3096811: discard HTTP headers for all but the last response
...
svn path=/trunk/netsurf/; revision=10912
2010-10-27 22:12:00 +00:00
John Mark Bell
a10c4d3a7b
Fix crash on receipt of a 304 response: it turns out that FETCH_HEADER may be called before any decision about how to process the response is made.
...
Move FETCH_HEADER handler to start of switch statement to reflect this.
svn path=/trunk/netsurf/; revision=10792
2010-09-16 22:46:40 +00:00
John Mark Bell
a7dd752046
Ensure that candidate count is reduced if a conditional request results in a non-304 response
...
svn path=/trunk/netsurf/; revision=10791
2010-09-16 22:04:06 +00:00
Vincent Sanders
1391ebe5cc
perpetrate a neatness to centralise all the low level cache cache control data invalidation
...
svn path=/trunk/netsurf/; revision=10787
2010-09-16 19:47:15 +00:00
John Mark Bell
db736f8378
Fix heap corruption
...
svn path=/trunk/netsurf/; revision=10786
2010-09-16 19:33:18 +00:00
John Mark Bell
dafccf21d5
Fix validation of invalidated cache entries.
...
svn path=/trunk/netsurf/; revision=10785
2010-09-16 18:58:32 +00:00
Daniel Silverstone
be59d5870b
Ensure we free etags before invalidating cache control data
...
svn path=/trunk/netsurf/; revision=10784
2010-09-16 16:21:58 +00:00
John Mark Bell
c88044c8cb
Forcibly invalidate contents with response codes that aren't 200 or 203.
...
svn path=/trunk/netsurf/; revision=10780
2010-09-15 19:33:18 +00:00
John Mark Bell
78f3bbaed3
Fix bug #3055480 : properly compare URLs, instead of erroneously assuming that strcasecmp is the correct answer.
...
svn path=/trunk/netsurf/; revision=10721
2010-08-29 17:41:54 +00:00
John Mark Bell
00aeb20334
Less spam
...
svn path=/trunk/netsurf/; revision=10687
2010-08-10 21:46:45 +00:00
John Mark Bell
48b17a5aea
Rate-limit cache clean attempts
...
svn path=/trunk/netsurf/; revision=10686
2010-08-10 19:58:39 +00:00
John Mark Bell
183974b437
Enable noisy logging
...
svn path=/trunk/netsurf/; revision=10650
2010-07-17 08:17:42 +00:00
John Mark Bell
0de2013f25
Clean up caches on exit
...
svn path=/trunk/netsurf/; revision=10494
2010-04-27 06:48:09 +00:00
Vincent Sanders
03bb3e8636
remove _GNU_SOURCE define from everywhere.
...
strndup is not standard so provide an implementation.
svn path=/trunk/netsurf/; revision=10474
2010-04-24 15:22:17 +00:00
John Mark Bell
248a53f6ba
Avoid double free when shrink-wrapping source data on fetch completion.
...
svn path=/trunk/netsurf/; revision=10423
2010-04-17 21:17:08 +00:00
John Mark Bell
01eb197f56
When the fetch system informs its clients that certificate verification has failed, it has already stopped and cleaned up the fetch.
...
Stop llcache_fetch_cert_error attempting to abort the fetch, as this will result in a double free.
svn path=/trunk/netsurf/; revision=10418
2010-04-16 23:15:22 +00:00
John Mark Bell
44552e7492
Provide API to invalidate llcache object cache control data
...
svn path=/trunk/netsurf/; revision=10411
2010-04-16 20:42:10 +00:00
John Mark Bell
ca0daa1a66
Reset fetch state when refetching object.
...
Ensure that cache control data is invalidated for 401/certificate failure so that conditional headers are not emitted when object is refetched.
svn path=/trunk/netsurf/; revision=10408
2010-04-16 20:08:27 +00:00
John Mark Bell
b008327de1
Improve 401 response handling
...
svn path=/trunk/netsurf/; revision=10407
2010-04-16 20:00:10 +00:00
John Mark Bell
1c42c0569f
Ensure we invalidate cache data and mark objects as complete on failure to fetch.
...
svn path=/trunk/netsurf/; revision=10402
2010-04-14 20:42:03 +00:00
Daniel Silverstone
2ba2dab3a7
Eat any #fragment in llcache_object_retrieve -- fixing double-fragment issues at the top level, and preventing fragment(ed) redirects from confusing the issue
...
svn path=/trunk/netsurf/; revision=10399
2010-04-14 14:53:21 +00:00
Daniel Silverstone
b56886d0ee
Abstract a number of unsafe iterations of object users into a single safe function call
...
svn path=/trunk/netsurf/; revision=10398
2010-04-14 10:56:44 +00:00
John Mark Bell
4b8c720ac5
Shrink source buffer to final length on fetch completion
...
svn path=/trunk/netsurf/; revision=10373
2010-04-11 21:26:20 +00:00
John Mark Bell
6a88eaf67a
Pedantic whitespace changes
...
svn path=/trunk/netsurf/; revision=10356
2010-04-11 14:39:26 +00:00
John Mark Bell
fe87225ccf
Complete low-level cache cleaner
...
svn path=/trunk/netsurf/; revision=10355
2010-04-11 14:32:39 +00:00
John Mark Bell
9666787dfa
Remove redundant todo
...
svn path=/trunk/netsurf/; revision=10354
2010-04-11 14:12:13 +00:00
John Mark Bell
a70c67fa35
Support 307 redirects for GET requests
...
svn path=/trunk/netsurf/; revision=10353
2010-04-11 14:11:33 +00:00
John Mark Bell
863d5c77c3
Forbid redirects to file:/// URLs
...
svn path=/trunk/netsurf/; revision=10352
2010-04-11 14:06:02 +00:00
John Mark Bell
40bac34ffd
Bail out if we're redirected to an URL we can't handle
...
svn path=/trunk/netsurf/; revision=10351
2010-04-11 14:01:11 +00:00
John Mark Bell
758190f37b
Reintroduce redirect limit
...
svn path=/trunk/netsurf/; revision=10350
2010-04-11 13:58:12 +00:00
John Mark Bell
3470764041
Remove redundant todos
...
svn path=/trunk/netsurf/; revision=10349
2010-04-11 13:29:02 +00:00
John Mark Bell
b0f1b7b170
Improve const-correctness of fetch_start
...
svn path=/trunk/netsurf/; revision=10342
2010-04-10 17:13:53 +00:00
John Mark Bell
ee2a5b40ce
Use computed POST data when redirecting, instead of original.
...
Certain redirect methods result in POST being converted to GET.
svn path=/trunk/netsurf/; revision=10339
2010-04-10 11:56:14 +00:00
Daniel Silverstone
dfae5c33d2
Some more asserts to try and help spot multiple-release of llcache handles
...
svn path=/trunk/netsurf/; revision=10327
2010-04-09 00:06:36 +00:00
Daniel Silverstone
4262232956
Fix missing 'break' introduced by 10300
...
svn path=/trunk/netsurf/; revision=10304
2010-04-08 13:18:50 +00:00
Daniel Silverstone
92bd0d4ce0
Add an assert to clarify a segfault I'm investigating
...
svn path=/trunk/netsurf/; revision=10303
2010-04-08 13:12:30 +00:00
Daniel Silverstone
5c55264217
Remove todo -- no longer appropriate
...
svn path=/trunk/netsurf/; revision=10302
2010-04-08 12:24:29 +00:00
Daniel Silverstone
45faa483e5
Ensure an error'd fetch's llcache object is implicitly stale so it is not reused
...
svn path=/trunk/netsurf/; revision=10301
2010-04-08 12:20:20 +00:00
Daniel Silverstone
6c9e4bea8e
Purge FETCH_TYPE which is unused throughout NetSurf. Clearing a todo in llcachec.
...
svn path=/trunk/netsurf/; revision=10300
2010-04-08 12:16:52 +00:00
Daniel Silverstone
2b1146bcb3
Remove parent from fetches, clearing a todo from llcache.c
...
svn path=/trunk/netsurf/; revision=10299
2010-04-08 11:47:05 +00:00
John Mark Bell
4682f0ccd8
When we've snapshotted an object, make sure we add the *new* object into the list of uncacheable objects, and not the old one. Otherwise, our cache chains end up being corrupted.
...
svn path=/trunk/netsurf/; revision=10295
2010-04-08 07:08:16 +00:00
John Mark Bell
2748fe4f64
Make downloads work again.
...
svn path=/trunk/netsurf/; revision=10243
2010-04-05 21:35:38 +00:00
John Mark Bell
79ce683b4e
Most of a stop implementation.
...
Remaining work:
1) Clone content_html_data
2) Cloning content_css_data requires the charset of the old content
3) Calling hlcache_handle_abort() before a content has been created must clean up the retrieval context.
svn path=/trunk/netsurf/; revision=10236
2010-04-04 12:41:19 +00:00
John Mark Bell
9f575c590b
Do not abort fetch on receipt of FETCH_ERROR: the fetch has already been destroyed.
...
Implement LLCACHE_EVENT_ERROR case of hlcache_llcache_callback().
svn path=/trunk/netsurf/; revision=10218
2010-03-30 21:36:39 +00:00
John Mark Bell
99dee5e3d0
Disable llcache tracing
...
svn path=/trunk/netsurf/; revision=10201
2010-03-29 06:29:56 +00:00