Commit Graph

13920 Commits

Author SHA1 Message Date
Michael Drake
c14f01ea44 File fetcher: Optimise HTTP header generation. 2019-11-10 14:37:36 +00:00
Michael Drake
8d652f1ff4 Resource fetcher: Optimise HTTP header generation. 2019-11-10 14:37:34 +00:00
Michael Drake
b757f94107 Utils: ring: Remove unused code. 2019-11-10 14:36:40 +00:00
Michael Drake
f0ff18d35c Utils: ring: Whitespace fix. 2019-11-10 14:36:40 +00:00
Michael Drake
301b0bae00 llcache: URLs with data scheme are cachable. 2019-11-10 14:36:40 +00:00
Michael Drake
66401b7fa6 Resource fetcher: Add Cache-Control header with max-age of a year.
Resource URLs can't change, we want to assume they're fresh for
as long as we can.
2019-11-10 14:36:40 +00:00
Michael Drake
ab4eab5706 Data fetcher: Add Cache-Control header with max-age of a year.
Data URLs can't change, we want to assume they're fresh for
as long as we can.
2019-11-10 14:36:40 +00:00
Michael Drake
0dfbc80587 Data fetcher: Split header emitting out into helper. 2019-11-10 14:36:40 +00:00
Michael Drake
58094ffaa5 Data fetcher: Move fetch_data_send_callback towards top of file. 2019-11-10 11:58:38 +00:00
Michael Drake
885897f610 llcache: Uncachable scheme checks don't need to be caseless. 2019-11-09 17:14:37 +00:00
Michael Drake
52805a7860 llcache: Allow file and resource schemes to be cached.
This means things like the default css file and adblock css file
are only loaded and parsed once.
2019-11-09 17:08:43 +00:00
Michael Drake
b15cbb72ac File fetcher: Avoid atoi for If-None-Match value parse.
The file fetcher emits FETCH_NOTMODIFIED if the file is unchanged.
2019-11-09 17:06:04 +00:00
Michael Drake
c92b31babe Resource fetcher: Fix ETag handling.
* 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.
2019-11-09 16:59:26 +00:00
Vincent Sanders
e95c11dac8 remove user warning and log error instead 2019-11-07 21:35:24 +00:00
Vincent Sanders
0dbc6e5ecd fix keypress entry on text area
accidentaly broken in commit fca421e204
2019-11-07 21:20:04 +00:00
Vincent Sanders
570f2dc036 remove user warning and fix up error handling in form select menus 2019-11-07 18:52:49 +00:00
Vincent Sanders
7de3100624 remove unecessary user warning 2019-11-06 23:26:48 +00:00
Vincent Sanders
fca421e204 remove user warning and propogate error return 2019-11-06 23:13:20 +00:00
Vincent Sanders
92fff918cc fix "may be used uninitialised" warning 2019-11-06 08:23:27 +00:00
Vincent Sanders
cbb0c05258 remove unecessary user warning calls and improve error propogation in html box 2019-11-05 23:05:42 +00:00
Vincent Sanders
78aa34e5d7 remove user warnings from hotlist load and curl poll 2019-11-05 00:07:06 +00:00
Vincent Sanders
7c63f5f66b improve error returns throughout complete save and remove user warnings 2019-11-04 23:39:13 +00:00
Vincent Sanders
44574d800f remove spurious whitespace in fetch error pages 2019-11-04 11:47:30 +00:00
Vincent Sanders
4eb06ad2cf move the fallback text for about handler into messages handler 2019-10-30 21:33:27 +00:00
Vincent Sanders
4b0c3f0efe add internal query handler for fetch errors
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.
2019-10-30 18:56:38 +00:00
Vincent Sanders
76eac19227 add internal query page for request timeouts 2019-10-29 22:29:22 +00:00
Vincent Sanders
1176ce4271 Improve timeout error messaging 2019-10-28 23:50:01 +00:00
Michael Drake
5aeca580f4 save complete: Change de-duplication to compare URLs, rather than contents.
We seem to have more than one content for the same resource.

For example:

* save `<img src="about:logo"><img src="about:logo">` as img-test.html
* run `rm -rf test-save && make && ./nsgtk img-test.html`
* ctrl+s
* save as "test-save" in the current netsurf dir.
* run `md5sum test-save/*`

before and after this commit.  The de-duplication works with URLs,
where it wasn't working with hlcache_handles or contents.
2019-10-26 12:51:17 +01:00
Michael Drake
044ddd5d43 save complete: ctx_find_content: compare contents, not hlcache_handles
There can be multiple hlcache_handles per sharable content.
2019-10-26 12:42:38 +01:00
Vincent Sanders
6e7f98787a ensure all error messages have text if not provided by caller 2019-10-25 21:43:19 +01:00
Vincent Sanders
da7c750efd fix some formatting in save complete 2019-10-24 22:21:43 +01:00
Vincent Sanders
699cc7deee ensure save_complete resources are correctly finalised before quit 2019-10-24 22:20:57 +01:00
Vincent Sanders
bb60859535 resolve leak of attribute value lwc string in complete save 2019-10-24 22:19:52 +01:00
Vincent Sanders
d0359bc957 fix save_complete usage of posix regex so it does not run off the end of strings 2019-10-21 23:44:01 +01:00
Daniel Silverstone
a5766db2b9 fetchers/curl: Restrict AUTH to BASIC
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>
2019-10-21 10:03:46 +01:00
Vincent Sanders
813d0c70fe another attempt to provide strtoull on amiga os 3 2019-10-20 16:45:00 +01:00
Vincent Sanders
640ee36cff add missing include for amiga os 3 strtoull 2019-10-20 15:36:53 +01:00
Vincent Sanders
67c1c65bf2 attempt a different fix for amiga os 3 strtoull 2019-10-20 09:48:24 +01:00
Vincent Sanders
51c2d48096 amiga os 3 does not have strtoull so use strtoul as next best thing 2019-10-20 09:34:39 +01:00
Vincent Sanders
69d31afcde fix gtk download window to cope with files larger than 2 gibibytes 2019-10-19 23:01:08 +01:00
Vincent Sanders
f64b37b29f make download core store size in at least 64bits to allow for large files 2019-10-19 19:43:00 +01:00
Vincent Sanders
e01c24cef7 improve human_friendly_bytesize to cope with sizes up to 16 exibytes 2019-10-19 18:20:00 +01:00
Vincent Sanders
a54cbb5aea commit a neatness on the gtk download window code 2019-10-16 21:51:01 +01:00
Vincent Sanders
1f0dc9dd6e fix gtk download window dereferencing boolean as pointer 2019-10-15 20:09:26 +01:00
Vincent Sanders
6e31dcaec4 ensure gtk scaffolding destruction does not create memory errors 2019-10-13 01:52:22 +01:00
Vincent Sanders
c82049eb84 improve brackets in fallback timeval macros 2019-10-12 15:41:19 +01:00
Vincent Sanders
4745fcf1c7 add regex compatability to utils and enable it for serenity OS 2019-10-12 14:50:49 +01:00
Vincent Sanders
4372104e0e fix utils configuration header ordering 2019-10-11 17:39:33 +01:00
Vincent Sanders
872c3f5ef6 Update utils configuration header to cope with serenity OS 2019-10-11 17:24:07 +01:00
Vincent Sanders
3232c85269 add timer cmp,isset and clear to fallback macros and improve file documentation 2019-10-11 17:12:53 +01:00