OpenBSD/src oXRyR2M — sys/dev/pci if_rgereg.h if_rge.c

   Work around RTL8125 and RTL8125B TX hang on short UDP frames.

   These chips look for PTP messages in short UDP frames without regard
   to IP fragmentation.  A frame shorter than 175 bytes that reads port
   319 or 320 at the UDP destination port offset with fewer than 47 bytes
   of UDP data following hangs the TX.

   Pad such frames to 47 bytes of UDP data in software.  Also pad every
   frame shorter than 60 bytes, since the chip doesn't checksum those
   correctly, and compute the checksums in software for padded frames.

   Problem reported and fix tested by Tomas Slobodnik.
VersionDeltaFile
1.49+113-6sys/dev/pci/if_rge.c
1.21+3-1sys/dev/pci/if_rgereg.h
+116-72 files

OpenBSD/src fU4LzKt — usr.sbin/httpd httpd.h config.c

   httpd: remove MAX_IMSG_DATA_SIZE

   Discussed and OK claudio@
VersionDeltaFile
1.83+7-4usr.sbin/httpd/config.c
1.191+1-2usr.sbin/httpd/httpd.h
+8-62 files

OpenBSD/src xfPT0IH — usr.sbin/httpd httpd.h server.c

   httpd: convert imsg handling to imsg_get_ and remove IMSG_SIZE_CHECK macro

   Second attempt, since the first one still had a bug. I overlooked the
   fact that in "config_getserver", the imsg data was passed through
   again to "config_getserver_config" and read there once more.

   OK claudio@
VersionDeltaFile
1.82+27-22usr.sbin/httpd/config.c
1.31+35-12usr.sbin/httpd/logger.c
1.190+1-5usr.sbin/httpd/httpd.h
1.145+3-3usr.sbin/httpd/server.c
1.92+3-3usr.sbin/httpd/httpd.c
+69-455 files

OpenBSD/src nIVIVIu — sys/net if_aggr.c

   fix up how aggr tries to scavange a flowid for the mbuf.

   Samuel Thibault on misc@ noticed that aggr(4) wasn't balancing
   traffic over ports like trunk(4) did, because aggr(4) relies on
   mbuf flowids where trunk(4) parses and hashes packets onto ports
   as a matter of course.

   if the ports don't do RSS hashing and set a flowid, aggr(4) was
   supposed to use the port interface index as a cheap way to populate
   a flowid, which it did, but i forgot to also
   SET(m->m_pkthdr.csum_flags, M_FLOWID).

   this tweaks the use of flowids in the transmit path too. if a flowid
   isnt set it'll fall back to the mbuf receive interface index. locally
   generated traffic should have a flowid set most of the time cos
   most traffic is tcp, and tcp generates flowid.
VersionDeltaFile
1.54+12-6sys/net/if_aggr.c
+12-61 files

OpenBSD/src BA8jlMG — sys/net pf.c

   pf(4) pf_state_import() can be bit more paranoid

   Add sanity check for queue priority assigned to state
   via 'set prio' rule action. The priority must fit
   to bounds used by kernel (<= IFQ_MAXPRIO)

   Issue reported and patch submitted by Acts1631

   OK renaud@, OK henning@
VersionDeltaFile
1.1249+5-1sys/net/pf.c
+5-11 files

OpenBSD/src MpoAKON — regress/usr.sbin Makefile

   +smtpd
VersionDeltaFile
1.34+2-1regress/usr.sbin/Makefile
+2-11 files

OpenBSD/src zCvhSyn — regress/usr.sbin/smtpd smtpd.pl Server.pm

   import initial smtpd regress suite

   based on bluhm@'s relayd regress; bulk of the work done by doom (tagram
   at gmail) with tweaks by me.
VersionDeltaFile
1.1+261-0regress/usr.sbin/smtpd/funcs.pl
1.1+205-0regress/usr.sbin/smtpd/Proc.pm
1.1+142-0regress/usr.sbin/smtpd/Smtpd.pm
1.1+110-0regress/usr.sbin/smtpd/Client.pm
1.1+108-0regress/usr.sbin/smtpd/Server.pm
1.1+102-0regress/usr.sbin/smtpd/smtpd.pl
+928-08 files not shown
+1,281-014 files

