FailedChanges

Summary

  1. utils: Update guard checks in config.h (details)
  2. utils: Update config.h for confusing define problems (details)
  3. utils: Belt and braces to satisfy gcc (details)
  4. monkey: Fix off-by-one which could result in overflow (details)
  5. js: duktape bindings: Squash -Wcalloc-transposed-args (gcc-14) (details)
  6. fetch: Squash -Wcalloc-transposed-args (gcc-14) (details)
  7. image handlers: Squash -Wcalloc-transposed-args (gcc-14) (details)
  8. content caches: Squash -Wcalloc-transposed-args (gcc-14) (details)
  9. desktop: textarea: Squash -Wcalloc-transposed-args (gcc-14) (details)
  10. frontends: monkey: Squash -Wcalloc-transposed-args (gcc-14) (details)
  11. nsurl: Reject URLs with invalid host components (details)
  12. Change env script to use posix command -v (details)
  13. Change env script help text display (details)
  14. nsurl: Add underscore to permitted characters (details)
  15. test: Correct nsurl case which should fail (details)
  16. nsurl: Add support for IPv6 literals (details)
  17. Ensure perl tool expansion is used everywhere (details)
  18. html: layout: FPCT_OF_INT_TOINT is now in LibCSS (details)
  19. css, html: Update to new LibCSS css_computed_width API (details)
  20. calc(): layout: minmax table: Use new css width getter API (details)
  21. calc(): layout: minmax line: Use new css width getter API (details)
  22. calc(): layout: minmax block: Use new css width getter API (details)
  23. calc(): layout: table: Use new css width getter API (details)
  24. calc(): layout: find dimensions: Use new css width getter API (details)
  25. content: css: dump: Handle CALC unit type (details)
  26. move core window callbacks to the standard gui tables (details)
  27. improve treeview creation to not modify output parameter on error (details)
  28. fix atari frontend after core window changes (details)
  29. test: calc: Add pages that use calc for width property (details)
  30. utils: Add clamp() macro (details)
  31. box_construct: clamp rowspan and colspan (details)
  32. nsurl: Correctly return non-IDNA hosts (details)
  33. nsurl: Free host if nomem encountered (details)
  34. idna: Bounds check during encode/decode (details)
  35. test: Add nsurl test to cover idna_{en,de}code() (details)
  36. idna: use memcpy not strncpy (details)
  37. html: css: Update to new css_computed_width API (details)
  38. change web search option to use provider name instead of index (details)
