Commit Graph

14864 Commits

Author SHA1 Message Date
Vincent Sanders
aa4476cb5f expend netsurf options API 2024-09-17 08:44:14 +01:00
Vincent Sanders
1c6232da6a improve gtk layout debugging 2024-09-17 08:43:03 +01:00
Vincent Sanders
35a1f27a3f fix spelling errors in documentation 2024-09-17 08:41:08 +01:00
Vincent Sanders
a9f13decf4 Fix treeview crashing when cursor keys used with no selected node 2024-09-10 22:36:55 +01:00
Chris Young
f7f2a91404 Amiga: Fix crash on startup 2024-08-13 15:22:22 +01:00
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