OpenBSD/src JvVRUXn — sys/kern kern_unveil.c

   unveil: Limit count of visited covers to ps_uvvcount, this avoids an
   infinite loop with a particular construction of unveils.

   from Acts1631
   from dgl@

   this is errata/8.0/009_unveil.patch.sig
VersionDeltaFile
1.57.4.1+4-1sys/kern/kern_unveil.c
+4-11 files

OpenBSD/src RsI0kNq — sys/kern kern_unveil.c

   unveil: Limit count of visited covers to ps_uvvcount, this avoids an
   infinite loop with a particular construction of unveils.

   from Acts1631
   from dgl@

   this is errata/7.9/044_unveil.patch.sig
VersionDeltaFile
1.57.2.1+4-1sys/kern/kern_unveil.c
+4-11 files

OpenBSD/src mMv8yol — sys/net fq_codel.c

   Prevent fq_codel panic from drop counter wrap

   Sustained traffic through a congested fq_codel queue can wrap the
   per-flow drop counter to zero, triggering the control_law() assertion
   and panicking the kernel. Saturate drops and decrement a nonzero ldrops
   to preserve the grace-period delta and prevent the wrap.

   Issue reported by Acts1631.
   from bket@; OK sashan@ claudio@

   this is errata/8.0/008_pffq.patch.sig
VersionDeltaFile
1.21.4.1+11-2sys/net/fq_codel.c
+11-21 files

OpenBSD/src TWxY8Ax — sys/net fq_codel.c

   Prevent fq_codel panic from drop counter wrap

   Sustained traffic through a congested fq_codel queue can wrap the
   per-flow drop counter to zero, triggering the control_law() assertion
   and panicking the kernel. Saturate drops and decrement a nonzero ldrops
   to preserve the grace-period delta and prevent the wrap.

   Issue reported by Acts1631.
   from bket@; OK sashan@ claudio@

   this is errata/7.9/043_pffq.patch.sig
VersionDeltaFile
1.20.2.1+11-2sys/net/fq_codel.c
+11-21 files

OpenBSD/src gyouBa2 — sbin/isakmpd udp.c isakmpd.8

   using sizeof is recommended practice
   from deraadt@

   remove comma after final SEE ALSO reference
   from jsg@

   isakmpd(8): Fix various remotely triggerable crashes
    - Only accept authenticated DPD notifications with a well-formed payload.
    - Check the notify payload length against the SPI size.
    - Fail AES key setup on invalid key lengths.
    - Reject encrypted messages whose length is zero or not a multiple
      of the cipher block size.
    - Do not free the caller's certificate in x509_cert_get_key().
    - Do not run exchanges that are already finalized.
   from hshoexer@; with markus@, some input from tb@, OK deraadt@

   this is errata/8.0/006_isakmpd.patch.sig
VersionDeltaFile
1.137.4.1+32-1sbin/isakmpd/message.c
1.20.36.1+21-2sbin/isakmpd/dpd.c
1.36.2.1+6-5sbin/isakmpd/crypto.c
1.129.4.1+6-3sbin/isakmpd/x509.c
1.96.4.1+3-3sbin/isakmpd/udp.c
1.124.4.1+3-3sbin/isakmpd/isakmpd.8
+71-172 files not shown
+76-198 files

OpenBSD/src iUuaxZO — sbin/isakmpd dpd.c monitor.c

   Avoid infinite loop when parsing PFKEY replies
   In bgpd, iked, isakmpd, ldpd and sasyncd we have similar code to
   parse PFKEY replies from the kernel.  To avoid an infinite loop on
   malformed replies validate the SADB extension size.
   For consistency with the other daemons rewrite the parsing loop of
   iked.
   sasyncd already validates the extension size, so no change needed.
   from hshoexer@; OK claudio@ tb@ tobhe@

   isakmpd(8): Fix NULL dereference in message_alloc_reply() callers
   message_alloc_reply() dereferences the returned pointer of
   message_alloc() without a NULL check.  Add one so callers can handle
   the failure.
   Also add NULL checks at both call sites in exchange.c.
   from hshoexer@; test & OK sthen@

   isakmpd(8): Fix possible unaligned 32 bit read
   When validating IPsec SPIs in a DELETE message, access to the
   32 bit SPI value might be unaligned.  On platforms requiring strict

    [106 lines not shown]
