OpenBSD src changes summary for 2017-11-19 to 2017-11-26 inclusive
==================================================================

bin/ksh                                 distrib/alpha
distrib/amd64                           distrib/arm64
distrib/armv7                           distrib/hppa
distrib/i386                            distrib/landisk
distrib/loongson                        distrib/luna88k
distrib/macppc                          distrib/octeon
distrib/sgi                             distrib/socppc
distrib/sparc64                         distrib/special
games/fortune                           gnu
gnu/usr.bin/perl                        lib/libc
lib/libfuse                             regress/bin
regress/sbin                            regress/sys
sbin/dhclient                           sbin/ipsecctl
sbin/isakmpd                            sbin/pfctl
share/man                               sys/arch/amd64/amd64
sys/arch/amd64/stand/efiboot            sys/arch/amd64/stand/libsa
sys/arch/armv7/stand/efiboot            sys/arch/armv7/sunxi
sys/arch/i386/i386                      sys/arch/mips64/mips64
sys/arch/octeon/dev                     sys/arch/octeon/include
sys/arch/sparc64/sparc64                sys/dev
sys/dev/fdt                             sys/dev/pv
sys/dev/wscons                          sys/kern
sys/net                                 sys/netinet
sys/netinet6                            sys/sys
usr.bin/aucat                           usr.bin/openssl
usr.bin/sndiod                          usr.bin/ssh
usr.bin/vi                              usr.sbin/kvm_mkdb
usr.sbin/smtpd                          usr.sbin/syslogd

== bin =============================================================== 01/11 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/bin

ksh

  ~ history.c                             

  > Initialize *histbase to NULL to fix a bus error in emacs editing mode
  > found by anton. To reproduce, run "env EDITOR=emacs MALLOC_OPTIONS=J ksh"
  > then press "^[_".
  > ok anton, jca (tb@)

  ~ emacs.c                               ~ ksh.1

  > Fix some incorrectness related to Emacs editing mode in ksh:
  > - Keep the order of bindings in sync between the manual and implementation
  > - Fix wrongly documented bindings in the manual
  > - Break out commands without a default binding in the manual
  > ok jmc@ tb@ (anton@)

  ~ emacs.c                               

  > Remove the "version" interactive function in emacs mode.
  > Not bound by default and not very useful.  ok schwarze@ anton@ (jca@)

== distrib =========================================================== 02/11 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/distrib

