diff --git a/audio/libmodplug/Makefile b/audio/libmodplug/Makefile index 1afe4d17a757..14f1d271b296 100644 --- a/audio/libmodplug/Makefile +++ b/audio/libmodplug/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.19 2025/11/17 11:00:19 wiz Exp $ +# $NetBSD: Makefile,v 1.19.2.1 2026/01/04 17:11:48 bsiegert Exp $ DISTNAME= libmodplug-0.8.9.0 CATEGORIES= audio @@ -14,5 +14,7 @@ USE_LIBTOOL= yes GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE+= libmodplug.pc.in +FORCE_CXX_STD= gnu++98 + .include "../../mk/oss.buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/doc/CHANGES-pkgsrc-2025Q4 b/doc/CHANGES-pkgsrc-2025Q4 new file mode 100644 index 000000000000..076980dc2ebf --- /dev/null +++ b/doc/CHANGES-pkgsrc-2025Q4 @@ -0,0 +1,61 @@ +$NetBSD: CHANGES-pkgsrc-2025Q4,v 1.1.2.15 2026/03/11 13:17:28 maya Exp $ + +Changes to packages and infrastructure on the pkgsrc-2025Q4 branch: + +Pullup ticket #7038 - requested by gutteridge +www/firefox140: build fix + +Pullup ticket #7039 - requested by nia +emulators/qemu7: Security fix + +Pullup ticket #7040 - requested by nia +audio/libmodplug: build fix + +Pullup ticket #7041 - requested by nia +textproc/libxslt: Security fix + +Pullup ticket #7042 - requested by nia +security/libgcrypt: Build fix correction + +Pullup ticket #7043 - requested by nia +games/tyrquate: Build fix correction + +Pullup ticket #7044 - requested by gutteridge +www/firefox140: Security fix +www/firefox140-l10n: Security fix + +Pullup ticket #7045 - requested by mlelstv +sysutils/amanda-client: Bug fix +sysutils/amanda-common: Bug fix + +Pullup ticket #7046 - requested by taca +net/bind918: Security fix + +Pullup ticket #7047 - requested by wiz +security/netpgpverify: Bug fix + +Pullup ticket #7048 - requested by nia +www/palemoon: Security fix + +Pullup ticket #7049 - requested by bsiegert +textproc/expat: Security fix + +Pullup ticket #7050 - requested by morr +editors/vim-lang: Security fix +editors/vim-share: Security fix + +Pullup ticket #7051 - requested by gutteridge +multimedia/libvpx: Security fix + +Pullup ticket #7052 - requested by leot +www/dillo: Bug fix + +Pullup ticket #7053 - requested by nia +www/palemoon: Bug fix + +Pullup ticket #7054 - requested by gutteridge +www/firefox140: security fix +www/firefox140-l10n: dependent update + +Pullup ticket #7055 - requested by nia +www/palemoon: Security fix diff --git a/editors/vim-lang/PLIST b/editors/vim-lang/PLIST index 708d51d5effa..c6633d620998 100644 --- a/editors/vim-lang/PLIST +++ b/editors/vim-lang/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.37 2025/12/03 22:52:01 morr Exp $ +@comment $NetBSD: PLIST,v 1.37.2.1 2026/02/07 22:12:28 maya Exp $ man/da.ISO8859-1/man1/ex.1 man/da.ISO8859-1/man1/rview.1 man/da.ISO8859-1/man1/rvim.1 @@ -131,6 +131,30 @@ man/ru.UTF-8/man1/view.1 man/ru.UTF-8/man1/vim.1 man/ru.UTF-8/man1/vimdiff.1 man/ru.UTF-8/man1/vimtutor.1 +man/sv.ISO8859-1/man1/evim.1 +man/sv.ISO8859-1/man1/ex.1 +man/sv.ISO8859-1/man1/rview.1 +man/sv.ISO8859-1/man1/rvim.1 +man/sv.ISO8859-1/man1/view.1 +man/sv.ISO8859-1/man1/vim.1 +man/sv.ISO8859-1/man1/vimdiff.1 +man/sv.ISO8859-1/man1/vimtutor.1 +man/sv.UTF-8/man1/evim.1 +man/sv.UTF-8/man1/ex.1 +man/sv.UTF-8/man1/rview.1 +man/sv.UTF-8/man1/rvim.1 +man/sv.UTF-8/man1/view.1 +man/sv.UTF-8/man1/vim.1 +man/sv.UTF-8/man1/vimdiff.1 +man/sv.UTF-8/man1/vimtutor.1 +man/sv/man1/evim.1 +man/sv/man1/ex.1 +man/sv/man1/rview.1 +man/sv/man1/rvim.1 +man/sv/man1/view.1 +man/sv/man1/vim.1 +man/sv/man1/vimdiff.1 +man/sv/man1/vimtutor.1 man/tr.ISO8859-9/man1/evim.1 man/tr.ISO8859-9/man1/ex.1 man/tr.ISO8859-9/man1/rview.1 @@ -427,6 +451,7 @@ share/vim/${VIM_SUBDIR}/lang/sk.cp1250/LC_MESSAGES/vim.mo share/vim/${VIM_SUBDIR}/lang/sk/LC_MESSAGES/vim.mo share/vim/${VIM_SUBDIR}/lang/sr/LC_MESSAGES/vim.mo share/vim/${VIM_SUBDIR}/lang/sv/LC_MESSAGES/vim.mo +share/vim/${VIM_SUBDIR}/lang/ta/LC_MESSAGES/vim.mo share/vim/${VIM_SUBDIR}/lang/tr/LC_MESSAGES/vim.mo share/vim/${VIM_SUBDIR}/lang/uk.cp1251/LC_MESSAGES/vim.mo share/vim/${VIM_SUBDIR}/lang/uk/LC_MESSAGES/vim.mo diff --git a/editors/vim-share/PLIST b/editors/vim-share/PLIST index 49eddcfa7780..71380fbfae7f 100644 --- a/editors/vim-share/PLIST +++ b/editors/vim-share/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.80 2025/12/03 22:52:01 morr Exp $ +@comment $NetBSD: PLIST,v 1.80.2.1 2026/02/07 22:12:29 maya Exp $ bin/xxd man/man1/evim.1 man/man1/vim.1 @@ -80,6 +80,7 @@ share/vim/${VIM_SUBDIR}/autoload/zip.vim share/vim/${VIM_SUBDIR}/bugreport.vim share/vim/${VIM_SUBDIR}/colors/README.txt share/vim/${VIM_SUBDIR}/colors/blue.vim +share/vim/${VIM_SUBDIR}/colors/catppuccin.vim share/vim/${VIM_SUBDIR}/colors/darkblue.vim share/vim/${VIM_SUBDIR}/colors/default.vim share/vim/${VIM_SUBDIR}/colors/delek.vim @@ -114,6 +115,7 @@ share/vim/${VIM_SUBDIR}/compiler/bash.vim share/vim/${VIM_SUBDIR}/compiler/bcc.vim share/vim/${VIM_SUBDIR}/compiler/bdf.vim share/vim/${VIM_SUBDIR}/compiler/biome.vim +share/vim/${VIM_SUBDIR}/compiler/cabal.vim share/vim/${VIM_SUBDIR}/compiler/cargo.vim share/vim/${VIM_SUBDIR}/compiler/checkstyle.vim share/vim/${VIM_SUBDIR}/compiler/cm3.vim @@ -192,6 +194,7 @@ share/vim/${VIM_SUBDIR}/compiler/pip_compile.vim share/vim/${VIM_SUBDIR}/compiler/podchecker.vim share/vim/${VIM_SUBDIR}/compiler/powershell.vim share/vim/${VIM_SUBDIR}/compiler/pylint.vim +share/vim/${VIM_SUBDIR}/compiler/pyright.vim share/vim/${VIM_SUBDIR}/compiler/pytest.vim share/vim/${VIM_SUBDIR}/compiler/pyunit.vim share/vim/${VIM_SUBDIR}/compiler/raco.vim @@ -226,6 +229,7 @@ share/vim/${VIM_SUBDIR}/compiler/tidy.vim share/vim/${VIM_SUBDIR}/compiler/tombi.vim share/vim/${VIM_SUBDIR}/compiler/ts-node.vim share/vim/${VIM_SUBDIR}/compiler/tsc.vim +share/vim/${VIM_SUBDIR}/compiler/ty.vim share/vim/${VIM_SUBDIR}/compiler/typedoc.vim share/vim/${VIM_SUBDIR}/compiler/typst.vim share/vim/${VIM_SUBDIR}/compiler/vimdoc.vim @@ -270,6 +274,7 @@ share/vim/${VIM_SUBDIR}/doc/gui_w32.txt share/vim/${VIM_SUBDIR}/doc/gui_x11.txt share/vim/${VIM_SUBDIR}/doc/hangulin.txt share/vim/${VIM_SUBDIR}/doc/hebrew.txt +share/vim/${VIM_SUBDIR}/doc/help.svx share/vim/${VIM_SUBDIR}/doc/help.txt share/vim/${VIM_SUBDIR}/doc/helphelp.txt share/vim/${VIM_SUBDIR}/doc/howto.txt @@ -336,6 +341,7 @@ share/vim/${VIM_SUBDIR}/doc/starting.txt share/vim/${VIM_SUBDIR}/doc/syntax.txt share/vim/${VIM_SUBDIR}/doc/tabpage.txt share/vim/${VIM_SUBDIR}/doc/tags +share/vim/${VIM_SUBDIR}/doc/tags-sv share/vim/${VIM_SUBDIR}/doc/tagsrch.txt share/vim/${VIM_SUBDIR}/doc/term.txt share/vim/${VIM_SUBDIR}/doc/terminal.txt @@ -429,9 +435,12 @@ share/vim/${VIM_SUBDIR}/ftplugin/awk.vim share/vim/${VIM_SUBDIR}/ftplugin/bash.vim share/vim/${VIM_SUBDIR}/ftplugin/basic.vim share/vim/${VIM_SUBDIR}/ftplugin/bdf.vim +share/vim/${VIM_SUBDIR}/ftplugin/bicep-params.vim +share/vim/${VIM_SUBDIR}/ftplugin/bicep.vim share/vim/${VIM_SUBDIR}/ftplugin/bindzone.vim share/vim/${VIM_SUBDIR}/ftplugin/bitbake.vim share/vim/${VIM_SUBDIR}/ftplugin/bp.vim +share/vim/${VIM_SUBDIR}/ftplugin/bpftrace.vim share/vim/${VIM_SUBDIR}/ftplugin/brighterscript.vim share/vim/${VIM_SUBDIR}/ftplugin/brightscript.vim share/vim/${VIM_SUBDIR}/ftplugin/bst.vim @@ -583,6 +592,7 @@ share/vim/${VIM_SUBDIR}/ftplugin/karel.vim share/vim/${VIM_SUBDIR}/ftplugin/kconfig.vim share/vim/${VIM_SUBDIR}/ftplugin/kdl.vim share/vim/${VIM_SUBDIR}/ftplugin/kerml.vim +share/vim/${VIM_SUBDIR}/ftplugin/kitty.vim share/vim/${VIM_SUBDIR}/ftplugin/kivy.vim share/vim/${VIM_SUBDIR}/ftplugin/kotlin.vim share/vim/${VIM_SUBDIR}/ftplugin/kwt.vim @@ -737,6 +747,7 @@ share/vim/${VIM_SUBDIR}/ftplugin/sgml.vim share/vim/${VIM_SUBDIR}/ftplugin/sh.vim share/vim/${VIM_SUBDIR}/ftplugin/shaderslang.vim share/vim/${VIM_SUBDIR}/ftplugin/sieve.vim +share/vim/${VIM_SUBDIR}/ftplugin/skhd.vim share/vim/${VIM_SUBDIR}/ftplugin/slint.vim share/vim/${VIM_SUBDIR}/ftplugin/slpconf.vim share/vim/${VIM_SUBDIR}/ftplugin/slpreg.vim @@ -840,6 +851,7 @@ share/vim/${VIM_SUBDIR}/indent/bash.vim share/vim/${VIM_SUBDIR}/indent/basic.vim share/vim/${VIM_SUBDIR}/indent/bib.vim share/vim/${VIM_SUBDIR}/indent/bitbake.vim +share/vim/${VIM_SUBDIR}/indent/bpftrace.vim share/vim/${VIM_SUBDIR}/indent/bst.vim share/vim/${VIM_SUBDIR}/indent/bzl.vim share/vim/${VIM_SUBDIR}/indent/c.vim @@ -1088,6 +1100,10 @@ share/vim/${VIM_SUBDIR}/pack/dist/opt/netrw/doc/netrw.txt share/vim/${VIM_SUBDIR}/pack/dist/opt/netrw/plugin/netrwPlugin.vim share/vim/${VIM_SUBDIR}/pack/dist/opt/netrw/syntax/netrw.vim share/vim/${VIM_SUBDIR}/pack/dist/opt/nohlsearch/plugin/nohlsearch.vim +share/vim/${VIM_SUBDIR}/pack/dist/opt/osc52/autoload/osc52.vim +share/vim/${VIM_SUBDIR}/pack/dist/opt/osc52/doc/osc52.txt +share/vim/${VIM_SUBDIR}/pack/dist/opt/osc52/doc/tags +share/vim/${VIM_SUBDIR}/pack/dist/opt/osc52/plugin/osc52.vim share/vim/${VIM_SUBDIR}/pack/dist/opt/shellmenu/plugin/shellmenu.vim share/vim/${VIM_SUBDIR}/pack/dist/opt/swapmouse/plugin/swapmouse.vim share/vim/${VIM_SUBDIR}/pack/dist/opt/termdebug/plugin/termdebug.vim @@ -1214,6 +1230,7 @@ share/vim/${VIM_SUBDIR}/syntax/bib.vim share/vim/${VIM_SUBDIR}/syntax/bindzone.vim share/vim/${VIM_SUBDIR}/syntax/bitbake.vim share/vim/${VIM_SUBDIR}/syntax/blank.vim +share/vim/${VIM_SUBDIR}/syntax/bpftrace.vim share/vim/${VIM_SUBDIR}/syntax/bsdl.vim share/vim/${VIM_SUBDIR}/syntax/bst.vim share/vim/${VIM_SUBDIR}/syntax/btm.vim @@ -1736,10 +1753,6 @@ share/vim/${VIM_SUBDIR}/syntax/sgmllnx.vim share/vim/${VIM_SUBDIR}/syntax/sh.vim share/vim/${VIM_SUBDIR}/syntax/shaderslang.vim share/vim/${VIM_SUBDIR}/syntax/shared/README.txt -share/vim/${VIM_SUBDIR}/syntax/shared/context-data-context.vim -share/vim/${VIM_SUBDIR}/syntax/shared/context-data-interfaces.vim -share/vim/${VIM_SUBDIR}/syntax/shared/context-data-metafun.vim -share/vim/${VIM_SUBDIR}/syntax/shared/context-data-tex.vim share/vim/${VIM_SUBDIR}/syntax/shared/debarchitectures.vim share/vim/${VIM_SUBDIR}/syntax/shared/debversions.vim share/vim/${VIM_SUBDIR}/syntax/shared/hgcommitDiff.vim @@ -1752,6 +1765,7 @@ share/vim/${VIM_SUBDIR}/syntax/sinda.vim share/vim/${VIM_SUBDIR}/syntax/sindacmp.vim share/vim/${VIM_SUBDIR}/syntax/sindaout.vim share/vim/${VIM_SUBDIR}/syntax/sisu.vim +share/vim/${VIM_SUBDIR}/syntax/skhd.vim share/vim/${VIM_SUBDIR}/syntax/skill.vim share/vim/${VIM_SUBDIR}/syntax/sl.vim share/vim/${VIM_SUBDIR}/syntax/slang.vim @@ -1943,6 +1957,7 @@ share/vim/${VIM_SUBDIR}/tools/emoji_list.vim share/vim/${VIM_SUBDIR}/tools/mve.awk share/vim/${VIM_SUBDIR}/tools/mve.txt share/vim/${VIM_SUBDIR}/tools/pltags.pl +share/vim/${VIM_SUBDIR}/tools/preproc_indent.vim share/vim/${VIM_SUBDIR}/tools/ref share/vim/${VIM_SUBDIR}/tools/shtags.1 share/vim/${VIM_SUBDIR}/tools/shtags.pl @@ -1955,6 +1970,7 @@ share/vim/${VIM_SUBDIR}/tools/vimspell.txt share/vim/${VIM_SUBDIR}/tools/xcmdsrv_client.c share/vim/${VIM_SUBDIR}/tutor/README.el.txt share/vim/${VIM_SUBDIR}/tutor/README.ru.txt +share/vim/${VIM_SUBDIR}/tutor/README.sv.txt share/vim/${VIM_SUBDIR}/tutor/README.txt share/vim/${VIM_SUBDIR}/tutor/en/vim-01-beginner.tutor share/vim/${VIM_SUBDIR}/tutor/en/vim-01-beginner.tutor.json @@ -1970,6 +1986,10 @@ share/vim/${VIM_SUBDIR}/tutor/sr/vim-01-beginner.tutor share/vim/${VIM_SUBDIR}/tutor/sr/vim-01-beginner.tutor.json share/vim/${VIM_SUBDIR}/tutor/sr/vim-02-beginner.tutor share/vim/${VIM_SUBDIR}/tutor/sr/vim-02-beginner.tutor.json +share/vim/${VIM_SUBDIR}/tutor/sv/vim-01-beginner.tutor +share/vim/${VIM_SUBDIR}/tutor/sv/vim-01-beginner.tutor.json +share/vim/${VIM_SUBDIR}/tutor/sv/vim-02-beginner.tutor +share/vim/${VIM_SUBDIR}/tutor/sv/vim-02-beginner.tutor.json share/vim/${VIM_SUBDIR}/tutor/tutor.tutor share/vim/${VIM_SUBDIR}/tutor/tutor.tutor.json share/vim/${VIM_SUBDIR}/tutor/tutor.vim @@ -2011,6 +2031,8 @@ share/vim/${VIM_SUBDIR}/tutor/tutor2.es share/vim/${VIM_SUBDIR}/tutor/tutor2.fr share/vim/${VIM_SUBDIR}/tutor/tutor2.gl share/vim/${VIM_SUBDIR}/tutor/tutor2.it +share/vim/${VIM_SUBDIR}/tutor/tutor2.ja share/vim/${VIM_SUBDIR}/tutor/tutor2.ru share/vim/${VIM_SUBDIR}/tutor/tutor2.sr +share/vim/${VIM_SUBDIR}/tutor/tutor2.sv share/vim/${VIM_SUBDIR}/vimrc_example.vim diff --git a/editors/vim-share/distinfo b/editors/vim-share/distinfo index 21ca1dfa948b..d185ffa65188 100644 --- a/editors/vim-share/distinfo +++ b/editors/vim-share/distinfo @@ -1,9 +1,9 @@ -$NetBSD: distinfo,v 1.222 2025/12/03 22:52:01 morr Exp $ +$NetBSD: distinfo,v 1.222.2.1 2026/02/07 22:12:29 maya Exp $ -BLAKE2s (vim-9.1.1952.tar.gz) = 706ca927d70739b7b914ba2ebb6d6687a45a875682f009f28ece47e89de50722 -SHA512 (vim-9.1.1952.tar.gz) = ab8af22e9e98da9b6d26c401d52eded3b1d4b864bb24cd545a1d407123822b48768178345b94d02501bf9362d8679a4311a958acfc1d4231c99f4727a09ec9cd -Size (vim-9.1.1952.tar.gz) = 19204545 bytes -SHA1 (patch-Makefile) = 515f2f3953d35de8b8a92e2d367f0110152f207d +BLAKE2s (vim-9.1.2132.tar.gz) = 27e15034126b31e83e1040075c4ead56aec3f38a694b52e7447a90418e789944 +SHA512 (vim-9.1.2132.tar.gz) = 3d481d4e9fb716efb4df925a6ef3b69af98a684a9507079ddecdf91e90830fee9f865389611dce2da2c90dae4f881f610d15d4657764e4684f27bce5d9013631 +Size (vim-9.1.2132.tar.gz) = 19518340 bytes +SHA1 (patch-Makefile) = 12cfa9f54711f9cc7ce5457c58b38ede059b586d SHA1 (patch-feature.h) = a3c58ddf4297df39a06652fa1157ee4be2dfadf5 SHA1 (patch-popupwin.c) = c191b9648ce4bc6af8456ef699948bf9592797de SHA1 (patch-vim.h) = f8fbbef3579a6916592e6e7ffeb5280966c30178 diff --git a/editors/vim-share/patches/patch-Makefile b/editors/vim-share/patches/patch-Makefile index f9c77c6c24b6..d0b580796809 100644 --- a/editors/vim-share/patches/patch-Makefile +++ b/editors/vim-share/patches/patch-Makefile @@ -1,8 +1,6 @@ -$NetBSD: patch-Makefile,v 1.16 2025/12/03 22:52:01 morr Exp $ - ---- src/Makefile.orig 2025-12-03 21:01:37.000000000 +0000 -+++ src/Makefile -@@ -2527,35 +2527,35 @@ installtools: $(TOOLS) $(DESTDIR)$(exec_ +--- src/Makefile.orig 2026-02-05 19:01:12.000000000 +0000 ++++ src/Makefile 2026-02-05 22:59:51.378052360 +0000 +@@ -2532,38 +2532,38 @@ fi -chmod $(FILEMOD) $(DEST_TOOLS)/* # replace the path in some tools @@ -34,6 +32,9 @@ $NetBSD: patch-Makefile,v 1.16 2025/12/03 22:52:01 morr Exp $ - -$(SHELL) ./installman.sh xxd $(DEST_MAN_PL_U) "-pl.UTF-8" $(INSTALLMANARGS) - -$(SHELL) ./installman.sh xxd $(DEST_MAN_RU) "-ru" $(INSTALLMANARGS) - -$(SHELL) ./installman.sh xxd $(DEST_MAN_RU_U) "-ru.UTF-8" $(INSTALLMANARGS) +- -$(SHELL) ./installman.sh xxd $(DEST_MAN_SV) "-sv" $(INSTALLMANARGS) +- -$(SHELL) ./installman.sh xxd $(DEST_MAN_SV_I) "-sv" $(INSTALLMANARGS) +- -$(SHELL) ./installman.sh xxd $(DEST_MAN_SV_U) "-sv.UTF-8" $(INSTALLMANARGS) - -$(SHELL) ./installman.sh xxd $(DEST_MAN_TR) "-tr" $(INSTALLMANARGS) - -$(SHELL) ./installman.sh xxd $(DEST_MAN_TR_I) "-tr" $(INSTALLMANARGS) - -$(SHELL) ./installman.sh xxd $(DEST_MAN_TR_U) "-tr.UTF-8" $(INSTALLMANARGS) @@ -55,6 +56,9 @@ $NetBSD: patch-Makefile,v 1.16 2025/12/03 22:52:01 morr Exp $ + #-$(SHELL) ./installman.sh xxd $(DEST_MAN_PL_U) "-pl.UTF-8" $(INSTALLMANARGS) + #-$(SHELL) ./installman.sh xxd $(DEST_MAN_RU) "-ru" $(INSTALLMANARGS) + #-$(SHELL) ./installman.sh xxd $(DEST_MAN_RU_U) "-ru.UTF-8" $(INSTALLMANARGS) ++ #-$(SHELL) ./installman.sh xxd $(DEST_MAN_SV) "-sv" $(INSTALLMANARGS) ++ #-$(SHELL) ./installman.sh xxd $(DEST_MAN_SV_I) "-sv" $(INSTALLMANARGS) ++ #-$(SHELL) ./installman.sh xxd $(DEST_MAN_SV_U) "-sv.UTF-8" $(INSTALLMANARGS) + #-$(SHELL) ./installman.sh xxd $(DEST_MAN_TR) "-tr" $(INSTALLMANARGS) + #-$(SHELL) ./installman.sh xxd $(DEST_MAN_TR_I) "-tr" $(INSTALLMANARGS) + #-$(SHELL) ./installman.sh xxd $(DEST_MAN_TR_U) "-tr.UTF-8" $(INSTALLMANARGS) diff --git a/editors/vim-share/version.mk b/editors/vim-share/version.mk index db2ff836deb9..4bca5937e750 100644 --- a/editors/vim-share/version.mk +++ b/editors/vim-share/version.mk @@ -1,7 +1,7 @@ -# $NetBSD: version.mk,v 1.158 2025/12/03 22:52:01 morr Exp $ +# $NetBSD: version.mk,v 1.158.2.1 2026/02/07 22:12:29 maya Exp $ VIM_VERSION= 9.1 -VIM_PATCHLEVEL= 1952 +VIM_PATCHLEVEL= 2132 # Changelog: see https://github.com/vim/vim/commits/master/ or # with git clone: $ git log --pretty=format:"- %s" VIM_SUBDIR= vim91 diff --git a/emulators/qemu7/Makefile b/emulators/qemu7/Makefile index 7ad2eb63b615..fb6bd9916a41 100644 --- a/emulators/qemu7/Makefile +++ b/emulators/qemu7/Makefile @@ -1,7 +1,6 @@ -# $NetBSD: Makefile,v 1.8 2025/10/23 20:36:52 wiz Exp $ +# $NetBSD: Makefile,v 1.8.2.1 2026/01/02 03:25:30 maya Exp $ -DISTNAME= qemu-7.2.16 -PKGREVISION= 6 +DISTNAME= qemu-7.2.22 CATEGORIES= emulators MASTER_SITES= https://download.qemu.org/ EXTRACT_SUFX= .tar.xz @@ -122,8 +121,9 @@ CONFIGURE_ARGS+= --disable-bsd-user CONFIGURE_ARGS+= --enable-bsd-user USER_EMUL= i386 x86_64 . endif -.elif ${OPSYS:M*BSD} || ${OPSYS} == "DragonFly" -USER_EMUL= i386 x86_64 +.elif ${OPSYS} == "FreeBSD" +USER_EMUL= arm ga i386 x86_64 +PLIST.ga= yes PLIST.nbd= yes .elif ${OPSYS} == "Darwin" USER_EMUL= diff --git a/emulators/qemu7/distinfo b/emulators/qemu7/distinfo index c030dafb105f..ffaa43f71178 100644 --- a/emulators/qemu7/distinfo +++ b/emulators/qemu7/distinfo @@ -1,11 +1,11 @@ -$NetBSD: distinfo,v 1.1 2025/03/02 12:45:45 nia Exp $ +$NetBSD: distinfo,v 1.1.8.1 2026/01/02 03:25:30 maya Exp $ BLAKE2s (palcode-clipper-qemu-5.2.0nb8) = d388c896a80c1cc3d4785c8434d6688bbcfd54c28f7252ce550ab162a0bba321 SHA512 (palcode-clipper-qemu-5.2.0nb8) = 33695d6001d86a19793a92d5e31775607c4dfc9ab9eea019ea6c4d543a2e11e8c07f83cca4934811a13ef829b528737ea37d9d2aaf66cba6f2746d44d2aa0b43 Size (palcode-clipper-qemu-5.2.0nb8) = 159808 bytes -BLAKE2s (qemu-7.2.16.tar.xz) = a7df9c5ce513308e0f69290b72531df01c29b6cea809e83cb6e5f6ebed29168d -SHA512 (qemu-7.2.16.tar.xz) = 75623733f39396222e549498fd5dbbc1430593033f7480aa3a34c7e1c765eb5f7776d8827ee47b4b9c52cc1061232637742a8e31c5e5a9019945171d0c65ca7e -Size (qemu-7.2.16.tar.xz) = 124427328 bytes +BLAKE2s (qemu-7.2.22.tar.xz) = 9bc8640ab44ed0876cd7a62d23d8e5107c36d1b521cc348ab413f7df78c92dfc +SHA512 (qemu-7.2.22.tar.xz) = c4ca21ab13d73d58f220d6059b404aad7ee3247bd26a395bb58f7907ebd796946e923d01831f12a5781772c6d493082e6df40465aa98a215ce530dbed8aac09b +Size (qemu-7.2.22.tar.xz) = 124416240 bytes SHA1 (patch-audio_jackaudio.c) = 771c2779e565242a500adc0223ef6b1ae5b2b91f SHA1 (patch-backends_tpm_tpm__ioctl.h) = 5e18e0c9d0581386e0100a566694b3e631618585 SHA1 (patch-hw-mips-Kconfig) = 1e40f8265196e60d4f97ec50073025a3906ef754 diff --git a/games/tyrquake/Makefile b/games/tyrquake/Makefile index 2821eea2a2ff..f778729d897b 100644 --- a/games/tyrquake/Makefile +++ b/games/tyrquake/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.12 2024/06/06 17:33:14 ktnb Exp $ +# $NetBSD: Makefile,v 1.12.14.1 2026/01/13 00:58:06 maya Exp $ DISTNAME= tyrquake-0.71 CATEGORIES= games x11 @@ -19,6 +19,9 @@ SUBST_MESSAGE.audio= Fixing path to the audio device. SUBST_FILES.audio= common/snd_oss.c SUBST_SED.audio= -e "s|/dev/dsp|${DEVOSSAUDIO}|" +# Not on i386, and we can't check for arch first. +MKPIE_SUPPORTED= no + INSTALLATION_DIRS= bin do-install: diff --git a/games/tyrquake/distinfo b/games/tyrquake/distinfo index 180eda5e4f3a..10756f80e26b 100644 --- a/games/tyrquake/distinfo +++ b/games/tyrquake/distinfo @@ -1,7 +1,7 @@ -$NetBSD: distinfo,v 1.9 2024/06/06 17:33:14 ktnb Exp $ +$NetBSD: distinfo,v 1.9.14.1 2026/01/13 00:58:06 maya Exp $ BLAKE2s (tyrquake-0.71.tar.gz) = a3a1030f5b17bfbe6fd3d710d71a0b5b55096f2917f440d9acb1042cf3584d13 SHA512 (tyrquake-0.71.tar.gz) = ecceeecb43866c10c0669b4362ce2eda7a790c502764b3d644566e7637ffbde0548676c9dcea07963db0d91d83c248e3497603c0a3a2e1a12a1418a82c07179a Size (tyrquake-0.71.tar.gz) = 2287864 bytes SHA1 (patch-Makefile) = d34b44cfa4c12cdda4a67dfddccd8e2a9ed1bec2 -SHA1 (patch-include_common.h) = e5b3402ff366da2c53fbeedafac83951b4f07ca7 +SHA1 (patch-include_common.h) = 80b0c72fd9a220b8999c00bb90c95ea5a4e11cc6 diff --git a/games/tyrquake/patches/patch-include_common.h b/games/tyrquake/patches/patch-include_common.h index 971688a4bd97..7d1cb7458db5 100644 --- a/games/tyrquake/patches/patch-include_common.h +++ b/games/tyrquake/patches/patch-include_common.h @@ -1,8 +1,7 @@ -$NetBSD: patch-include_common.h,v 1.1 2024/06/06 17:33:14 ktnb Exp $ +$NetBSD: patch-include_common.h,v 1.1.14.1 2026/01/13 00:58:06 maya Exp $ -NetBSD has bswap in stdlib which conflicts with upstream's -definitions. Using the upstream definitions causes a conflict -throughout the rest of the program. +Stable NetBSD releases leak bswap which conflicts with upstream's +definition. --- include/common.h.orig 2022-09-06 10:23:53.000000000 +0000 +++ include/common.h @@ -11,7 +10,7 @@ throughout the rest of the program. #include #include +#ifdef __NetBSD__ -+#include ++#include +#endif #include "qtypes.h" diff --git a/multimedia/libvpx/Makefile b/multimedia/libvpx/Makefile index 1940d4faf8b6..fbc0e96cc0b8 100644 --- a/multimedia/libvpx/Makefile +++ b/multimedia/libvpx/Makefile @@ -1,6 +1,7 @@ -# $NetBSD: Makefile,v 1.108 2025/07/14 10:44:45 adam Exp $ +# $NetBSD: Makefile,v 1.108.4.1 2026/02/18 15:57:51 maya Exp $ -DISTNAME= libvpx-1.15.2 +DISTNAME= libvpx-1.16.0 +PKGREVISION= 1 CATEGORIES= multimedia MASTER_SITES= ${MASTER_SITE_GITHUB:=webmproject/} GITHUB_TAG= v${PKGVERSION_NOREV} @@ -10,8 +11,8 @@ HOMEPAGE= https://chromium.googlesource.com/webm/libvpx COMMENT= On2 VP8/VP9 video codec library from Google LICENSE= modified-bsd +USE_CXX_FEATURES= c++11 USE_LANGUAGES= c c++ -USE_CXX_FEATURES+= c++11 USE_LIBTOOL= yes USE_TOOLS+= gmake bash:build perl:build HAS_CONFIGURE= yes diff --git a/multimedia/libvpx/distinfo b/multimedia/libvpx/distinfo index 35ba1f7f18e5..bc67071fd8c3 100644 --- a/multimedia/libvpx/distinfo +++ b/multimedia/libvpx/distinfo @@ -1,10 +1,11 @@ -$NetBSD: distinfo,v 1.54 2025/07/14 10:44:45 adam Exp $ +$NetBSD: distinfo,v 1.54.4.1 2026/02/18 15:57:51 maya Exp $ -BLAKE2s (libvpx-1.15.2.tar.gz) = c471130dbcc2c50f95e09038df77cf5db0ef21443915cc85443a353848ee31a1 -SHA512 (libvpx-1.15.2.tar.gz) = 824fe8719e4115ec359ae0642f5e1cea051d458f09eb8c24d60858cf082f66e411215e23228173ab154044bafbdfbb2d93b589bb726f55b233939b91f928aae0 -Size (libvpx-1.15.2.tar.gz) = 5630368 bytes +BLAKE2s (libvpx-1.16.0.tar.gz) = 17341f5c9ce829528b4df6b3287470492041fbea5de712c19459102dfe35cb41 +SHA512 (libvpx-1.16.0.tar.gz) = 07f5e352411d6c0be331706d1835ac89bafbeddcbbac5542b473323766e9e974f4f68b33590f2aa50a7d8d69468a642b508cbb0a7c49a82c9933b07820f9c9d9 +Size (libvpx-1.16.0.tar.gz) = 5635379 bytes SHA1 (patch-build_make_Makefile) = f36e7addd3e26536e80f806e1bf759a9a72b4ce8 SHA1 (patch-build_make_configure.sh) = ef4247ed3712ed81654f465f813160685dc09e8b SHA1 (patch-configure) = aeb5bfd9d58b06b4f2fdbdb8c73b03339de313e7 SHA1 (patch-examples.mk) = 17410f43ff9952d616be3211ca697f37c107610a -SHA1 (patch-libs.mk) = 9ddc9cb6c09c9eefce59072c2a657bc5b7e1d295 +SHA1 (patch-libs.mk) = 4fe233a421ee6f998b2cd0328b66b1d759706a5f +SHA1 (patch-vp9_vp9__cx__iface.c) = 9a3e4e2c68f2a6aede22c502b07450a7f5d43e48 diff --git a/multimedia/libvpx/patches/patch-libs.mk b/multimedia/libvpx/patches/patch-libs.mk index 04d164fc4b4e..2fc737ce9ca8 100644 --- a/multimedia/libvpx/patches/patch-libs.mk +++ b/multimedia/libvpx/patches/patch-libs.mk @@ -1,18 +1,20 @@ -$NetBSD: patch-libs.mk,v 1.7 2022/07/15 11:04:33 adam Exp $ +$NetBSD: patch-libs.mk,v 1.7.28.1 2026/02/18 15:57:51 maya Exp $ Do not install debug library. ---- libs.mk.orig 2022-06-28 19:00:48.000000000 +0000 +--- libs.mk.orig 2026-01-08 16:01:40.000000000 +0000 +++ libs.mk -@@ -187,7 +187,6 @@ INSTALL-LIBS-$(CONFIG_SHARED) += $(forea +@@ -190,9 +190,6 @@ INSTALL-LIBS-$(CONFIG_SHARED) += $(forea endif else INSTALL-LIBS-$(CONFIG_STATIC) += $(LIBSUBDIR)/libvpx.a +-ifeq ($(CONFIG_STATIC),yes) -INSTALL-LIBS-$(CONFIG_DEBUG_LIBS) += $(LIBSUBDIR)/libvpx_g.a +-endif endif - ifeq ($(CONFIG_VP9_ENCODER)$(CONFIG_RATE_CTRL),yesyes) -@@ -297,8 +296,8 @@ endif # ifeq ($(CONFIG_MSVS),yes) + CODEC_SRCS=$(call enabled,CODEC_SRCS) +@@ -297,8 +294,8 @@ endif # ifeq ($(CONFIG_MSVS),yes) else # ifeq ($(CONFIG_EXTERNAL_BUILD),yes) LIBVPX_OBJS=$(call objs, $(filter-out $(ASM_INCLUDES), $(CODEC_SRCS))) OBJS-yes += $(LIBVPX_OBJS) @@ -23,7 +25,7 @@ Do not install debug library. # Updating version info. # https://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info -@@ -414,15 +413,15 @@ CLEAN-OBJS += vpx.pc +@@ -414,8 +411,8 @@ CLEAN-OBJS += vpx.pc ifeq ($(CONFIG_ENCODERS),yes) RC_RTC_OBJS=$(call objs,$(RC_RTC_SRCS)) OBJS-yes += $(RC_RTC_OBJS) @@ -33,13 +35,15 @@ Do not install debug library. + $(BUILD_PFX)libvpxrc.a: $(RC_RTC_OBJS) endif - ifeq ($(CONFIG_VP9_ENCODER)$(CONFIG_RATE_CTRL),yesyes) - SIMPLE_ENCODE_OBJS=$(call objs,$(SIMPLE_ENCODE_SRCS)) - OBJS-yes += $(SIMPLE_ENCODE_OBJS) -- LIBS-yes += $(BUILD_PFX)libsimple_encode.a $(BUILD_PFX)libsimple_encode_g.a -- $(BUILD_PFX)libsimple_encode_g.a: $(SIMPLE_ENCODE_OBJS) -+ LIBS-yes += $(BUILD_PFX)libsimple_encode.a -+ $(BUILD_PFX)libsimple_encode.a: $(SIMPLE_ENCODE_OBJS) - endif - endif # ifeq ($(CONFIG_EXTERNAL_BUILD),yes) +@@ -634,8 +631,8 @@ GTEST_INCLUDES := -I$(SRC_PATH_BARE)/thi + GTEST_INCLUDES += -I$(SRC_PATH_BARE)/third_party/googletest/src/include + $(GTEST_OBJS) $(GTEST_OBJS:.o=.d): CXXFLAGS += $(GTEST_INCLUDES) + OBJS-yes += $(GTEST_OBJS) +-LIBS-yes += $(BUILD_PFX)libgtest.a $(BUILD_PFX)libgtest_g.a +-$(BUILD_PFX)libgtest_g.a: $(GTEST_OBJS) ++LIBS-yes += $(BUILD_PFX)libgtest.a ++$(BUILD_PFX)libgtest.a: $(GTEST_OBJS) + + LIBVPX_TEST_OBJS=$(sort $(call objs,$(LIBVPX_TEST_SRCS))) + $(LIBVPX_TEST_OBJS) $(LIBVPX_TEST_OBJS:.o=.d): CXXFLAGS += $(GTEST_INCLUDES) diff --git a/multimedia/libvpx/patches/patch-vp9_vp9__cx__iface.c b/multimedia/libvpx/patches/patch-vp9_vp9__cx__iface.c new file mode 100644 index 000000000000..de6096dcc82c --- /dev/null +++ b/multimedia/libvpx/patches/patch-vp9_vp9__cx__iface.c @@ -0,0 +1,64 @@ +$NetBSD: patch-vp9_vp9__cx__iface.c,v 1.1.2.2 2026/02/18 15:57:51 maya Exp $ + +Apply upstream commit related to CVE-2026-2447. +https://github.com/webmproject/libvpx/commit/d5f35ac8d93cba7f7a3f7ddb8f9dc8bd28f785e1 + +--- vp9/vp9_cx_iface.c.orig 2026-01-08 16:01:40.000000000 +0000 ++++ vp9/vp9_cx_iface.c +@@ -8,7 +8,9 @@ + * be found in the AUTHORS file in the root of the source tree. + */ + ++#include + #include ++#include + #include + #include + #include +@@ -122,6 +124,7 @@ struct vpx_codec_alg_priv { + VP9_COMP *cpi; + unsigned char *cx_data; + size_t cx_data_sz; ++ // pending_cx_data either is a null pointer or points into the cx_data buffer. + unsigned char *pending_cx_data; + size_t pending_cx_data_sz; + int pending_frame_count; +@@ -1252,8 +1255,12 @@ static int write_superframe_index(vpx_codec_alg_priv_t + + // Write the index + index_sz = 2 + (mag + 1) * ctx->pending_frame_count; +- if (ctx->pending_cx_data_sz + index_sz < ctx->cx_data_sz) { +- uint8_t *x = ctx->pending_cx_data + ctx->pending_cx_data_sz; ++ unsigned char *cx_data_end = ctx->cx_data + ctx->cx_data_sz; ++ unsigned char *pending_cx_data_end = ++ ctx->pending_cx_data + ctx->pending_cx_data_sz; ++ ptrdiff_t space_remaining = cx_data_end - pending_cx_data_end; ++ if (index_sz <= space_remaining) { ++ uint8_t *x = pending_cx_data_end; + int i, j; + #ifdef TEST_SUPPLEMENTAL_SUPERFRAME_DATA + uint8_t marker_test = 0xc0; +@@ -1284,6 +1291,8 @@ static int write_superframe_index(vpx_codec_alg_priv_t + #ifdef TEST_SUPPLEMENTAL_SUPERFRAME_DATA + index_sz += index_sz_test; + #endif ++ } else { ++ index_sz = 0; + } + return index_sz; + } +@@ -1612,9 +1621,12 @@ static vpx_codec_err_t encoder_encode(vpx_codec_alg_pr + ctx->pending_frame_sizes[ctx->pending_frame_count++] = size; + ctx->pending_frame_magnitude |= size; + ctx->pending_cx_data_sz += size; +- // write the superframe only for the case when +- if (!ctx->output_cx_pkt_cb.output_cx_pkt) ++ // write the superframe only for the case when the callback function ++ // for getting per-layer packets is not registered. ++ if (!ctx->output_cx_pkt_cb.output_cx_pkt) { + size += write_superframe_index(ctx); ++ assert(size <= cx_data_sz); ++ } + pkt.data.frame.buf = ctx->pending_cx_data; + pkt.data.frame.sz = ctx->pending_cx_data_sz; + ctx->pending_cx_data = NULL; diff --git a/net/bind918/Makefile b/net/bind918/Makefile index b276c9db0b8d..1e7ae22b20e3 100644 --- a/net/bind918/Makefile +++ b/net/bind918/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.60 2025/12/18 10:35:13 he Exp $ +# $NetBSD: Makefile,v 1.60.2.1 2026/01/24 03:03:23 maya Exp $ DISTNAME= bind-${BIND_VERSION} PKGNAME= ${DISTNAME:S/-P/pl/} @@ -15,7 +15,7 @@ CONFLICTS+= host-[0-9]* MAKE_JOBS_SAFE= no -BIND_VERSION= 9.18.43 +BIND_VERSION= 9.18.44 BUILD_DEFS+= BIND_DIR VARBASE diff --git a/net/bind918/distinfo b/net/bind918/distinfo index 89bf38450e99..1bc8261abb3d 100644 --- a/net/bind918/distinfo +++ b/net/bind918/distinfo @@ -1,8 +1,8 @@ -$NetBSD: distinfo,v 1.34 2025/12/18 10:35:13 he Exp $ +$NetBSD: distinfo,v 1.34.2.1 2026/01/24 03:03:23 maya Exp $ -BLAKE2s (bind-9.18.43.tar.xz) = dd4256652d385e7d44ced6294c7bc3dee2ad58052e01fa1c56fcc32261e9ad09 -SHA512 (bind-9.18.43.tar.xz) = 4f0e6849e883110f275739a03de20465c91563f26be94d380d28454f27d7c68fdc3ba0e1eaa8d25a6790cadc8228ee981dceb0a6fcf46ab4ffd24b8c76f42e25 -Size (bind-9.18.43.tar.xz) = 5424860 bytes +BLAKE2s (bind-9.18.44.tar.xz) = 85c28019b64218629a643643214e7493dfee3d4823da05105d0ef805c5996fdf +SHA512 (bind-9.18.44.tar.xz) = 767bc313995576c008c00e073568d5d9bebb2e1dcc7e9e3f7ea128e6dca4358d7879de70fa1cb2980ded0b8db362f4d9eb71875dda2d45898e5607dbb4093a9f +Size (bind-9.18.44.tar.xz) = 5439552 bytes SHA1 (patch-bin_named_main.c) = 4e4a763c478f1fcecb7e65968cf6ca20dacf01f1 SHA1 (patch-bin_named_os.c) = 5ecb0883076575d8ac5fcad68f9daad6c9be0d0b SHA1 (patch-bin_named_server.c) = 52190897c4c4b141d98ca5bca7cc3eb4c83ac584 diff --git a/security/libgcrypt/distinfo b/security/libgcrypt/distinfo index b3a0c83dcb92..e065e3c7b46e 100644 --- a/security/libgcrypt/distinfo +++ b/security/libgcrypt/distinfo @@ -1,9 +1,9 @@ -$NetBSD: distinfo,v 1.102 2025/08/05 06:08:38 adam Exp $ +$NetBSD: distinfo,v 1.102.4.1 2026/01/13 00:53:26 maya Exp $ BLAKE2s (libgcrypt-1.11.2.tar.bz2) = fa7f567dc55b97302991972de130b85737ebb48c115f432d06a0be8a24926049 SHA512 (libgcrypt-1.11.2.tar.bz2) = b706cea602cc8f0896e57ce979643bf78974b05faec27c1b053b773c57d8b04250e30e95a4ef5899e1df981d01d8d08f0a36e10b5820a5ec4183e74c02e5f1f0 Size (libgcrypt-1.11.2.tar.bz2) = 4237802 bytes -SHA1 (patch-cipher_aria.c) = 7e574b13872ea0610bf8b4abd699ffbc9dabc09a +SHA1 (patch-cipher_aria.c) = dcb6dc45ca601237191ffb8b6b9a0774fe543583 SHA1 (patch-cipher_rijndael-arm.S) = ef3cb7f481022440780eb48ae31cbfad0a3ec115 SHA1 (patch-config.h.in) = 93dddd3db484230f23450aa9d02564fe11efbc6b SHA1 (patch-configure) = d9cd7509ffa682104703b3aa626a4cd5751ebdfe diff --git a/security/libgcrypt/patches/patch-cipher_aria.c b/security/libgcrypt/patches/patch-cipher_aria.c index 951a8435c97d..7b75686514ec 100644 --- a/security/libgcrypt/patches/patch-cipher_aria.c +++ b/security/libgcrypt/patches/patch-cipher_aria.c @@ -1,14 +1,16 @@ -$NetBSD: patch-cipher_aria.c,v 1.1 2024/08/09 03:51:27 ryoon Exp $ +$NetBSD: patch-cipher_aria.c,v 1.1.12.1 2026/01/13 00:53:26 maya Exp $ * Do not conflict with NetBSD's bswap(3). ---- cipher/aria.c.orig 2024-08-02 04:47:06.896383457 +0000 +--- cipher/aria.c.orig 2024-03-28 10:07:27.000000000 +0000 +++ cipher/aria.c -@@ -641,11 +641,13 @@ u32 rotr32(u32 v, u32 r) +@@ -641,11 +641,15 @@ u32 rotr32(u32 v, u32 r) return ror(v, r); } -+#if !defined(__NetBSD__) ++#ifdef __NetBSD__ ++#include ++#else static ALWAYS_INLINE u32 bswap32(u32 v) { diff --git a/security/netpgpverify/Makefile b/security/netpgpverify/Makefile index 68cb71d21afd..94c7ae40f3ef 100644 --- a/security/netpgpverify/Makefile +++ b/security/netpgpverify/Makefile @@ -1,6 +1,7 @@ -# $NetBSD: Makefile,v 1.22 2020/11/01 11:28:35 wiz Exp $ +# $NetBSD: Makefile,v 1.22.42.1 2026/01/24 03:06:28 maya Exp $ DISTNAME= netpgpverify-${VERSION} +PKGREVISION= 1 CATEGORIES= security MASTER_SITES= # empty DISTFILES= # empty diff --git a/security/netpgpverify/files/Makefile.in b/security/netpgpverify/files/Makefile.in index 68e5fa15cb9e..e2204e22c2ac 100644 --- a/security/netpgpverify/files/Makefile.in +++ b/security/netpgpverify/files/Makefile.in @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.in,v 1.9 2020/11/01 11:28:35 wiz Exp $ +# $NetBSD: Makefile.in,v 1.9.42.1 2026/01/24 03:06:29 maya Exp $ PROG=netpgpverify @@ -49,6 +49,8 @@ tst: ./${PROG} -k pubring.gpg noversion.asc @echo "testing dash-escaped text" ./${PROG} -k pubring.gpg dash-escaped-text.asc + @echo "testing gpg2-generated signature" + ./${PROG} -k keypubring.gpg2 gpg2test.gpg2 clean: rm -rf *.core ${OBJS} ${PROG} diff --git a/security/netpgpverify/files/gpg2test b/security/netpgpverify/files/gpg2test new file mode 100644 index 000000000000..3b18e512dba7 --- /dev/null +++ b/security/netpgpverify/files/gpg2test @@ -0,0 +1 @@ +hello world diff --git a/security/netpgpverify/files/gpg2test.gpg2 b/security/netpgpverify/files/gpg2test.gpg2 new file mode 100644 index 000000000000..1f08556604d6 Binary files /dev/null and b/security/netpgpverify/files/gpg2test.gpg2 differ diff --git a/security/netpgpverify/files/keypubring.gpg2 b/security/netpgpverify/files/keypubring.gpg2 new file mode 100644 index 000000000000..68e9303763c7 Binary files /dev/null and b/security/netpgpverify/files/keypubring.gpg2 differ diff --git a/security/netpgpverify/files/keysecring.gpg2 b/security/netpgpverify/files/keysecring.gpg2 new file mode 100644 index 000000000000..2f0d9f2ce259 Binary files /dev/null and b/security/netpgpverify/files/keysecring.gpg2 differ diff --git a/security/netpgpverify/files/libverify.c b/security/netpgpverify/files/libverify.c index 7d0818a50cad..cc0352d9bc55 100644 --- a/security/netpgpverify/files/libverify.c +++ b/security/netpgpverify/files/libverify.c @@ -1183,10 +1183,29 @@ read_sig_subpackets(pgpv_t *pgp, pgpv_sigpkt_t *sigpkt, uint8_t *p, size_t pktle sigpkt->sig.revoked = *p++ + 1; sigpkt->sig.why_revoked = (char *)(void *)p; break; - case SUBPKT_ISSUER_FINGERPRINT: + case SUBPKT_ISSUER_FINGERPRINT: { + /* RFC 9580, Sec. 5.2.3.35 Issuer Fingerprint */ + unsigned N; + sigpkt->sig.ifver = *p; + switch (sigpkt->sig.ifver) { + case 4: + N = 20; + break; + case 6: + N = 32; + break; + default: + printf("unknown issuer fpr version %d\n", + sigpkt->sig.ifver); + return 0; + } sigpkt->sig.issuer_fingerprint = &p[1]; + memcpy(sigpkt->sig.signer, + &p[1 + N - sizeof(sigpkt->sig.signer)], + sizeof(sigpkt->sig.signer)); break; + } default: printf("Ignoring unusual/reserved signature subpacket %d\n", subpkt.tag); break; diff --git a/sysutils/amanda-client/Makefile b/sysutils/amanda-client/Makefile index 56056cff2c5c..e8b60ded5e78 100644 --- a/sysutils/amanda-client/Makefile +++ b/sysutils/amanda-client/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.73 2025/10/23 20:39:13 wiz Exp $ +# $NetBSD: Makefile,v 1.73.2.1 2026/01/23 02:54:32 maya Exp $ # PKGNAME= amanda-client-${AMANDA_VERSION} -PKGREVISION= 8 +PKGREVISION= 9 COMMENT= Client part of Amanda, a network backup system diff --git a/sysutils/amanda-common/distinfo b/sysutils/amanda-common/distinfo index f2eff9ce97e1..5b32774cb84b 100644 --- a/sysutils/amanda-common/distinfo +++ b/sysutils/amanda-common/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.27 2025/10/17 07:55:17 kikadf Exp $ +$NetBSD: distinfo,v 1.27.2.1 2026/01/23 02:54:32 maya Exp $ BLAKE2s (amanda-3.3.9.tar.gz) = 2177c4b698edf1c9a7c8328a3423a7f75321e922107b54cac4d6823e91d855bc SHA512 (amanda-3.3.9.tar.gz) = 345670a20cff335453e8dcbf457d1fcdb9f266e4a03d729c2b1ba762f4fac323de4a87713d0fd54c11ca244a08dc97fb8c641625f7fa81cb241b3c17748b1b7e @@ -10,7 +10,7 @@ SHA1 (patch-client-src_Makefile.am) = 641ef76fd1ea413b416704e1e52e25a93a596442 SHA1 (patch-client-src_calcsize.c) = 1a0f802d14d854de12cffd08d4fa88b6085a887d SHA1 (patch-client-src_getfsent.c) = 903a921b8679ddcff1fdd838ffdce16a6d8da46f SHA1 (patch-client-src_rundump.c) = 4261c0cce67674a8333c4d7e48fbf8484d4d3650 -SHA1 (patch-client-src_runtar.c) = a8035529c5aaf1e42c0d212921f4f3e394516230 +SHA1 (patch-client-src_runtar.c) = 2f9cf1d58b57605dc75c049e1ffc5e20d6301cf2 SHA1 (patch-client-src_sendbackup-dump.c) = aea1aca0bbcdab0c393b012a592cbc5ca458acec SHA1 (patch-client-src_sendsize.c) = 32a1627c250b6413e4695a610bba59796c6e7ed6 SHA1 (patch-common-src_Makefile.am) = 0dd6cbd5707e08d3d0eb219e4a1bb002f8053e82 diff --git a/sysutils/amanda-common/patches/patch-client-src_runtar.c b/sysutils/amanda-common/patches/patch-client-src_runtar.c index 4f18017ed54a..843df3bd44e9 100644 --- a/sysutils/amanda-common/patches/patch-client-src_runtar.c +++ b/sysutils/amanda-common/patches/patch-client-src_runtar.c @@ -1,19 +1,193 @@ -$NetBSD: patch-client-src_runtar.c,v 1.1 2025/10/17 07:55:17 kikadf Exp $ +$NetBSD: patch-client-src_runtar.c,v 1.1.2.1 2026/01/23 02:54:32 maya Exp $ * Fix CVE-2022-37705, - https://github.com/zmanda/amanda/commit/497410c7555376795f324e5bd2cbed7742219099 + Backported runtar.c version from amanda-3.5.4. ---- client-src/runtar.c.orig 2025-10-17 07:41:49.922060195 +0000 +--- client-src/runtar.c.orig 2025-10-17 07:41:49.922060195 +0000 +++ client-src/runtar.c -@@ -183,9 +183,9 @@ main( +@@ -1,7 +1,8 @@ + /* + * Amanda, The Advanced Maryland Automatic Network Disk Archiver + * Copyright (c) 1991-1998 University of Maryland at College Park +- * Copyright (c) 2007-2013 Zmanda, Inc. All Rights Reserved. ++ * Copyright (c) 2007-2012 Zmanda, Inc. All Rights Reserved. ++ * Copyright (c) 2013-2016 Carbonite, Inc. All Rights Reserved. + * All Rights Reserved. + * + * Permission to use, copy, modify, distribute, and sell this software and its +@@ -35,10 +36,12 @@ + * ... + */ + #include "amanda.h" + #include "util.h" + #include "conffile.h" + #include "client_util.h" + ++static const char *whitelisted_args[] = {"--blocking-factor", "--file", "--directory", "--exclude", "--transform", "--listed-incremental", "--newer", "--exclude-from", "--files-from", NULL}; ++ + int main(int argc, char **argv); + + int +@@ -48,14 +51,21 @@ main( + { + #ifdef GNUTAR + int i; ++ char **j; + char *e; + char *dbf; + char *cmdline; ++ GPtrArray *array = g_ptr_array_new(); ++ gchar **strings; ++ char **new_argv; ++ char **env; + char *my_realpath = NULL; + #endif + int good_option; + +- if (argc > 1 && argv && argv[1] && g_str_equal(argv[1], "--version")) { ++ glib_init(); ++ ++ if (argc > 1 && argv[1] && g_str_equal(argv[1], "--version")) { + printf("runtar-%s\n", VERSION); + return (0); + } +@@ -65,7 +75,7 @@ main( + * 1) Only set the message locale for now. + * 2) Set textdomain for all amanda related programs to "amanda" + * We don't want to be forced to support dozens of message catalogs. +- */ ++ */ + setlocale(LC_MESSAGES, "C"); + textdomain("amanda"); + +@@ -78,7 +88,11 @@ main( + signal(SIGPIPE, SIG_IGN); + + dbopen(DBG_SUBDIR_CLIENT); ++#if 0 /* not in amanda-common-3.3.9 */ ++ config_init(CONFIG_INIT_CLIENT|CONFIG_INIT_GLOBAL, NULL); ++#else + config_init(CONFIG_INIT_CLIENT, NULL); ++#endif + + if (argc < 3) { + error(_("Need at least 3 arguments\n")); +@@ -87,7 +101,7 @@ main( + + dbprintf(_("version %s\n"), VERSION); + +- if (strcmp(argv[3], "--create") != 0) { ++ if (!g_str_equal(argv[3], "--create")) { + error(_("Can only be used to create tar archives\n")); + /*NOTREACHED*/ + } +@@ -138,21 +152,21 @@ main( + argv++; + + dbprintf(_("config: %s\n"), argv[0]); +- if (strcmp(argv[0], "NOCONFIG") != 0) ++ if (!g_str_equal(argv[0], "NOCONFIG")) + dbrename(argv[0], DBG_SUBDIR_CLIENT); + argc--; + argv++; + ++ new_argv = g_new0(char *, argc+1); ++ + if (!check_exec_for_suid("GNUTAR_PATH", GNUTAR, stderr, &my_realpath)) { + dbclose(); + exit(1); + } +- +- cmdline = stralloc(my_realpath); ++ new_argv[0] = g_strdup_printf("%s", argv[0]); ++ g_ptr_array_add(array, g_strdup(my_realpath)); + good_option = 0; + for (i = 1; argv[i]; i++) { +- char *quoted; +- + if (good_option <= 0) { + if (g_str_has_prefix(argv[i],"--rsh-command") || + g_str_has_prefix(argv[i],"--to-command") || +@@ -171,7 +185,8 @@ main( + g_str_has_prefix(argv[i],"--atime-preserve") || + g_str_has_prefix(argv[i],"--sparse") || + g_str_has_prefix(argv[i],"--ignore-failed-read") || +- g_str_has_prefix(argv[i],"--numeric-owner")) { ++ g_str_has_prefix(argv[i],"--numeric-owner") || ++ g_str_has_prefix(argv[i],"--verbose")) { + /* Accept theses options */ + good_option++; + } else if (g_str_has_prefix(argv[i],"--blocking-factor") || +@@ -183,8 +198,23 @@ main( g_str_has_prefix(argv[i],"--newer") || g_str_has_prefix(argv[i],"--exclude-from") || g_str_has_prefix(argv[i],"--files-from")) { - /* Accept theses options with the following argument */ - good_option += 2; -+ good_option++; ++ if (strchr(argv[i], '=')) { ++ good_option++; ++ } else { ++ /* Accept theses options with the following argument */ ++ good_option += 2; ++ ++ /* Whitelisting only the allowed arguments*/ ++ for(j=whitelisted_args; *j; j++) { ++ if (strcmp(argv[i], *j) == 0) { ++ break; ++ } ++ } ++ ++ if (!*j) { ++ good_option = 0; // not allowing arguments absent in the whitelist ++ } ++ } } else if (argv[i][0] != '-') { -+ /* argument values are accounted for here */ good_option++; } +@@ -192,22 +222,32 @@ main( + if (good_option <= 0) { + error("error [%s invalid option: %s]", get_pname(), argv[i]); } ++ g_ptr_array_add(array, quote_string(argv[i])); ++ new_argv[i] = g_strdup_printf("%s", argv[i]); + good_option--; +- +- quoted = quote_string(argv[i]); +- cmdline = vstrextend(&cmdline, " ", quoted, NULL); +- amfree(quoted); + } ++ ++ g_ptr_array_add(array, NULL); ++ strings = (gchar **)g_ptr_array_free(array, FALSE); ++ ++ cmdline = g_strjoinv(" ", strings); ++ g_strfreev(strings); ++ + dbprintf(_("running: %s\n"), cmdline); + amfree(cmdline); + + dbf = dbfn(); + if (dbf) { +- dbf = stralloc(dbf); ++ dbf = g_strdup(dbf); + } + dbclose(); + +- execve(my_realpath, argv, safe_env()); ++ env = safe_env(); ++ execve(my_realpath, new_argv, env); ++#if 0 /* not in amanda-common-3.3.9 */ ++ free_env(env); ++ free_env(new_argv); ++#endif + + e = strerror(errno); + dbreopen(dbf, "more"); +@@ -216,6 +256,7 @@ main( + dbclose(); + + g_fprintf(stderr, _("runtar: could not exec %s: %s\n"), my_realpath, e); ++ g_free(my_realpath); + return 1; + #endif + } diff --git a/textproc/expat/Makefile b/textproc/expat/Makefile index e2d232111056..35751ad5ac48 100644 --- a/textproc/expat/Makefile +++ b/textproc/expat/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.61 2025/09/25 07:03:33 adam Exp $ +# $NetBSD: Makefile,v 1.61.2.1 2026/02/01 19:20:12 maya Exp $ -DISTNAME= expat-2.7.3 +DISTNAME= expat-2.7.4 CATEGORIES= textproc MASTER_SITES= ${MASTER_SITE_GITHUB:=libexpat/} GITHUB_PROJECT= libexpat diff --git a/textproc/expat/distinfo b/textproc/expat/distinfo index fbec8f4f99e3..400f547034db 100644 --- a/textproc/expat/distinfo +++ b/textproc/expat/distinfo @@ -1,5 +1,5 @@ -$NetBSD: distinfo,v 1.55 2025/09/25 07:03:33 adam Exp $ +$NetBSD: distinfo,v 1.55.2.1 2026/02/01 19:20:12 maya Exp $ -BLAKE2s (expat-2.7.3.tar.gz) = c92c4f8433c201577399c1b3151bbcf2c10e7ff790544f1890e1303ab52f78d0 -SHA512 (expat-2.7.3.tar.gz) = 274546c0755a7ad5db43a3b723274ba213482d68677ba3ff0f5ea1de63cdd66032214f6e8e167cc8482f7d056a31f3871c26329545d6565fee8661647e9877ce -Size (expat-2.7.3.tar.gz) = 800387 bytes +BLAKE2s (expat-2.7.4.tar.gz) = 27646dba84b1caf2c783051d7937bd00e1b8a8eb85c08f892bcfec8b60f4f8f2 +SHA512 (expat-2.7.4.tar.gz) = 3fa9d9092f85f585351ee3f9e46009e289faa1288401e59e93513e2661f70742dfc3daee8639d2db2d8dc8348c01846ad5040ad8baf56f964778b075c3296bdf +Size (expat-2.7.4.tar.gz) = 804806 bytes diff --git a/textproc/libxslt/Makefile b/textproc/libxslt/Makefile index b44676c176b4..7d3054e558eb 100644 --- a/textproc/libxslt/Makefile +++ b/textproc/libxslt/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.144 2025/05/30 15:34:55 jperkin Exp $ +# $NetBSD: Makefile,v 1.144.6.1 2026/01/08 01:48:21 maya Exp $ -PKGREVISION= 4 +PKGREVISION= 5 .include "Makefile.common" TOOL_DEPENDS+= docbook-xml-[0-9]*:../../textproc/docbook-xml diff --git a/textproc/libxslt/distinfo b/textproc/libxslt/distinfo index 1fd2f79e3554..9270082cbf09 100644 --- a/textproc/libxslt/distinfo +++ b/textproc/libxslt/distinfo @@ -1,5 +1,6 @@ -$NetBSD: distinfo,v 1.75 2025/05/26 10:54:49 nia Exp $ +$NetBSD: distinfo,v 1.75.6.1 2026/01/08 01:48:21 maya Exp $ BLAKE2s (libxslt-1.1.43.tar.xz) = f5b46cbf27816b93b69f155844d0d08e7b1a2c35b5836012fa48e07f9a347435 SHA512 (libxslt-1.1.43.tar.xz) = 96110b0397a8f5791f489127574e2143845feb61bea0581d7b7e3c1101fd0718483bae81a7ce417b971bd678293bfd95daddad0dadd3e256c87d41a69faed85a Size (libxslt-1.1.43.tar.xz) = 1518364 bytes +SHA1 (patch-CVE-2025-11731) = 1cba0cf96ec4c6934a697fbd8136923c45ec2a95 diff --git a/textproc/libxslt/patches/patch-CVE-2025-11731 b/textproc/libxslt/patches/patch-CVE-2025-11731 new file mode 100644 index 000000000000..7880479d4b91 --- /dev/null +++ b/textproc/libxslt/patches/patch-CVE-2025-11731 @@ -0,0 +1,27 @@ +$NetBSD: patch-CVE-2025-11731,v 1.1.2.2 2026/01/08 01:48:21 maya Exp $ + +Subject: [PATCH] End function node ancestor search at document + +Avoids dereferencing a non-existent ->ns property on an +XML_DOCUMENT_NODE pointer. + +Fixes #151. + +--- libexslt/functions.c.orig 2025-03-12 17:57:19.000000000 +0000 ++++ libexslt/functions.c +@@ -617,8 +617,13 @@ exsltFuncResultComp (xsltStylesheetPtr style, xmlNodeP + * instanciation of a func:result element. + */ + for (test = inst->parent; test != NULL; test = test->parent) { +- if (IS_XSLT_ELEM(test) && +- IS_XSLT_NAME(test, "stylesheet")) { ++ if (/* Traversal has reached the top-level document without ++ * finding a func:function ancestor. */ ++ (test != NULL && test->type == XML_DOCUMENT_NODE) || ++ /* Traversal reached a stylesheet-namespace node, ++ * and has left the function namespace. */ ++ (IS_XSLT_ELEM(test) && ++ IS_XSLT_NAME(test, "stylesheet"))) { + xsltGenericError(xsltGenericErrorContext, + "func:result element not a descendant " + "of a func:function\n"); diff --git a/www/dillo/Makefile b/www/dillo/Makefile index 48c54df9d0f0..7f9da7c7c58d 100644 --- a/www/dillo/Makefile +++ b/www/dillo/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.97 2025/12/01 08:09:06 wiz Exp $ +# $NetBSD: Makefile,v 1.97.2.1 2026/02/18 17:00:59 maya Exp $ DISTNAME= dillo-3.2.0 -PKGREVISION= 3 +PKGREVISION= 4 CATEGORIES= www MASTER_SITES= ${MASTER_SITE_GITHUB:=dillo-browser/} GITHUB_TAG= v${PKGVERSION_NOREV} diff --git a/www/dillo/distinfo b/www/dillo/distinfo index 68c0a31aec23..4cda5a03d574 100644 --- a/www/dillo/distinfo +++ b/www/dillo/distinfo @@ -1,7 +1,39 @@ -$NetBSD: distinfo,v 1.46 2025/01/31 14:33:17 micha Exp $ +$NetBSD: distinfo,v 1.46.8.1 2026/02/18 17:00:59 maya Exp $ BLAKE2s (dillo-3.2.0.tar.gz) = 5316ef138218567801d7ed9491f69c8f30393f91f976ee6980ca9f47e764a2e1 SHA512 (dillo-3.2.0.tar.gz) = ff6aa64c79a5dac3bd5152e7501a20c129924c20df712003fc2cd0f18ab55886b0959aea4765f3c893e450e9f95781c10d393108cae8240804d4740f8121f066 Size (dillo-3.2.0.tar.gz) = 1459110 bytes SHA1 (patch-configure.ac) = 9e3e7297b559dc70a3b1b61416bf1e97eeb23ca0 SHA1 (patch-dillo-install-hyphenation) = 27f3a481da421a691c4c39093f010c01abee2515 +SHA1 (patch-dlib_dlib.c) = 0a35c4817abcb5d7a230203962050955ce686c8a +SHA1 (patch-dlib_dlib.h) = 62ba87d250be1fdc188fbac5a421e2014efdb807 +SHA1 (patch-dpi_bookmarks.c) = cf74d17876e59c8e710f0d659f2c228f92313f15 +SHA1 (patch-dpi_cookies.c) = a1919022ca3a4c9902b4c968a9e66ccc66aa1c9f +SHA1 (patch-dpi_datauri.c) = 5cc8dc48d91ec3481557f38f6a48ef6d1adff3be +SHA1 (patch-dpi_downloads.cc) = cacd04e64752b54d209c75d252295ca961080ac4 +SHA1 (patch-dpi_dpiutil.c) = 4f0360a2a58f3984ba1ae1edb09c544f72cc9c4e +SHA1 (patch-dpi_file.c) = 64518eae1956f00b9785611ecec58573b6af7bd5 +SHA1 (patch-dpi_ftp.c) = a268148ec90e1d5441c0b764ecbf2ae5acca6db3 +SHA1 (patch-dpid_dpidc.c) = 5c20bdbb60a7a24b184b566e5ca91a56dbf56c41 +SHA1 (patch-dpip_dpip.c) = e4ba65b0aa04911484db5b7e337966b22a1e4d5c +SHA1 (patch-dw_findtext.hh) = d3a27f547c0b3a13438172ba74850cd1854eb53b +SHA1 (patch-dw_fltkui.cc) = 3e5479c554df3a0dfeaedc8baf05d04c85323f54 +SHA1 (patch-dw_style.cc) = b0116e1f31c6608878ba97007060744a7e91e9a4 +SHA1 (patch-dw_textblock.cc) = 3770f6253b073868123a1db543e5f81a3368f76b +SHA1 (patch-lout_misc.cc) = c16df31edc312b5f87ec2c20c24432a4d0ba1072 +SHA1 (patch-src_IO_dpi.c) = 7b5f4e96ce4378a4d2a88bf36535b171bc38be6d +SHA1 (patch-src_IO_http.c) = db2a04569bc9e089c22657052e3575810133575e +SHA1 (patch-src_IO_tls__openssl.c) = da44290d7b7de51e794e81c12a91091feffab96d +SHA1 (patch-src_auth.c) = e66959bfa05e7fd92204aaf08a585ffa3b53dcaa +SHA1 (patch-src_colors.c) = d4818f021c70f1c9b8c71df6a515e726d4e4a374 +SHA1 (patch-src_cookies.c) = 9d9d4e63a7a774c010aa418d287f5cc9f5448491 +SHA1 (patch-src_cssparser.cc) = 780fedfba509e9fb2b2ab04debc9c9b182a0a868 +SHA1 (patch-src_hsts.c) = 6853fb438005120734853296c9bf339bb88876da +SHA1 (patch-src_html.cc) = c8b61e3d90e724bf57b4ed3a94aa1f85a9f4e997 +SHA1 (patch-src_keys.cc) = 08c83bbc9e770711a1baa664a20003e17351f3db +SHA1 (patch-src_misc.c) = 62ebb46459cea990b66abfa6f41423003d6d8793 +SHA1 (patch-src_table.cc) = 569e75efe38e84de52cdfa3523b17f12d51752c8 +SHA1 (patch-src_url.c) = 9826c9b1ca79e34e9d83b8f7e0e40dc82e4d3b14 +SHA1 (patch-src_xembed.cc) = 0960dc598bc47e8a713e37e9c6c7d9dc9f0a32fd +SHA1 (patch-test_dw_dw__anchors__test.cc) = 2b14a0392027e382a89d46d0abad17cfde05c4d6 +SHA1 (patch-test_unit_cookies.c) = a0215d1bbc1ab6b3c45beb2d2c9b2041ce309468 diff --git a/www/dillo/patches/patch-dlib_dlib.c b/www/dillo/patches/patch-dlib_dlib.c new file mode 100644 index 000000000000..aef4107032af --- /dev/null +++ b/www/dillo/patches/patch-dlib_dlib.c @@ -0,0 +1,34 @@ +$NetBSD: patch-dlib_dlib.c,v 1.1.2.2 2026/02/18 17:00:59 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- dlib/dlib.c.orig 2025-01-18 10:51:30.000000000 +0000 ++++ dlib/dlib.c +@@ -24,7 +24,6 @@ + #include + #include + #include +-#include + #include + + #include "dlib.h" +@@ -525,7 +524,7 @@ const char *dStr_printable(Dstr *in, int + out = dStr_sized_new(in->len); + + for (i = 0; (i < in->len) && (out->len < maxlen); ++i) { +- if (isprint(in->str[i]) || (in->str[i] == '\n')) { ++ if (dIsprint(in->str[i]) || (in->str[i] == '\n')) { + dStr_append_c(out, in->str[i]); + } else { + dStr_append_l(out, "\\x", 2); diff --git a/www/dillo/patches/patch-dlib_dlib.h b/www/dillo/patches/patch-dlib_dlib.h new file mode 100644 index 000000000000..215d9f915427 --- /dev/null +++ b/www/dillo/patches/patch-dlib_dlib.h @@ -0,0 +1,42 @@ +$NetBSD: patch-dlib_dlib.h,v 1.1.2.2 2026/02/18 17:00:59 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- dlib/dlib.h.orig 2025-01-18 10:51:30.000000000 +0000 ++++ dlib/dlib.h +@@ -1,6 +1,7 @@ + #ifndef __DLIB_H__ + #define __DLIB_H__ + ++#include + #include /* for FILE* */ + #include /* for size_t */ + #include /* for va_list */ +@@ -30,8 +31,15 @@ extern "C" { + #define MIN(a, b) (((a) < (b)) ? (a) : (b)) + + /* Handle signed char */ +-#define dIsspace(c) isspace((uchar_t)(c)) + #define dIsalnum(c) isalnum((uchar_t)(c)) ++#define dIsalpha(c) isalpha((uchar_t)(c)) ++#define dIscntrl(c) iscntrl((uchar_t)(c)) ++#define dIsdigit(c) isdigit((uchar_t)(c)) ++#define dIsprint(c) isprint((uchar_t)(c)) ++#define dIspunct(c) ispunct((uchar_t)(c)) ++#define dIsspace(c) isspace((uchar_t)(c)) ++#define dIsxdigit(c) isxdigit((uchar_t)(c)) ++#define dTolower(c) tolower((uchar_t)(c)) + + #define D_ASCII_TOUPPER(c) (((c) >= 'a' && (c) <= 'z') ? (c) - 0x20 : (c)) + #define D_ASCII_TOLOWER(c) (((c) >= 'A' && (c) <= 'Z') ? (c) + 0x20 : (c)) diff --git a/www/dillo/patches/patch-dpi_bookmarks.c b/www/dillo/patches/patch-dpi_bookmarks.c new file mode 100644 index 000000000000..f1c5b93b36e0 --- /dev/null +++ b/www/dillo/patches/patch-dpi_bookmarks.c @@ -0,0 +1,131 @@ +$NetBSD: patch-dpi_bookmarks.c,v 1.1.2.2 2026/02/18 17:00:59 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- dpi/bookmarks.c.orig 2025-01-18 10:51:30.000000000 +0000 ++++ dpi/bookmarks.c +@@ -26,7 +26,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -338,8 +337,8 @@ static void Unencode_str(char *e_str) + *p = '\n'; + e += 5; + } else { +- *p = (isdigit(e[1]) ? (e[1] - '0') : (e[1] - 'A' + 10)) * 16 + +- (isdigit(e[2]) ? (e[2] - '0') : (e[2] - 'A' + 10)); ++ *p = (dIsdigit(e[1]) ? (e[1] - '0') : (e[1] - 'A' + 10)) * 16 + ++ (dIsdigit(e[2]) ? (e[2] - '0') : (e[2] - 'A' + 10)); + e += 2; + } + } else { +@@ -807,11 +806,11 @@ static void Bmsrv_count_urls_and_section + *n_sec = *n_url = 0; + if ((p = strchr(url, '?'))) { + for (q = p; (q = strstr(q, "&url")); ++q) { +- for (i = 0; isdigit(q[4+i]); ++i); ++ for (i = 0; dIsdigit(q[4+i]); ++i); + *n_url += (q[4+i] == '=') ? 1 : 0; + } + for (q = p; (q = strstr(q, "&s")); ++q) { +- for (i = 0; isdigit(q[2+i]); ++i); ++ for (i = 0; dIsdigit(q[2+i]); ++i); + *n_sec += (q[2+i] == '=') ? 1 : 0; + } + } +@@ -972,7 +971,7 @@ static int Bmsrv_send_modify_update(Dsh + /* send items here */ + p = strchr(url1, '?'); + for (q = p; (q = strstr(q, "&s")); ++q) { +- for (i = 0; isdigit(q[2+i]); ++i); ++ for (i = 0; dIsdigit(q[2+i]); ++i); + if (q[2+i] == '=') { + key = strtol(q + 2, NULL, 10); + if ((sec_node = Bms_get_sec(key))) { +@@ -992,7 +991,7 @@ static int Bmsrv_send_modify_update(Dsh + /* send items here */ + p = strchr(url1, '?'); + for (q = p; (q = strstr(q, "&url")); ++q) { +- for (i = 0; isdigit(q[4+i]); ++i); ++ for (i = 0; dIsdigit(q[4+i]); ++i); + if (q[4+i] == '=') { + key = strtol(q + 4, NULL, 10); + bm_node = Bms_get(key); +@@ -1060,7 +1059,7 @@ static int Bmsrv_modify_delete(char *url + /* Remove marked sections */ + p = strchr(url, '?'); + for (ns = 0; (p = strstr(p, "&s")); ++p) { +- if (isdigit(p[2])) { ++ if (dIsdigit(p[2])) { + key = strtol(p + 2, NULL, 10); + Bms_sec_del(key); + ++ns; +@@ -1070,7 +1069,7 @@ static int Bmsrv_modify_delete(char *url + /* Remove marked urls */ + p = strchr(url, '?'); + for (nb = 0; (p = strstr(p, "&url")); ++p) { +- if (isdigit(p[4])) { ++ if (dIsdigit(p[4])) { + key = strtol(p + 4, NULL, 10); + Bms_del(key); + ++nb; +@@ -1105,7 +1104,7 @@ static int Bmsrv_modify_move(char *url) + + /* get target section */ + for (p = url; (p = strstr(p, "&s")); ++p) { +- if (isdigit(p[2])) { ++ if (dIsdigit(p[2])) { + section = strtol(p + 2, NULL, 10); + break; + } +@@ -1116,7 +1115,7 @@ static int Bmsrv_modify_move(char *url) + /* move marked urls */ + p = strchr(url, '?'); + for (n = 0; (p = strstr(p, "&url")); ++p) { +- if (isdigit(p[4])) { ++ if (dIsdigit(p[4])) { + key = strtol(p + 4, NULL, 10); + Bms_move(key, section); + ++n; +@@ -1145,7 +1144,7 @@ static int Bmsrv_modify_update(char *url + p = strchr(url, '?'); + for ( ; (p = strstr(p, "s")); ++p) { + if (p[-1] == '&' || p[-1] == '?' ) { +- for (i = 0; isdigit(p[1 + i]); ++i); ++ for (i = 0; dIsdigit(p[1 + i]); ++i); + if (i && p[1 + i] == '=') { + /* we have a title/key to change */ + key = strtol(p + 1, NULL, 10); +@@ -1164,7 +1163,7 @@ static int Bmsrv_modify_update(char *url + p = strchr(url, '?'); + for ( ; (p = strstr(p, "title")); ++p) { + if (p[-1] == '&' || p[-1] == '?' ) { +- for (i = 0; isdigit(p[5 + i]); ++i); ++ for (i = 0; dIsdigit(p[5 + i]); ++i); + if (i && p[5 + i] == '=') { + /* we have a title/key to change */ + key = strtol(p + 5, NULL, 10); +@@ -1229,7 +1228,7 @@ static int Bmsrv_modify_add_url(Dsh *sh, + if (sh == NULL) { + /* look for section */ + for (q = s_url; (q = strstr(q, "&s")); ++q) { +- for (i = 0; isdigit(q[2+i]); ++i); ++ for (i = 0; dIsdigit(q[2+i]); ++i); + if (q[2+i] == '=') + section = strtol(q + 2, NULL, 10); + } diff --git a/www/dillo/patches/patch-dpi_cookies.c b/www/dillo/patches/patch-dpi_cookies.c new file mode 100644 index 000000000000..0b692ad3fe82 --- /dev/null +++ b/www/dillo/patches/patch-dpi_cookies.c @@ -0,0 +1,82 @@ +$NetBSD: patch-dpi_cookies.c,v 1.1.2.2 2026/02/18 17:00:59 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- dpi/cookies.c.orig 2025-01-18 10:51:30.000000000 +0000 ++++ dpi/cookies.c +@@ -44,7 +44,6 @@ int main(void) + #include + #include + #include /* for time() and time_t */ +-#include + #include + #include + #include +@@ -487,14 +486,14 @@ static int Cookies_get_timefield(const c + int n; + const char *s = *str; + +- if (!isdigit(*s)) ++ if (!dIsdigit(*s)) + return -1; + + n = *(s++) - '0'; +- if (isdigit(*s)) { ++ if (dIsdigit(*s)) { + n *= 10; + n += *(s++) - '0'; +- if (isdigit(*s)) ++ if (dIsdigit(*s)) + return -1; + } + *str = s; +@@ -550,24 +549,24 @@ static bool_t Cookies_get_year(struct tm + int n; + const char *s = *str; + +- if (isdigit(*s)) ++ if (dIsdigit(*s)) + n = *(s++) - '0'; + else + return FALSE; +- if (isdigit(*s)) { ++ if (dIsdigit(*s)) { + n *= 10; + n += *(s++) - '0'; + } else + return FALSE; +- if (isdigit(*s)) { ++ if (dIsdigit(*s)) { + n *= 10; + n += *(s++) - '0'; + } +- if (isdigit(*s)) { ++ if (dIsdigit(*s)) { + n *= 10; + n += *(s++) - '0'; + } +- if (isdigit(*s)) { ++ if (dIsdigit(*s)) { + /* Sorry, users of prehistoric software in the year 10000! */ + return FALSE; + } +@@ -936,7 +935,7 @@ static CookieData_t *Cookies_parse(char + cookie->domain = value; + } else if (dStrAsciiCasecmp(attr, "Max-Age") == 0) { + value = Cookies_parse_value(&str); +- if (isdigit(*value) || *value == '-') { ++ if (dIsdigit(*value) || *value == '-') { + long age; + time_t now = time(NULL); + struct tm *tm = gmtime(&now); diff --git a/www/dillo/patches/patch-dpi_datauri.c b/www/dillo/patches/patch-dpi_datauri.c new file mode 100644 index 000000000000..bcc83a97e382 --- /dev/null +++ b/www/dillo/patches/patch-dpi_datauri.c @@ -0,0 +1,34 @@ +$NetBSD: patch-dpi_datauri.c,v 1.1.2.2 2026/02/18 17:00:59 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- dpi/datauri.c.orig 2025-01-18 10:51:30.000000000 +0000 ++++ dpi/datauri.c +@@ -15,7 +15,6 @@ + #include + #include + #include +-#include + #include + + #include "../dpip/dpip.h" +@@ -45,7 +44,7 @@ static void b64strip_illegal_chars(unsig + MSG("len=%d{%s}\n", strlen((char*)str), str); + + for (p = s; (*p = *s); ++s) { +- if (d_isascii(*p) && (isalnum(*p) || strchr("+/=", *p))) ++ if (d_isascii(*p) && (dIsalnum(*p) || strchr("+/=", *p))) + ++p; + } + diff --git a/www/dillo/patches/patch-dpi_downloads.cc b/www/dillo/patches/patch-dpi_downloads.cc new file mode 100644 index 000000000000..4b66a0db54b3 --- /dev/null +++ b/www/dillo/patches/patch-dpi_downloads.cc @@ -0,0 +1,59 @@ +$NetBSD: patch-dpi_downloads.cc,v 1.1.2.2 2026/02/18 17:00:59 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- dpi/downloads.cc.orig 2025-01-18 10:51:30.000000000 +0000 ++++ dpi/downloads.cc +@@ -20,7 +20,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -513,7 +512,7 @@ void DLItem::log_text_add(const char *bu + case ST_newline: + if (*p == ' ') { + log_state = ST_discard; +- } else if (isdigit(*p)) { ++ } else if (dIsdigit(*p)) { + *q++ = *p; log_state = ST_number; + } else if (*p == '\n') { + *q++ = *p; +@@ -522,10 +521,10 @@ void DLItem::log_text_add(const char *bu + } + break; + case ST_number: +- if (isdigit(*q++ = *p)) { ++ if (dIsdigit((*q++ = *p))) { + // keep here + } else if (*p == 'K') { +- for (--q; isdigit(q[-1]); --q) ; ++ for (--q; dIsdigit(q[-1]); --q) ; + log_state = ST_discard; + } else { + log_state = ST_copy; +@@ -549,9 +548,9 @@ void DLItem::log_text_add(const char *bu + // Now scan for the length of the file + if (total_bytesize == -1) { + p = strstr(log_text, "\nLength: "); +- if (p && isdigit(p[9]) && strchr(p + 9, ' ')) { ++ if (p && dIsdigit(p[9]) && strchr(p + 9, ' ')) { + for (p += 9, d = &num[0]; *p != ' '; ++p) +- if (isdigit(*p)) ++ if (dIsdigit(*p)) + *d++ = *p; + *d = 0; + total_bytesize = strtol (num, NULL, 10); diff --git a/www/dillo/patches/patch-dpi_dpiutil.c b/www/dillo/patches/patch-dpi_dpiutil.c new file mode 100644 index 000000000000..8511b2118f9e --- /dev/null +++ b/www/dillo/patches/patch-dpi_dpiutil.c @@ -0,0 +1,39 @@ +$NetBSD: patch-dpi_dpiutil.c,v 1.1.2.2 2026/02/18 17:00:59 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- dpi/dpiutil.c.orig 2025-01-18 10:51:30.000000000 +0000 ++++ dpi/dpiutil.c +@@ -14,7 +14,6 @@ + #include + #include + #include +-#include + #include + #include + +@@ -67,10 +66,10 @@ char *Unescape_uri_str(const char *s) + + if (strchr(s, '%')) { + for (p = buf; (*p = *s); ++s, ++p) { +- if (*p == '%' && isxdigit(s[1]) && isxdigit(s[2])) { +- *p = (isdigit(s[1]) ? (s[1] - '0') ++ if (*p == '%' && dIsxdigit(s[1]) && dIsxdigit(s[2])) { ++ *p = (dIsdigit(s[1]) ? (s[1] - '0') + : D_ASCII_TOUPPER(s[1]) - 'A' + 10) * 16; +- *p += isdigit(s[2]) ? (s[2] - '0') ++ *p += dIsdigit(s[2]) ? (s[2] - '0') + : D_ASCII_TOUPPER(s[2]) - 'A' + 10; + s += 2; + } diff --git a/www/dillo/patches/patch-dpi_file.c b/www/dillo/patches/patch-dpi_file.c new file mode 100644 index 000000000000..f168f792ddab --- /dev/null +++ b/www/dillo/patches/patch-dpi_file.c @@ -0,0 +1,25 @@ +$NetBSD: patch-dpi_file.c,v 1.1.2.2 2026/02/18 17:00:59 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- dpi/file.c.orig 2025-01-18 10:51:30.000000000 +0000 ++++ dpi/file.c +@@ -16,7 +16,6 @@ + * With new HTML layout. + */ + +-#include /* for isspace */ + #include /* for errno */ + #include + #include diff --git a/www/dillo/patches/patch-dpi_ftp.c b/www/dillo/patches/patch-dpi_ftp.c new file mode 100644 index 000000000000..34ce77fa5106 --- /dev/null +++ b/www/dillo/patches/patch-dpi_ftp.c @@ -0,0 +1,25 @@ +$NetBSD: patch-dpi_ftp.c,v 1.1.2.2 2026/02/18 17:00:59 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- dpi/ftp.c.orig 2025-01-18 10:51:30.000000000 +0000 ++++ dpi/ftp.c +@@ -39,7 +39,6 @@ + #include + #include + #include +-#include + + #include "../dpip/dpip.h" + #include "dpiutil.h" diff --git a/www/dillo/patches/patch-dpid_dpidc.c b/www/dillo/patches/patch-dpid_dpidc.c new file mode 100644 index 000000000000..1c93b6828ae3 --- /dev/null +++ b/www/dillo/patches/patch-dpid_dpidc.c @@ -0,0 +1,34 @@ +$NetBSD: patch-dpid_dpidc.c,v 1.1.2.2 2026/02/18 17:00:59 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- dpid/dpidc.c.orig 2025-01-18 10:51:30.000000000 +0000 ++++ dpid/dpidc.c +@@ -12,7 +12,6 @@ + #include /* for exit */ + #include /* for memset */ + #include /* for read and write */ +-#include /* for isxdigit */ + #include + #include + #include +@@ -59,7 +58,7 @@ static int Dpi_read_comm_keys(int *port) + MSG_ERR("[Dpi_read_comm_keys] empty file: %s\n", fname); + } else { + *port = strtol(rcline, &tail, 10); +- for (i = 0; *tail && isxdigit(tail[i+1]); ++i) ++ for (i = 0; *tail && dIsxdigit(tail[i+1]); ++i) + SharedKey[i] = tail[i+1]; + SharedKey[i] = 0; + ret = 1; diff --git a/www/dillo/patches/patch-dpip_dpip.c b/www/dillo/patches/patch-dpip_dpip.c new file mode 100644 index 000000000000..59e202ec8502 --- /dev/null +++ b/www/dillo/patches/patch-dpip_dpip.c @@ -0,0 +1,34 @@ +$NetBSD: patch-dpip_dpip.c,v 1.1.2.2 2026/02/18 17:01:00 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- dpip/dpip.c.orig 2025-01-18 10:51:30.000000000 +0000 ++++ dpip/dpip.c +@@ -15,7 +15,6 @@ + #include + #include + #include +-#include + #include /* for close */ + #include /* for fcntl */ + +@@ -220,7 +219,7 @@ int a_Dpip_check_auth(const char *auth_t + } else { + port = strtol(rcline, &tail, 10); + if (tail && port != 0) { +- for (i = 0; *tail && isxdigit(tail[i+1]); ++i) ++ for (i = 0; *tail && dIsxdigit(tail[i+1]); ++i) + SharedSecret[i] = tail[i+1]; + SharedSecret[i] = 0; + if (strcmp(msg, SharedSecret) == 0) diff --git a/www/dillo/patches/patch-dw_findtext.hh b/www/dillo/patches/patch-dw_findtext.hh new file mode 100644 index 000000000000..9da86cdfab03 --- /dev/null +++ b/www/dillo/patches/patch-dw_findtext.hh @@ -0,0 +1,37 @@ +$NetBSD: patch-dw_findtext.hh,v 1.1.2.2 2026/02/18 17:01:00 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- dw/findtext.hh.orig 2025-01-18 10:51:30.000000000 +0000 ++++ dw/findtext.hh +@@ -5,7 +5,7 @@ + # error Do not include this file directly, use "core.hh" instead. + #endif + +-#include ++#include "dlib/dlib.h" + + namespace dw { + namespace core { +@@ -66,8 +66,8 @@ private: + bool search0 (bool backwards, bool firstTrial); + + inline static bool charsEqual (char c1, char c2, bool caseSens) +- { return caseSens ? c1 == c2 : tolower (c1) == tolower (c2) || +- (isspace (c1) && isspace (c2)); } ++ { return caseSens ? c1 == c2 : dTolower (c1) == dTolower (c2) || ++ (dIsspace (c1) && dIsspace (c2)); } + + public: + FindtextState (); diff --git a/www/dillo/patches/patch-dw_fltkui.cc b/www/dillo/patches/patch-dw_fltkui.cc new file mode 100644 index 000000000000..fd4567264093 --- /dev/null +++ b/www/dillo/patches/patch-dw_fltkui.cc @@ -0,0 +1,34 @@ +$NetBSD: patch-dw_fltkui.cc,v 1.1.2.2 2026/02/18 17:01:00 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- dw/fltkui.cc.orig 2025-01-18 10:51:30.000000000 +0000 ++++ dw/fltkui.cc +@@ -365,14 +365,14 @@ int CustChoice::handle(int e) + if (k == FL_Enter || k == FL_Down) { + return Fl_Choice::handle(FL_PUSH); // activate menu + +- } else if (isalnum(k)) { // try key as shortcut to menuitem ++ } else if (dIsalnum(k)) { // try key as shortcut to menuitem + int t = value()+1 >= size() ? 0 : value()+1; + while (t != value()) { + const Fl_Menu_Item *mi = &(menu()[t]); + if (mi->submenu()) // submenu? + ; + else if (mi->label() && mi->active()) { // menu item? +- if (k == tolower(mi->label()[0])) { ++ if (k == dTolower(mi->label()[0])) { + value(mi); + return 1; // Let FLTK know we used this key + } diff --git a/www/dillo/patches/patch-dw_style.cc b/www/dillo/patches/patch-dw_style.cc new file mode 100644 index 000000000000..25f2558278c9 --- /dev/null +++ b/www/dillo/patches/patch-dw_style.cc @@ -0,0 +1,25 @@ +$NetBSD: patch-dw_style.cc,v 1.1.2.2 2026/02/18 17:01:00 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- dw/style.cc.orig 2025-01-18 10:51:30.000000000 +0000 ++++ dw/style.cc +@@ -20,7 +20,6 @@ + #include + #include + #include +-#include + #include + + #include "dlib/dlib.h" diff --git a/www/dillo/patches/patch-dw_textblock.cc b/www/dillo/patches/patch-dw_textblock.cc new file mode 100644 index 000000000000..118154ac5566 --- /dev/null +++ b/www/dillo/patches/patch-dw_textblock.cc @@ -0,0 +1,52 @@ +$NetBSD: patch-dw_textblock.cc,v 1.1.2.2 2026/02/18 17:01:00 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- dw/textblock.cc.orig 2025-01-18 10:51:30.000000000 +0000 ++++ dw/textblock.cc +@@ -1238,14 +1238,14 @@ void Textblock::drawText(core::View *vie + bool initial_seen = false; + + for (int i = 0; i < start; i++) +- if (!ispunct(text[i])) ++ if (!dIspunct(text[i])) + initial_seen = true; + if (initial_seen) + break; + + int after = 0; + text += start; +- while (ispunct(text[after])) ++ while (dIspunct(text[after])) + after++; + if (text[after]) + after = layout->nextGlyph(text, after); +@@ -1931,7 +1931,7 @@ int Textblock::textWidth(const char *tex + bool initial_seen = false; + + for (int i = 0; i < start; i++) +- if (!ispunct(text[i])) ++ if (!dIspunct(text[i])) + initial_seen = true; + if (initial_seen) { + ret = layout->textWidth(style->font, text+start, len); +@@ -1939,7 +1939,7 @@ int Textblock::textWidth(const char *tex + int after = 0; + + text += start; +- while (ispunct(text[after])) ++ while (dIspunct(text[after])) + after++; + if (text[after]) + after = layout->nextGlyph(text, after); diff --git a/www/dillo/patches/patch-lout_misc.cc b/www/dillo/patches/patch-lout_misc.cc new file mode 100644 index 000000000000..d8536329f05c --- /dev/null +++ b/www/dillo/patches/patch-lout_misc.cc @@ -0,0 +1,25 @@ +$NetBSD: patch-lout_misc.cc,v 1.1.2.2 2026/02/18 17:01:00 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- lout/misc.cc.orig 2025-01-18 10:51:30.000000000 +0000 ++++ lout/misc.cc +@@ -21,7 +21,6 @@ + + #include "misc.hh" + +-#include + #include + + #define PRGNAME PACKAGE "/" VERSION diff --git a/www/dillo/patches/patch-src_IO_dpi.c b/www/dillo/patches/patch-src_IO_dpi.c new file mode 100644 index 000000000000..5956fa885f2c --- /dev/null +++ b/www/dillo/patches/patch-src_IO_dpi.c @@ -0,0 +1,34 @@ +$NetBSD: patch-src_IO_dpi.c,v 1.1.2.2 2026/02/18 17:01:00 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- src/IO/dpi.c.orig 2025-01-18 10:51:30.000000000 +0000 ++++ src/IO/dpi.c +@@ -25,7 +25,6 @@ + #include + #include /* for errno */ + #include +-#include /* isxdigit */ + #include + + #include +@@ -404,7 +403,7 @@ static int Dpi_read_comm_keys(int *port) + MSG_ERR("[Dpi_read_comm_keys] empty file: %s\n", fname); + } else { + *port = strtol(rcline, &tail, 10); +- for (i = 0; *tail && isxdigit(tail[i+1]); ++i) ++ for (i = 0; *tail && dIsxdigit(tail[i+1]); ++i) + SharedKey[i] = tail[i+1]; + SharedKey[i] = 0; + ret = 1; diff --git a/www/dillo/patches/patch-src_IO_http.c b/www/dillo/patches/patch-src_IO_http.c new file mode 100644 index 000000000000..9fe5e5d5f3e8 --- /dev/null +++ b/www/dillo/patches/patch-src_IO_http.c @@ -0,0 +1,34 @@ +$NetBSD: patch-src_IO_http.c,v 1.1.2.2 2026/02/18 17:01:00 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- src/IO/http.c.orig 2025-01-18 10:51:30.000000000 +0000 ++++ src/IO/http.c +@@ -17,7 +17,6 @@ + + #include + +-#include /* isdigit */ + #include + #include /* for errno */ + #include +@@ -701,7 +700,7 @@ static char *Http_get_connect_str(const + dstr = dStr_new(""); + auth1 = URL_AUTHORITY(url); + auth_len = strlen(auth1); +- if (auth_len > 0 && !isdigit(auth1[auth_len - 1])) ++ if (auth_len > 0 && !dIsdigit(auth1[auth_len - 1])) + /* if no port number, add HTTPS port */ + auth2 = dStrconcat(auth1, ":443", NULL); + else diff --git a/www/dillo/patches/patch-src_IO_tls__openssl.c b/www/dillo/patches/patch-src_IO_tls__openssl.c new file mode 100644 index 000000000000..914817f6288e --- /dev/null +++ b/www/dillo/patches/patch-src_IO_tls__openssl.c @@ -0,0 +1,51 @@ +$NetBSD: patch-src_IO_tls__openssl.c,v 1.1.2.2 2026/02/18 17:01:00 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- src/IO/tls_openssl.c.orig 2025-01-18 10:51:30.000000000 +0000 ++++ src/IO/tls_openssl.c +@@ -39,7 +39,6 @@ + #include + #include + +-#include /* tolower for wget stuff */ + #include + #include + #include "../../dlib/dlib.h" +@@ -576,13 +575,13 @@ static bool_t pattern_match (const char + + const char *p = pattern, *n = string; + char c; +- for (; (c = tolower (*p++)) != '\0'; n++) ++ for (; (c = dTolower (*p++)) != '\0'; n++) + if (c == '*') + { +- for (c = tolower (*p); c == '*'; c = tolower (*++p)) ++ for (c = dTolower (*p); c == '*'; c = dTolower (*++p)) + ; + for (; *n != '\0'; n++) +- if (tolower (*n) == c && pattern_match (p, n)) ++ if (dTolower (*n) == c && pattern_match (p, n)) + return TRUE; + #ifdef ASTERISK_EXCLUDES_DOT + else if (*n == '.') +@@ -592,7 +591,7 @@ static bool_t pattern_match (const char + } + else + { +- if (c != tolower (*n)) ++ if (c != dTolower (*n)) + return FALSE; + } + return *n == '\0'; diff --git a/www/dillo/patches/patch-src_auth.c b/www/dillo/patches/patch-src_auth.c new file mode 100644 index 000000000000..2b9afe7ad9da --- /dev/null +++ b/www/dillo/patches/patch-src_auth.c @@ -0,0 +1,34 @@ +$NetBSD: patch-src_auth.c,v 1.1.2.2 2026/02/18 17:01:00 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- src/auth.c.orig 2025-01-18 10:51:30.000000000 +0000 ++++ src/auth.c +@@ -17,7 +17,6 @@ + */ + + +-#include /* iscntrl, isascii */ + #include "auth.h" + #include "msg.h" + #include "misc.h" +@@ -105,7 +104,7 @@ static int Auth_path_is_inside(const cha + static int Auth_is_token_char(char c) + { + const char *invalid = "\"()<>@,;:\\[]?=/{} \t"; +- return (!d_isascii(c) || strchr(invalid, c) || iscntrl((uchar_t)c)) ? 0 : 1; ++ return (!d_isascii(c) || strchr(invalid, c) || dIscntrl(c)) ? 0 : 1; + } + + /** diff --git a/www/dillo/patches/patch-src_colors.c b/www/dillo/patches/patch-src_colors.c new file mode 100644 index 000000000000..da11624498f1 --- /dev/null +++ b/www/dillo/patches/patch-src_colors.c @@ -0,0 +1,31 @@ +$NetBSD: patch-src_colors.c,v 1.1.2.2 2026/02/18 17:01:00 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- src/colors.c.orig 2025-01-18 10:51:30.000000000 +0000 ++++ src/colors.c +@@ -11,11 +11,12 @@ + + #include + #include +-#include + #include "colors.h" + + #include "msg.h" + ++#include "../dlib/dlib.h" ++ + /* + * If EXTENDED_COLOR is defined, the extended set of named colors is supported. + * These colors're not standard but they're supported in most browsers. diff --git a/www/dillo/patches/patch-src_cookies.c b/www/dillo/patches/patch-src_cookies.c new file mode 100644 index 000000000000..9b355605ad93 --- /dev/null +++ b/www/dillo/patches/patch-src_cookies.c @@ -0,0 +1,25 @@ +$NetBSD: patch-src_cookies.c,v 1.1.2.2 2026/02/18 17:01:00 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- src/cookies.c.orig 2025-01-18 10:51:30.000000000 +0000 ++++ src/cookies.c +@@ -36,7 +36,6 @@ void a_Cookies_init(void) + #include + #include + #include +-#include + #include + + #include "IO/Url.h" diff --git a/www/dillo/patches/patch-src_cssparser.cc b/www/dillo/patches/patch-src_cssparser.cc new file mode 100644 index 000000000000..ade374927451 --- /dev/null +++ b/www/dillo/patches/patch-src_cssparser.cc @@ -0,0 +1,111 @@ +$NetBSD: patch-src_cssparser.cc,v 1.1.2.2 2026/02/18 17:01:00 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- src/cssparser.cc.orig 2025-01-18 10:51:30.000000000 +0000 ++++ src/cssparser.cc +@@ -16,7 +16,6 @@ + * a dillo1 based CSS prototype written by Sebastian Geerken. + */ + +-#include + #include + #include + +@@ -530,7 +529,7 @@ void CssParser::nextToken() + + while (true) { + c = getChar(); +- if (isspace(c)) { // ignore whitespace ++ if (dIsspace(c)) { // ignore whitespace + spaceSeparated = true; + } else if (skipString(c, "/*")) { // ignore comments + do { +@@ -550,7 +549,7 @@ void CssParser::nextToken() + c = getChar(); + } + +- if (isdigit(c)) { ++ if (dIsdigit(c)) { + ttype = CSS_TK_DECINT; + do { + if (i < maxStrLen - 1) { +@@ -558,7 +557,7 @@ void CssParser::nextToken() + } + /* else silently truncated */ + c = getChar(); +- } while (isdigit(c)); ++ } while (dIsdigit(c)); + if (c != '.') + ungetChar(); + +@@ -567,7 +566,7 @@ void CssParser::nextToken() + + if (c == '.') { + c = getChar(); +- if (isdigit(c)) { ++ if (dIsdigit(c)) { + ttype = CSS_TK_FLOAT; + if (i < maxStrLen - 1) + tval[i++] = '.'; +@@ -576,7 +575,7 @@ void CssParser::nextToken() + tval[i++] = c; + /* else silently truncated */ + c = getChar(); +- } while (isdigit(c)); ++ } while (dIsdigit(c)); + + ungetChar(); + tval[i] = 0; +@@ -604,13 +603,13 @@ void CssParser::nextToken() + c = getChar(); + } + +- if (isalpha(c) || c == '_' || c == '-') { ++ if (dIsalpha(c) || c == '_' || c == '-') { + ttype = CSS_TK_SYMBOL; + + tval[0] = c; + i = 1; + c = getChar(); +- while (isalnum(c) || c == '_' || c == '-') { ++ while (dIsalnum(c) || c == '_' || c == '-') { + if (i < maxStrLen - 1) { + tval[i] = c; + i++; +@@ -633,13 +632,13 @@ void CssParser::nextToken() + while (c != EOF && c != c1) { + if (c == '\\') { + d = getChar(); +- if (isxdigit(d)) { ++ if (dIsxdigit(d)) { + /* Read hex Unicode char. (Actually, strings are yet only 8 + * bit.) */ + hexbuf[0] = d; + j = 1; + d = getChar(); +- while (j < 4 && isxdigit(d)) { ++ while (j < 4 && dIsxdigit(d)) { + hexbuf[j] = d; + j++; + d = getChar(); +@@ -674,7 +673,7 @@ void CssParser::nextToken() + tval[0] = c; + i = 1; + c = getChar(); +- while (isxdigit(c)) { ++ while (dIsxdigit(c)) { + if (i < maxStrLen - 1) { + tval[i] = c; + i++; diff --git a/www/dillo/patches/patch-src_hsts.c b/www/dillo/patches/patch-src_hsts.c new file mode 100644 index 000000000000..3f7fe9dd7df5 --- /dev/null +++ b/www/dillo/patches/patch-src_hsts.c @@ -0,0 +1,34 @@ +$NetBSD: patch-src_hsts.c,v 1.1.2.2 2026/02/18 17:01:00 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- src/hsts.c.orig 2025-01-18 10:51:30.000000000 +0000 ++++ src/hsts.c +@@ -26,7 +26,6 @@ + #include + #include + #include /* for INT_MAX */ +-#include /* for isspace */ + #include /* for strtol */ + + #include "hsts.h" +@@ -223,7 +222,7 @@ void a_Hsts_set(const char *header, cons + /* Get the value for the attribute and store it */ + if (dStrAsciiCasecmp(attr, "max-age") == 0) { + value = Hsts_parse_value(&header); +- if (isdigit(*value)) { ++ if (dIsdigit(*value)) { + errno = 0; + max_age = strtol(value, NULL, 10); + if (errno == ERANGE) diff --git a/www/dillo/patches/patch-src_html.cc b/www/dillo/patches/patch-src_html.cc new file mode 100644 index 000000000000..d5bdcf1f2691 --- /dev/null +++ b/www/dillo/patches/patch-src_html.cc @@ -0,0 +1,236 @@ +$NetBSD: patch-src_html.cc,v 1.1.2.2 2026/02/18 17:01:00 maya Exp $ + +Avoid ctype(3) abuses + +Valid argument of ctype(3) functions must be either EOF or non-negative +value within the range representable as unsigned char. Invalid values +leads to undefined behavior. + +Add all missing d*() ctype(3) helper functions and switch to use them. + +Noticed by running dillo on NetBSD where dillo crashes due such +abuses. + +See: https://lists.mailman3.com/hyperkitty/list/dillo-dev@mailman3.com/thread/L6QLXSD6UBDK3M5CMXQMRWD6ZB4C65MR/ + +--- src/html.cc.orig 2025-01-18 10:51:30.000000000 +0000 ++++ src/html.cc +@@ -17,7 +17,6 @@ + /*----------------------------------------------------------------------------- + * Includes + *---------------------------------------------------------------------------*/ +-#include /* for isspace */ + #include /* for memcpy and memmove */ + #include + #include /* for sprintf */ +@@ -883,7 +882,7 @@ static const char *Html_parse_numeric_ch + errno = 0; + + if (*s == 'x' || *s == 'X') { +- if (isxdigit(*++s)) { ++ if (dIsxdigit(*++s)) { + /* strtol with base 16 accepts leading "0x" - we don't */ + if (*s == '0' && s[1] == 'x') { + s++; +@@ -892,7 +891,7 @@ static const char *Html_parse_numeric_ch + codepoint = strtol(s, &s, 16); + } + } +- } else if (isdigit(*s)) { ++ } else if (dIsdigit(*s)) { + codepoint = strtol(s, &s, 10); + } + if (errno) +@@ -984,7 +983,7 @@ static const char *Html_parse_named_char + char *s = tok; + const char *ret = NULL; + +- while (*++s && (isalnum(*s) || strchr(":_.-", *s))) ; ++ while (*++s && (dIsalnum(*s) || strchr(":_.-", *s))) ; + c = *s; + *s = '\0'; + if (c != ';') { +@@ -1051,7 +1050,7 @@ static const char *Html_parse_entity(Dil + + if (*tok == '#') { + ret = Html_parse_numeric_charref(html, tok+1, is_attr, entsize); +- } else if (isalpha(*tok)) { ++ } else if (dIsalpha(*tok)) { + ret = Html_parse_named_charref(html, tok, is_attr, entsize); + } else if (prefs.show_extra_warnings && + (!(html->DocType == DT_HTML && html->DocTypeVersion >= 5.0f))) { +@@ -1249,11 +1248,11 @@ static void Html_process_word(DilloHtml + /* all this overhead is to catch white-space entities */ + Pword = a_Html_parse_entities(html, word, size); + for (start = i = 0; Pword[i]; start = i) +- if (isspace(Pword[i])) { +- while (Pword[++i] && isspace(Pword[i])) ; ++ if (dIsspace(Pword[i])) { ++ while (Pword[++i] && dIsspace(Pword[i])) ; + Html_process_space(html, Pword + start, i - start); + } else { +- while (Pword[++i] && !isspace(Pword[i])) ; ++ while (Pword[++i] && !dIsspace(Pword[i])) ; + HT2TB(html)->addText(Pword + start, i - start, html->wordStyle ()); + html->pre_column += i - start; + html->PreFirstChar = false; +@@ -1287,8 +1286,8 @@ static void Html_process_word(DilloHtml + for (start = i = 0; word2[i]; start = i) { + int len; + +- if (isspace(word2[i])) { +- while (word2[++i] && isspace(word2[i])) ; ++ if (dIsspace(word2[i])) { ++ while (word2[++i] && dIsspace(word2[i])) ; + Html_process_space(html, word2 + start, i - start); + } else if (!strncmp(word2+i, utf8_zero_width_space, 3)) { + i += 3; +@@ -1300,7 +1299,7 @@ static void Html_process_word(DilloHtml + } else { + do { + i += len; +- } while (word2[i] && !isspace(word2[i]) && ++ } while (word2[i] && !dIsspace(word2[i]) && + strncmp(word2+i, utf8_zero_width_space, 3) && + (!a_Utf8_ideographic(word2+i, beyond_word2, &len))); + HT2TB(html)->addText(word2 + start, i - start, html->wordStyle ()); +@@ -1324,7 +1323,7 @@ static bool Html_match_tag(const char *t + return false; + } + /* The test for '/' is for xml compatibility: "empty/>" will be matched. */ +- if (i < tagsize && (isspace(tag[i]) || tag[i] == '>' || tag[i] == '/')) ++ if (i < tagsize && (dIsspace(tag[i]) || tag[i] == '>' || tag[i] == '/')) + return true; + return false; + } +@@ -1441,7 +1440,7 @@ CssLength a_Html_parse_length (DilloHtml + l = CSS_CREATE_LENGTH(0.0, CSS_LENGTH_TYPE_AUTO); + else { + /* allow only whitespaces */ +- if (*end && !isspace (*end)) { ++ if (*end && !dIsspace (*end)) { + BUG_MSG("Garbage after length: '%s'.", attr); + l = CSS_CREATE_LENGTH(0.0, CSS_LENGTH_TYPE_AUTO); + } +@@ -1487,10 +1486,10 @@ static int + int i; + + for (i = 0; val[i]; ++i) +- if (!d_isascii(val[i]) || !(isalnum(val[i]) || strchr(":_.-", val[i]))) ++ if (!d_isascii(val[i]) || !(dIsalnum(val[i]) || strchr(":_.-", val[i]))) + break; + +- if (val[i] || !(d_isascii(val[0]) && isalpha(val[0]))) ++ if (val[i] || !(d_isascii(val[0]) && dIsalpha(val[0]))) + BUG_MSG("%s attribute value \"%s\" is not of the form " + "'[A-Za-z][A-Za-z0-9:_.-]*'.", attrname, val); + +@@ -1537,8 +1536,8 @@ static void Html_parse_doctype(DilloHtml + /* Tag sanitization: Collapse whitespace between tokens + * and replace '\n' and '\r' with ' ' inside quoted strings. */ + for (i = 0, p = ntag; *p; ++p) { +- if (isspace(*p)) { +- for (ntag[i++] = ' '; isspace(p[1]); ++p) ; ++ if (dIsspace(*p)) { ++ for (ntag[i++] = ' '; dIsspace(p[1]); ++p) ; + } else if ((quote = *p) == '"' || *p == '\'') { + for (ntag[i++] = *p++; (ntag[i] = *p) && ntag[i++] != quote; ++p) { + if (*p == '\n' || *p == '\r') +@@ -2376,7 +2375,7 @@ misc::SimpleVector *Html_read_coord + break; + coords->increase(); + coords->set(coords->size() - 1, coord); +- while (isspace(*newtail)) ++ while (dIsspace(*newtail)) + newtail++; + if (!*newtail) + break; +@@ -4178,7 +4177,7 @@ static const char *Html_get_attr2(DilloH + for (i = 1; i < tagsize; ++i) { + switch (state) { + case SEEK_ATTR_START: +- if (isspace(tag[i])) ++ if (dIsspace(tag[i])) + state = SEEK_TOKEN_START; + else if (tag[i] == '=') + state = SEEK_VALUE_START; +@@ -4186,7 +4185,7 @@ static const char *Html_get_attr2(DilloH + + case MATCH_ATTR_NAME: + if (!attrname[attr_pos] && +- (tag[i] == '=' || isspace(tag[i]) || tag[i] == '>')) { ++ (tag[i] == '=' || dIsspace(tag[i]) || tag[i] == '>')) { + Found = 1; + state = SEEK_TOKEN_START; + --i; +@@ -4202,14 +4201,14 @@ static const char *Html_get_attr2(DilloH + case SEEK_TOKEN_START: + if (tag[i] == '=') { + state = SEEK_VALUE_START; +- } else if (!isspace(tag[i])) { ++ } else if (!dIsspace(tag[i])) { + attr_pos = 0; + state = (Found) ? FINISHED : MATCH_ATTR_NAME; + --i; + } + break; + case SEEK_VALUE_START: +- if (!isspace(tag[i])) { ++ if (!dIsspace(tag[i])) { + delimiter = (tag[i] == '"' || tag[i] == '\'') ? tag[i] : ' '; + i -= (delimiter == ' '); + state = (Found) ? GET_VALUE : SKIP_VALUE; +@@ -4217,11 +4216,11 @@ static const char *Html_get_attr2(DilloH + break; + + case SKIP_VALUE: +- if ((delimiter == ' ' && isspace(tag[i])) || tag[i] == delimiter) ++ if ((delimiter == ' ' && dIsspace(tag[i])) || tag[i] == delimiter) + state = SEEK_TOKEN_START; + break; + case GET_VALUE: +- if ((delimiter == ' ' && (isspace(tag[i]) || tag[i] == '>')) || ++ if ((delimiter == ' ' && (dIsspace(tag[i]) || tag[i] == '>')) || + tag[i] == delimiter) { + state = FINISHED; + } else if (tag[i] == '&' && +@@ -4252,10 +4251,10 @@ static const char *Html_get_attr2(DilloH + } + + if (tag_parsing_flags & HTML_LeftTrim) +- while (isspace(Buf->str[0])) ++ while (dIsspace(Buf->str[0])) + dStr_erase(Buf, 0, 1); + if (tag_parsing_flags & HTML_RightTrim) +- while (Buf->len && isspace(Buf->str[Buf->len - 1])) ++ while (Buf->len && dIsspace(Buf->str[Buf->len - 1])) + dStr_truncate(Buf, Buf->len - 1); + + return (Found) ? Buf->str : NULL; +@@ -4349,14 +4348,14 @@ static int Html_write_raw(DilloHtml *htm + break; + } + +- if (isspace(buf[buf_index])) { ++ if (dIsspace(buf[buf_index])) { + /* whitespace: group all available whitespace */ +- while (++buf_index < bufsize && isspace(buf[buf_index])) ; ++ while (++buf_index < bufsize && dIsspace(buf[buf_index])) ; + Html_process_space(html, buf + token_start, buf_index - token_start); + token_start = buf_index; + + } else if (buf[buf_index] == '<' && (ch = buf[buf_index + 1]) && +- (isalpha(ch) || strchr("/!?", ch)) ) { ++ (dIsalpha(ch) || strchr("/!?", ch)) ) { + /* Tag */ + if (buf_index + 3 < bufsize && !strncmp(buf + buf_index, "