Commit Graph

41 Commits

Author SHA1 Message Date
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
John Mark Bell
b6f6bc5fdd Fix broken linked list removal.
svn path=/trunk/netsurf/; revision=10200
2010-03-29 06:29:25 +00:00
John Mark Bell
311b458d56 Forbid contents with active fetches from being cleaned.
svn path=/trunk/netsurf/; revision=10199
2010-03-29 06:28:46 +00:00
John Mark Bell
4e2c3a4c39 Exceptionally verbose tracing of llcache operation.
svn path=/trunk/netsurf/; revision=10198
2010-03-29 06:27:37 +00:00
John Mark Bell
57253cdd58 Fixup per review
svn path=/trunk/netsurf/; revision=10196
2010-03-28 23:25:21 +00:00
Daniel Silverstone
66d1418506 Allow us to cache foo?bar when it explicitly allows it. as per rfc2616 13.9
svn path=/trunk/netsurf/; revision=10190
2010-03-28 16:51:47 +00:00
Daniel Silverstone
8effd1cb98 Ensure that finished redirection objects in llcache do not get found by subsequent fetch attempts.
svn path=/trunk/netsurf/; revision=10188
2010-03-28 16:28:28 +00:00
Daniel Silverstone
cb7412181f Replace fetch_poll with llcache_poll throughout. Allow CONTENT_OTHER to complete properly.
svn path=/trunk/netsurf/; revision=10187
2010-03-28 16:00:54 +00:00
Daniel Silverstone
270ef59a98 Merge jmb/new-cache; r=dsilvers,rs=vince
svn path=/trunk/netsurf/; revision=10180
2010-03-28 12:56:39 +00:00