summaryrefslogtreecommitdiff
path: root/content/fetch.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove use of depricated API after libcurl 7.56Vincent Sanders2023-12-121-0/+24
|
* hoist the Referer header generation logic up to the low level cacheVincent Sanders2021-03-251-5/+0
| | | | | | | This removes the need for the fetchers to have any interaction with the Referer header. It has not been completely removed from the fetch interface as fetch.c:fetch_set_cookie() still uses it for unverifiable cookie decision logic. (There is an anchient todo here)
* fetch: When aborting, ensure we note this to not multi-failDaniel Silverstone2020-02-241-0/+6
| | | | | | | | When aborting a fetch, it may be cleaned up, in which case we would otherwise send a spurious failure message too early. Instead we record that the abort has occurred to suppress such an error. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* fetch: Automatically handle fetches which fail to finishDaniel Silverstone2020-02-241-1/+9
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* Keep the complete certificate chain from a fetchVincent Sanders2020-02-231-4/+1
| | | | | | | | | Instead of extracting information from the X509 certificate chain in the fetcher the entire chain is propagated in Distinguished Encoding Rules (DER) format. This allows all the information contained in a certificate chain to be retained which can subsequently be presented to the user
* Improve some content documentation commentsVincent Sanders2020-02-231-0/+6
|
* Support SSL verification through new about: handlerDaniel Silverstone2019-08-061-17/+1
| | | | | | | | In doing this, also propagate why the certificates were bad so that the page can display a reason. We will need FatMessages for all these. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* Reimplement handling of BAD_AUTH inside browser_windowDaniel Silverstone2019-08-061-0/+24
| | | | | | | | | | | | | We now handle authentication requests via an `about:` page which presents a nice form built into the browser window. In order to do this, we add internal navigation as a concept to the browser window and we strip the 401login support from all frontends except monkey. The 401login callback is now intended for password safe type support rather than an immediately interactive prompt. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* Migrate SSL certificate storage to the browser windowDaniel Silverstone2019-08-051-2/+6
| | | | | | | | | | * Fetchers now provide the certificates before headers * This is propagated all the way to the browser window * When a query occurs, we retrieve it from there and fire the query with those stored certificates. * The serial number is a bignum, store it as hex. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* fix url encoding to be compatible with nsurl API changes.Vincent Sanders2018-09-261-6/+12
| | | | | As part of this fix the form submission error handling and reporting has been improved.
* remove unused fetch acessorVincent Sanders2017-01-311-7/+0
|
* Actually use utils/inet.h instead of sys/select.hDaniel Silverstone2016-06-271-2/+1
|
* fetch.h needs sys/select.h for the fd_set type et al.Daniel Silverstone2016-06-271-0/+2
|
* Move fetcher_fdset to fetch.h (and rename to fetch_fdset). Maybe not ideal ↵Daniel Silverstone2016-06-271-0/+25
| | | | but better
* Add support for retrying timed-out cURL fetches.Daniel Silverstone2015-11-101-0/+1
| | | | | | | | | | | | | This is an attempt to amelioriate the situation found in #2384 where we see the cURL connect() failing to complete. Based on the pcap from the bug log, we believe that RISC OS is likely failing to signal the completion of the connection to cURL. As such, cURL times out. This change permits retries of timed out connections in the hope that a fresh socket FD might subsequently function correctly. The defaults chosen mean that the previous behaviour of 30 seconds before timeout is reported will remain the same, but in that time we will make 3 separate attempts to connect the socket.
* Fix error reporting from fetch_startVincent Sanders2015-06-241-7/+18
| | | | | | | Any fetch start error was being reported as "out of memory" which was clearly insufficient. Foe example bad urls (reported was file:// with a missing /) were causing a warn_user with out of memory. This change now at least causes a "bad url" message.
* clean up the fetcher factory and improve its APIVincent Sanders2014-06-191-64/+1
|
* create table for fetcher operations and move all operations into itVincent Sanders2014-01-231-5/+0
|
* remove forward refs from content/fetch.c and cleanup doc commentsVincent Sanders2014-01-191-28/+128
|
* In theory, store raw filenames and pass them through for file upload. ↵Daniel Silverstone2014-01-041-0/+1
| | | | Untested due to no file-upload in GTK frontend just yet
* Downgrade TLS version support if it turns out the server can't cope with ↵John-Mark Bell2013-01-041-13/+14
| | | | TLSv1.1.
* return;John Mark Bell2011-11-271-0/+3
| | | | | | Fix bug #3442642: allow scheme-specific fetchers to have a say in whether an URL can be fetched. svn path=/trunk/netsurf/; revision=13182
* Clean up fetch callback API. Inject some long-needed type safety.John Mark Bell2011-11-081-30/+43
| | | | svn path=/trunk/netsurf/; revision=13137
* Convert fetchers to nsurl.Michael Drake2011-09-291-1/+1
| | | | svn path=/trunk/netsurf/; revision=12910
* fetch_can_fetch can take const nsurl.Michael Drake2011-09-271-1/+1
| | | | svn path=/trunk/netsurf/; revision=12902
* Port fetch layer to nsurl. Remove unused fetch_get_referer function.Michael Drake2011-09-271-3/+3
| | | | svn path=/trunk/netsurf/; revision=12899
* Document fetch_add_fetcher.Michael Drake2011-09-261-0/+12
| | | | svn path=/trunk/netsurf/; revision=12892
* Fetchers register with an lwc_string, rather than a string.Michael Drake2011-09-261-4/+7
| | | | svn path=/trunk/netsurf/; revision=12891
* Improve const-correctness of fetch_startJohn Mark Bell2010-04-101-3/+3
| | | | svn path=/trunk/netsurf/; revision=10342
* Purge FETCH_TYPE which is unused throughout NetSurf. Clearing a todo in ↵Daniel Silverstone2010-04-081-1/+0
| | | | | | llcachec. svn path=/trunk/netsurf/; revision=10300
* Remove parent from fetches, clearing a todo from llcache.cDaniel Silverstone2010-04-081-2/+1
| | | | svn path=/trunk/netsurf/; revision=10299
* Merge jmb/new-cache; r=dsilvers,rs=vinceDaniel Silverstone2010-03-281-3/+15
| | | | svn path=/trunk/netsurf/; revision=10180
* remove uneccissary includesVincent Sanders2010-01-291-1/+0
| | | | svn path=/trunk/netsurf/; revision=9931
* Merge branches/MarkieB/gtkmain to trunk.John Mark Bell2009-12-171-2/+16
| | | | svn path=/trunk/netsurf/; revision=9729
* Replace parent_url with a pointer to the parent content.John Mark Bell2009-07-101-5/+6
| | | | svn path=/trunk/netsurf/; revision=8428
* Purge WITH_AUTHJohn Mark Bell2009-02-221-2/+0
| | | | svn path=/trunk/netsurf/; revision=6600
* Purge NETSURF_USE_SSL and WITH_SSLJohn Mark Bell2009-02-221-4/+0
| | | | svn path=/trunk/netsurf/; revision=6599
* Make redirects behave as a NOP wrt the verifiability of fetches.John Mark Bell2009-02-161-0/+1
| | | | | | Apparently, the interweb depends on this. svn path=/trunk/netsurf/; revision=6542
* Move struct cache_data from fetch to content as it is no longer needed by ↵James Bursa2008-06-031-13/+0
| | | | | | fetch. Make it a member instead of pointer in struct content. svn path=/trunk/netsurf/; revision=4246
* Add new fetch callback FETCH_HEADER for headers and move as much header ↵James Bursa2008-05-301-0/+1
| | | | | | 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
* Make core fetching code handle verifiability of transactionsJohn Mark Bell2008-01-301-2/+4
| | | | | | | | 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
* 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
* Fix deadlock when fetching stylesheets when max_fetchers_per_host is reached ↵James Bursa2007-07-041-1/+2
| | | | | | by splitting fetch_can_be_freed() into fetch_remove_from_queues() and fetch_free(). svn path=/trunk/netsurf/; revision=3380
* Warning fixes.John Mark Bell2007-06-101-2/+3
| | | | svn path=/trunk/netsurf/; revision=3332
* Merge scheme switcher branch in.Daniel Silverstone2007-06-101-10/+36
| | | | svn path=/trunk/netsurf/; revision=3330
* Remove the netsurf/ from the include paths and rationalise use of <> vs "" ↵Daniel Silverstone2007-05-301-1/+1
| | | | | | | | | | | | | | 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-1/+1
| | | | | | 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-1/+2
| | | | svn path=/trunk/netsurf/; revision=3154
* Handle cookies in unverifiable transactionsJohn Mark Bell2007-01-271-3/+4
| | | | svn path=/trunk/netsurf/; revision=3151
* Add fetch_http_code() to retrieve the HTTP status code of a fetch.James Bursa2007-01-131-0/+1
| | | | svn path=/trunk/netsurf/; revision=3139