Commit Graph

954 Commits

Author SHA1 Message Date
Vincent Sanders fbaa971ad0 make config detection macro more obvious 2019-11-13 17:54:06 +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
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
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 e01c24cef7 improve human_friendly_bytesize to cope with sizes up to 16 exibytes 2019-10-19 18:20:00 +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 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
Vincent Sanders d2391b2dfd make the use of libutf8proc coditional
allow the browser to be compiled without libutf8proc. Without this
  library safe utf8 conversion and verification is not possible
  so the browser will loose the ability to navigate to adresses
  using the idna punycode scheme.
2019-10-03 00:28:08 +01:00
Daniel Silverstone 6c2d97bf01 useragent: Add a free_user_agent_string() function
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-09-07 15:22:52 +01:00
Daniel Silverstone 2538d05bb4 browser: Turn internal nav URLs into corestring_nsurls
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-21 20:50:54 +01:00
Daniel Silverstone 44f3846727 SSL Error: Enable OpenSSL hostname verification
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>
2019-08-14 20:11:11 +01:00
Vincent Sanders 98f4525073 add common name ssl certificate error
This adds an ssl faliure code and explanation why curl fetcher
 does not currently set it.
2019-08-10 12:50:23 +01:00
Daniel Silverstone 1cf1ec55bc Support SSL verification through new about: handler
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>
2019-08-06 13:15:23 +01:00
Daniel Silverstone 8469f4cc8e Reimplement handling of BAD_AUTH inside browser_window
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>
2019-08-06 11:26:47 +01:00
Daniel Silverstone 170dc5d524 Excise the llcache query pathway.
In further preparation for the auth and cert queries being handled
as special contents from `about:` this excises the query pathway
from the llcache pretty much entirely.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-05 20:56:07 +01:00
Daniel Silverstone 9742a8317f Dukky: Add and utilise a jserrors category
Normal, and verbose logging will now also log all JS errors in order that we
stand a chance of debugging things more easily when testing.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 10:12:45 +01:00
Daniel Silverstone 3fcba68fcf Logging: Also log the level and category
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 09:58:41 +01:00
Vincent Sanders 5ee910ffee update haiku package source name for 3.10 version 2019-07-17 12:52:30 +01:00
Michael Forney 6a53b447e5 Declare global variables as extern in headers
Otherwise, each source file that includes the header will create a
new definition, which are usually merged together by the linker.

Multiple definitions of an object is not allowed in ISO C.
2019-06-30 09:52:06 +01:00
Vincent Sanders 8b6f590aaa prevent out of bounds access when checking IDNA host label 2019-06-13 17:02:08 +01:00
John-Mark Bell 23698aecf8 HTTP: expose validity of max-age in Cache-Control
As max-age is an optional directive, provide a means to determine
if it is present and correct.
2019-06-10 21:35:36 +00:00
John-Mark Bell 04b790643b HTTP: add minimal parser for Cache-Control 2019-06-10 21:02:19 +00:00
Daniel Silverstone ec0028bdb9 Add SCRIPT to core domstrings
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-05 16:00:03 +01:00
Daniel Silverstone 8eab64132a Add languagechange DOM string
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-03 13:45:16 +01:00
Daniel Silverstone f64da1abda LOG: Add a dukky logging category
For better logging separation, add a dukky logging category

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-02-17 11:32:48 +00:00
Vincent Sanders 54371c28f0 make framebuffer use the language environment for the UI resources 2019-02-17 00:11:27 +00:00
Vincent Sanders 05ac430305 ensure filename numeric is not truncated and hence cause output buffer overflow 2018-11-06 21:59:50 +00:00
Vincent Sanders 3fd6f04e52 ensure output buffer is large enough to not be truncated 2018-11-06 21:57:23 +00:00
Vincent Sanders 04a515a8ca add sha 256 checksum fallback binary name for openbsd 2018-10-05 00:11:08 +01:00
Vincent Sanders 631a3145f8 fix sha256 file name suffix in script 2018-10-05 00:00:16 +01:00
Vincent Sanders 7ef2b8b711 fix stupid error expanding shell variable 2018-10-04 23:54:14 +01:00
Vincent Sanders 3523cdc4a4 cope with md5sum being named different things on bsd 2018-10-04 23:49:31 +01:00
Vincent Sanders ef53336724 update the deployment script to add sha and md5 checksums 2018-10-04 23:13:28 +01:00
Vincent Sanders 9100fcb409 improve nsurl query handling.
Alter the handling of query values within nsurl to be like fragments.

