OpenBSD/src V1xku7Ulib/libcrypto/asn1 x_pubkey.c

   ASN.1 templates: make internal *_PUBKEY_it static
VersionDeltaFile
1.40+5-5lib/libcrypto/asn1/x_pubkey.c
+5-51 files

OpenBSD/src CEyizRalib/libcrypto/asn1 x_pubkey.c x_name.c

   ASN.1 templates: make ASN1_EXTERN_FUNCS static

   These are used directly only as part of the ASN.1 item in the same file.
VersionDeltaFile
1.39+5-5lib/libcrypto/asn1/x_pubkey.c
1.47+2-2lib/libcrypto/asn1/x_name.c
+7-72 files

OpenBSD/src gN1CtBAbin/ed buf.c glbl.c

   remove unneeded includes; ok deraadt@
VersionDeltaFile
1.26+1-5bin/ed/buf.c
1.21+1-5bin/ed/glbl.c
1.27+1-4bin/ed/io.c
1.71+1-3bin/ed/main.c
1.19+1-3bin/ed/sub.c
1.15+1-3bin/ed/undo.c
+6-231 files not shown
+7-257 files

OpenBSD/src 8PvHsCWsys/net pf.c

   refactor the matching of sk->sk_states entries in pf_find_state()

   ive been looking at and trying to comprehend this code for what
   feels like months of my life, and the af-to handling in particular.
   it wasn't until i found the PF_AFRT handling in pf_test that it
   suddenly clicked.

   i figure it doesnt hurt to pull the code here apart a bit and put
   some comments in place to help future travellers.

   ok sashan@
VersionDeltaFile
1.1229+30-11sys/net/pf.c
+30-111 files

OpenBSD/src 70uhTn9sys/arch/powerpc/include intr.h

   remove unused set_sint() define; ok miod@
VersionDeltaFile
1.58+1-4sys/arch/powerpc/include/intr.h
+1-41 files

OpenBSD/src pUFpIGUsys/uvm uvm_pdaemon.c

   Do not force the page daemon to sleep when there are outstanding paging requests.

   This partially reverts the changes made in rev 1.131

   Currently, this serializes the processing of pmr requests when
   scheduling pageouts into only processing one pmr request. while there
   appears to be a desire not to "over swap" this also I believe means
   we can "under swap" if we can not schedule enough pageouts to
   satisfy this request, at which point I believe we can miss wakeups
   under load - especially if the pmr request can not be satisfied
   and remains on the list.

   I think the intent here can be achieved, but not without some
   careful rework first. The current method of only waking up one
   sleeper on any pmr request is very different from how this
   code worked in the past and very different from the rest of the
   kernel, where processes compete for freed resources to progress
   the entire system forward. Serializing only one pmr requestor
   to be woken up after every round of potentally sceheduling a bunch

    [7 lines not shown]
VersionDeltaFile
1.147+2-2sys/uvm/uvm_pdaemon.c
+2-21 files

OpenBSD/src g7SdJD8sys/uvm uvm_pdaemon.c

   Revert the change made in rev 1.126 of uvm_pdaemon.c

   While the commit message was

   "Do not try to release memory if all we need is balancing the page lists."

   This is not what this actually did. It also removed the minumum amount of
   pages that the page daemon would attempt to free, and most importantly,
   it would make the page daemon potentially go back to sleep when woken
   wihtout waking the sleepers that went to sleep waiting for it to free
   memory and wake them up.

   Since *someone* probably went to sleep when waking the page daemon, and
   today we have no idea if that sleeper's request could have been satisfied
   by the page daemon's free page reserve (as we have no idea how fragmented
   the free pages are, or where they are in memory) this is currently dangerous.

   While the "hack" of freeing up 16 pages every time it is woken is indeed
   a hack, it does mean that something that is failing to allocate will force

    [17 lines not shown]
VersionDeltaFile
1.146+7-30sys/uvm/uvm_pdaemon.c
+7-301 files

OpenBSD/src sQ4jMJsregress/lib/libcrypto/mlkem mlkem768_encap_tests.txt

   unusally -> unusually
VersionDeltaFile
1.2+10-10regress/lib/libcrypto/mlkem/mlkem768_encap_tests.txt
+10-101 files

OpenBSD/src vHx5c01lib/libcrypto/asn1 a_bitstr.c

   a_bitstr: remove parentheses in return statements

   no binary change
VersionDeltaFile
1.48+5-5lib/libcrypto/asn1/a_bitstr.c
+5-51 files

OpenBSD/src l8bhxSKusr.bin/ssh channels.c

   rewrite SOCKS4/4A/5 parsing code to use sshbuf functions instead
   of manual pointer fiddling. Should make the code safer and easier
   to read. feedback/ok markus@
VersionDeltaFile
1.453+198-191usr.bin/ssh/channels.c
+198-1911 files