VersionDeltaFile
1.129.40.2+88-13sbin/isakmpd/message.c
1.155.4.2+49-13sbin/isakmpd/ipsec.c
1.142.34.2+22-7sbin/isakmpd/exchange.c
1.118.24.2+20-6sbin/isakmpd/ike_auth.c
1.83.14.2+9-16sbin/isakmpd/monitor.c
1.20.34.1+21-2sbin/isakmpd/dpd.c
+209-5716 files not shown
+290-10222 files

OpenBSD/src xBlBivk — lib/libc/stdlib malloc.c

   Improvement of canary code so it handles a few more cases
   From acts1631kjv at proton.me; ok tb@
VersionDeltaFile
1.302+7-4lib/libc/stdlib/malloc.c
+7-41 files

OpenBSD/src TOYX2Ag — sys/net pf.c

   pf(4) tcp scrub is prone to UAF when state times for matching packet

   Yet another race between pf_test() and pf_purge_states() driven
   by timeout thread. This time pf_test_state() may touch freed memory
   in pf_normalize_tcp_stateful() when dereferencing ->scrub member.

   Issue reported and patch submitted by Acts1631

   OK OK renaud@, OK henning@
VersionDeltaFile
1.1248+2-2sys/net/pf.c
+2-21 files

OpenBSD/src MktqWBM — regress/sys/net/rtable/delete main.c

   Adjust code to work with the new rtable.c API.

   Diff from gnezdo@
VersionDeltaFile
1.10+6-6regress/sys/net/rtable/delete/main.c
+6-61 files

OpenBSD/src OIxBYb2 — usr.bin/netstat netstat.h main.c

   Adjust the kvm reader for the routing tables to follow the new rtable layout.

   Diff by gnezdo@
VersionDeltaFile
1.114+24-36usr.bin/netstat/route.c
1.127+5-7usr.bin/netstat/main.c
1.80+2-2usr.bin/netstat/netstat.h
+31-453 files

OpenBSD/src KXy0WAG — sys/net pf_ioctl.c if_spppsubr.c

   Rework how rtables are allocated and reduce use of RT_TABLEID_MAX

   Currently rtables use multiple arrays to do lookups and the reallocation
   logic is complex and not race free. Replace all of this with a much
   simpler lookup that is inspired by the if_idxmap used to map interfaces.

   Use a single SMR backed object that contains the size and the array
   of rtable pointers. This array can only grow and objects referenced
   from the array are never freed. So the life-cycle becomes much simpler.

   To make this work struct rtable needs to include all information
   contained in a rtable / rdomain. This includes the sourceaddr per table,
   the loopback interface index, the rtable to rdomain mapping and in the
   future also the multicast router data. Once a struct rtable is allocated
   it is never freed.

   At the same time reduce the usage of RT_TABLEID_MAX and have rtable_exists
   do the check against the real limit. In general code like SIOCSLIFPHYRTABLE
   only need to verify that the rdomainid is non-negative and the upper limit

    [3 lines not shown]
VersionDeltaFile
1.96+271-274sys/net/rtable.c
1.37+47-11sys/net/rtable.h
1.768+14-13sys/net/if.c
1.452+7-7sys/net/route.c
1.204+5-4sys/net/if_spppsubr.c
1.436+3-5sys/net/pf_ioctl.c
+347-31412 files not shown
+371-34118 files

OpenBSD/src yGs0jma — sys/kern kern_unveil.c

   unveil: Limit count of visited covers to ps_uvvcount, this avoids an
   infinite loop with a particular construction of unveils.

   from Acts1631
VersionDeltaFile
1.59+4-1sys/kern/kern_unveil.c
+4-11 files

OpenBSD/src E9lfaDT — sys/dev/ic pgt.c

   During DVACT_SUSPEND, after ensuring the soft state was good, this
   would try to reset the chip, then keep trying to restart it, pretty
   much iteratively, and would reach into sleeping logic.  This is obviously
   incorrect and not neccessary.  Unfortunately this diff is since noone
   has showed up with one of these devices in years.
VersionDeltaFile
1.105+6-5sys/dev/ic/pgt.c
+6-51 files

