Commit Graph

14859 Commits

Author SHA1 Message Date
Chris Young 43476438e5 Amiga: Correct another instance of the selected search provider not being converted to string.
This is still crashing on startup and when search providers with no icon(?) are selected.
2024-06-14 13:30:50 +01:00
Chris Young 55c93c8e36 Amiga: missed an instance of websearch_idx pointing to the wrong var 2024-06-11 17:03:53 +01:00
Chris Young 1b19970115 Amiga: Cast data to string 2024-06-11 17:01:31 +01:00
Chris Young 908b9f06a4 Amiga: Point to correct websearch_idx var 2024-06-11 16:48:14 +01:00
Chris Young 0a9644b835 Amiga: Fix setting search provider 2024-06-11 16:39:31 +01:00
Vincent Sanders 649cf103fc avoid warning about using bitwise operators on booleans 2024-05-30 09:15:59 +01:00
Vincent Sanders 1d08a36562 Improve browser_window_scroll_at_point_internal 2024-05-29 21:06:04 +01:00
Daniel Silverstone dcd9baeb80 nsurl: Use locale agnostic helpers in host validation
Signed-off-by: Daniel Silverstone <dsilvers@netsurf-browser.org>
2024-05-29 09:55:03 +01:00
Vincent Sanders 2ed30350d4 Update env.sh to install dev packages for various toolkits 2024-05-29 08:52:23 +01:00
Vincent Sanders fd1a709490 change web search option to use provider name instead of index 2024-05-27 14:29:23 +01:00
Michael Drake a885818d78 html: css: Update to new css_computed_width API 2024-05-27 13:51:31 +01:00
Daniel Silverstone 24579fab5d
idna: use memcpy not strncpy
Since we know the number of bytes we want to copy, just use memcpy
instead of strncpy - this will be faster and hopefully will warn
less on arm systems.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2024-05-27 13:27:06 +01:00
Daniel Silverstone c3794ba8aa
test: Add nsurl test to cover idna_{en,de}code()
This adds regression checks for the security issue recently fixed
in idna_{en,de}code().

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2024-05-27 10:19:33 +01:00
Daniel Silverstone 758cafe405
idna: Bounds check during encode/decode
Detected by some norwegian students who were doing security
analysis, we would overrun buffers in idna_{en,de}code() so
this corrects that problem.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2024-05-27 10:18:44 +01:00
Daniel Silverstone ea13f5a077
nsurl: Free host if nomem encountered
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2024-05-27 10:17:56 +01:00
Daniel Silverstone 6cbaf05ba3
nsurl: Correctly return non-IDNA hosts
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2024-05-27 10:17:31 +01:00
Daniel Silverstone 087f88ae8c
box_construct: clamp rowspan and colspan
In order to not blow up on massive rowspan/colspan values (which
could be an issue according to #2873) we clamp them according to
the HTML spec section 4.9.11

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2024-05-27 09:36:02 +01:00
Daniel Silverstone 8193a5518e
utils: Add clamp() macro
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2024-05-27 09:35:49 +01:00
Michael Drake 37dfc4a44e test: calc: Add pages that use calc for width property 2024-05-26 21:09:04 +01:00
Vincent Sanders 64b914612f fix atari frontend after core window changes 2024-05-26 20:08:33 +01:00
Vincent Sanders 35fadcfbce improve treeview creation to not modify output parameter on error 2024-05-26 19:59:17 +01:00
Vincent Sanders f01a948329 move core window callbacks to the standard gui tables 2024-05-26 19:59:17 +01:00
Michael Drake 15d3de0d37 content: css: dump: Handle CALC unit type
We won't actually reach this, because the type won't be SET if
it's CALC.
2024-05-26 19:51:10 +01:00
Michael Drake e1d7a346dd calc(): layout: find dimensions: Use new css width getter API 2024-05-26 13:30:19 +01:00
Michael Drake 68e6876c8d calc(): layout: table: Use new css width getter API 2024-05-26 11:50:12 +01:00
Michael Drake 052550c667 calc(): layout: minmax block: Use new css width getter API 2024-05-26 11:45:35 +01:00
Michael Drake 09b076c141 calc(): layout: minmax line: Use new css width getter API 2024-05-26 10:47:33 +01:00
Michael Drake 0f18e7a7fd calc(): layout: minmax table: Use new css width getter API 2024-05-26 10:11:31 +01:00
Michael Drake 9448c44bab css, html: Update to new LibCSS css_computed_width API
Currently using the static variant, but in future we'll
switch to using the one that resolves to pixels for us.
2024-05-25 22:41:57 +01:00
Michael Drake 120be3d771 html: layout: FPCT_OF_INT_TOINT is now in LibCSS 2024-05-25 22:41:57 +01:00
Vincent Sanders 5f2065ecfb Ensure perl tool expansion is used everywhere 2024-05-25 18:24:03 +01:00
Daniel Silverstone 553dc93ec8
nsurl: Add support for IPv6 literals
Unfortunately, despite previous assertions to the contrary,
we do need to deal with IPv6 literals.  For now we validate
just that they are encased by square brackets and consist only
of hex digits and colons.  We do not validate that they are
actually valid IPv6 addresses.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2024-05-25 12:05:20 +01:00
Daniel Silverstone 1cf1391916
test: Correct nsurl case which should fail
We were previously assuming a badly escaped hostname would
not be a url parse failure; but in practice firefox expects
it to fail and thus omnis to a search instead.  This behaviour
is expected, thus we update the test case.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2024-05-25 12:04:01 +01:00
Daniel Silverstone 1b10fcedcf
nsurl: Add underscore to permitted characters
The host component must be a valid DNS name; and unfortunately
underscores are present in some DNS names already, despite a 2019
decision to not issue them going forward.  As such we permit the
underscore as well in order to work with old-school URLs which may
exist in the wild.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2024-05-25 11:50:40 +01:00
Vincent Sanders 97fec7e47f Change env script help text display 2024-05-25 10:30:58 +01:00
Vincent Sanders 7afa51af0d Change env script to use posix command -v 2024-05-25 10:30:58 +01:00
Daniel Silverstone 4a50da326a nsurl: Reject URLs with invalid host components
The host component, by the time we hit the validation code, should
be a valid DNS name.  In theory it could also be an IPv6 address,
but those are far more painful to deal with so we're ignoring that
opportunity for now.

This fixes a problem where the search_web_omni logic would fail
to generate a search because nsurl_create() succeeded even though
it shouldn't have.

Signed-off-by: Daniel Silverstone <dsilvers@netsurf-browser.org>
2024-05-24 21:51:35 +01:00
Michael Drake 506f4b14bb frontends: monkey: Squash -Wcalloc-transposed-args (gcc-14) 2024-05-24 21:11:30 +01:00
Michael Drake ff87de87f3 desktop: textarea: Squash -Wcalloc-transposed-args (gcc-14) 2024-05-24 21:09:24 +01:00
Michael Drake 67005a0d7e content caches: Squash -Wcalloc-transposed-args (gcc-14) 2024-05-24 21:09:24 +01:00
Michael Drake 2bffbebad7 image handlers: Squash -Wcalloc-transposed-args (gcc-14) 2024-05-24 21:09:24 +01:00
Michael Drake 0843a9b43d fetch: Squash -Wcalloc-transposed-args (gcc-14) 2024-05-24 21:09:24 +01:00
Michael Drake a87ff23666 js: duktape bindings: Squash -Wcalloc-transposed-args (gcc-14) 2024-05-24 21:09:24 +01:00
Daniel Silverstone 8767befca6 monkey: Fix off-by-one which could result in overflow
The buffer for storing the js_exec arguments could be one
byte too small in which case bad things might happen.  This
fixes that.

Signed-off-by: Daniel Silverstone <dsilvers@netsurf-browser.org>
2024-05-24 20:02:05 +01:00
Daniel Silverstone 74791c0229 utils: Belt and braces to satisfy gcc
GCC was upset that it was theoretically possible for this
format string to result in a buffer overrun.  This is because
it could not work out that `i` would never be negative. To
silence the warning, we use %u and cast to unsigned during the
formatting of the output filename.

Signed-off-by: Daniel Silverstone <dsilvers@netsurf-browser.org>
2024-05-24 19:44:40 +01:00
Daniel Silverstone 9e448ebfcd utils: Update config.h for confusing define problems
For some reason, we have to use the __GLIBC_PREREQ macro
in a more confined way otherwise the preprocessor gets confused.

Signed-off-by: Daniel Silverstone <dsilvers@netsurf-browser.org>
2024-05-24 19:32:34 +01:00
Daniel Silverstone 34239ed89f utils: Update guard checks in config.h
Since glibc 2.38 the functions strchrnul and strcasestr have been
exposed by default, rather than being hidden behind _GNU_SOURCE.

We therefore use the GLIBC_PREREQ macro to check the version of
the glibc headers and do not accidentally double-declare these
functions.

Signed-off-by: Daniel Silverstone <dsilvers@netsurf-browser.org>
2024-05-24 19:14:46 +01:00
John-Mark Bell d3a8bdc060 Revert "RISC OS: add SocketWatch module to distribution"
This reverts commit 98b3d3c191.
2024-04-09 22:22:42 +01:00
John-Mark Bell 5efe1b456a Revert "RISC OS: use SocketWatch for socket activity"
This reverts commit 9e4f598b7b.
2024-04-09 22:22:32 +01:00
Vincent Sanders 8e4e92fc86 fix gcov flushing in assert exit 2024-03-18 23:29:25 +00:00