OpenBSD/src 1I1ebgwusr.sbin/httpd config.c parse.y

   httpd: don't send the fastcgi param struct over imsg

   Send one imsg per param with a small fixed header (fastcgi_param_imsg)
   followed by the name and value bytes, and read it back with imsg_get_ibuf()
   and ibuf_get_string(). The struct now uses dynamic buffer instead of fixed,
   and the value limit is raised to 8192. Parse order is now preserved end-to-end
   instead of being reversed twice. This follows the config order.

   Feedback and OK kirill@
VersionDeltaFile
1.76+47-54usr.sbin/httpd/config.c
1.138+22-14usr.sbin/httpd/parse.y
1.181+11-5usr.sbin/httpd/httpd.h
1.136+5-3usr.sbin/httpd/server.c
+85-764 files

OpenBSD/src jzDlyWflib/libcrypto/ui ui_lib.c

   Unlock CRYPTO_LOCK_UI on ui_open_session() failure

   Both ui_open_session() implementations, open_console() in ui_openssl.c
   in base, and the one in ui_openssl_win.c in portable, grab the lock of
   type CRYPTO_LOCK_UI before doing anything else.

   The only internal (and, as far as I can tell, the only existing) caller,
   UI_process(), returns immediately on failure. The calling thread thus
   keeps holding the lock and the next call to UI_process() will block
   indefinitely. Fix this by using the common exit path, which calls
   ui_close_session() aka close_console(), both implementations of which
   release the lock.

   Thanks to Kartik (@sage-mode-hunter) who proposed an alternative fix for
   ui_openssl_win.c, which we would have to apply to ui_openssl.c as well.

   Matches OpenSSL behavior since PR #2037
   Closes https://github.com/libressl/portable/pull/1334

   ok kenjiro
VersionDeltaFile
1.55+5-3lib/libcrypto/ui/ui_lib.c
+5-31 files

OpenBSD/src oB6fI1iusr.sbin/relayd relayd.conf.5

   relayd: correct edh relayd.conf.5

   The previous wording implied that omitting "params" defaulted to auto.
   "edh" alone enables EDH in auto mode, while leaving the directive out
   keeps EDH disabled (equivalent to no edh / edh params none).
VersionDeltaFile
1.220+9-6usr.sbin/relayd/relayd.conf.5
+9-61 files

OpenBSD/src 5KEwLoBusr.sbin/httpd server_http.c parse.y

   httpd: add custom HTTP header support

   Allow httpd.conf to set/add/remove custom HTTP response headers or Suppress
   existing ones. This enables httpd to add security headers, custom metadata,
   or remove unwanted headers without modifying app/fastcgi code.

   Three new directives are added:

   header option
           Manipulate HTTP response headers.  Multiple header statements may
           be specified.  Valid options are:

           set name value [always]
                   Set a custom HTTP response header with the specified name
                   and value.  If a header with the same name is already
                   present in the response, its value will be replaced.  The
                   header is added to successful responses (2xx and 3xx
                   status codes) by default.


    [57 lines not shown]
VersionDeltaFile
1.169+145-56usr.sbin/httpd/server_http.c
1.137+158-6usr.sbin/httpd/parse.y
1.75+132-1usr.sbin/httpd/config.c
1.135+78-2usr.sbin/httpd/httpd.conf.5
1.81+43-2usr.sbin/httpd/httpd.c
1.180+39-2usr.sbin/httpd/httpd.h
+595-692 files not shown
+620-718 files

OpenBSD/src Yp5lEJZsys/dev/pci/drm drm_linux.c, sys/uvm uvm_pmemrange.c uvm_pdaemon.c

   Kill the uvm_pmalloc mechanism. This never really worked, at least until
   kirill@ fixed some page number/address confusement.  But it can't really
   work since pages freed by the pagedaemon are likely going to be grabbed
   by other consumers before we issue a wakeup through the uvm_pmalloc
   mechanism.  At this point the consensus is that it adds complexity to the
   pagedaemon that stands in the way of progress.

   Discussed with claudio@ and deraadt@
   ok deraadt@