OpenBSD/src jSjoeaP — usr.sbin/rpki-client parser.c

   Gate reporting on manifest sequence number gaps behind verbose mode

   OK tb@
VersionDeltaFile
1.201+4-3usr.sbin/rpki-client/parser.c
+4-31 files

OpenBSD/src IU8ovXB — sys/scsi scsiconf.h scsi_base.c

   Remove unused scsi_ioh_del().
VersionDeltaFile
1.286+1-26sys/scsi/scsi_base.c
1.203+1-2sys/scsi/scsiconf.h
+2-282 files

OpenBSD/src eNdoWq6 — sys/net pipex.h pipex.c

   Remove unused pipex_pptp_userland_lookup_session_ipv6().
VersionDeltaFile
1.165+1-16sys/net/pipex.c
1.36+1-3sys/net/pipex.h
+2-192 files

OpenBSD/src 1CPlCHV — sys/net pf_ioctl.c

   Remove unused pf_qid2qname() and pf_qid_unref().
VersionDeltaFile
1.435+1-15sys/net/pf_ioctl.c
+1-151 files

OpenBSD/src k93tDMg — sys/kern subr_blist.c

   Do not compile helper functions only used by the regress test, or by the
   hibernate code, unless we are building the regress test, or a kernel with
   option HIBERNATE.
VersionDeltaFile
1.5+20-1sys/kern/subr_blist.c
+20-11 files

OpenBSD/src 1xYwANn — usr.sbin/rpki-client rpki-der.c

   rpki-client: wrap a line per KNF
VersionDeltaFile
1.2+3-2usr.sbin/rpki-client/rpki-der.c
+3-21 files

OpenBSD/src JQJcaTz — regress/usr.sbin/rpki-client test-seqnum.c

   rpki-client: extend test-seqnum to test for cert serials
VersionDeltaFile
1.5+23-1regress/usr.sbin/rpki-client/test-seqnum.c
+23-11 files

OpenBSD/src 5NiBkXi — usr.sbin/rpki-client cert.c extern.h

   rpki-client: disallow certs with zero serialNumber

   Consistency is hard:

   RFC 5280 (eid3200 clarifies) and RFC 6487 disallow a zero serialNumber.

   For extra fun, CRLNumber and manifestNumber are defined via ASN.1
   explicitly allowing zero. So we need some extra dances.

   Arguably eid3200 was resolved the wrong way.

   Serial number issue pointed out by the rpki-rp-benchmark.

   ok claudio
VersionDeltaFile
1.139+29-7usr.sbin/rpki-client/x509.c
1.253+2-2usr.sbin/rpki-client/cert.c
1.321+3-1usr.sbin/rpki-client/extern.h
+34-103 files

OpenBSD/src Vf1GrRg — regress/usr.sbin/rpki-client Makefile.inc, usr.sbin/rpki-client Makefile rpki-der.h

   rpki-client: split some helpers out of cms.c

   There are a bunch of helper functions that are not really CMS specific
   that will be shared by several signed object parsers. Implementations
   go into rpki-der.c and they are prototyped in rpki-der.h. The latter
   should eventually replace rpki-asn1.h.

   ok claudio
VersionDeltaFile
1.1+112-0usr.sbin/rpki-client/rpki-der.c
1.74+2-92usr.sbin/rpki-client/cms.c
1.1+35-0usr.sbin/rpki-client/rpki-der.h
1.52+2-2regress/usr.sbin/rpki-client/Makefile.inc
1.45+2-1usr.sbin/rpki-client/Makefile
+153-955 files

OpenBSD/src QmusnIZ — usr.sbin/rpki-client extern.h mft.c

   Directly dispatch the files referenced by a mft in the parser.

   There is no need to circle back to the parent process to schedule more work.
   This is the minimal way to handle this and should allow us to further improve
   the MFT handling.

   The work items enqueued by an MFT are put on the global entity queue but
   only after the mft message was enqueued into the output queue.

   OK tb@
VersionDeltaFile
1.200+68-6usr.sbin/rpki-client/parser.c
1.339+3-39usr.sbin/rpki-client/main.c
1.149+3-26usr.sbin/rpki-client/mft.c
1.320+5-1usr.sbin/rpki-client/extern.h
+79-724 files