This ensures callers never have to care about the query punctuation,
e.g. the question mark

This also means the strings generated will no longer have trailing
question marks which now conforms to behaviour in whatwg url spec
on url serializing in section 4.5
2018-09-26 17:21:33 +01:00
Vincent Sanders 6ce6b62099 stop defining _XOPEN_SOURCE
This is necessary with some libc as it overrides _POSIX_C_SOURCE
and removes definitions of scandir etc.
2018-09-06 11:33:02 +01:00
Vincent Sanders f45d84631c fix up package version on haiku 2018-08-29 11:49:05 +01:00
Vincent Sanders 912aa3774e remove use of strcpy 2018-08-29 10:24:23 +01:00
Vincent Sanders 9142bab736 remove a warning on openbsd 2018-08-28 22:17:02 +01:00
Vincent Sanders 865796486d make ssize_t type available on some platforms 2018-08-23 21:18:54 +01:00
Vincent Sanders bec6428c6c pass PACKAGER variable to pakage build target 2018-08-21 19:55:08 +01:00
Vincent Sanders 5f1defd4a7 fix size_t format specifiers 2018-08-18 23:44:15 +01:00
Vincent Sanders 7d22759f5e display some system and environment values in CI build script 2018-08-15 16:52:54 +01:00
Vincent Sanders c1fb25e074 correct package name for artifact generation 2018-08-15 16:24:03 +01:00
Michael Drake fa546661ad nsurl: Move debug logging over to nslog. 2018-08-09 16:19:42 +01:00
Michael Drake add6dcc015 nsurl: Add variant of nsurl_access for logging. 2018-08-09 16:19:42 +01:00
Michael Drake bc280f0e3f nsurl: Add data to scheme type enum. 2018-08-09 16:19:42 +01:00
Daniel Silverstone 527541ddbd Make CI NetSurf builds compile in DEBUG level logging 2018-07-28 14:10:26 +01:00
Vincent Sanders 7c3da95a07 Resolve resource leak on error (coverity issue 1390560) 2018-05-18 10:02:03 +01:00
Vincent Sanders 43582c5055 allow hash table add inline to be uncompressed 2018-04-22 14:03:18 +01:00
Vincent Sanders b94b96e272 add hash table population from file or memory 2018-04-22 14:03:18 +01:00
John-Mark Bell f2121d1c0f NSURL: add ability to create replacement scheme 2018-04-22 11:39:12 +00:00
John-Mark Bell 1c05280b5c HSTS: add parser for Strict-Transport-Security 2018-04-22 11:39:12 +00:00
Daniel Silverstone e864997842 Fix last uses of !NetSurf outside of riscos build 2018-04-22 10:55:22 +01:00
Daniel Silverstone 83e8f377ad Support compression on output stream 2018-04-22 10:11:11 +01:00
Michael Drake 7bd1fb50c6 Utils: Filename: Squash warning: -Wformat-truncation=
We need to check the snprintf return value, or GCC7 whinges:

    warning: ‘snprintf’ output may be truncated before the last
             format character [-Wformat-truncation=]