alpha

  ~ bsd.rd/list.local                     

  > add growfs(8) to ramdisk
  > Some resizing scenarios can be done from within single user mode, but
  > resizing the root partition required you to bring your own growfs(8)
  > binary into the ramdisk environment. This commit adds growfs(8) to the
  > ramdisks (the ones that don't have space constraints) to simplify such
  > operations.
  > OK deraadt@ (job@)

amd64

  ~ ramdisk_cd/list.local                 

  > add growfs(8) to ramdisk
  > Some resizing scenarios can be done from within single user mode, but
  > resizing the root partition required you to bring your own growfs(8)
  > binary into the ramdisk environment. This commit adds growfs(8) to the
  > ramdisks (the ones that don't have space constraints) to simplify such
  > operations.
  > OK deraadt@ (job@)

arm64

  ~ ramdisk/list                          

  > add growfs(8) to ramdisk
  > Some resizing scenarios can be done from within single user mode, but
  > resizing the root partition required you to bring your own growfs(8)
  > binary into the ramdisk environment. This commit adds growfs(8) to the
  > ramdisks (the ones that don't have space constraints) to simplify such
  > operations.
  > OK deraadt@ (job@)

armv7

  ~ ramdisk/list                          

  > add growfs(8) to ramdisk
  > Some resizing scenarios can be done from within single user mode, but
  > resizing the root partition required you to bring your own growfs(8)
  > binary into the ramdisk environment. This commit adds growfs(8) to the
  > ramdisks (the ones that don't have space constraints) to simplify such
  > operations.
  > OK deraadt@ (job@)

hppa

  ~ ramdisk/list.local                    

  > add growfs(8) to ramdisk
  > Some resizing scenarios can be done from within single user mode, but
  > resizing the root partition required you to bring your own growfs(8)
  > binary into the ramdisk environment. This commit adds growfs(8) to the
  > ramdisks (the ones that don't have space constraints) to simplify such
  > operations.
  > OK deraadt@ (job@)

i386

  ~ ramdisk_cd/list.local                 

  > add growfs(8) to ramdisk
  > Some resizing scenarios can be done from within single user mode, but
  > resizing the root partition required you to bring your own growfs(8)
  > binary into the ramdisk environment. This commit adds growfs(8) to the
  > ramdisks (the ones that don't have space constraints) to simplify such
  > operations.
  > OK deraadt@ (job@)

landisk

  ~ ramdisk/list                          

  > add growfs(8) to ramdisk
  > Some resizing scenarios can be done from within single user mode, but
  > resizing the root partition required you to bring your own growfs(8)
  > binary into the ramdisk environment. This commit adds growfs(8) to the
  > ramdisks (the ones that don't have space constraints) to simplify such
  > operations.
  > OK deraadt@ (job@)

loongson

  ~ ramdisk/list                          

  > add growfs(8) to ramdisk
  > Some resizing scenarios can be done from within single user mode, but
  > resizing the root partition required you to bring your own growfs(8)
  > binary into the ramdisk environment. This commit adds growfs(8) to the
  > ramdisks (the ones that don't have space constraints) to simplify such
  > operations.
  > OK deraadt@ (job@)

luna88k

  ~ ramdisk/list                          

  > add growfs(8) to ramdisk
  > Some resizing scenarios can be done from within single user mode, but
  > resizing the root partition required you to bring your own growfs(8)
  > binary into the ramdisk environment. This commit adds growfs(8) to the
  > ramdisks (the ones that don't have space constraints) to simplify such
  > operations.
  > OK deraadt@ (job@)

macppc

  ~ ramdisk/list                          

  > add growfs(8) to ramdisk
  > Some resizing scenarios can be done from within single user mode, but
  > resizing the root partition required you to bring your own growfs(8)
  > binary into the ramdisk environment. This commit adds growfs(8) to the
  > ramdisks (the ones that don't have space constraints) to simplify such
  > operations.
  > OK deraadt@ (job@)

octeon

  ~ ramdisk/list                          

  > add growfs(8) to ramdisk
  > Some resizing scenarios can be done from within single user mode, but
  > resizing the root partition required you to bring your own growfs(8)
  > binary into the ramdisk environment. This commit adds growfs(8) to the
  > ramdisks (the ones that don't have space constraints) to simplify such
  > operations.
  > OK deraadt@ (job@)

sgi

  ~ ramdisk/list                          

  > add growfs(8) to ramdisk
  > Some resizing scenarios can be done from within single user mode, but
  > resizing the root partition required you to bring your own growfs(8)
  > binary into the ramdisk environment. This commit adds growfs(8) to the
  > ramdisks (the ones that don't have space constraints) to simplify such
  > operations.
  > OK deraadt@ (job@)

socppc

  ~ ramdisk/list                          

  > add growfs(8) to ramdisk
  > Some resizing scenarios can be done from within single user mode, but
  > resizing the root partition required you to bring your own growfs(8)
  > binary into the ramdisk environment. This commit adds growfs(8) to the
  > ramdisks (the ones that don't have space constraints) to simplify such
  > operations.
  > OK deraadt@ (job@)

sparc64

  ~ ramdisk/list                          

  > add growfs(8) to ramdisk
  > Some resizing scenarios can be done from within single user mode, but
  > resizing the root partition required you to bring your own growfs(8)
  > binary into the ramdisk environment. This commit adds growfs(8) to the
  > ramdisks (the ones that don't have space constraints) to simplify such
  > operations.
  > OK deraadt@ (job@)

special

  ~ Makefile                              + growfs/Makefile

  > add growfs(8) to ramdisk
  > Some resizing scenarios can be done from within single user mode, but
  > resizing the root partition required you to bring your own growfs(8)
  > binary into the ramdisk environment. This commit adds growfs(8) to the
  > ramdisks (the ones that don't have space constraints) to simplify such
  > operations.
  > OK deraadt@ (job@)

== games ============================================================= 03/11 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/games

fortune

  ~ datfiles/fortunes2                    

  > than -> then
  > from scott cheloha (tb@)

== gnu =============================================================== 04/11 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/gnu

gnu

  ~ llvm/lib/Target/X86/X86RegisterInfo.td

  > The compiler is generally free to allocate general purpose registers in
  > whatever
  > order it chooses. Reasons for choosing one register before another usually
  > incl
  > ude compiled instruction size (avoidance of REX prefixes, etc.) or usage
  > convent
  > ions, but somehow haven't included security implications in the compiled
  > bytecod
  > e. Some bytecode is more useful in polymorphic ROP sequences than others,
  > so it
  > seems prudent to try to avoid that bytecode when possible.
  > This patch moves EBX/RBX towards the end of the allocation preference for
  > 32 and
  > 64 bit general purpose registers. Some instructions using RBX/EBX/BX/BL as
  > a de
  > stination register end up with a ModR/M byte of C3 or CB, which is often
  > useful
  > in ROP gadgets. Because these gadgets often occur in the middle of
  > functions, th
  > ey exhibit somewhat higher diversity than some other C3/CB terminated
  > gadgets. T
  > his change removes about 3% of total gadgets from the kernel, but about 6%
  > of un
  > ique gadgets.
  > There are other possible changes in this direction. BX/BL are obvious next
  > targe
  > ts for avoidance, and MM3/XMM3 may also be useful to try to avoid if
  > possible.
  > ok deraadt@ (mortimer@)

usr.bin/perl

  ~ lib/File/Copy.pm                      ~ lib/File/Copy.t

  > Support Time::HiRes::utime in File::Copy
  > Fixes issues with cross-device moves, noticed with autoconf (afresh1@)

== lib =============================================================== 05/11 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib

libc

  ~ stdio/vfprintf.c                      

  > Use a simple forward search to find '%' in the format string instead of
  > using mbrtowc(3). Thus, we now treat the format string as a bytestring,
  > not as a multibyte character string.
  > We think that ANSI C made a small error when adding wide characters:
  > The committees essentially replaced "characters" with "wide characters"
  > in the existing printf documentation, which was written before the
  > concept of processing was established. Doing processing on the format
  > string would break some 8-bit format strings in the wild, and that
  > isn't something these committees gave themselves license to do.
  > Based on the "10x printf speedup" commit from android found by tedu:
  > https://github.com/aosp-mirror/platform_bionic/commit/5305a4d4a723b06494b93
  > f2df81733b83a0c46d3
  > Thanks to millert and schwarze for digging into the history and
  > testing *printf behavior on other platforms.
  > ok deraadt, millert (tb@)

  ~ arch/arm/sys/Ovfork.S                 ~ arch/arm/sys/brk.S
  ~ arch/arm/sys/sbrk.S                   

  > Avoid .align 0.  Clang's integrated assembler actually honors this
  > directive
  > and the resulting byte-alignment triggers unaligned access.
  > ok patrick@, deraadt@ (kettenis@)

  ~ arch/aarch64/sys/Ovfork.S             ~ arch/aarch64/sys/brk.S
  ~ arch/aarch64/sys/sbrk.S               

  > Avoid .align 0 here as well.  Also fix a .word that should be a .quad.
  > ok patrick@ (kettenis@)

libfuse

  ~ fuse.c                                ~ fuse_private.h

  > Add support for -f option to libfuse. This keeps the FUSE file system
  > running in the foreground.
  > ok mpi@ (helg@)

== regress =========================================================== 06/11 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/regress

bin

  ~ ksh/edit/edit.c                       

  > Do not exit 0 if the program was terminated due to receipt of a signal
  > other
  > than SIGHUP. (anton@)

  ~ ksh/edit/emacs.sh                     ~ ksh/edit/subr.sh

  > Add tests for emacs editing mode in ksh. While here, improve the output on
  > test
  > failure. (anton@)

sbin

  ~ pfctl/Makefile                        ~ pfctl/if2ip
  ~ pfctl/pfr.exec                        

  > Use the environment variable PFCTL to specify a different executable
  > for testing.  Default is /sbin/pfctl.  This makes test driven
  > development easier. (bluhm@)

sys

  ~ kern/pledge/sockopt/Makefile          

  > Now pledge("inet") allows socket option IPV6_V6ONLY.  Adapt test. (bluhm@)

  ~ net/loop/Makefile                     

  > Skip the test and print a warning if pf does not process packets
  > on additional loopback devices. (bluhm@)

  ~ net/loop/Makefile                     

  > Do not run sysctl and pfctl by != during make clean and make obj.
  > requested by miod@ (bluhm@)

== sbin ============================================================== 07/11 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sbin

dhclient

  ~ dhclient.c                            

  > Wnen purging dhclient.leases and when looking for unexpired offers to
  > use, always recalculate offer expiry time based on the information in
  > the original offer. (krw@)

  ~ dhclient.c                            

  > Fix use of lease_expiry() in set_lease_times(). lease_expiry() returns
  > wall clock time, not length of lease time. (krw@)

  ~ dhclient.c                            ~ dhcpd.h

  > Remove 'renewal' field from struct client_lease. Add lease_renewal() to
  > calculate the value when required for a particular lease. (krw@)

  ~ dhclient.c                            

  > Move rebind time calculation to a function lease_rebind(), just like
  > lease_expiry() and lease_renewal(). Simplifies logic and upcoming
  > changes. (krw@)

ipsecctl

  ~ ipsecctl.8                            ~ ipsecctl.c
  ~ ipsecctl.h                            

  > Support collapsing flow outputs.
  > Makes it easier to check live status of complex setups.
  > ok hshoexer@ (mpi@)

  ~ ipsec.conf.5                          

  > in isakmpd(8), provide a hint: from scott cheloha
  > also some minor tweaks while here... (jmc@)

isakmpd

  ~ isakmpd.8                             

  > in isakmpd(8), provide a hint: from scott cheloha
  > also some minor tweaks while here... (jmc@)

pfctl

  ~ pfctl_optimize.c                      

  > - pfctl rule optimizer: anchor name vs. anchor path mix up
  > OK bluhm@ (sashan@)

  ~ pfctl_parser.h                        ~ pfctl_optimize.c

  > - patching use-after-free and innocent memory leak in pfctl_optimzie.c
  > OK bluhm@ (sashan@)

  ~ pfctl.c                               ~ parse.y

  > - pfctl fails to handle nested 'load anchor' properly
  > [ + yet another 'anchor name vs. path mix up in load anchor (parse.y) ]
  > OK bluhm@ (sashan@)

== share ============================================================= 08/11 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/share

man

  ~ man5/port-modules.5                   

  > Delete mentions of the gettext module, which has been obsoleted and
  > removed. (naddy@)

  ~ man5/bsd.port.mk.5                    

  > document minor changes (espie@)

  ~ man4/umb.4                            

  > Add fibocom L831-EAU to umb man
  > Confirmed on Thinkpad X270 (job@)

  ~ man9/timeout.9                        

  > add timeout_barrier, which is like intr_barrier and taskq_barrier.
  > if you're trying to free something that a timeout is using, you
  > have to wait for that timeout to finish running before doing the
  > free. timeout_del can stop a timeout from running in the future,
  > but it doesn't know if a timeout has finished being scheduled and
  > is now running.
  > previously you could know that timeouts are not running by simply
  > masking softclock interrupts on the cpu running the kernel. however,
  > code is now running outside the kernel lock, and timeouts can run
  > in a thread instead of softclock.
  > timeout_barrier solves the first problem by taking the kernel lock
  > and then masking softclock interrupts. that is enough to ensure
  > that any further timeout processing is waiting for those resources
  > to run again.
  > the second problem is solved by having timeout_barrier insert work
  > into the thread. when that work runs, that means all previous work
  > running in that thread has completed.
  > fixes and ok visa@, who thinks this will be useful for his work
  > too. (dlg@)

== sys =============================================================== 09/11 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys

arch/amd64/amd64

  - lock_machdep.c                        

  > Remove lock_machdep.c from amd64, i386, mips64 and sparc64.
  > The architectures have been using the MI mplock for a while.
  > OK deraadt@, kettenis@ (visa@)

arch/amd64/stand/efiboot

  ~ Makefile.common                       ~ conf.c
  ~ efiboot.c                             ~ efiboot.h
  ~ eficall.h                             + efipxe.c
  + efipxe.h                              

  > Implement network boot support in efiboot(8).  This changes efiboot(8)
  > to recognize if it has been booted via PXE.  The new TFTP file system
  > layer will then use the matching PXE base code protocol handle to load
  > the files.  Since this uses the PXE base code protocol for abstraction
  > instead of the raw Simple Network protocol this will at this point not
  > work on u-boot based machines as needed on ARM.
  > Feedback and ok tom@
  > Also tested by afresh1@ (patrick@)

arch/amd64/stand/libsa

  ~ dev_i386.c                            

  > Implement network boot support in efiboot(8).  This changes efiboot(8)
  > to recognize if it has been booted via PXE.  The new TFTP file system
  > layer will then use the matching PXE base code protocol handle to load
  > the files.  Since this uses the PXE base code protocol for abstraction
  > instead of the raw Simple Network protocol this will at this point not
  > work on u-boot based machines as needed on ARM.
  > Feedback and ok tom@
  > Also tested by afresh1@ (patrick@)

arch/armv7/stand/efiboot

  ~ Makefile                              

  > Add __aeabi_ldivmod.S.  Needed for clang.
  > ok deraadt@, patrick@ (kettenis@)

arch/armv7/sunxi

  ~ sxie.c                                

  > rework transmit to get rid of ifq_deq_begin, and to improve speed.
  > i had a diff that did a small change to replace
  > ifq_deq_begin/commit/rollback with ifq_dequeue, and Eduard Nicodei
  > tweaked it a bit with Artturi Alm to use the fifo registers properly
  > and bump the ifq len.
  > the latter changes improve performance significantly.
  > "if you think that diff is correct, commit it" kettenis@ (dlg@)

arch/i386/i386

  - lock_machdep.c                        

  > Remove lock_machdep.c from amd64, i386, mips64 and sparc64.
  > The architectures have been using the MI mplock for a while.
  > OK deraadt@, kettenis@ (visa@)

arch/mips64/mips64

  - lock_machdep.c                        

  > Remove lock_machdep.c from amd64, i386, mips64 and sparc64.
  > The architectures have been using the MI mplock for a while.
  > OK deraadt@, kettenis@ (visa@)

arch/octeon/dev

  ~ cn30xxgmx.c                           ~ cn30xxsmi.c
  ~ octrtc.c                              

  > Fix the product code of the Unifi Security Gateway.
  > Prompted by Justin Hibbits (visa@)

  ~ octrtc.c                              

  > Add the board ID of the Unifi Security Gateway PRO-4.
  > Not tested with the hardware. (visa@)

  ~ if_cnmac.c                            

  > Initialize Rx subsystems before enabling the processing of incoming
  > packets. Otherwise, a skosh of traffic may be handled using hardware
  > default settings. One of the consequences is that packets can end up
  > into a wrong POW group, causing a panic in cnmac_intr().
  > Panic reported by and testing help from Janne Johansson (visa@)

  ~ if_cnmac.c                            

  > On wqe error, show also word2 and word3. Those might help in debugging.
  > (visa@)

arch/octeon/include

  ~ octeonvar.h                           

  > Fix the product code of the Unifi Security Gateway.
  > Prompted by Justin Hibbits (visa@)

  ~ octeonvar.h                           

  > Add the board ID of the Unifi Security Gateway PRO-4.
  > Not tested with the hardware. (visa@)

arch/sparc64/sparc64

  - lock_machdep.c                        

  > Remove lock_machdep.c from amd64, i386, mips64 and sparc64.
  > The architectures have been using the MI mplock for a while.
  > OK deraadt@, kettenis@ (visa@)

dev

  ~ rnd.c                                 

  > Remove interlocks between producers and consumers of randomness data
  > A lot of randomness event producers are executed in the interrupt
  > context increasing the time spent in the interrupt handler resulting
  > in extra costs when adding randomness data to the pool.  However, in
  > practice randomness event producers require interlocking between each
  > other, but not with with consumers due to the opportunistic nature of
  > event consumers.
  > To be able to take advantage of this idea, the ring buffer indexing
  > is now done with two free running producer and consumer counters modulo
  > power of 2 size of the ring buffer.
  > With input from and OK visa, tb, jasper (mikeb@)

  ~ audio.c                               

  > No need to grab the audio lock to call audio_canstart() as it checks
  > whether the device is started before using structures shared with the
  > interrupt handler. From Michael W. Bombardieri, tested by me. (ratchov@)

  ~ rnd.c                                 

  > Don't mention XOR as a mix-in function since addition is done since 1.180
  > (mikeb@)

dev/fdt

  ~ sxiccmu.c                             ~ sxiccmu_clocks.h

  > Implement support for the "next-generation" clock bindings for the
  > Allwinner A10/A20. (kettenis@)

  ~ sxiccmu_clocks.h                      

  > Add Allwinner A10 EMAC clock.
  > From Artturi Alm. (kettenis@)

dev/pv

  ~ xen.c                                 

  > Xen interrupt task barrier is just a taskq_barrier so call it
  > instead of rolling its own now that it's been made available.
  > OK dlg (mikeb@)

dev/wscons

  ~ wsmouseinput.h                        ~ wsmouse.c
  ~ wstpad.c                              

  > 1. Prepare a consistent treatment of edge areas.  2. Add mechanisms
  > that identify and mask touches resting in the bottom area. (bru@)

  ~ wstpad.c                              

  > Add various improvements to the default configuration (better default
  > sizes of edge areas, vertical edge areas as default, and a check for
  > the WSMOUSE_TYPE that may detect clickpads where software buttons
  > should be placed at the top edge). (bru@)

kern

  ~ uipc_socket.c                         ~ uipc_socket2.c

  > We want `sb_flags' to be protected by the socket lock rather than the
  > KERNEL_LOCK(), so change asserts accordingly.
  > This is now possible since sblock()/sbunlock() are always called with
  > the socket lock held.
  > ok bluhm@, visa@ (mpi@)

  ~ uipc_domain.c                         ~ uipc_socket.c

  > Constify protocol tables and remove an assert now that ip_deliver() is
  > mp-safe.
  > ok bluhm@, visa@ (mpi@)

  ~ kern_timeout.c                        

  > add timeout_barrier, which is like intr_barrier and taskq_barrier.
  > if you're trying to free something that a timeout is using, you
  > have to wait for that timeout to finish running before doing the
  > free. timeout_del can stop a timeout from running in the future,
  > but it doesn't know if a timeout has finished being scheduled and
  > is now running.
  > previously you could know that timeouts are not running by simply
  > masking softclock interrupts on the cpu running the kernel. however,
  > code is now running outside the kernel lock, and timeouts can run
  > in a thread instead of softclock.
  > timeout_barrier solves the first problem by taking the kernel lock
  > and then masking softclock interrupts. that is enough to ensure
  > that any further timeout processing is waiting for those resources
  > to run again.
  > the second problem is solved by having timeout_barrier insert work
  > into the thread. when that work runs, that means all previous work
  > running in that thread has completed.
  > fixes and ok visa@, who thinks this will be useful for his work
  > too. (dlg@)

net

  ~ if.c                                  

  > Do not fail if an interface is DOWN when calling ifpromisc().
  > As soon as the interface will be brough UP, its device driver will
  > recognize it has the IFF_PROMISC flag and will configure its filters
  > accordingly.
  > ok visa@ (mpi@)

  ~ if_bridge.c                           ~ if_switch.c

  > Remove duplicated code working around the fact that ifpromisc() required
  > a DOWN interface.
  > ok visa@ (mpi@)

  ~ if_etherip.c                          ~ if_gif.c
  ~ if_pfsync.c                           ~ if_vxlan.c
  ~ pf.c                                  ~ pipex.c

  > Sprinkle some NET_ASSERT_LOCKED(), const and co to prepare running
  > pr_input handlers without KERNEL_LOCK().
  > ok visa@ (mpi@)

  ~ pfkeyv2.c                             ~ pfkeyv2.h

  > Flush flows using the radix-tree instead of a global list.
  > This will allows us to get rid of the list.
  > ok visa@ (mpi@)

  ~ if_etherip.h                          

  > Remove #if'0ed decls
  > Stop pretending that we will migrate the content of this file to
  > if_etherip.h.  Those declarations are needed by userland, and it's
  > easier to keep them in netinet/ip_ether.h.  ok visa@ (jca@)

  ~ pf.c                                  

  > It does not make sense to call pcb lookup from pf during packet
  > forwarding.  It should never match and would cause MP locking
  > problems.  While there remove an useless ifp parameter from
  > ip_output_ipsec_send().
  > from markus@; OK visa@ sashan@ (bluhm@)

netinet

  ~ igmp.c                                ~ in.h
  ~ ip_carp.c                             ~ ip_ether.c
  ~ ip_gre.c                              ~ ip_input.c
  ~ ipsec_input.c                         ~ raw_ip.c
  ~ tcp_input.c                           ~ tcp_usrreq.c
  ~ udp_usrreq.c                          

  > Sprinkle some NET_ASSERT_LOCKED(), const and co to prepare running
  > pr_input handlers without KERNEL_LOCK().
  > ok visa@ (mpi@)

  ~ ip_spd.c                              

  > Flush flows using the radix-tree instead of a global list.
  > This will allows us to get rid of the list.
  > ok visa@ (mpi@)

  ~ ip_ipsp.h                             

  > Keep kernel defines under #ifdef _KERNEL.
  > ok bluhm@ (mpi@)

  ~ ip_carp.c                             

  > Move the addrhook disestablish from carpdetach() to carp_clone_destroy()
  > to make it symmetric to the addrhook establish which is being done in
  > carp_clone_create().  This fixes the issue that carp does not recognize
  > address changes on the carp after an interface has detached, which could
  > cause issues like carp not recovering or even panics.  Unfortunately
  > there are more bugs lurking in carp.
  > ok bluhm@ (patrick@)

  ~ ip_output.c                           

  > It does not make sense to call pcb lookup from pf during packet
  > forwarding.  It should never match and would cause MP locking
  > problems.  While there remove an useless ifp parameter from
  > ip_output_ipsec_send().
  > from markus@; OK visa@ sashan@ (bluhm@)

  ~ ip_carp.h                             ~ ip_carp.c

  > Replace non mp-safe carp_iamatch6() with mp-safe carp_iamatch().
  > They have the same functionnality since friehm@ cleaned up
  > balancing code.
  > ok florian@, visa@, patrick@, bluhm@, jmatthew@ (mpi@)

  ~ in_proto.c                            ~ ip_input.c

  > Constify protocol tables and remove an assert now that ip_deliver() is
  > mp-safe.
  > ok bluhm@, visa@ (mpi@)

netinet6

  ~ in6.h                                 ~ ip6_input.c
  ~ raw_ip6.c                             

  > Sprinkle some NET_ASSERT_LOCKED(), const and co to prepare running
  > pr_input handlers without KERNEL_LOCK().
  > ok visa@ (mpi@)

  ~ ip6_forward.c                         

  > Do not assume if_get(9) returns a non NULL ifp when using a route
  > interface index.
  > This assumption is true for the moment iff the route lookup *and* the
  > if_get() are done under KERNEL_LOCK().  This is not the case here.
  > Found the hardway by Hrvoje Popovski.
  > ok florian@, visa@, bluhm@ (mpi@)

  ~ in6.c                                 ~ nd6_nbr.c

  > Replace non mp-safe carp_iamatch6() with mp-safe carp_iamatch().
  > They have the same functionnality since friehm@ cleaned up
  > balancing code.
  > ok florian@, visa@, patrick@, bluhm@, jmatthew@ (mpi@)

  ~ in6_proto.c                           ~ ip6_input.c
  ~ ip6protosw.h                          

  > Constify protocol tables and remove an assert now that ip_deliver() is
  > mp-safe.
  > ok bluhm@, visa@ (mpi@)

sys

  ~ socketvar.h                           

  > We want `sb_flags' to be protected by the socket lock rather than the
  > KERNEL_LOCK(), so change asserts accordingly.
  > This is now possible since sblock()/sbunlock() are always called with
  > the socket lock held.
  > ok bluhm@, visa@ (mpi@)

  ~ domain.h                              ~ protosw.h
  ~ socketvar.h                           

  > Constify protocol tables and remove an assert now that ip_deliver() is
  > mp-safe.
  > ok bluhm@, visa@ (mpi@)

  ~ timeout.h                             

  > add timeout_barrier, which is like intr_barrier and taskq_barrier.
  > if you're trying to free something that a timeout is using, you
  > have to wait for that timeout to finish running before doing the
  > free. timeout_del can stop a timeout from running in the future,
  > but it doesn't know if a timeout has finished being scheduled and
  > is now running.
  > previously you could know that timeouts are not running by simply
  > masking softclock interrupts on the cpu running the kernel. however,
  > code is now running outside the kernel lock, and timeouts can run
  > in a thread instead of softclock.
  > timeout_barrier solves the first problem by taking the kernel lock
  > and then masking softclock interrupts. that is enough to ensure
  > that any further timeout processing is waiting for those resources
  > to run again.
  > the second problem is solved by having timeout_barrier insert work
  > into the thread. when that work runs, that means all previous work
  > running in that thread has completed.
  > fixes and ok visa@, who thinks this will be useful for his work
  > too. (dlg@)

== usr.bin =========================================================== 10/11 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin

aucat

  ~ afile.c                               

  > Remove useless variable assignments in .au header parsing code. From
  > Michael W. Bombardieri. Thanks. (ratchov@)

openssl

  ~ apps_posix.c                          

  > Use clock_gettime and getrusage to compute real and user time.
  > Better handling of clock jumps, from Scott Cheloa. (jca@)

sndiod

  ~ fdpass.c                              

  > Free memory in the error code-path, when we run out of descriptors
  > during initialization. From Michael W. Bombardieri, thanks. (ratchov@)

  ~ dev.c                                 

  > Fix slot leak occuring when the device mode doesn't match
  > the client mode. Found by landry@. (ratchov@)

ssh

  ~ clientloop.c                          

  > Remove get_current_time() and replace with calls to monotime_double()
  > which uses CLOCK_MONOTONIC and works over clock steps.  "I like" markus@
  > (dtucker@)

  ~ misc.c                                ~ misc.h
  ~ packet.c                              ~ ssh-keyscan.c
  ~ sshconnect.c                          

  > Add monotime_ts and monotime_tv that return monotonic timespec and
  > timeval respectively.  Replace calls to gettimeofday() in packet timing
  > with monotime_tv so that the callers will work over a clock step.
  > Should prevent integer overflow during clock steps reported by wangle6
  > at huawei.com. "I like" markus@ (dtucker@)

vi

  ~ common/delete.c                       

  > Fix segfault which could be triggered by deleting a backwards sentence if
  > cursor's current line was blank:
  > echo "\nfoo" > a && vi a
  > d(
  > Same fix applied by rin@NetBSD, via nvi2 project.
  > OK tom@ martijn@ tb@ millert@ (mestre@)

== usr.sbin ========================================================== 11/11 ==

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin

kvm_mkdb

  ~ kvm_mkdb.c                            

  > The call to setegid(2) was replaced with setresgid(2) a while ago.
  > Adjust error message accordingly. (tb@)

smtpd

  ~ ca.c                                  ~ lka.c
  ~ mda.c                                 ~ mta.c
  ~ queue.c                               ~ smtp.c
  ~ smtpd.c                               

  > no need to check the sending process in imsg handlers when there is no
  > ambiguity: just use a single switch.
  > ok gilles@ sunil@ (eric@)

  ~ control.c                             

  > simplify imsg handler.
  > ok sunil@ gilles@ (eric@)

syslogd

  ~ syslogd.c                             

  > Revert my change to ignore EIO errors when writing to log files.
  > Syslogd continued logging messages to a file that had an EIO error.
  > This could slow down the whole system.  File system errors may cause
  > huge delays at every access.  This prevented debugging the issue.
  > Now syslogd will log a warning and shut down logging to this file
  > until restart or SIGHUP.
  > OK deraadt@ espie@ millert@ (bluhm@)

===============================================================================
_______________________________________________
owc mailing list
[email protected]
http://www.squish.net/mailman/listinfo/owc

Reply via email to