VersionDeltaFile
1.83+8-118sys/uvm/uvm_pmemrange.c
1.161+10-82sys/uvm/uvm_pdaemon.c
1.21+1-51sys/uvm/uvm_pmemrange.h
1.143+1-3sys/dev/pci/drm/drm_linux.c
1.190+1-2sys/uvm/uvm_extern.h
+21-2565 files

OpenBSD/src PWrGRmUusr.sbin/vmd fw_cfg.c

   vmd(8): guard firmware config system state with a mutex.

   While vmd is not yet SMP, if multiple VCPUs emulate io to the Qemu
   firmware config registers simultaneously, they will race in mutating
   and observing state.

   Report and diff by Andrew Griffiths.

   ok hshoexer@
VersionDeltaFile
1.16+13-2usr.sbin/vmd/fw_cfg.c
+13-21 files

OpenBSD/src j6avUVTusr.sbin/vmd x86_vm.c

   vmd(8): reject GPAs in holes during gpa translation.

   vmd independentaly allocates guest memory in a series of ranges,
   mirroring the physical memory layout for the guest. The GPA translation
   in find_gap_range() incorrectly selects a memory range if the GPA
   is in a hole between two guest memory ranges. Make the initial check
   that the GPA falls within the bounds of a known memory range instead
   of just prior to the end.

   Report and diff by Andrew Griffiths.

   ok hshoexer@
VersionDeltaFile
1.16+3-2usr.sbin/vmd/x86_vm.c
+3-21 files

OpenBSD/src G04tgShsys/dev/pci pcidevs_data.h pcidevs.h

   regen
VersionDeltaFile
1.2131+5-1sys/dev/pci/pcidevs_data.h
1.2136+2-1sys/dev/pci/pcidevs.h
+7-22 files

OpenBSD/src Me7Ndgzsys/dev/pci pcidevs

   Add Spacemit K3.
VersionDeltaFile
1.2143+2-1sys/dev/pci/pcidevs
+2-11 files

OpenBSD/src smcRFq2usr.sbin/vmd virtio.c

   vmd(8): guard virtio entropy device register io with a mutex.

   While vmd isn't yet SMP capable, in the event multiple VCPU thread
   exist they may interleave in emulation of register access of the
   virtio entropy device because it's currently emulated in the vm
   process.

   Report and diff by Andrew Griffiths.

   ok hshoexer@
VersionDeltaFile
1.143+19-4usr.sbin/vmd/virtio.c
+19-41 files

OpenBSD/src vEa2sGgusr.sbin/vmd loadfile_elf.c

   vmd(8): initialize the direct-boot argument page.

   In vmd's ELF loader, the boot args page is copied into guest memory
   from the stack without complete initialization. Initialize to zero
   to prevent leaking stack values into guest memory.

   Report and diff by Andrew Griffiths.

   ok hshoexer@
VersionDeltaFile
1.56+2-2usr.sbin/vmd/loadfile_elf.c
+2-21 files

OpenBSD/src PeKuACfusr.sbin/vmd control.c

   Reject invalid payload sizes at vmd(8) control boundary.

   When we introduced agressive parsing and santization of imsg objects,
   it introduced the ability for a control socket client to force vmd
   to exit via fatal() calls. A simple solution is to validate just
   the size of the object at the control process boundary as that's
   the primary logic for triggering fatal() calls. This may need a
   greater redesign but that would require inspecting all imsg
   deseralization call points. For now, the author's proposal is fine.

   Report and diff by Andrew Griffiths.

   ok hshoexer@
VersionDeltaFile
1.54+12-2usr.sbin/vmd/control.c
+12-21 files

OpenBSD/src 07TMzmNshare/man/man4/man4.riscv64 aplic.4 imsic.4

   aplic(4) and imsic(4)