OpenBSD/src MtTsidFlib/libcrypto/asn1 a_bitstr.c, regress/lib/libcrypto/asn1 Makefile

   i2c_ASN1_BIT_STRING() vs ASN1_STRING_FLAG_BITS_LEFT

   A nasty quirk in the bit string handling is that the serialization
   produced by i2d_ASN1_BIT_STRING() depends on whether the the magic
   ASN1_STRING_FLAG_BITS_LEFT is set.

   If ASN1_STRING_FLAG_BITS_LEFT is set, the number of unused bits is
   carried in a->flags & 0x07 and the remainder of the bit string is
   in a->data. This is terrible and undocumented but handled correctly.

   If ASN1_STRING_FLAG_BITS_LEFT is not set, all trailing zero bits are
   (intended to be) chopped off with all sorts of hilarious side effects.
   I broke this quite thoroughly when I incorrectly ported an overflow
   check from BoringSSL in:
   https://github.com/openbsd/src/commit/f81cc285d2aed8b36615119a306533696f3eb66c

   The result is that we currently return ret = a->length + 1 for both NULL
   and non-NULL pp. The calls to asn1_ex_i2c() in asn1_i2d_ex_primitive()
   thus report consistent lengths back, making it succeed.

    [21 lines not shown]
VersionDeltaFile
1.47+9-10lib/libcrypto/asn1/a_bitstr.c
1.30+1-3regress/lib/libcrypto/asn1/Makefile
+10-132 files

OpenBSD/src JCkRR2gregress/lib/libcrypto/asn1 asn1basic.c

   asn1basic: add missing test from BoringSSL's test suite

   This is another test that fails due to the bug in i2c_ASN1_BIT_STRING().
VersionDeltaFile
1.20+31-0regress/lib/libcrypto/asn1/asn1basic.c
+31-01 files

OpenBSD/src ZREk4weregress/lib/libcrypto/asn1 asn1basic.c Makefile

   asn1basic: switch test to expect correct encoding

   This test fails, so mark the asn1basic test as an expected failure
VersionDeltaFile
1.19+3-3regress/lib/libcrypto/asn1/asn1basic.c
1.29+3-1regress/lib/libcrypto/asn1/Makefile
+6-42 files

OpenBSD/src pMj5zi3regress/lib/libcrypto/asn1 asn1basic.c

   asn1basic: add example showing current bogus encoding

   There is a bug in i2c_ASN1_BIT_STRING() resulting in nonsense encoding of
   some BIT STRINGs with trailing zeroes if ASN1_STRING_FLAG_BITS_LEFT is not
   set (a rare corner case). This test currently passes when it shouldn't.
VersionDeltaFile
1.18+38-1regress/lib/libcrypto/asn1/asn1basic.c
+38-11 files

OpenBSD/src ZcaJ6xGlib/libcrypto/asn1 a_bitstr.c

   i2c_ASN1_BIT_STRING(): zap nonsensical comment

   The /* should not happen */ happens if a->data is all zeroes (where
   there used to be an OOB access a few years back), which is a legitimate
   BIT STRING, so this is just nonsense.

   ok jsing kenjiro
VersionDeltaFile
1.46+2-2lib/libcrypto/asn1/a_bitstr.c
+2-21 files

OpenBSD/src n3aZ1Nilib/libcrypto/asn1 a_bitstr.c

   a_bitstr.c: whitespace nit
VersionDeltaFile
1.45+2-2lib/libcrypto/asn1/a_bitstr.c
+2-21 files

OpenBSD/src YPi25QKusr.bin/tmux cmd.c

   Minor tidying of cmd_list_print from Pavel Roskin.
VersionDeltaFile
1.180+9-12usr.bin/tmux/cmd.c
+9-121 files

OpenBSD/src CpZ5SzPusr.bin/tmux key-string.c input.c

   Add some missing logging bits for themes.
VersionDeltaFile
1.76+9-1usr.bin/tmux/key-string.c
1.245+7-2usr.bin/tmux/input.c
1.308+4-3usr.bin/tmux/window.c
1.92+3-1usr.bin/tmux/screen.c
+23-74 files

OpenBSD/src gVrJiyjusr.sbin/httpd config.c

   validate return_uri_len before copying data

   Spotted by tb@, ok claudio
VersionDeltaFile
1.68+6-2usr.sbin/httpd/config.c
+6-21 files

OpenBSD/src EOGNr6wsys/netinet in.c igmp.c, sys/netinet6 in6.c mld6.c

   Backout: Protect IGMP and MLD6 fast timer with rwlock.

   syzkaller found recursive calls with if_maddrlock.  in_addmulti()
   takes the lock, calls igmp_joingroup(), igmp_sendpkt(), ip_output().
   There in_hasmulti() takes the lock again.  Analog for mld6_sendpkt().

   Reported-by: syzbot+9ef22ca02dffcf088cf6 at syzkaller.appspotmail.com
   Reported-by: syzbot+de6bcf8e746b8a631885 at syzkaller.appspotmail.com
   Reported-by: syzbot+c366cf5e7c87ead7f4f7 at syzkaller.appspotmail.com
VersionDeltaFile
1.277+63-75sys/netinet6/in6.c
1.192+43-59sys/netinet/in.c
1.95+5-17sys/netinet/igmp.c
1.72+7-15sys/netinet6/mld6.c
1.46+4-10sys/netinet/in_var.h
1.84+4-10sys/netinet6/in6_var.h
+126-1863 files not shown
+135-1989 files

