summaryrefslogtreecommitdiff
path: root/content/fetchcache.c
Commit message (Collapse)AuthorAgeFilesLines
* Move struct cache_data from fetch to content as it is no longer needed by ↵James Bursa2008-06-031-51/+51
| | | | | | fetch. Make it a member instead of pointer in struct content. svn path=/trunk/netsurf/; revision=4246
* Fix freeing of etag data.James Bursa2008-05-311-1/+1
| | | | svn path=/trunk/netsurf/; revision=4229
* Fix handling of cache control dataJohn Mark Bell2008-05-301-2/+11
| | | | svn path=/trunk/netsurf/; revision=4227
* Add new fetch callback FETCH_HEADER for headers and move as much header ↵James Bursa2008-05-301-5/+101
| | | | | | parsing as possible from fetch_curl.c to fetchcache.c. This simplifies fetch_curl.c and will make it possible to store response headers in future. svn path=/trunk/netsurf/; revision=4226
* Launch redirects to unsupported URLs in other applications.John Mark Bell2008-04-191-22/+37
| | | | svn path=/trunk/netsurf/; revision=4098
* Squash warningJohn Mark Bell2008-03-191-1/+1
| | | | svn path=/trunk/netsurf/; revision=3982
* Mark old contents as stale if a conditional request succeeded so they'll be ↵John Mark Bell2008-02-271-0/+19
| | | | | | flushed from the cache as soon as they're unused. svn path=/trunk/netsurf/; revision=3872
* Explicitly mark error pages as non-fresh so they'll get purged from the ↵John Mark Bell2008-02-271-0/+4
| | | | | | cache ASAP. svn path=/trunk/netsurf/; revision=3871
* Add url_fragment to extract fragment from URLJohn Mark Bell2008-02-031-7/+11
| | | | | | | | Optionally allow url_compare to ignore fragments in comparison Fix handling of url_compare result in a few places Fix redirects which contain fragments in the Location header svn path=/trunk/netsurf/; revision=3826
* Make core fetching code handle verifiability of transactionsJohn Mark Bell2008-01-301-4/+46
| | | | | | | | Make core fetching code be responsible for inserting cookies into the urldb Provide accessor to a fetch's parent url (this is defined as being the URL of the verifiable fetch which caused this one to occur) Make fetchcache's 3xx handling use the parent url when spawning new fetches svn path=/trunk/netsurf/; revision=3809
* Ensure plq is terminated when looking for an URL path.John Mark Bell2008-01-301-2/+16
| | | | | | Ensure fetchcache_redirect() normalizes the redirect destination. svn path=/trunk/netsurf/; revision=3807
* Rework handling of HTTP redirects -- we now count the number of redirects ↵John Mark Bell2008-01-281-33/+142
| | | | | | | | | | | | | | | | | | | | followed for a given item and abort if a fixed limit is reached. This fixes sites which have pages that redirect to themselves. Redirect handling is now transparent to clients of fetchcache. The new scheme works as follows: 1) Request content for URL (fetchcache() 2) Start fetch of content (fetchcache_go() 3) If no redirect, continue through LOADING, READY, DONE etc. states as before If redirect, receive NEWPTR for each redirect that occurs, then continue through LOADING, READY, DONE etc. states as before. The upshot of this is that redirects result in extra contents being created. It also means that, until LOADING has been received, the content (and thus the URL being fetched) may change. Therefore, fetchcache clients should expect to have to deal with transient data prior to LOADING occurring. As a necessary side-effect of this, the HTML object URLs and CSS @import URLs are no longer stored alongside the relevant contents. These URLs can be accessed by interrogating the url member of struct content anyway, so it was a rather redundant scheme before. svn path=/trunk/netsurf/; revision=3787
* Update all source code file headers to reflect GPL version 2 only and ↵Vincent Sanders2007-08-081-3/+14
| | | | | | contain appropriate licence text svn path=/trunk/netsurf/; revision=3486
* Remove the netsurf/ from the include paths and rationalise use of <> vs "" ↵Daniel Silverstone2007-05-301-9/+9
| | | | | | | | | | | | | | in includes NetSurf includes are now done with ""s and other system includes with <>s as C intended. The scandeps tool has been updated to only look for ""ed includes, and to verify that the files exist in the tree before adding them to the dependency lines. The depend rule has therefore been augmented to make sure the autogenerated files are built before it is run. This is untested under self-hosted RISC OS builds. All else tested and works. svn path=/trunk/netsurf/; revision=3307
* Fix handling of cookies in unverifiable transactions caused by a redirect ↵John Mark Bell2007-02-021-3/+4
| | | | | | from a fetch into a browser window which was varifiable. svn path=/trunk/netsurf/; revision=3165
* Make GTK build compile on FreeBSD.James Bursa2007-01-291-0/+1
| | | | svn path=/trunk/netsurf/; revision=3154
* Handle cookies in unverifiable transactionsJohn Mark Bell2007-01-271-8/+25
| | | | svn path=/trunk/netsurf/; revision=3151
* Fix parsing error when an empty HTML data is returned. Add HTTP status and ↵James Bursa2007-01-131-0/+1
| | | | | | other information to status bar. svn path=/trunk/netsurf/; revision=3140
* Update project URL.Michael Drake2006-11-271-1/+1
| | | | svn path=/trunk/netsurf/; revision=3073
* Detect attempted fetches using protocols we can't handle.John Mark Bell2006-08-061-4/+36
| | | | | | Mark content in error in a couple of cases that I'd missed ages ago. svn path=/trunk/netsurf/; revision=2816
* Implement component-wise URL comparisonJohn Mark Bell2006-07-021-1/+5
| | | | svn path=/trunk/netsurf/; revision=2697
* Fix conversion of URLs beginning "file://". Additionally, John Mark Bell2006-07-011-6/+2
| | | | | | | file://host/... isn't likely, so assume file://path & convert to file:///path svn path=/trunk/netsurf/; revision=2685
* Fix URL file loading and add support for file:/// URLs to urldbJohn Mark Bell2006-04-121-2/+29
| | | | | | Convert file:/... to file:///... (the former isn't a valid URL) svn path=/trunk/netsurf/; revision=2524
* Unify information databasesJohn Mark Bell2006-04-091-1/+0
| | | | svn path=/trunk/netsurf/; revision=2519
* [project @ 2006-02-23 15:06:53 by jmb]John Mark Bell2006-02-231-6/+20
| | | | | | | | | | Handle invalid SSL certificates better - UI still needs work. Modify fetch callback data parameter type to remove compiler warnings. Constify things. Lose global ssl_verify_certificates option. Fix issue when closing a dialog without input focus. svn path=/import/netsurf/; revision=2092
* [project @ 2006-02-08 00:35:05 by jmb]John Mark Bell2006-02-081-5/+10
| | | | | | Handle case where no cache expiry headers are sent; use (now - last_modified) / 10. This should reduce the frequency of cache entry validation. svn path=/import/netsurf/; revision=2064
* [project @ 2006-02-06 00:10:09 by jmb]John Mark Bell2006-02-061-23/+249
| | | | | | Implement HTTP caching algorithm; this should avoid stale cache entries being used. svn path=/import/netsurf/; revision=2059
* [project @ 2006-01-03 23:26:58 by jmb]John Mark Bell2006-01-031-2/+14
| | | | | | | | Detect and prevent self-referential redirects. This is not a complete solution as it does not handle the likes of page1 -> page2 -> page1 -> ... To solve that probably requires counting the number of redirects a given fetch has made and then bailing once it exceeds some fixed value. From what I can see at present, this will have to be done at the top-level (i.e. browser_window_callback and suchlike). svn path=/import/netsurf/; revision=1978
* [project @ 2005-12-31 04:30:49 by rjw]Richard Wilson2005-12-311-5/+0
| | | | | | Updates to work with new url_store system. svn path=/import/netsurf/; revision=1909
* [project @ 2005-12-11 21:54:30 by bursa]James Bursa2005-12-111-5/+0
| | | | | | Disable some log messages. svn path=/import/netsurf/; revision=1896
* [project @ 2005-08-21 12:04:17 by bursa]James Bursa2005-08-211-11/+11
| | | | | | Change void * parameters to intptr_t to make them correct for storing integers or pointers. svn path=/import/netsurf/; revision=1852
* [project @ 2005-05-01 22:20:40 by jmb]John Mark Bell2005-05-011-1/+11
| | | | | | Work around invalid Content-Type headers svn path=/import/netsurf/; revision=1707
* [project @ 2005-04-18 21:40:29 by bursa]James Bursa2005-04-181-3/+3
| | | | | | Fix bug with redirected contents being reused (as triggered by looping redirects). svn path=/import/netsurf/; revision=1670
* [project @ 2005-04-01 02:25:11 by jmb]John Mark Bell2005-04-011-2/+2
| | | | | | | application/xhtml+xml -> CONTENT_HTML Fix minor issue with mimetype matching regexp. svn path=/import/netsurf/; revision=1587
* [project @ 2005-02-03 13:18:22 by rjw]Richard Wilson2005-02-031-1/+7
| | | | | | Implementation of URL suggestion svn path=/import/netsurf/; revision=1488
* [project @ 2005-01-24 23:02:37 by bursa]James Bursa2005-01-241-0/+5
| | | | | | Reformat pages loaded from memory cache to window width. svn path=/import/netsurf/; revision=1467
* [project @ 2005-01-13 20:28:50 by bursa]James Bursa2005-01-131-1/+2
| | | | | | Fix some compilation warnings in the debug build. Update nsgtk_plot_rectangle() with the new parameters. svn path=/import/netsurf/; revision=1447
* [project @ 2005-01-03 16:09:11 by jmb]John Mark Bell2005-01-031-2/+2
| | | | | | Fix race condition caused by introduction of downloads svn path=/import/netsurf/; revision=1431
* [project @ 2005-01-03 02:09:20 by jmb]John Mark Bell2005-01-031-3/+9
| | | | | | Shift + Click == download svn path=/import/netsurf/; revision=1429
* [project @ 2005-01-02 03:58:20 by jmb]John Mark Bell2005-01-021-3/+7
| | | | | | xcalloc/xrealloc/xstrdup-purge - Lose remaining calls (and purge the relevant functions from utils.c) svn path=/import/netsurf/; revision=1419
* [project @ 2005-01-01 22:26:34 by bursa]James Bursa2005-01-011-11/+41
| | | | | | xcalloc/xrealloc/xstrdup-purge week. svn path=/import/netsurf/; revision=1418
* [project @ 2004-12-31 15:54:15 by jmb]John Mark Bell2004-12-311-5/+0
| | | | | | Fix scrollbar issue when fetching cached HTML contents. svn path=/import/netsurf/; revision=1414
* [project @ 2004-12-09 10:30:43 by rjw]Richard Wilson2004-12-091-0/+5
| | | | | | Re-implementation of hotlist via general tree code. Animations can be stopped once more. Purged a few xcalloc() calls. svn path=/import/netsurf/; revision=1394
* [project @ 2004-08-14 14:30:10 by joty]John Tytgat2004-08-141-8/+6
| | | | | | Removed a chunk of Norcroft compiler warnings. Re-ident some pieces. svn path=/import/netsurf/; revision=1231
* [project @ 2004-08-09 16:11:58 by jmb]John Mark Bell2004-08-091-2/+3
| | | | | | | Rework the interface of the URL handing module to allow for multiple error types. Modify save_complete URL rewriting appropriately. svn path=/import/netsurf/; revision=1206
* [project @ 2004-07-30 16:14:43 by bursa]James Bursa2004-07-301-3/+2
| | | | | | Plug some minor leaks. svn path=/import/netsurf/; revision=1163
* [project @ 2004-07-10 02:35:30 by jmb]John Mark Bell2004-07-101-2/+14
| | | | | | | Use libcurl's progress callback functionality to display fetch status. This will update the status line once a second, more frequently requires hacking libcurl. svn path=/import/netsurf/; revision=1066
* [project @ 2004-06-23 15:41:50 by bursa]James Bursa2004-06-231-3/+6
| | | | | | Fix fetchcache_go() treatment of contents which the initiator loses interest in (eg. wrong content-type). svn path=/import/netsurf/; revision=997
* [project @ 2004-06-23 11:40:29 by bursa]James Bursa2004-06-231-0/+6
| | | | | | Fix destroying of contents after redirects. svn path=/import/netsurf/; revision=996
* [project @ 2004-06-22 17:37:51 by bursa]James Bursa2004-06-221-4/+6
| | | | | | Fix aborting of fetches. svn path=/import/netsurf/; revision=990