Vincent Sanders
848f3d13ca
ensure parameter contract is met
2013-05-04 08:52:12 +01:00
Vincent Sanders
82e2fc57d7
free memory on error path
2013-05-01 22:15:24 +01:00
Vincent Sanders
87ee963ff2
Initial changes ready to improve caching decisions
2013-01-07 18:45:29 +00:00
John-Mark Bell
3dff750ae2
Downgrade TLS version support if it turns out the server can't cope with TLSv1.1.
2013-01-04 23:13:23 +00:00
Michael Drake
af89fdb38a
Fixup for nsurl urldb.
2012-10-09 11:20:21 +01:00
Vincent Sanders
6f86862edb
cleanup and reorganise low level cache source ready for extending with disc cache
...
svn path=/trunk/netsurf/; revision=13893
2012-04-28 13:24:09 +00:00
John Mark Bell
c22038bed8
Fix bogus cache validation decision
...
svn path=/trunk/netsurf/; revision=13261
2011-12-08 22:44:19 +00:00
Michael Drake
714f07c48b
Rename nsurl_enquire to nsurl_has_component.
...
svn path=/trunk/netsurf/; revision=13183
2011-11-27 18:32:06 +00:00
John Mark Bell
dcbafe6b87
Clean up fetch callback API. Inject some long-needed type safety.
...
svn path=/trunk/netsurf/; revision=13137
2011-11-08 21:51:42 +00:00
Michael Drake
17525fbf25
Avoid making a new nsurl to remove fragment if there is no fragment.
...
svn path=/trunk/netsurf/; revision=12958
2011-10-05 18:05:41 +00:00
Michael Drake
57547f7b1e
Make llcache_handle_get_url return a nsurl.
...
svn path=/trunk/netsurf/; revision=12905
2011-09-28 14:21:35 +00:00
Michael Drake
861f88aa43
Port llcache to nsurl.
...
svn path=/trunk/netsurf/; revision=12904
2011-09-28 11:26:30 +00:00
Michael Drake
e1f7a37f15
Port fetch layer to nsurl. Remove unused fetch_get_referer function.
...
svn path=/trunk/netsurf/; revision=12899
2011-09-27 11:07:32 +00:00
Vincent Sanders
2d33a8f85a
Make high level cache, low level cache and image cache all be initialised from passed parameters
...
Calculate all cache sizes from single memory cache size option and sanity check
have a single global struct to hold all parameters instead of several individual variables
svn path=/trunk/netsurf/; revision=12784
2011-09-10 00:55:39 +00:00
John Mark Bell
f6ac059a05
Handle zero-length documents correctly
...
svn path=/trunk/netsurf/; revision=12778
2011-09-08 08:26:16 +00:00
John Mark Bell
6807fa854d
Sniff content types where appropriate.
...
We never sniff for CSS, nor for non-page artefacts (e.g. treeview icons)
svn path=/trunk/netsurf/; revision=12707
2011-09-04 06:28:09 +00:00
John Mark Bell
da7c3c10bc
Implement todo
...
svn path=/trunk/netsurf/; revision=12418
2011-05-16 21:47:36 +00:00
John Mark Bell
35cd1a79f7
Squash static analyser warning
...
svn path=/trunk/netsurf/; revision=12416
2011-05-16 21:42:53 +00:00
Daniel Silverstone
93e9bfe323
Shunt the schedule function definitions to desktop/schedule.h. Shunt the hlcache/llcache to using schedule to get their cleanups run.
...
svn path=/trunk/netsurf/; revision=12029
2011-03-13 18:26:46 +00:00
John Mark Bell
60b5039c33
Protect against object being cleaned while waiting for a query response
...
svn path=/trunk/netsurf/; revision=11894
2011-03-03 00:40:50 +00:00
John Mark Bell
d25a88145b
Make no-cache a tristate. In the case of a forced reload, we want to revalidate once only.
...
svn path=/trunk/netsurf/; revision=11791
2011-02-24 21:22:24 +00:00
John Mark Bell
00bf0fbd24
Revert the functional change from r11789: the no-cache directive forces us to revalidate a cached object, not reject it entirely.
...
svn path=/trunk/netsurf/; revision=11790
2011-02-24 21:06:45 +00:00
John Mark Bell
4f740f5a32
Ensure cache hits after a forced reload -- don't even attempt to reuse objects with the no_cache flag set (as they'll never be considered fresh, thus requiring a round trip to the server every time they're used). Instead, we'll fetch a new object, which will be considered fresh for caching purposes.
...
svn path=/trunk/netsurf/; revision=11789
2011-02-24 20:51:35 +00:00
John Mark Bell
6b26f77bb1
Use cache control data invalidation function everywhere we want the cache control data reset.
...
Fix cache control data invalidation to reset the age and max_age fields to INVALID_AGE.
Fix cache control data reset on encountering an HTTP response line to occur before we fill in the response time, rather than after it.
svn path=/trunk/netsurf/; revision=11783
2011-02-24 10:14:50 +00:00
John Mark Bell
b967824575
Improve commentary.
...
Stop leaking object_scheme in error cases.
svn path=/trunk/netsurf/; revision=11778
2011-02-23 23:05:36 +00:00
Vincent Sanders
0231675abf
add resource handling
...
move gtk and framebuffer to use generic resource handling
svn path=/trunk/netsurf/; revision=11772
2011-02-23 22:27:55 +00:00
John Mark Bell
d8d0353a73
Fix bug #3184972 : cope with server sending a 304 in response to an unconditional request.
...
svn path=/trunk/netsurf/; revision=11710
2011-02-17 17:50:14 +00:00
John Mark Bell
3fcb02afa1
Revert r10650/1. We no longer require noisy fetch/cache logging.
...
svn path=/trunk/netsurf/; revision=11223
2011-01-06 00:31:54 +00:00
Michael Drake
0eb65d3344
Add some assert()s.
...
svn path=/trunk/netsurf/; revision=11144
2010-12-29 20:42:00 +00:00
John Mark Bell
bcfb508f86
User may have no handle if it was the target of an iterator when the handle was aborted
...
svn path=/trunk/netsurf/; revision=11071
2010-12-16 00:18:41 +00:00
John Mark Bell
c675c3552d
Ensure that we clean up after the client even if they report an error from their notification callback.
...
svn path=/trunk/netsurf/; revision=11067
2010-12-15 22:59:19 +00:00
John Mark Bell
d745dae903
Make llcache_object_user objects distinct from llcache_handles.
...
This allows us to be robust against clients completely changing the contents of the user list underneath us during iteration.
Fix llcache_send_event_to_users to also be robust against the user list changing under it.
svn path=/trunk/netsurf/; revision=11063
2010-12-15 21:15:49 +00:00
John Mark Bell
67556f54fe
Always invalidate next/prev pointers
...
svn path=/trunk/netsurf/; revision=11052
2010-12-13 08:36:27 +00:00
John Mark Bell
c0f49a2785
Revert r11047-11050: if we remove a user from an object while it's the iterator target, the effect will be that the iteration terminates early.
...
Subsequent users that require notifications will simply have their notifications delayed
svn path=/trunk/netsurf/; revision=11051
2010-12-13 08:34:01 +00:00
John Mark Bell
f919b689ba
Take 2: make callers of llcache_object_user_destroy invalidate next/prev pointers
...
svn path=/trunk/netsurf/; revision=11050
2010-12-13 08:28:22 +00:00
John Mark Bell
a5221248c2
Revert last change
...
svn path=/trunk/netsurf/; revision=11049
2010-12-13 08:25:54 +00:00
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