VersionDeltaFile
1.1+47-0share/man/man4/man4.riscv64/aplic.4
1.1+47-0share/man/man4/man4.riscv64/imsic.4
1.20+2-2share/man/man4/man4.riscv64/Makefile
+96-23 files

OpenBSD/src 9RDxOC8sys/arch/riscv64/conf files.riscv64 RAMDISK, sys/arch/riscv64/dev imsic.c aplic.c

   Add support for the RISC-V Advanced Interrupt Architecture.  This adds
   new imsic(4) and aplic(4) drivers for the Incoming MSI Controller and
   Advanced Platform-Level Interrupt Controller and supports the standard
   configuration where both are presents and imsic(4) functions as the
   top-level interrupt controller and aplic(4) forwarding classic interrupt
   lines as MSIs to imsic(4).  Tested on QEMU and Spacemit K3.

   ok jca@, mlarkin@
VersionDeltaFile
1.1+375-0sys/arch/riscv64/dev/imsic.c
1.1+228-0sys/arch/riscv64/dev/aplic.c
1.40+11-1sys/arch/riscv64/conf/files.riscv64
1.57+5-1sys/arch/riscv64/conf/RAMDISK
1.66+5-1sys/arch/riscv64/conf/GENERIC
1.8+4-1sys/arch/riscv64/include/riscvreg.h
+628-41 files not shown
+630-67 files

OpenBSD/src 3qq2E0eusr.bin/tmux screen-redraw.c

   Replace outside as well as empty cells with the border.
VersionDeltaFile
1.157+3-2usr.bin/tmux/screen-redraw.c
+3-21 files

OpenBSD/src 77JA7UNusr.sbin/bgpctl bgpctl.c

   Another imsg_get to imsg_getbuf conversion.

   OK tb@
VersionDeltaFile
1.324+3-3usr.sbin/bgpctl/bgpctl.c
+3-31 files

OpenBSD/src FQm31MBusr.sbin/bgpd rde.c rtr.c

   Convert from imsg_get() to imsgbuf_get()

   imsg_get should no longer be used.
   OK tb@
VersionDeltaFile
1.711+7-7usr.sbin/bgpd/rde.c
1.36+5-5usr.sbin/bgpd/rtr.c
1.540+3-4usr.sbin/bgpd/session.c
1.142+2-3usr.sbin/bgpd/control.c
1.292+2-3usr.sbin/bgpd/bgpd.c
+19-225 files

OpenBSD/src K1ry9Jnsys/dev/pci if_aq_pci.c

   enable 64-bit DMA mbuf support for aq(4)

   tested on "Aquantia AQC107S" rev 0x02: F/W version 3.1.86

   from brad at comstyle.com, ok kettenis@
VersionDeltaFile
1.37+2-2sys/dev/pci/if_aq_pci.c
+2-21 files

OpenBSD/src h3aluaylib/libutil imsg_init.3

   imsg_init.3: mark imsg_get as intentionally undocumented

   noticed by chohag at jtan.com
   ok claudio
VersionDeltaFile
1.47+4-2lib/libutil/imsg_init.3
+4-21 files

OpenBSD/src KihUMuxusr.sbin/eigrpd eigrpd.c rde.c

   Use imsg_get_data for IMSG_CTL_LOG_VERBOSE instead of blindly trusting the
   size of the imsg.

   Reported by Shibo, Hugo Systopia Team
VersionDeltaFile
1.37+6-4usr.sbin/eigrpd/eigrpd.c
1.33+6-4usr.sbin/eigrpd/rde.c
+12-82 files

OpenBSD/src GaQl1Oausr.sbin/bgpd rde.c bgpd.c

   Unify IMSG_CTL_LOG_VERBOSE handlers to look the same.
VersionDeltaFile
1.710+4-6usr.sbin/bgpd/rde.c
1.291+1-2usr.sbin/bgpd/bgpd.c
+5-82 files