2018-01-01 13:51:40 +00:00
Vincent Sanders 3b88e0ef9e fix amigaos3 building 2017-12-11 13:17:14 +00:00
Vincent Sanders 3ac65ef6e2 add m68k to amigaos targets builds 2017-12-11 12:48:28 +00:00
Daniel Silverstone 8123e65351 Finalise nslog layer properly in closedown 2017-09-10 14:22:05 +01:00
Vincent Sanders c1c8ed794d Revert "Hopefully quash INFO confusion on Atari MINT platform"
This reverts commit 9c93ed1bca.
2017-09-08 21:49:59 +01:00
Daniel Silverstone bb056e55b1 Sort out the logging so that -v etc do the right thing 2017-09-08 21:15:54 +01:00
Daniel Silverstone 9c93ed1bca Hopefully quash INFO confusion on Atari MINT platform 2017-09-08 19:56:23 +01:00
Vincent Sanders 3f3e7de6d9 do not attempt to log when output is not enabled 2017-09-07 21:07:03 +01:00
Vincent Sanders 86c3f3e005 update layout logging to use a catagory 2017-09-07 18:26:53 +01:00
Vincent Sanders 5d6f189d8b Fixup everything the semantic patch missed 2017-09-07 18:12:09 +01:00
Vincent Sanders 2b0a5ef2e7 update framebuffer toolkit logging to use a ctagory 2017-09-07 16:57:58 +01:00
Vincent Sanders b9bdc279f2 Update scheduler logging to use catagory 2017-09-07 15:30:08 +01:00
Vincent Sanders b346790cf6 update plotter logging to use a catagory 2017-09-06 18:45:35 +01:00
Vincent Sanders 71225624f6 update fetch debug logging to use catagory 2017-09-06 18:45:35 +01:00
Vincent Sanders 72e6050eb3 add low level cache category and use it 2017-09-06 18:45:35 +01:00
Vincent Sanders 75018632a9 Use coccinelle to change logging macro calls in c files
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);
2017-09-06 18:45:27 +01:00
Vincent Sanders 8d9b2efc11 use nslog library for logging if available. 2017-09-03 23:40:32 +01:00
Michael Drake c6717f1ade Messages: Correct code comment. 2017-08-30 09:47:49 +01:00
Michael Drake c2ac1a713f Errorcodes: Add SPRITE_ERROR and use it in sprite content handler. 2017-08-30 09:43:13 +01:00
Michael Drake 41f30992aa Messages: Return the unknown message if we get to the unhandled errorcode.
We shouldn't get there though.
2017-08-28 12:21:03 +01:00
Michael Drake 7ba93407ad Messages: Do message lookups for all errorcodes. 2017-08-28 11:39:21 +01:00
Michael Drake 3a0e87e89f Errorcodes: Remove redundant MNG error. 2017-08-28 11:11:40 +01:00
Michael Drake 9fd0e06501 Whitespace: Tidy up errorcodes. 2017-08-28 11:08:18 +01:00
Michael Drake 9e64f37846 RSVG content handler: Convert to using content_broadcast_errorcode(). 2017-08-28 10:21:11 +01:00
Michael Drake cae1c44f8f PNG content handler: Convert to using content_broadcast_errorcode(). 2017-08-28 10:14:22 +01:00
Michael Drake d1a493f569 ICO content handler: Convert to using content_broadcast_errorcode(). 2017-08-27 13:32:53 +01:00
Michael Drake d83f6ea3c1 GIF content handler: Convert to using content_broadcast_errorcode(). 2017-08-27 13:28:21 +01:00
Michael Drake 337bd98f6c BMP content handler: Convert to using content_broadcast_errorcode(). 2017-08-27 13:28:21 +01:00
Michael Drake 7338f3ce88 nsurl: Remove redundant code path. 2017-03-27 18:09:29 +01:00
Michael Drake 8b4df800be nsurl: Use ascii header for hex to value conversion. 2017-03-27 15:40:08 +01:00
Michael Drake 0e7ebb4ee0 ASCII: Add function for converting two hex chars to value. 2017-03-27 15:37:25 +01:00
Michael Drake b14aa97a2a ASCII: Add hex char to value conversion function. 2017-03-27 15:35:59 +01:00
Michael Drake 8caae83d35 ASCII: Split out a-f test. 2017-03-27 14:57:56 +01:00
Michael Drake 3ec522429a ASCII: Split out A-F test. 2017-03-27 14:50:36 +01:00
Michael Drake 8e96e9bc27 nsurl: Don't allow credentials or host for file: URLs. 2017-03-27 12:20:33 +01:00
Michael Drake 372df59f28 nsurl: Set path of "/" for file: URLs with empty path. 2017-03-27 12:11:16 +01:00
Michael Drake 465ad9f0ab nsurl: Add detection of "file:" URL schemes. 2017-03-27 12:09:45 +01:00