OpenBSD/src ZfrCJDCsys/uvm uvm_pdaemon.c

   Use an iterator in uvmpd_scan_active() to prevent a list corruption.

   Releasing the pageqlock without iterator wasn't safe.

   Suggested some time ago by claudio@, reported by and ok bluhm@
VersionDeltaFile
1.145+10-6sys/uvm/uvm_pdaemon.c
+10-61 files

OpenBSD/src YeSJNOlsbin/kbd kbd.8

   While it's clear from this man page that it's possible to list all
   encoding with the -l flag, there is no mention of the hidden .metaesc
   option. Also add reference to wskbd and wsconsctl, which can also be
   used to change the keyboard.encoding.

   ok op@
VersionDeltaFile
1.14+12-2sbin/kbd/kbd.8
+12-21 files

OpenBSD/src N7D2f19sys/netinet in.c igmp.c, sys/netinet6 in6.c mld6.c

   Protect IGMP and MLD6 fast timer with rwlock.

   Multicast interface addresses for IPv4 and IPv6 get their own per
   interface lock.  Protect the TAILQ if_maddrlist with rwlock
   if_maddrlock.  Also struct in_multi and in6_multi use this lock for
   their state and timer.  Sleeps in malloc and IP output are possible.
   Run IGMP and MLD6 fast timeout with shared instead of exclusive net
   lock.

   Reported-by: syzbot+3dcb7e0d63b11f6f341c at syzkaller.appspotmail.com
   OK mvs@
VersionDeltaFile
1.276+75-63sys/netinet6/in6.c
1.191+59-43sys/netinet/in.c
1.71+15-7sys/netinet6/mld6.c
1.94+17-5sys/netinet/igmp.c
1.45+10-4sys/netinet/in_var.h
1.83+10-4sys/netinet6/in6_var.h
+186-1263 files not shown
+198-1359 files

OpenBSD/src 4jwu8jZusr.sbin/httpd server.c server_fcgi.c

   fix scan-build dead stores findings

   - httpd.c:533 – q assigned but immediately overwritten in the loop
   - server.c:891 – inrd/inwr assigned, then reassigned, never actually needed
   - server_fcgi.c:678,690 – kv result unused

   OK stsp@
VersionDeltaFile
1.130+3-6usr.sbin/httpd/server.c
1.99+4-4usr.sbin/httpd/server_fcgi.c
1.76+2-2usr.sbin/httpd/httpd.c
+9-123 files

OpenBSD/src BYCL9dNregress/lib/libcrypto/man check_complete.pl

   check_complete: ASN1_LONG_UNDEF is now internal
VersionDeltaFile
1.42+0-1regress/lib/libcrypto/man/check_complete.pl
+0-11 files

OpenBSD/src Beh7NbZlib/libcrypto/asn1 x_long.c asn1.h

   Unexport ASN1_LONG_UNDEF

   This is another one of these weird magic values that nothing outside
   of libcrypto uses. Fix a confusing comment in long_i2c() while there.
   The skipping behavior is used in particular for omitting the optional
   length value in the non-standard OpenSSL-specific DHparam() ASN.1
   encoding.

   ok jsing kenjiro
VersionDeltaFile
1.23+7-3lib/libcrypto/asn1/x_long.c
1.95+1-4lib/libcrypto/asn1/asn1.h
+8-72 files

OpenBSD/src v3yxDPcsys/arch/amd64/amd64 pmap.c, sys/arch/i386/i386 pmap.c

   These files contain both MP and non-MP versions of the shoot functions
   seperated by #else.  The MP versions contain the code from the non-MP
   versions verbatim.  This adds and #ifdef MULTIPROCESSOR into the MP
   versions makes minor adjustments.  This style will avoid future errors.
   I already almost introduced one..
VersionDeltaFile
1.185+34-102sys/arch/amd64/amd64/pmap.c
1.232+31-47sys/arch/i386/i386/pmap.c
+65-1492 files

OpenBSD/src ZtwlbOwsys/arch/amd64/amd64 pmap.c, sys/arch/i386/i386 pmap.c

   A better name for the "wait" variable is "targets"; the shoot operation
   targets cpus who need to do shootdowns.
VersionDeltaFile
1.184+19-19sys/arch/amd64/amd64/pmap.c
1.231+19-19sys/arch/i386/i386/pmap.c
+38-382 files

OpenBSD/src KOPA2XWsys/arch/amd64/amd64 pmap.c

   change tlb_shoot_wait to int, like on i386, because we don't support more
   than 64 cpus (limited by the mask), and definately less than 4 billion
   ok kettenis
VersionDeltaFile
1.183+8-8sys/arch/amd64/amd64/pmap.c
+8-81 files

OpenBSD/src FoXLfkzusr.bin/openssl openssl.c

   openssl: list SHA-3 digests in help output

   Register sha3-{224,256,384,512} as dgst commands so they appear in
   openssl help. Without this, SHA-3 support is easy to miss and looks
   unsupported from the command line.

   ok tb jsing
VersionDeltaFile
1.41+5-1usr.bin/openssl/openssl.c
+5-11 files