OpenBSD/src ua4HrQKsys/arch/arm64/arm64 bus_dma.c

   Fix inverted logic in bus_dmamap_load() and its variants that checks
   whether virtual address continuity is needed.  This fixes an issue where
   cache flushes during bus_dmamap_sync() would fault.

   ok jca@
VersionDeltaFile
1.17+3-3sys/arch/arm64/arm64/bus_dma.c
+3-31 files

OpenBSD/src 3yOQTWEsys/arch/riscv64/riscv64 bus_dma.c

   Fix inverted logic in bus_dmamap_load() and its variants that checks
   whether virtual address continuity is needed.  This fixes an issue where
   cache flushes during bus_dmamap_sync() would fault.

   ok jca@
VersionDeltaFile
1.11+3-3sys/arch/riscv64/riscv64/bus_dma.c
+3-31 files

OpenBSD/src Y87Z2h3usr.sbin/bgpd session_bgp.c session.c

   At startup move peers quickly to active state but delay the connection
   open by SESSION_CLEAR_DELAY

   This allows new connection in right after startup but still delays
   the connect like before. This is mainly needed for the integration
   tests that depend on quick startups.

   Issue noticed by anton@
   OK tb@
VersionDeltaFile
1.12+10-6usr.sbin/bgpd/session_bgp.c
1.539+3-5usr.sbin/bgpd/session.c
+13-112 files

OpenBSD/src NOfveAYlibexec/getty main.c

   getty(8): don't pass an empty string to login(1)

   Entering some text and then deleting it would pass an empty string to
   login(1) leading to an error message. Fix this by checking if name is
   blank.

   This was worked out by Piotr Durlej who submitted a proposed fix. I ended
   up going with a simpler fix though. After I came up with my fix I noticed
   that FreeBSD commited an identical change as part of a larger commit they
   made in 2003.

   Discussed with deraadt@
VersionDeltaFile
1.57+3-1libexec/getty/main.c
+3-11 files

OpenBSD/src FoPSjHQregress/usr.sbin/bgpd/integrationtests l3vpn.sh

   For whatever reason the first IPv6 packet is always lost and so the
   bgp session just does not come up in time. Ping6 the neighbor first
   so that nd6 lookups are finished before the bgp connection opened.
VersionDeltaFile
1.10+3-1regress/usr.sbin/bgpd/integrationtests/l3vpn.sh
+3-11 files

OpenBSD/src dlDbv4iusr.bin/tmux window-border.c window.c

   Extend fill-character to allow inside and outside to be separate and use
   a different default (filled characters rather than dots) for inside.
VersionDeltaFile
1.3+74-10usr.bin/tmux/window-border.c
1.368+1-23usr.bin/tmux/window.c
1.156+11-5usr.bin/tmux/screen-redraw.c
1.1415+7-5usr.bin/tmux/tmux.h
1.1149+8-3usr.bin/tmux/tmux.1
1.241+3-3usr.bin/tmux/options-table.c
+104-493 files not shown
+110-539 files

OpenBSD/src IgI6nmnregress/usr.sbin/bgpd/integrationtests pftable.sh

   Use shorter timeouts and explicit session ups to make this more reliable.
VersionDeltaFile
1.2+5-4regress/usr.sbin/bgpd/integrationtests/pftable.sh
+5-41 files

OpenBSD/src 4Pe8h5alib/libfuse fuse_ops.c

   FUSE callbacks return a negated errno. Return -ENOSYS if an operation is
   not implemented by a file system.

   OK claudio@
VersionDeltaFile
1.45+5-5lib/libfuse/fuse_ops.c
+5-51 files

OpenBSD/src 3ZPCzGElib/libfuse fuse_ops.c

   File systems can provide a pointer to private data to fuse_main(3)
   or fuse_new(3). However, if the file system implements init() then
   this will be replaced by the return value of init(). If a file
   system wants to keep the original value then it can retrieve it by
   calling fuse_get_context(3).

   OK claudio@
VersionDeltaFile
1.44+5-3lib/libfuse/fuse_ops.c
+5-31 files