summaryrefslogtreecommitdiff
path: root/content/fetchers
Commit message (Collapse)AuthorAgeFilesLines
* fetch_curl_verify_callback: Do depth update after checkDaniel Silverstone2019-12-031-5/+5
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* Data fetcher: Include stdarg.h header.Michael Drake2019-11-121-0/+1
|
* Data fetcher: Squash BSD warning.Michael Drake2019-11-111-4/+3
|
* File fetcher: Optimise HTTP header generation.Michael Drake2019-11-101-6/+8
|
* Resource fetcher: Optimise HTTP header generation.Michael Drake2019-11-101-6/+8
|
* Resource fetcher: Add Cache-Control header with max-age of a year.Michael Drake2019-11-101-0/+5
| | | | | Resource URLs can't change, we want to assume they're fresh for as long as we can.
* Data fetcher: Add Cache-Control header with max-age of a year.Michael Drake2019-11-101-0/+6
| | | | | Data URLs can't change, we want to assume they're fresh for as long as we can.
* Data fetcher: Split header emitting out into helper.Michael Drake2019-11-101-15/+26
|
* Data fetcher: Move fetch_data_send_callback towards top of file.Michael Drake2019-11-101-8/+8
|
* File fetcher: Avoid atoi for If-None-Match value parse.Michael Drake2019-11-091-12/+21
| | | | The file fetcher emits FETCH_NOTMODIFIED if the file is unchanged.
* Resource fetcher: Fix ETag handling.Michael Drake2019-11-091-10/+19
| | | | | | | | * Changed ETag storage to be time_t, rather than int. * Changed `If-None-Match` value parsing to use proper time_t parsing, rather than `atoi`. We emit FETCH_NOTMODIFIED if the resource hasn't changed.
* remove user warnings from hotlist load and curl pollVincent Sanders2019-11-051-2/+2
|
* move the fallback text for about handler into messages handlerVincent Sanders2019-10-301-88/+38
|
* add internal query handler for fetch errorsVincent Sanders2019-10-301-0/+136
| | | | | | | | | | | | | Any errors from the fetch which are not already handled are reported with an internal query page instead of a modal dialog. This is much less invasive for the user and much more in keeping with how this is handled by other browsers. The handler is similar to the timeout handler but the functionality is kept separate as it is intended timeout handling be extended in future.
* add internal query page for request timeoutsVincent Sanders2019-10-291-6/+147
|
* fetchers/curl: Restrict AUTH to BASICDaniel Silverstone2019-10-211-1/+1
| | | | | | | | | | | | | cURL will prevent channel reuse if NTLM auth is enabled because NTLM authenticates a channel not a request. As such we were unable to reuse curl handles since we handed off connection reuse to curl instead of our own handle cache. This mitigates the effect, though curl authors are looking at fixing it upstream too. Fixes: #2707 Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* Use curl API (versions after 7.56.0) to determine if openssl is in useVincent Sanders2019-10-011-4/+23
|
* Allow the curl fetcher to be built without openssl.Vincent Sanders2019-09-301-30/+61
| | | | | | | | | | The curl fetcher can operate without openssl library being available, additionaly curl itself may be compiled with a different TLS library. In either case this will simply cause the "unknown" error to be reported for all TLS failiures and page information to lack any certificate information.
* SSL Error: Enable OpenSSL hostname verificationDaniel Silverstone2019-08-141-16/+19
| | | | | | | | Since OpenSSL 1.0.2 there has been hostname verification support which cURL doesn't turn on for some reason. Turn it on so that we get better hostname verification handling. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* add English message text for ssl errorsVincent Sanders2019-08-101-1/+1
|
* add common name ssl certificate errorVincent Sanders2019-08-101-3/+16
| | | | | This adds an ssl faliure code and explanation why curl fetcher does not currently set it.
* About: Tweak the new about query page renderng.Michael Drake2019-08-091-5/+5
|
* rework about scheme handlers to be consistant with output buffer handlingVincent Sanders2019-08-081-176/+234
|
* apply tlsa styling improvements to about scheme query pagesVincent Sanders2019-08-071-10/+20
|
* add basic styling to about scheme privacy query pageVincent Sanders2019-08-071-53/+86
|
* Improve the about scheme query page generation be be bounds safeVincent Sanders2019-08-061-53/+143
|
* Support SSL verification through new about: handlerDaniel Silverstone2019-08-061-0/+43
| | | | | | | | 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>
* futher refinement on about scheme query stylingVincent Sanders2019-08-061-1/+1
|
* improve css formatting in about scheme query handlersVincent Sanders2019-08-061-3/+4
|
* fix url reference counting in about scheme query handlersVincent Sanders2019-08-061-0/+9
|
* add about scheme query handlersVincent Sanders2019-08-061-1/+334
|
* Improve about scheme doc comments and formattingVincent Sanders2019-08-051-45/+122
|
* curl.c: Don't use OpenSSL 1.1 only serialNumber fetcherDaniel Silverstone2019-08-051-1/+1
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* Migrate SSL certificate storage to the browser windowDaniel Silverstone2019-08-051-119/+132
| | | | | | | | | | * 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>
* curl: Change where we lodge `inside_curl`Daniel Silverstone2019-08-021-6/+2
| | | | | | | | Because we need to be slightly more careful now, lodge ourselves `inside_curl` whenever we might be processing via the cURL messages or similar. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* curl: Immediately abort fetchers when we canDaniel Silverstone2019-08-021-17/+24
| | | | Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* content/fetchers/curl.c: Defer fetch start if inside cURLDaniel Silverstone2019-06-051-0/+16
| | | | | | | | In order to cope better with modern cURL which prevents making cURL calls when inside a callback from within cURL, defer fetch start when we are processing in `fetch_curl_data()`. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
* make curl fetcher log debug using NSLOGVincent Sanders2019-05-281-16/+26
| | | | | | | stop curl fetcher logging being special case to standard error and use the fetch catagory at DEBUG level instead. The special suppress_curl_debug option is currently still obeyed
* Curl fetcher: Force HTTP1.1 to fix HTTP2 crash.Michael Drake2019-05-061-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On ubuntu 19.4, curl is built with HTTP2 support, and we segfault. ==18174== Invalid read of size 1 ==18174== at 0x4ACCE7D: ??? (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0) ==18174== by 0x4B054B1: ??? (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0) ==18174== by 0x4AD398A: ??? (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0) ==18174== by 0x4AD7A0B: ??? (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0) ==18174== by 0x4AE93EE: ??? (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0) ==18174== by 0x4AEA8A8: curl_multi_perform (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0) ==18174== by 0x1F2EF7: fetch_curl_poll (curl.c:1209) ==18174== by 0x1EEC5C: fetcher_poll (fetch.c:271) ==18174== by 0x2A1ED4: schedule_run (schedule.c:160) ==18174== by 0x15F941: framebuffer_run (gui.c:596) ==18174== by 0x15F941: main (gui.c:2206) ==18174== Address 0x9de95a8 is 3,224 bytes inside a block of size 6,304 free'd ==18174== at 0x483997B: free (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==18174== by 0x4AD497B: ??? (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0) ==18174== by 0x4AE158C: curl_easy_cleanup (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0) ==18174== by 0x1F30DE: fetch_curl_cache_handle (curl.c:761) ==18174== by 0x1F30DE: fetch_curl_stop (curl.c:840) ==18174== by 0x1F30DE: fetch_curl_done (curl.c:1122) ==18174== by 0x1F30DE: fetch_curl_poll (curl.c:1223) ==18174== by 0x1EEC5C: fetcher_poll (fetch.c:271) ==18174== by 0x2A1ED4: schedule_run (schedule.c:160) ==18174== by 0x15F941: framebuffer_run (gui.c:596) ==18174== by 0x15F941: main (gui.c:2206) ==18174== Block was alloc'd at ==18174== at 0x483AB35: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==18174== by 0x4AE165F: curl_easy_duphandle (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0) ==18174== by 0x1F15EB: fetch_curl_get_handle (curl.c:738) ==18174== by 0x1F15EB: fetch_curl_start (curl.c:750) ==18174== by 0x1EEB22: fetch_dispatch_job (fetch.c:156) ==18174== by 0x1EEB22: fetch_choose_and_dispatch (fetch.c:187) ==18174== by 0x1EEB22: fetch_dispatch_jobs (fetch.c:247) ==18174== by 0x1EF1BB: fetch_start (fetch.c:573) ==18174== by 0x26C779: llcache_object_refetch (llcache.c:916) ==18174== by 0x26D5E4: llcache_object_fetch (llcache.c:979) ==18174== by 0x26D5E4: llcache_object_retrieve_from_cache (llcache.c:1767) ==18174== by 0x26D5E4: llcache_object_retrieve (llcache.c:1865) ==18174== by 0x26E42C: llcache_fetch_redirect (llcache.c:2110) ==18174== by 0x26E42C: llcache_fetch_callback (llcache.c:2810) ==18174== by 0x1F1295: fetch_curl_process_headers (curl.c:922) ==18174== by 0x1F13A0: fetch_curl_data (curl.c:1324) ==18174== by 0x4ACD4C3: ??? (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0) ==18174== by 0x4AE00DA: ??? (in /usr/lib/x86_64-linux-gnu/libcurl.so.4.5.0)
* data url handler: drop logging to DEEPDEBUG.Michael Drake2019-05-051-1/+1
|
* data url handler: Keep nsurl to avoid copy.Michael Drake2019-05-051-15/+8
|
* data url handling: avoid needless allocation / copy.Michael Drake2019-05-051-11/+2
|
* data URL handler: constify some string pointers.Michael Drake2019-05-051-2/+2
|
* Curl fetcher: Jiggle logging levels.Michael Drake2018-08-091-2/+2
|
* Curl fetcher: Move poll logging from INFO to DEEPDEBUG.Michael Drake2018-08-091-2/+2
|
* HTTPS: restrict ciphersuitesJohn-Mark Bell2018-04-221-0/+18
|
* Explicitly re-enable TLS session tickets.John-Mark Bell2018-04-221-0/+4
| | | | Libcurl disables this by default.
* Force SSL session caching on, Ubuntu seems to have it off by defaultDaniel Silverstone2018-04-221-0/+3
|
* Revert "Disable SSL session ID caching."Daniel Silverstone2018-04-221-3/+0
| | | | This reverts commit debe0e345bf453a58bf319a84d5845cce6b38d8e.
* Use coccinelle to change logging macro calls in c filesVincent Sanders2017-09-063-39/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | for F in $(git ls-files '*.c');do spatch --sp-file foo.cocci --in-place ${F};done @@ expression E; @@ -LOG(E); +NSLOG(netsurf, INFO, E); @@ expression E, E1; @@ -LOG(E, E1); +NSLOG(netsurf, INFO, E, E1); @@ expression E, E1, E2; @@ -LOG(E, E1, E2); +NSLOG(netsurf, INFO, E, E1, E2); @@ expression E, E1, E2, E3; @@ -LOG(E, E1, E2, E3); +NSLOG(netsurf, INFO, E, E1, E2, E3); @@ expression E, E1, E2, E3, E4; @@ -LOG(E, E1, E2, E3, E4); +NSLOG(netsurf, INFO, E, E1, E2, E3, E4); @@ expression E, E1, E2, E3, E4, E5; @@ -LOG(E, E1, E2, E3, E4, E5); +NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5); @@ expression E, E1, E2, E3, E4, E5, E6; @@ -LOG(E, E1, E2, E3, E4, E5, E6); +NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5, E6); @@ expression E, E1, E2, E3, E4, E5, E6, E7; @@ -LOG(E, E1, E2, E3, E4, E5, E6, E7); +NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5, E6, E7);