Commit Graph

505 Commits

Author SHA1 Message Date
John Mark Bell
34465a06ab Remove fresh field from struct content
svn path=/trunk/netsurf/; revision=10413
2010-04-16 20:44:44 +00:00
John Mark Bell
e58a7d88f4 Make content_invalidate_reuse_data cause llcache to invalidate cache control data
svn path=/trunk/netsurf/; revision=10412
2010-04-16 20:43:36 +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
3840e3911b Stop leaking hlcache handles.
svn path=/trunk/netsurf/; revision=10395
2010-04-13 23:24:07 +00:00
Vincent Sanders
d1cd04a0b9 remove incorrect low level cache release
svn path=/trunk/netsurf/; revision=10391
2010-04-13 16:53:52 +00:00
Michael Drake
f58fa3b2ac Revert last change.
svn path=/trunk/netsurf/; revision=10382
2010-04-12 09:31:34 +00:00
Michael Drake
de6f1a2b2e Make new cache strip the fragment identifier, like fetchcache did.
svn path=/trunk/netsurf/; revision=10381
2010-04-12 09:25:41 +00:00
John Mark Bell
18081664eb Provide API to enable a handle's callback to be replaced
svn path=/trunk/netsurf/; revision=10376
2010-04-11 23:02:49 +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
486731e589 Release low-level cache handle when destroying contents
svn path=/trunk/netsurf/; revision=10372
2010-04-11 20:58:50 +00:00
John Mark Bell
71de3618f1 Implement hlcache_poll(), which drives the low-level cache event loop, and attempts to clean the high-level cache.
Call this, instead of llcache_poll().

svn path=/trunk/netsurf/; revision=10371
2010-04-11 20:21:13 +00:00
John Mark Bell
60d1b74099 Remove redundant todo
svn path=/trunk/netsurf/; revision=10363
2010-04-11 16:39:58 +00:00
John Mark Bell
0650096403 CSS contents may be shared
svn path=/trunk/netsurf/; revision=10362
2010-04-11 16:38:16 +00:00
John Mark Bell
ff8791a3f7 Ensure content can be shared when retrieving from cache
svn path=/trunk/netsurf/; revision=10361
2010-04-11 16:37:39 +00:00
John Mark Bell
7577e2a1e6 Ensure quirks mode matches when retrieving contents from cache
svn path=/trunk/netsurf/; revision=10360
2010-04-11 16:34:23 +00:00
John Mark Bell
ad89d5b263 Copy child charset, if any
svn path=/trunk/netsurf/; revision=10359
2010-04-11 16:23:45 +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
737d6ad557 Merge jmb/kill-reentrancy. r=vince
svn path=/trunk/netsurf/; revision=10346
2010-04-11 10:52:18 +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
24c853281d Return cookies to the same level of working/brokenness as they had before new-cache.
svn path=/trunk/netsurf/; revision=10340
2010-04-10 12:24:25 +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
John Mark Bell
4a4cc0d1bc Introduce content_set_ready.
Make content_convert emit events only if content is in appropriate state.
Remove no-longer-relevant assertion from content_convert.

svn path=/trunk/netsurf/; revision=10330
2010-04-09 18:52:44 +00:00
Daniel Silverstone
b2124867db Kill uninitialized warning about 'type'
svn path=/trunk/netsurf/; revision=10329
2010-04-09 09:10:23 +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
2b8adb0c8a Move the removal of the retrieval context to prevent a re-entrancy race causing double-release of llcache handles
svn path=/trunk/netsurf/; revision=10307
2010-04-08 13:39:07 +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
Daniel Silverstone
6948496d45 Ensure that aborting or releasing hlcache handles will result in nascent retrieval contexts being cleaned up
svn path=/trunk/netsurf/; revision=10298
2010-04-08 11:21:50 +00:00
John Mark Bell
bba7fbbd9b Abort and release llcache handle on failure to process data.
Make hlcache retrieval ignore erroneous contents.

svn path=/trunk/netsurf/; revision=10296
2010-04-08 07:09:09 +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
Michael Drake
2fba2249ee Add function to test whether hlcache_handle's content is locked.
svn path=/trunk/netsurf/; revision=10287
2010-04-07 18:50:18 +00:00
Michael Drake
bbd757c34a Fix fetch_curl_post_convert() for filename_from_path() returning NULL.
svn path=/trunk/netsurf/; revision=10265
2010-04-07 11:10:55 +00:00
Michael Drake
236b6a15e1 Add mime-type getter.
svn path=/trunk/netsurf/; revision=10259
2010-04-07 09:12:09 +00:00
John Mark Bell
2748fe4f64 Make downloads work again.
svn path=/trunk/netsurf/; revision=10243
2010-04-05 21:35:38 +00:00