Commit 34239ed89f5d141d3c27337f7b1629ee184460b8 by dsilvers
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>
The file was modifiedutils/config.h (diff)
Commit 9e448ebfcd481bbce41b540c839a1f06d86423f4 by dsilvers
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>
The file was modifiedutils/config.h (diff)
Commit 74791c02293e7230583a03244fd42e4b1d4990df by dsilvers
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>
The file was modifiedutils/filename.c (diff)
Commit 8767befca60d6aa72836377573b41b30e7d00c93 by dsilvers
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>
The file was modifiedfrontends/monkey/browser.c (diff)
Commit a87ff23666d6190a6c1a517b5820b52c50582c16 by Michael Drake
js: duktape bindings: Squash -Wcalloc-transposed-args (gcc-14)
The file was modifiedcontent/handlers/javascript/duktape/Window.bnd (diff)
Commit 0843a9b43db29543de8480608c02c9e9a69821a9 by Michael Drake
fetch: Squash -Wcalloc-transposed-args (gcc-14)
The file was modifiedcontent/fetch.c (diff)
Commit 2bffbebad7acdf0bf7fe9099724bd5dbd0fac309 by Michael Drake
image handlers: Squash -Wcalloc-transposed-args (gcc-14)
The file was modifiedcontent/handlers/image/ico.c (diff)
The file was modifiedcontent/handlers/image/bmp.c (diff)
Commit 67005a0d7e2e909efa0040f481bbd438c3c7adb6 by Michael Drake
content caches: Squash -Wcalloc-transposed-args (gcc-14)
The file was modifiedcontent/hlcache.c (diff)
The file was modifiedcontent/llcache.c (diff)
Commit ff87de87f38b264587f1a98be1d8eb97f647b687 by Michael Drake
desktop: textarea: Squash -Wcalloc-transposed-args (gcc-14)
The file was modifieddesktop/textarea.c (diff)
Commit 506f4b14bb51cf69d8d4b8722e0ba2f47e49f301 by Michael Drake
frontends: monkey: Squash -Wcalloc-transposed-args (gcc-14)
The file was modifiedfrontends/monkey/browser.c (diff)
The file was modifiedfrontends/monkey/401login.c (diff)
The file was modifiedfrontends/monkey/bitmap.c (diff)
The file was modifiedfrontends/monkey/download.c (diff)
The file was modifiedfrontends/monkey/dispatch.c (diff)
Commit 4a50da326a6fc27da1be1edf068ab50ea919384e by dsilvers
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>
The file was modifiedutils/nsurl/parse.c (diff)
Commit 7afa51af0dced7bcdd5b175b4b1a6c590a0024bf by Vincent Sanders
Change env script to use posix command -v
The file was modifieddocs/env.sh (diff)
Commit 97fec7e47f85f8e64de989eacd6f809a300ebd2e by Vincent Sanders
Change env script help text display
The file was modifieddocs/env.sh (diff)
Commit 1b10fcedcf9f4d4209f5bd0308b14c4cee665141 by dsilvers
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>
The file was modifiedutils/nsurl/parse.c (diff)
Commit 1cf1391916863002252564200d14129b742dd1ed by dsilvers
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>
The file was modifiedtest/nsurl.c (diff)
Commit 553dc93ec8f414f475e4e6d5e66e0a7d6131da96 by dsilvers
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>
The file was modifiedutils/nsurl/parse.c (diff)
Commit 5f2065ecfb6716172e361c0c9ef47d8c4c3b06dc by Vincent Sanders
Ensure perl tool expansion is used everywhere
The file was modifiedMakefile (diff)
Commit 120be3d771ea40ce8afc41a13316a8f0dce97f30 by Michael Drake
html: layout: FPCT_OF_INT_TOINT is now in LibCSS
The file was modifiedcontent/handlers/html/layout_internal.h (diff)
Commit 9448c44babc35e5ab35427174a5750c66aff1f58 by Michael Drake
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.
The file was modifiedcontent/handlers/css/dump.c (diff)
The file was modifiedcontent/handlers/html/table.c (diff)
The file was modifiedcontent/handlers/html/box_special.c (diff)
The file was modifiedcontent/handlers/html/layout_internal.h (diff)
The file was modifiedcontent/handlers/html/layout.c (diff)
Commit 0f18e7a7fdecf526ad29a9fb90b5f9f6a596b81b by Michael Drake
calc(): layout: minmax table: Use new css width getter API
The file was modifiedcontent/handlers/html/layout.c (diff)
Commit 09b076c141ccc9f0216d8ae97c8df5d9d2d25a4a by Michael Drake
calc(): layout: minmax line: Use new css width getter API
The file was modifiedcontent/handlers/html/layout.c (diff)
Commit 052550c6676dc4c5dbd07cbe992ba19a052afbee by Michael Drake
calc(): layout: minmax block: Use new css width getter API
The file was modifiedcontent/handlers/html/layout.c (diff)
Commit 68e6876c8d8e274b0694e6f61cff8f77123b4283 by Michael Drake
calc(): layout: table: Use new css width getter API
The file was modifiedcontent/handlers/html/layout.c (diff)
Commit e1d7a346dddf7d09a9738c48ca57663f090637ef by Michael Drake
calc(): layout: find dimensions: Use new css width getter API
The file was modifiedcontent/handlers/html/layout_internal.h (diff)
Commit 15d3de0d376ac420d90f0b89a6a3ee5d5249b447 by Michael Drake
content: css: dump: Handle CALC unit type
We won't actually reach this, because the type won't be SET if it's
CALC.
The file was modifiedcontent/handlers/css/dump.c (diff)
Commit f01a94832931e08d9d8e5a31106a8db186c2ff1e by Vincent Sanders
move core window callbacks to the standard gui tables
The file was modifiedfrontends/riscos/corewindow.h (diff)
The file was modifiedfrontends/amiga/history.c (diff)
The file was modifieddesktop/local_history.h (diff)
The file was modifiedfrontends/riscos/gui.c (diff)
The file was modifieddesktop/global_history.h (diff)
The file was modifiedfrontends/windows/global_history.c (diff)
The file was modifiedfrontends/amiga/hotlist.c (diff)
The file was modifiedfrontends/gtk/hotlist.c (diff)
The file was modifiedfrontends/windows/cookies.c (diff)
The file was modifieddesktop/local_history.c (diff)
The file was modifiedfrontends/windows/corewindow.c (diff)
The file was modifieddesktop/gui_table.h (diff)
The file was modifiedfrontends/framebuffer/corewindow.c (diff)
The file was modifieddesktop/global_history.c (diff)
The file was modifieddesktop/cw_helper.h (diff)
The file was modifieddesktop/hotlist.h (diff)
The file was modifiedfrontends/amiga/corewindow.c (diff)
The file was modifiedfrontends/gtk/global_history.c (diff)
The file was modifiedfrontends/atari/cookies.c (diff)
The file was modifiedfrontends/amiga/cookies.c (diff)
The file was modifiedfrontends/atari/gui.c (diff)
The file was modifiedfrontends/riscos/global_history.c (diff)
The file was modifiedfrontends/riscos/local_history.c (diff)
The file was modifiedinclude/netsurf/core_window.h (diff)
The file was modifieddesktop/page-info.h (diff)
The file was modifiedfrontends/riscos/hotlist.c (diff)
The file was modifiedfrontends/atari/history.c (diff)
The file was modifiedfrontends/gtk/corewindow.c (diff)
The file was modifiedfrontends/framebuffer/corewindow.h (diff)
The file was modifiedfrontends/gtk/local_history.c (diff)
The file was modifiedfrontends/atari/treeview.c (diff)
The file was modifiedfrontends/gtk/page_info.c (diff)
The file was modifiedfrontends/windows/hotlist.c (diff)
The file was modifiedfrontends/gtk/gui.c (diff)
The file was modifiedfrontends/riscos/cookies.c (diff)
The file was modifiedfrontends/windows/corewindow.h (diff)
The file was modifiedfrontends/amiga/corewindow.h (diff)
The file was modifiedfrontends/atari/treeview.h (diff)
The file was modifieddesktop/cw_helper.c (diff)
The file was modifiedfrontends/gtk/cookies.c (diff)
The file was modifiedfrontends/atari/hotlist.c (diff)
The file was modifieddesktop/treeview.h (diff)
The file was modifieddesktop/cookie_manager.h (diff)
The file was modifiedfrontends/riscos/corewindow.c (diff)
The file was modifiedfrontends/framebuffer/local_history.c (diff)
The file was modifiedfrontends/windows/main.c (diff)
The file was modifiedfrontends/gtk/corewindow.h (diff)
The file was modifieddesktop/treeview.c (diff)
The file was modifieddesktop/cookie_manager.c (diff)
The file was modifiedfrontends/framebuffer/gui.c (diff)
The file was modifiedfrontends/riscos/pageinfo.c (diff)
The file was modifiedfrontends/windows/local_history.c (diff)
The file was modifiedfrontends/amiga/gui.c (diff)
The file was modifiedfrontends/amiga/history_local.c (diff)
The file was modifieddesktop/page-info.c (diff)
The file was modifiedfrontends/amiga/pageinfo.c (diff)
The file was modifieddesktop/gui_factory.c (diff)
The file was modifieddesktop/hotlist.c (diff)
Commit 35fadcfbcefef3866b00a07d8769e558f41948fa by Vincent Sanders
improve treeview creation to not modify output parameter on error
The file was modifieddesktop/treeview.c (diff)
Commit 64b914612fd8dafde981ce6d1f3a97aab08d408c by Vincent Sanders
fix atari frontend after core window changes
The file was modifiedfrontends/atari/gui.c (diff)
Commit 37dfc4a44ec3ed71310f9bc5331cbad915c5c3c8 by Michael Drake
test: calc: Add pages that use calc for width property
The file was addedtest/calc/steps-full-width.html (diff)
The file was addedtest/calc/steps.html (diff)
Commit 8193a5518ee6d23fa0774d3c5550ea4a4c55378e by dsilvers
utils: Add clamp() macro
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
The file was modifiedutils/utils.h (diff)
Commit 087f88ae8cc2b7f763dafa3522f9b0e57e914b3a by dsilvers
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>
The file was modifiedcontent/handlers/html/box_construct.c (diff)
Commit 6cbaf05ba377f407ed73e75a5a7b847f5f74b3e4 by dsilvers
nsurl: Correctly return non-IDNA hosts
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
The file was modifiedutils/nsurl/nsurl.c (diff)
Commit ea13f5a0773ec2428f6f3b610199eb25e8629a6e by dsilvers
nsurl: Free host if nomem encountered
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
The file was modifiedutils/nsurl/parse.c (diff)
Commit 758cafe4059b253e6c3f14e6eebaa5b2dadb7835 by dsilvers
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>
The file was modifiedutils/idna.c (diff)
Commit c3794ba8aa4bfa0717a2b678b355fa556f81438f by dsilvers
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>
The file was modifiedtest/nsurl.c (diff)
Commit 24579fab5da8edc6c5485543a6436b76c789e6bd by dsilvers
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>
The file was modifiedutils/idna.c (diff)
Commit a885818d786c59086edae70514ae193d5093c48e by Michael Drake
html: css: Update to new css_computed_width API
The file was modifiedcontent/handlers/html/layout.c (diff)
The file was modifiedcontent/handlers/html/table.c (diff)
The file was modifiedcontent/handlers/html/box_special.c (diff)
The file was modifiedcontent/handlers/html/layout_internal.h (diff)
The file was modifiedcontent/handlers/css/dump.c (diff)
Commit fd1a7094909020c7939143c8f141019d8a40bed4 by Vincent Sanders
change web search option to use provider name instead of index
The file was modifiedfrontends/gtk/gui.c (diff)
The file was modifiedtest/data/Choices-all (diff)
The file was modifiedfrontends/amiga/gui.c (diff)
The file was modifiedtest/data/Choices (diff)
The file was modifieddesktop/options.h (diff)
The file was modifieddesktop/searchweb.h (diff)
The file was modifiedfrontends/gtk/preferences.c (diff)
The file was modifieddesktop/searchweb.c (diff)
The file was modifiedfrontends/amiga/gui_options.c (diff)