OpenBSD src changes summary for 2015-08-30 to 2015-09-06 inclusive
==================================================================

bin/ksh                                 distrib/amd64
distrib/notes                           distrib/sets
distrib/special                         etc/etc.amd64/Makefile.inc
gnu/usr.bin/binutils-2.17               include/db.h
include/err.h                           include/stdbool.h
lib/csu                                 lib/libc
lib/libkvm                              lib/libssl
libexec/ftpd                            libexec/ld.so
regress/lib                             regress/sbin
regress/usr.bin                         regress/usr.sbin
sbin/dhclient                           sbin/fdisk
sbin/fsck_ext2fs                        sbin/fsck_ffs
sbin/pfctl                              sbin/ping
sbin/ping6                              share/man
share/misc                              share/mk
sys/arch/alpha/alpha                    sys/arch/alpha/dev
sys/arch/alpha/eisa                     sys/arch/amd64/amd64
sys/arch/amd64/conf                     sys/arch/amd64/include
sys/arch/amd64/stand                    sys/arch/amd64/stand/boot
sys/arch/amd64/stand/cdboot             sys/arch/amd64/stand/efi
sys/arch/amd64/stand/efiboot            sys/arch/amd64/stand/libsa
sys/arch/amd64/stand/pxeboot            sys/arch/arm/include
sys/arch/hppa/hppa                      sys/arch/hppa64/hppa64
sys/arch/i386/i386                      sys/arch/i386/include
sys/arch/i386/isa                       sys/arch/i386/pci
sys/arch/i386/stand/boot                sys/arch/i386/stand/cdboot
sys/arch/i386/stand/libsa               sys/arch/i386/stand/pxeboot
sys/arch/macppc/conf                    sys/arch/macppc/macppc
sys/arch/macppc/pci                     sys/arch/mips64/mips64
sys/arch/octeon/dev                     sys/arch/powerpc/include
sys/arch/powerpc/powerpc                sys/arch/sgi/hpc
sys/arch/sgi/sgi                        sys/arch/sh/sh
sys/arch/solbourne/solbourne            sys/arch/sparc/conf
sys/arch/sparc/dev                      sys/arch/sparc/include
sys/arch/sparc64/include                sys/arch/sparc64/sparc64
sys/arch/vax/include                    sys/compat/linux
sys/conf                                sys/crypto
sys/ddb                                 sys/dev
sys/dev/acpi                            sys/dev/ic
sys/dev/pci                             sys/dev/pckbc
sys/dev/rasops                          sys/dev/usb
sys/dev/wscons                          sys/isofs/udf
sys/kern                                sys/lib/libsa
sys/miscfs/fifofs                       sys/miscfs/fuse
sys/net                                 sys/netinet
sys/netinet6                            sys/netmpls
sys/nfs                                 sys/stand
sys/sys                                 sys/uvm
usr.bin/awk                             usr.bin/bc
usr.bin/calendar                        usr.bin/compress
usr.bin/cvs                             usr.bin/diff3
usr.bin/doas                            usr.bin/mandoc
usr.bin/nc                              usr.bin/netstat
usr.bin/rcs                             usr.bin/sndiod
usr.bin/ssh                             usr.bin/tmux
usr.bin/tsort                           usr.bin/units
usr.bin/w                               usr.sbin/acpidump
usr.sbin/bgpd                           usr.sbin/portmap
usr.sbin/rpc.lockd                      usr.sbin/smtpd
usr.sbin/syslogd                        usr.sbin/tcpdump
usr.sbin/traceroute                     usr.sbin/unbound
usr.sbin/wsfontload                     

== bin =============================================================== 01/13 ==

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

ksh

  ~ c_ksh.c                               ~ edit.c
  ~ emacs.c                               ~ expand.h
  ~ history.c                             ~ mail.c
  ~ syn.c                                 ~ table.c
  ~ tree.c                                ~ var.c
  ~ vi.c                                  

  > remove casts and null checks before free. from Michael McConville
  > ok deraadt (tedu@)

  ~ main.c                                

  > no need to check for null argv anymore. from Martijn van Duren
  > ok deraadt (tedu@)

  ~ path.c                                

  > Add brackets to clarify assignments that are the result of a test operator.
  > ok deraadt@ looks correct millert@ jung@ (jsg@)

== distrib =========================================================== 02/13 ==

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

amd64

  ~ iso/Makefile                          + iso/template

  > create uefi/msdos partition using fdisk -b, then place uefi bootloader
  > into there.  inspired by similar changes kettenis is making to the
  > smaller miniroot. (deraadt@)

  ~ common/Makefile.inc                   ~ ramdisk_cd/Makefile
  + ramdisk_cd/template                   

  > Use the new fdisk -b functionality to put an EFI system partition on the
  > minirootXX.fs image and put the new UEFI bootloader on there.
  > Stop relying on /etc/disktab for the partition layout.  Instead use a
  > suitable
  > template and let disklabel(8) allocate all remaining free space to the 'a'
  > partition.
  > ok deraadt@ (kettenis@)

notes

  ~ octeon/install                        

  > Tell user to Put quotes around ${bootcmd} when saving it. Avoids
  > stopping at the first ';' (command separator). ok miod@ (matthieu@)

  ~ alpha/contents                        

  > minimal words about the miniroot.  My god, the notes have gotten so long
  > and verbose, who would ever spend their time reading them. (deraadt@)

sets

  ~ lists/base/md.amd64                   ~ lists/comp/md.amd64

  > sync (deraadt@)

  ~ lists/man/mi                          

  > sync (deraadt@)

  ~ lists/man/mi                          

  > sync (deraadt@)

  ~ lists/comp/mi                         ~ lists/man/mi

  > sync (deraadt@)

  ~ lists/base/md.amd64                   

  > sync (deraadt@)

special

  ~ libstubs/Makefile                     

  > add -I${LIBCSRCDIR}/hidden to handle _glibc_ churn (deraadt@)

  ~ libstubs/db.c                         

  > Add DEB_WEAK(dbopen) such that we provide dbopen as well as _libc_dbopen.
  > ok deraadt@ (kettenis@)

== etc =============================================================== 03/13 ==

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

etc.amd64/Makefile.inc

  ~ etc.amd64/Makefile.inc                

  > ship BOOTX64.EFI BOOTX86.EFI (deraadt@)

  ~ etc.amd64/Makefile.inc                

  > copy from mdec to reldir (deraadt@)

== gnu =============================================================== 04/13 ==

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

usr.bin/binutils-2.17

  ~ bfd/elfxx-mips.c                      

  > The code that guesstimates the number of local GOT entries assumes that
  > there
  > are only two loadable segments.  With W^X on OpenBSD, we will typically
  > create more than two.  Most shared libraries and binaries end up with
  > five of them.  One of them is the GOT itself so we don't need to take that
  > one into account.  So raise the number of spare local GOT entries from 5 to
  > 7.
  > This fixes building liblto_plugin.so in the gcc 4.9 port.
  > ok miod@, jasper@, pascal@ (kettenis@)

== include =========================================================== 05/13 ==

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

db.h

  ~ db.h                                  

  > Use new framework for wrapping dbopen()
  > Move internal declarations from <db.h> to libc's hidden/db.h
  > ok kettenis@ (guenther@)

err.h

  ~ err.h                                 

  > Add framework for resolving (pun intended) libc namespace issues, using
  > wrapper .h files and asm labels to let internal calls resolve directly and
  > not be overridable or use the PLT.  Then, apply that framework to most of
  > the functions in stdio.h, string.h, err.h, and wchar.h.  Delete the
  > should-have-been-hidden-all-along _v?(err|warn)[cx]? symbols while here.
  > tests clean on i386, amd64, sparc64, powerpc, and mips64
  > naming feedback from kettenis@ and millert@
  > ok kettenis@ (guenther@)

stdbool.h

  ~ stdbool.h                             

  > These days pcc defines __GNUC__ and we don't support gcc2. Also needed
  > for upcoming CompCert port.
  > Final version of the diff is from kettenis@ with input from jsg@ and tedu@.
  > ok kettenis@, jsg@, "I agree" millert@ (daniel@)

== lib =============================================================== 06/13 ==

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

csu

  ~ crt0.c                                ~ alpha/md_init.h
  ~ amd64/md_init.h                       ~ arm/md_init.h
  ~ hppa/md_init.h                        ~ hppa64/md_init.h
  ~ i386/md_init.h                        ~ m88k/md_init.h
  ~ mips64/md_init.h                      ~ powerpc/md_init.h
  ~ sh/md_init.h                          ~ sparc/md_init.h
  ~ sparc64/md_init.h                     ~ vax/md_init.h

  > In static binaries, invoke kbind() once to disable it.
  > With much assistance from miod@
  > ok deraadt@@ (guenther@)

libc

  ~ net/rcmd.c                            

  > Use nanosleep instead of sleep to avoid the extra layer and simplify later
  > symbol hiding
  > ok w/tweak deraadt@ (guenther@)

  ~ arch/hppa/SYS.h                       ~ arch/hppa/string/memmove.S

  > Add ALTEXIT_{STRONG,WEAK} to support wrapping of functions using ALTENTRY.
  > Fix memmove with that
  > ok deraadt@ (guenther@)

  ~ arch/arm/SYS.h                        

  > use #function rather than @function on arm
  > ok guenther (deraadt@)

  ~ arch/hppa/SYS.h                       ~ arch/hppa64/SYS.h

  > Also add ALTEXIT_{STRONG,WEAK} to hppa64, copied from hppa.  Document'em
  > too
  > ok deraadt@ (guenther@)

  ~ include/namespace.h                   ~ Symbols.list
  ~ Makefile.inc                          ~ arch/alpha/SYS.h
  ~ arch/alpha/string/bcopy.S             ~ arch/alpha/string/bzero.S
  ~ arch/alpha/string/ffs.S               ~ arch/alpha/string/memcpy.S
  ~ arch/alpha/string/memmove.S           ~ arch/amd64/SYS.h
  ~ arch/amd64/string/bcmp.S              ~ arch/amd64/string/bzero.S
  ~ arch/amd64/string/ffs.S               ~ arch/amd64/string/memchr.S
  ~ arch/amd64/string/memmove.S           ~ arch/amd64/string/memset.S
  ~ arch/amd64/string/strchr.S            ~ arch/amd64/string/strcmp.S
  ~ arch/amd64/string/strlen.S            ~ arch/amd64/string/strrchr.S
  ~ arch/arm/SYS.h                        ~ arch/arm/string/_memcpy.S
  ~ arch/arm/string/bcopy.S               ~ arch/arm/string/bzero.S
  ~ arch/arm/string/ffs.S                 ~ arch/arm/string/memcmp.S
  ~ arch/arm/string/memcpy.S              ~ arch/arm/string/memmove.S
  ~ arch/arm/string/memset.S              ~ arch/arm/string/strcmp.S
  ~ arch/arm/string/strncmp.S             ~ arch/hppa/SYS.h
  ~ arch/hppa/string/memmove.S            ~ arch/hppa64/SYS.h
  ~ arch/i386/SYS.h                       ~ arch/i386/string/bcmp.S
  ~ arch/i386/string/bzero.S              ~ arch/i386/string/ffs.S
  ~ arch/i386/string/memchr.S             ~ arch/i386/string/memcmp.S
  ~ arch/i386/string/memmove.S            ~ arch/i386/string/memset.S
  ~ arch/i386/string/strcat.S             ~ arch/i386/string/strchr.S
  ~ arch/i386/string/strcmp.S             ~ arch/i386/string/strcpy.S
  ~ arch/i386/string/strncmp.S            ~ arch/i386/string/strrchr.S
  ~ arch/m88k/SYS.h                       ~ arch/mips64/SYS.h
  ~ arch/mips64/string/bcmp.S             ~ arch/mips64/string/bcopy.S
  ~ arch/mips64/string/bzero.S            ~ arch/mips64/string/ffs.S
  ~ arch/mips64/string/strchr.S           ~ arch/mips64/string/strcmp.S
  ~ arch/mips64/string/strlen.S           ~ arch/mips64/string/strrchr.S
  ~ arch/powerpc/SYS.h                    ~ arch/powerpc/string/memmove.S
  ~ arch/sh/SYS.h                         ~ arch/sh/string/bcopy.S
  ~ arch/sh/string/ffs.S                  ~ arch/sh/string/memcpy.S
  ~ arch/sh/string/memmove.S              ~ arch/sh/string/memset.S
  ~ arch/sparc/DEFS.h                     ~ arch/sparc/SYS.h
  ~ arch/sparc/string/bzero.S             ~ arch/sparc/string/ffs.S
  ~ arch/sparc/string/strlen.S            ~ arch/sparc64/SYS.h
  ~ arch/sparc64/string/ffs.S             ~ arch/sparc64/string/strlen.S
  ~ arch/vax/DEFS.h                       ~ arch/vax/SYS.h
  ~ arch/vax/string/bcmp.S                ~ arch/vax/string/bcopy.S
  ~ arch/vax/string/bzero.S               ~ arch/vax/string/ffs.S
  ~ arch/vax/string/memcmp.S              ~ arch/vax/string/memcpy.S
  ~ arch/vax/string/memmove.S             ~ arch/vax/string/memset.S
  ~ arch/vax/string/strchr.S              ~ gen/auth_subr.c
  ~ gen/authenticate.c                    ~ gen/ctermid.c
  ~ gen/err.c                             ~ gen/errc.c
  ~ gen/errx.c                            ~ gen/getbsize.c
  ~ gen/getnetgrent.c                     ~ gen/popen.c
  ~ gen/psignal.c                         ~ gen/shm_open.c
  ~ gen/verr.c                            ~ gen/verrc.c
  ~ gen/verrx.c                           ~ gen/vwarn.c
  ~ gen/vwarnc.c                          ~ gen/vwarnx.c
  ~ gen/warn.c                            ~ gen/warnc.c
  ~ gen/warnx.c                           ~ stdio/asprintf.c
  ~ stdio/clrerr.c                        ~ stdio/dprintf.c
  ~ stdio/fclose.c                        ~ stdio/fdopen.c
  ~ stdio/feof.c                          ~ stdio/ferror.c
  ~ stdio/fflush.c                        ~ stdio/fgetc.c
  ~ stdio/fgetln.c                        ~ stdio/fgetpos.c
  ~ stdio/fgets.c                         ~ stdio/fgetwc.c
  ~ stdio/fgetws.c                        ~ stdio/fileno.c
  ~ stdio/fmemopen.c                      ~ stdio/fopen.c
  ~ stdio/fprintf.c                       ~ stdio/fpurge.c
  ~ stdio/fputc.c                         ~ stdio/fputs.c
  ~ stdio/fputwc.c                        ~ stdio/fputws.c
  ~ stdio/fread.c                         ~ stdio/freopen.c
  ~ stdio/fscanf.c                        ~ stdio/fseek.c
  ~ stdio/fsetpos.c                       ~ stdio/ftell.c
  ~ stdio/funopen.c                       ~ stdio/fwide.c
  ~ stdio/fwprintf.c                      ~ stdio/fwrite.c
  ~ stdio/fwscanf.c                       ~ stdio/getc.c
  ~ stdio/getchar.c                       ~ stdio/getdelim.c
  ~ stdio/getline.c                       ~ stdio/getw.c
  ~ stdio/getwc.c                         ~ stdio/getwchar.c
  ~ stdio/mktemp.c                        ~ stdio/open_memstream.c
  ~ stdio/open_wmemstream.c               ~ stdio/perror.c
  ~ stdio/printf.c                        ~ stdio/putc.c
  ~ stdio/putchar.c                       ~ stdio/puts.c
  ~ stdio/putw.c                          ~ stdio/putwc.c
  ~ stdio/putwchar.c                      ~ stdio/remove.c
  ~ stdio/rewind.c                        ~ stdio/rget.c
  ~ stdio/scanf.c                         ~ stdio/setbuf.c
  ~ stdio/setbuffer.c                     ~ stdio/setvbuf.c
  ~ stdio/snprintf.c                      ~ stdio/sscanf.c
  ~ stdio/swprintf.c                      ~ stdio/swscanf.c
  ~ stdio/tempnam.c                       ~ stdio/tmpfile.c
  ~ stdio/tmpnam.c                        ~ stdio/ungetc.c
  ~ stdio/ungetwc.c                       ~ stdio/vasprintf.c
  ~ stdio/vdprintf.c                      ~ stdio/vfprintf.c
  ~ stdio/vfscanf.c                       ~ stdio/vfwprintf.c
  ~ stdio/vfwscanf.c                      ~ stdio/vprintf.c
  ~ stdio/vscanf.c                        ~ stdio/vsnprintf.c
  ~ stdio/vsscanf.c                       ~ stdio/vswprintf.c
  ~ stdio/vswscanf.c                      ~ stdio/vwprintf.c
  ~ stdio/vwscanf.c                       ~ stdio/wbuf.c
  ~ stdio/wprintf.c                       ~ stdio/wscanf.c
  ~ string/bcmp.c                         ~ string/bcopy.c
  ~ string/bzero.c                        ~ string/explicit_bzero.c
  ~ string/ffs.c                          ~ string/memccpy.c
  ~ string/memchr.c                       ~ string/memcmp.c
  ~ string/memcpy.c                       ~ string/memmem.c
  ~ string/memmove.c                      ~ string/memrchr.c
  ~ string/memset.c                       ~ string/stpncpy.c
  ~ string/strcasecmp.c                   ~ string/strcasestr.c
  ~ string/strchr.c                       ~ string/strcmp.c
  ~ string/strcoll.c                      ~ string/strcspn.c
  ~ string/strdup.c                       ~ string/strerror.c
  ~ string/strerror_r.c                   ~ string/strlcat.c
  ~ string/strlcpy.c                      ~ string/strlen.c
  ~ string/strmode.c                      ~ string/strncat.c
  ~ string/strncmp.c                      ~ string/strncpy.c
  ~ string/strndup.c                      ~ string/strnlen.c
  ~ string/strpbrk.c                      ~ string/strrchr.c
  ~ string/strsep.c                       ~ string/strsignal.c
  ~ string/strspn.c                       ~ string/strstr.c
  ~ string/strtok.c                       ~ string/strxfrm.c
  ~ string/timingsafe_bcmp.c              ~ string/timingsafe_memcmp.c
  + hidden/err.h                          + hidden/stdio.h
  + hidden/string.h                       + hidden/wchar.h

  > Add framework for resolving (pun intended) libc namespace issues, using
  > wrapper .h files and asm labels to let internal calls resolve directly and
  > not be overridable or use the PLT.  Then, apply that framework to most of
  > the functions in stdio.h, string.h, err.h, and wchar.h.  Delete the
  > should-have-been-hidden-all-along _v?(err|warn)[cx]? symbols while here.
  > tests clean on i386, amd64, sparc64, powerpc, and mips64
  > naming feedback from kettenis@ and millert@
  > ok kettenis@ (guenther@)

  ~ Makefile.inc                          

  > only 32-bit systems need the quad functions.
  > skipping a libc crank since unused in base on 64bit systems
  > discussed with miod, tedu; ok kettenis (deraadt@)

  ~ rpc/svc_run.c                         ~ rpc/svc_tcp.c
  ~ rpc/svc_udp.c                         

  > Remove calls to perror(); the error returns are sufficient, and these
  > library may not assume stderr is useable.
  > ok millert miod beck (deraadt@)

  ~ rpc/auth_unix.c                       ~ rpc/clnt_tcp.c
  ~ rpc/clnt_udp.c                        ~ rpc/svc_simple.c
  ~ rpc/svc_tcp.c                         ~ rpc/svc_udp.c
  ~ rpc/xdr.c                             ~ rpc/xdr_array.c
  ~ rpc/xdr_rec.c                         ~ rpc/xdr_reference.c

  > Remove all bogus writes to stderr.  Only explicit requests should
  > go that way.
  > ok miod beck (deraadt@)

  ~ rpc/svc_auth_unix.c                   

  > do not printf() on error from libc; ok millert (deraadt@)

  ~ rpc/auth_unix.c                       ~ rpc/pmap_clnt.c
  ~ rpc/pmap_getmaps.c                    

  > Delete 3 more stderr messages, right before returning a proper error.
  > Code from way in the past. (deraadt@)

  ~ asr/asr.c                             

  > use _PATH_RESCONF (deraadt@)

  ~ gen/auth_subr.c                       

  > no more gcc2.
  > ok deraadt@ (daniel@)

  ~ gen/gethostname.3                     

  > word fix; from henning petersen (netbsd pr/49641, -r1.18)
  > ok millert (jmc@)

  ~ sys/getsockopt.2                      

  > Add missing information to the socket splicing man page to make it
  > more comprehensible.
  > OK jmc@ tedu@ (bluhm@)

  ~ arch/amd64/SYS.h                      ~ arch/amd64/sys/Ovfork.S
  ~ arch/amd64/sys/brk.S                  ~ arch/amd64/sys/sbrk.S
  ~ arch/amd64/sys/sigprocmask.S          ~ arch/amd64/sys/sigsuspend.S
  ~ arch/amd64/sys/syscall.S              ~ arch/i386/SYS.h
  ~ arch/i386/sys/Ovfork.S                ~ arch/i386/sys/brk.S
  ~ arch/i386/sys/cerror.S                ~ arch/i386/sys/sbrk.S
  ~ arch/i386/sys/sigpending.S            ~ arch/i386/sys/sigprocmask.S
  ~ arch/i386/sys/sigreturn.S             ~ arch/i386/sys/sigsuspend.S
  ~ arch/i386/sys/syscall.S               ~ arch/i386/sys/tfork_thread.S
  ~ arch/mips64/SYS.h                     ~ arch/mips64/sys/brk.S
  ~ arch/mips64/sys/sbrk.S                ~ arch/mips64/sys/sigprocmask.S
  ~ arch/powerpc/SYS.h                    ~ arch/powerpc/sys/brk.S
  ~ arch/powerpc/sys/cerror.S             ~ arch/powerpc/sys/sbrk.S
  ~ arch/powerpc/sys/sigpending.S         ~ arch/powerpc/sys/sigprocmask.S
  ~ arch/powerpc/sys/sigsuspend.S         ~ arch/powerpc/sys/tfork_thread.S
  ~ arch/sparc64/SYS.h                    ~ arch/sparc64/sys/brk.S
  ~ arch/sparc64/sys/cerror.S             ~ arch/sparc64/sys/sbrk.S
  ~ arch/sparc64/sys/sigpending.S         ~ arch/sparc64/sys/sigprocmask.S
  ~ arch/sparc64/sys/sigreturn.S          ~ arch/sparc64/sys/sigsuspend.S
  ~ arch/sparc64/sys/tfork_thread.S       

  > Adds hidden _libc_FOO aliases for the system call stubs.
  > Stop generating _brk and _sbrk symbols: they've already been hidden.
  > Set the ELF symbol size on the syscall stubs.
  > Give the __{min,cur}brk symbols a size and type, and hide more jump labels.
  > ok deraadt@ (guenther@)

  - nls/_catclose.c                       - nls/_catgets.c
  - nls/_catopen.c                        ~ Symbols.list
  ~ include/namespace.h                   ~ nls/Makefile.inc
  ~ nls/catclose.c                        ~ nls/catgets.c
  ~ nls/catopen.c                         ~ string/strerror_r.c
  + hidden/nl_types.h                     

  > Use new framework for wrapping cat{open,gets,close}(), eliminating
  > _cat* in the process.
  > ok kettenis@ (guenther@)

  ~ db/db/db.c                            + hidden/db.h

  > Use new framework for wrapping dbopen()
  > Move internal declarations from <db.h> to libc's hidden/db.h
  > ok kettenis@ (guenther@)

  ~ hidden/nl_types.h                     

  > Delete duplicated CVS $foo tags (guenther@)

  ~ citrus/citrus_utf8.c                  

  > check for limiting the range of UTF-8 to 0x10FFFF, as requested by RFC
  > 3629.
  > ok stsp@ (semarie@)

  ~ yp/yp_bind.c                          

  > rather than assuming stderr is alive, open + dprintf to /dev/tty
  > ok guenther millert (deraadt@)

  ~ Symbols.list                          

  > Hide some YP internals.  Annotate a few private hooks currently used
  > by ypserv, passwd, or chpass... maybe we can use different tricks to
  > interface with libc... (deraadt@)

  ~ citrus/citrus_utf8.c                  

  > off-by-one for the previous patch. the limit is inclusive: 0x10ffff is a
  > valid codepoint.
  > ok stsp@ (semarie@)

  ~ arch/mips64/SYS.h                     

  > This is probably what guenther@ had in mind. (miod@)

  ~ arch/powerpc/sys/sigsuspend.S         

  > Fix previous: restore a PSEUDO_SUFFIX macro to actually handle errno and
  > return
  > cone of shame guenther@
  > ok deraadt@ (guenther@)

  ~ sys/tame.2                            

  > remove excessive Xr; from rob pierce (deraadt@)

  ~ sys/tame.2                            

  > spacing required before punctuation; (jmc@)

  - gen/_sys_errlist.c                    - gen/_sys_nerr.c
  - gen/_sys_siglist.c                    ~ Symbols.list
  ~ gen/Makefile.inc                      ~ gen/errlist.c
  ~ gen/siglist.c                         ~ gen/signame.c
  ~ hidden/stdio.h                        ~ include/namespace.h
  ~ string/strerror_r.c                   + hidden/errno.h
  + hidden/signal.h                       

  > Fix aliasing of sys_errlist, sys_nerr, sys_siglist, and sys_signame
  > to eliminate duplicate copies of the tables and get direct access
  > internally
  > ok kettenis@ deraadt@ (guenther@)

  ~ Symbols.list                          

  > Document the rule for keeping static and shared archs in sync (guenther@)

libkvm

  ~ kvm_private.h                         ~ kvm.c

  > add kvm_realloc() as a private function.
  > part of a larger diff
  > ok millert@ guenther@ (dlg@)

  ~ kvm.c                                 ~ kvm_file2.c

  > fix a race when fetching files from the kernel. the number of files
  > might have increased between when we got the number of files and
  > when we requested that number of files.
  > now we allocate another 10ish percent on top of what the kernel
  > says we need, and retry if that still isnt enough.
  > while here use realloc instead of constantly going through free/malloc
  > sequences.
  > with input from claudio@ deraadt@
  > ok millert@ guenther@ (dlg@)

libssl

  ~ src/ssl/bs_cbb.c                      

  > Make it always safe to call CBB_cleanup() providing that CBB_init() or
  > CBB_init_fixed() have been attempted.
  > ok doug@ (jsing@)

  ~ src/ssl/s23_clnt.c                    ~ src/ssl/s3_clnt.c
  ~ src/ssl/s3_srvr.c                     ~ src/ssl/ssl_locl.h
  ~ src/ssl/t1_lib.c                      

  > Remove the ssl_prepare_{client,server}hello_tlsext() functions, which are
  > now nothing more than noops.
  > ok bcook@ doug@ (jsing@)

  ~ src/ssl/srtp.h                        

  > Remove duplicate prototype for SSL_get_selected_srtp_profile().
  > From Aaron Burghardt. (jsing@)

  ~ src/ssl/s23_clnt.c                    

  > Fewer magic numbers - we already have defines for the header lengths, so
  > make use of them.
  > ok doug@ (jsing@)

  ~ src/ssl/d1_clnt.c                     ~ src/ssl/s3_clnt.c
  ~ src/ssl/ssl_locl.h                    

  > Replace dtls1_client_hello() with ssl3_client_hello() - both are basically
  > the same code, with two slight differences for DTLS handling.
  > Also, make use of send_cookie to determine if the client random needs to
  > be preserved, rather than testing if it is zeroed (hopefully your random
  > number generator never returned all zeros, since the existing code would
  > break). Inspired by BoringSSL.
  > ok doug@ (jsing@)

== libexec =========================================================== 07/13 ==

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

ftpd

  ~ ftpd.c                                

  > test pointers with NULL not '\0' (jsg@)

ld.so

  ~ Makefile                              

  > Add framework for resolving (pun intended) libc namespace issues, using
  > wrapper .h files and asm labels to let internal calls resolve directly and
  > not be overridable or use the PLT.  Then, apply that framework to most of
  > the functions in stdio.h, string.h, err.h, and wchar.h.  Delete the
  > should-have-been-hidden-all-along _v?(err|warn)[cx]? symbols while here.
  > tests clean on i386, amd64, sparc64, powerpc, and mips64
  > naming feedback from kettenis@ and millert@
  > ok kettenis@ (guenther@)

  ~ m88k/rtld_machine.c                   ~ sparc/rtld_machine.c

  > Use kbind for lazy binding GOT/PLT updates on m88k and sparc.
  > Much discussion with and assistance from miod and deraadt
  > ok miod@ (guenther@)

  ~ ldconfig/library.c                    ~ ldconfig/prebind.c

  > Check strdup return value for NULL.
  > ok millert@ (tobias@)

== regress =========================================================== 08/13 ==

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

lib

  ~ libssl/Makefile                       + libssl/client/Makefile
  + libssl/client/clienttest.c            

  > Add an initial TLS client regress, which currently covers ClientHello
  > message generation. (jsing@)

sbin

  ~ route/Makefile                        ~ route/rttest14.ok
  ~ route/rttest16.ok                     

  > No more connected routes on loopback interfaces.
  > Those tests now pass even if you have an AUTOCONF'd address on your
  > machine.
  > Note that the global list of prefixes is *still* not rtable ID aware.
  > (mpi@)

  ~ pfctl/pf103.ok                        

  > sync to reflect changes in pfctl_parser.c -r1.305 (mikeb@)

  ~ pfctl/pf47.ok                         ~ pfctl/pf47.optimized

  > order of assigned v6 addresses has slightly changed (mikeb@)

  ~ pfctl/pfail8.ok                       

  > route-to, reply-to and dup-to are no longer supported on block rules
  > (mikeb@)

  ~ pfctl/pf47.ok                         ~ pfctl/pf47.optimized

  > revert previous since the v6 address order has been restored (mikeb@)

usr.bin

  ~ tsort/Makefile                        + tsort/hints1
  + tsort/hints2                          + tsort/pairs7
  + tsort/t7.canonical                    

  > simple check of -h option. More deviously, check that option/parameter
  > handling actually works correctly. (espie@)

  ~ ssh/hostkey-rotate.sh                 

  > trim junk from end of file; bz#2455 from Jakub Jelen (djm@)

  ~ mandoc/man/SH/noarg.out_ascii         ~ mandoc/man/SH/noarg.out_lint
  ~ mandoc/man/SS/noarg.out_ascii         ~ mandoc/man/SS/noarg.out_lint
  ~ mandoc/man/TP/Makefile                + mandoc/man/TP/fill.in
  + mandoc/man/TP/fill.out_ascii          

  > Fill mode changes don't break next-line scope in all cases,
  > in particular not for tagged paragraphs.
  > Issue found by Christian Neukirchen <chneukirchen at gmail dot com>
  > in the exiv2(1) manual page. (schwarze@)

usr.sbin

  + syslogd/args-block-host-tcp6.pl       + syslogd/args-block-host-udp4.pl
  + syslogd/args-logsocket.pl             

  > New tests for +host in syslog.conf that matches on an IPv4 and IPv6
  > address.  Add test for syslogd -p log_socket. (bluhm@)

  ~ syslogd/args-dropped-tcp.pl           ~ syslogd/args-dropped-tls.pl
  ~ syslogd/args-sync-tcp.pl              ~ syslogd/syslogd.pl
  + syslogd/args-sendsyslog-error.pl      

  > Add test for sendsyslog(2) dropped message reporting. (bluhm@)

== sbin ============================================================== 09/13 ==

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

dhclient

  ~ dhclient.c                            

  > Support deviant but historically blessed practice of accepting
  > multiple domain names in dhcp option 15 (Domain Name). This allows
  > resolv.conf 'search' statements to be built with multiple entries.
  > Adhere to the limits stated in resolv.conf(5) - no more than 6
  > domains and less than 1024 characters total length.
  > Encountered in the wild and fix tested by beck@. Feedback from
  > deraadt@ (krw@)

  ~ dhclient.c                            

  > Some whitespace bulking out a diff unnecessarily. (krw@)

fdisk

  ~ fdisk.8                               ~ fdisk.c
  ~ mbr.c                                 

  > Add a -b option, to be used together with -i, that tells fdisk to add a
  > special boot partition on architectures that need it.
  > For now those architectures are amd64 and i386, where this option will
  > create an EFI system partition to store our new UEFI bootloader.
  > ok deraadt@, krw@ (kettenis@)

  ~ fdisk.8                               ~ fdisk.c

  > shuffle -b into place; while there, do some general tidy up
  > of SYNOPSIS and usage(); (jmc@)

  ~ fdisk.8                               ~ fdisk.c

  > correct a mistake in my previous commit; (jmc@)

fsck_ext2fs

  ~ utilities.c                           

  > snprintf+write --> dprintf
  > ok deraadt@ (guenther@)

fsck_ffs

  ~ utilities.c                           

  > snprintf+write --> dprintf
  > ok deraadt@ (guenther@)

pfctl

  ~ parse.y                               

  > - route-to, dup-to, reply-to should not override the block action
  > Spotted by Dilli Paudel <dilli ! paudel at oracle ! com>
  > ok jung@, ok mikeb@ (sashan@)

  ~ pfctl_parser.c                        

  > interface should only be specified for root queues; found by jsg (mikeb@)

ping

  ~ ping.c                                

  > Move tricky system calls up and sensitive data calculations down so
  > that tame(2) can sit in the middle.
  > diff from deraadt@
  > "you can commit that diff" deraadt@ (florian@)

ping6

  ~ ping6.c                               

  > Remove RH0 support, it was deprecated in RFC 5095 some time ago and
  > you couldn't send packets anyway since our stack drops them
  > unconditionally.
  > reasoning is sound to deraadt@, OK mpi@ (florian@)

  ~ ping6.c                               

  > Clean up getaddrinfo(3) calls to make them look like the canonical
  > example from the man page. While there was nothing wrong this pattern
  > makes it easier to figure that out.
  > While here be more paranoid how much we memcpy(3).
  > Looks clean to deraadt@ (florian@)

  ~ ping6.8                               

  > Forgot to commit the man page bits when removing RH0 support. (florian@)

  ~ ping6.c                               

  > remove unused define; no binary change (florian@)

  ~ ping6.c                               

  > Display the correct source address when using a non-default routing
  > table.
  > Problem reported on bugs@ and diff from phil AT unita.com.au, thanks!
  > OK phessler (florian@)

== share ============================================================= 10/13 ==

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

man

  ~ man4/man4.amd64/Makefile              + man4/man4.amd64/efifb.4

  > Add efifb(4) man page.
  > ok deraadt (yasuoka@)

  ~ man4/man4.amd64/efifb.4               

  > tweak previous; (jmc@)

  ~ man5/port-modules.5                   

  > Less confusing description of 'nort' for ghc.port.mk. (kili@)

  ~ man7/mandoc_char.7                    

  > Recommend an unambiguous escape for minus signs instead of \-.
  > Historically, \- was used in troff for three cases: flags/pathnames,
  > en dashes, and minus signs. mandoc_char(7) currently recommends it
  > for minus signs, recommends \(en for en dashes, and doesn't mention
  > flags/pathnames.
  > In the old days, nroff rendered \- as ASCII '-', and troff rendered
  > it as en dash/minus (which were visually indistinguishable).
  > In Unicode, en dashes and minus signs are semantically distinct and
  > encoded differently (U+2013 for en dash, U+2212 for minus), and
  > often rendered differently too. Meanwhile ASCII '-' has been renamed
  > "hyphen-minus" and fonts typically render it closest to a hyphen, not
  > a minus.
  > There is very little consistency across roff implementations and output
  > formats for what Unicode character \- corresponds to. So at least for
  > minus signs, change the recommendation to the unambiguous \(mi escape.
  > ok jmc@ (after reams of discussion) (bentley@)

  ~ man9/Makefile                         ~ man9/srp_enter.9

  > mattieu baptiste reported a problem with bpf+srps where the per cpu
  > hazard pointers were becoming corrupt and therefore panics.
  > the problem turned out to be that bridge_input calls if_input on
  > behalf of a hardware interface which then calls bpf_mtap at splsoftnet,
  > while the actual hardware nic calls if_input and bpf_mtap at splnet.
  > the hardware interrupts ran in the middle of the bpf calls bridge
  > runs at softnet. this means the same srps are being entered and
  > left on the same cpu at different ipls, which led to races because
  > of the order of operations on the per cpu hazard pointers.
  > after a lot of experimentation, jmatthew@ figured out how to deal
  > with this problem without introducing per cpu critical sections
  > (ie, splhigh) calls in srp_enter and srp_leave, and without introducing
  > atomic operations.
  > the solution is to iterate forward through the array of hazard
  > pointers in srp_enter, and backward in srp_leave to clear. if you
  > guarantee that you leave srps in the reverse order to entering them,
  > then you can use the same set of SRPs at different IPLs on the same
  > CPU.
  > the ordering requirement is a problem if we want to build linked
  > data structures out of srps because you need to hold a ref to the
  > current element containing the next srp to use it, before giving
  > up the current ref. we're adding srp_follow() to support taking the
  > next ref and giving up the current one while preserving the structure
  > of the hazard pointer list. srp_follow() does this by reusing the
  > hazard pointer for the current reference for the next ref.
  > both mattieu baptiste and jmatthew@ have been hitting this pretty
  > hard with a tweaked version of srp+bpf that uses srp_follow instead
  > of interleaved srp_enter/srp_leave sequences. neither can reproduce
  > the panics anymore.
  > thanks to mattieu for the report and tests
  > ok jmatthew@ (dlg@)

  ~ man9/Makefile                         ~ man9/rtalloc.9

  > Introduce rtisvalid(9) a function to check if a (cached) route entry
  > can be used or should be released by rtfree(9).
  > It currently checks if the route is UP and is not attached to a stall
  > ifa.
  > ok bluhm@, claudio@ (mpi@)

  ~ man9/rtalloc.9                        

  > space between macro args and punctuation; (jmc@)

  ~ man5/ruby-module.5                    

  > Remove ruby19 and rbx FLAVOR information, as support for both was removed
  > recently.
  > OK kspillner@ (jeremy@)

  ~ man9/pool.9                           

  > Remove some lies and document that passing the PR_WAITOK flag to
  > pmap_init(9)
  > is the new way to request a non-interrupt-safe backend allocator.
  > ok jmc@, deraadt@ (kettenis@)

  ~ man4/puc.4                            

  > Add support for QEMU PCI serial devices in puc(4)
  > OK deraadt@ (sf@)

misc

  ~ countrycodes                          

  > sync with ISO web site; ok millert@ (naddy@)

mk

  ~ bsd.own.mk                            

  > update reasons for arch without pie; with pascal (deraadt@)

== sys =============================================================== 11/13 ==

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

arch/alpha/alpha

  ~ interrupt.c                           

  > sizes for free() (deraadt@)

arch/alpha/dev

  ~ shared_intr.c                         

  > sizes for free() (deraadt@)

arch/alpha/eisa

  ~ eisa_machdep.c                        

  > sizes for free() (deraadt@)

arch/amd64/amd64

  ~ acpi_machdep.c                        ~ bios.c
  ~ machdep.c                             ~ mainbus.c
  ~ wscons_machdep.c                      + efifb.c

  > Modify kernel to prepare boot from UEFI.
  > - Add new boot arg "bios_efi_info_t" to pass the paramters from UEFI
  > - Make bios(4) and acpi(4) be able to probe with the parameters from
  > UEFI
  > - Add efifb(8).  It uses the framebuffer from UEFI and it will work as
  > a backend of wsdisplay(4) and wsfb (X11 video driver).  Disabled by
  > the kernel config for this moment
  > input and ok kettenis (yasuoka@)

  ~ mainbus.c                             

  > Don't try to attach efifb(4) on non-UEFI boots.
  > ok miod@, deraadt@ (kettenis@)

  ~ efifb.c                               ~ mainbus.c

  > Check driver name in match function such that driver only attempts to
  > attach
  > when we actually want it to.
  > ok deraadt@ (kettenis@)

  ~ trap.c                                

  > Delete bogus MATH_EMULATE holdover from i386 (guenther@)

  ~ efifb.c                               

  > Only advertise the color depth we actually support.  This makes the
  > xf86-video-wsfb driver work.
  > Map the framebuffer in write-combining mode.  This significantly speeds
  > things up.
  > ok yuo@, yasuoka@, deraadt@ (kettenis@)

  ~ trap.c                                

  > set sival_ptr before calling trapsignal() for user breakpoint/trace traps
  > ok guenther@ (jsg@)

  ~ disksubr.c                            

  > Always call readdoslabel() before readgptlabel(). Doubly always call them
  > in the same order. Fix writedisklabel() to follow these simple rules.
  > ok kettenis@ (krw@)

  ~ i8259.c                               

  > remove a bunch of orphaned prototypes and unused functions; ok miod
  > (mikeb@)

  ~ bios.c                                

  > Fix the condition of finding SMBIOS.  Found by gerhard@.
  > ok gerhard uebayasi deraadt (yasuoka@)

  ~ pmap.c                                

  > Fix a race in pmap_page_remove().
  > This should get mail from the mailing lists flowing again.  Thanks to
  > millert@ for helping me tracking this down.
  > ok millert@, tedu@, mlarkin@ (kettenis@)

  ~ efifb.c                               

  > Correct bounds checking in efifb_mmap(). ok yasuoka@ (miod@)

arch/amd64/conf

  ~ GENERIC                               ~ files.amd64

  > Modify kernel to prepare boot from UEFI.
  > - Add new boot arg "bios_efi_info_t" to pass the paramters from UEFI
  > - Make bios(4) and acpi(4) be able to probe with the parameters from
  > UEFI
  > - Add efifb(8).  It uses the framebuffer from UEFI and it will work as
  > a backend of wsdisplay(4) and wsfb (X11 video driver).  Disabled by
  > the kernel config for this moment
  > input and ok kettenis (yasuoka@)

  ~ GENERIC                               ~ RAMDISK

  > Enable efifb(4).
  > ok deraadt kettenis (yasuoka@)

  ~ RAMDISK                               ~ RAMDISK_CD

  > No real point in having efifb(4) on the floppies; we want it on everything
  > else!
  > ok deraadt@ (kettenis@)

  ~ files.amd64                           

  > Let efifb depend on rasops32 such that it works on ramdisks where rasops32
  > isn't brought in by inteldrm or radeondrm. (kettenis@)

arch/amd64/include

  ~ biosvar.h                             + efifbvar.h

  > Modify kernel to prepare boot from UEFI.
  > - Add new boot arg "bios_efi_info_t" to pass the paramters from UEFI
  > - Make bios(4) and acpi(4) be able to probe with the parameters from
  > UEFI
  > - Add efifb(8).  It uses the framebuffer from UEFI and it will work as
  > a backend of wsdisplay(4) and wsfb (X11 video driver).  Disabled by
  > the kernel config for this moment
  > input and ok kettenis (yasuoka@)

  ~ efifbvar.h                            

  > Check driver name in match function such that driver only attempts to
  > attach
  > when we actually want it to.
  > ok deraadt@ (kettenis@)

  ~ i8259.h                               

  > remove a bunch of orphaned prototypes and unused functions; ok miod
  > (mikeb@)

arch/amd64/stand

  ~ Makefile                              

  > enter efiboot (deraadt@)

arch/amd64/stand/boot

  ~ Makefile                              

  > Initial commit of uefi boot loader of OpenBSD.
  > ok deraadt yuo (yasuoka@)

  ~ conf.c                                

  > Bring the boot changes on amd64 to i386.  alloca is deleted.
  > Also fix the boot from BIOS and bump the version.
  > input and ok deraadt (yasuoka@)

arch/amd64/stand/cdboot

  ~ Makefile                              

  > Initial commit of uefi boot loader of OpenBSD.
  > ok deraadt yuo (yasuoka@)

  ~ conf.c                                

  > Bring the boot changes on amd64 to i386.  alloca is deleted.
  > Also fix the boot from BIOS and bump the version.
  > input and ok deraadt (yasuoka@)

arch/amd64/stand/efi

  + include/README                        + include/efi.h
  + include/efi_nii.h                     + include/efiapi.h
  + include/eficon.h                      + include/eficonsctl.h
  + include/efidebug.h                    + include/efidef.h
  + include/efidevp.h                     + include/efierr.h
  + include/efifpswa.h                    + include/efifs.h
  + include/efigop.h                      + include/efinet.h
  + include/efipart.h                     + include/efiprot.h
  + include/efipxebc.h                    + include/efiser.h
  + include/efistdarg.h                   + include/amd64/efibind.h
  + include/i386/efibind.h                

  > Initial commit of uefi boot loader of OpenBSD.
  > ok deraadt yuo (yasuoka@)

arch/amd64/stand/efiboot

  + Makefile                              + Makefile.common
  + Makefile.inc                          + conf.c
  + efiboot.c                             + efiboot.h
  + eficall.S                             + eficall.h
  + efidev.c                              + efidev.h
  + heap.h                                + ldscript.amd64
  + ldscript.i386                         + run_i386.S
  + run_i386.h                            + self_reloc.c
  + start.S                               + bootx64/Makefile
  + bootx86/Makefile                      

  > Initial commit of uefi boot loader of OpenBSD.
  > ok deraadt yuo (yasuoka@)

  ~ Makefile                              

  > only enter deeper on amd64 (deraadt@)

  ~ conf.c                                

  > Bring the boot changes on amd64 to i386.  alloca is deleted.
  > Also fix the boot from BIOS and bump the version.
  > input and ok deraadt (yasuoka@)

  ~ efidev.c                              ~ efidev.h

  > Add missing copyright. (yasuoka@)

  ~ efiboot.c                             

  > Use the pointer we got back from alloc() when calling free() instead of
  > something that points smack in the middle of the buffer. (kettenis@)

  ~ efiboot.c                             

  > Improve the code that tries to figure out which device we booted from.  The
  > EFI Loaded Image Device Path Protocol typically includes partition and file
  > components.  We want to match it to a "raw" Device Path without these
  > components though, so we declare we have found the boot device as soon as
  > the Device Path matches the initial components of the Loaded Image Device
  > Path.
  > ok yasuoka@ (kettenis@)

  ~ efidev.c                              

  > Use checksum to check the gpt parition.  Old check was missing
  > letoh32()/letoh64() calls.  Also increase buffer size from 512 to
  > 4092.
  > initial work from krw
  > ok krw (yasuoka@)

arch/amd64/stand/libsa

  ~ alloca.S                              ~ biosdev.c
  ~ biosdev.h                             ~ cmd_i386.c
  ~ disk.h                                ~ diskprobe.c
  ~ exec_i386.c                           ~ machdep.c
  ~ memprobe.c                            ~ softraid.c
  + random_amd64.S                        

  > Initial commit of uefi boot loader of OpenBSD.
  > ok deraadt yuo (yasuoka@)

  ~ exec_i386.c                           

  > Bring the boot changes on amd64 to i386.  alloca is deleted.
  > Also fix the boot from BIOS and bump the version.
  > input and ok deraadt (yasuoka@)

  - alloca.S                              

  > alloca() no longer needed (deraadt@)

  ~ random_amd64.S                        

  > sync comment (naddy@)

arch/amd64/stand/pxeboot

  ~ Makefile                              

  > Initial commit of uefi boot loader of OpenBSD.
  > ok deraadt yuo (yasuoka@)

  ~ conf.c                                

  > Bring the boot changes on amd64 to i386.  alloca is deleted.
  > Also fix the boot from BIOS and bump the version.
  > input and ok deraadt (yasuoka@)

arch/arm/include

  ~ asm.h                                 

  > Provide remaining arch with END() macro for setting calculated size on
  > symbols in ASM
  > ok deraadt@ mpi@ (guenther@)

arch/hppa/hppa

  ~ pmap.c                                

  > The pmap_pmap_pool pool will never be used in interrupt context, so pass
  > the
  > PR_WAITOK flag to pmap_init and pass NULL as the pool allocator.
  > (kettenis@)

arch/hppa64/hppa64

  ~ pmap.c                                

  > PR_WAITOK for the pmap_pmap_pool here as well. (kettenis@)

arch/i386/i386

  ~ pmap.c                                

  > The pmap_pmap_pool pool will never be used in interrupt context, so pass
  > the
  > PR_WAITOK flag to pool_init and pass NULL as the pool allocator.
  > ok mlarkin@ (kettenis@)

  ~ softintr.c                            

  > fairly simple sizes for free() (deraadt@)

  ~ disksubr.c                            

  > Always call readdoslabel() before readgptlabel(). Doubly always call them
  > in the same order. Fix writedisklabel() to follow these simple rules.
  > ok kettenis@ (krw@)

  ~ bios.c                                

  > Fix the condition of finding SMBIOS.  Found by gerhard@.
  > ok gerhard uebayasi deraadt (yasuoka@)

  ~ pmap.c                                ~ pmapae.c

  > Fix a race in pmap_page_remove_86() and pmap_page_remove_pae().
  > ok millert@, tedu@, mlarkin@ (kettenis@)

arch/i386/include

  ~ asm.h                                 

  > Provide remaining arch with END() macro for setting calculated size on
  > symbols in ASM
  > ok deraadt@ mpi@ (guenther@)

  ~ i8259.h                               

  > ditch a few prototypes for non-existant functions (mikeb@)

  ~ i8259.h                               

  > remove a bunch of orphaned prototypes and unused functions; ok miod
  > (mikeb@)

  ~ biosvar.h                             

  > match amd64; bios_efi_info_t is required here as well, because acpidump
  > compiles on more than one platform. (deraadt@)

arch/i386/isa

  ~ isa_machdep.c                         

  > fairly simple sizes for free() (deraadt@)

arch/i386/pci

  ~ vga_post.c                            ~ rccosb4.c
  ~ piix.c                                ~ pci_machdep.c

  > fairly simple sizes for free() (deraadt@)

arch/i386/stand/boot

  ~ Makefile                              ~ conf.c

  > Bring the boot changes on amd64 to i386.  alloca is deleted.
  > Also fix the boot from BIOS and bump the version.
  > input and ok deraadt (yasuoka@)

arch/i386/stand/cdboot

  ~ Makefile                              ~ conf.c

  > Bring the boot changes on amd64 to i386.  alloca is deleted.
  > Also fix the boot from BIOS and bump the version.
  > input and ok deraadt (yasuoka@)

arch/i386/stand/libsa

  ~ alloca.S                              ~ biosdev.c
  ~ biosdev.h                             ~ cmd_i386.c
  ~ disk.h                                ~ diskprobe.c
  ~ exec_i386.c                           ~ machdep.c
  ~ memprobe.c                            ~ softraid.c

  > Bring the boot changes on amd64 to i386.  alloca is deleted.
  > Also fix the boot from BIOS and bump the version.
  > input and ok deraadt (yasuoka@)

  - alloca.S                              

  > alloca() no longer needed (deraadt@)

  ~ exec_i386.c                           

  > Fix the bios boot to pass the bootargs properly.
  > ok deraddt (yasuoka@)

arch/i386/stand/pxeboot

  ~ Makefile                              ~ conf.c

  > Bring the boot changes on amd64 to i386.  alloca is deleted.
  > Also fix the boot from BIOS and bump the version.
  > input and ok deraadt (yasuoka@)

arch/macppc/conf

  ~ GENERIC                               ~ RAMDISK

  > Enable xhci(4) now that it attaches correctly on my G5. (mpi@)

arch/macppc/macppc

  ~ mem.c                                 

  > pretty simple size for free() (deraadt@)

  ~ mainbus.c                             

  > seperate a variable into two, so that the size of a free() is remembered.
  > ok semarie (deraadt@)

arch/macppc/pci

  ~ ht.c                                  

  > Map the whole config1 space based on the size read from the
  > device-tree.
  > With this change, supplementary PCIe cards are now properly
  > detected.
  > This should prevents the kernel from faulting when reading
  > unmapped PCI addresses as reported by Donovan Watteau on ppc@.
  > ok kettenis@ (mpi@)

arch/mips64/mips64

  ~ softintr.c                            

  > simple size for free() (deraadt@)

arch/octeon/dev

  ~ octdwctwo.c                           

  > Increase transfer FIFOs for dwc2, to improve USB performance. The new
  > values are from dwc2 of NetBSD.
  > ok jmatthew@, jasper@ (visa@)

arch/powerpc/include

  ~ asm.h                                 

  > Provide remaining arch with END() macro for setting calculated size on
  > symbols in ASM
  > ok deraadt@ mpi@ (guenther@)

arch/powerpc/powerpc

  ~ bus_dma.c                             

  > Sync bus_dmamap_load_raw(9) with amd64/i386 in order to respect the
  > segement size constraint.
  > Make xhci(4) work on my G5.
  > ok dlg@ (mpi@)

  ~ softintr.c                            

  > size for free() (deraadt@)

arch/sgi/hpc

  ~ hpc.c                                 ~ hpcreg.h
  ~ hpcvar.h                              ~ if_sq.c
  ~ if_sqvar.h                            

  > Give up trying to map DMA descriptor in uncached memory on ECC flavours of
  > the
  > IP22 motherboard (IP26, IP28). Instead, do not ask for a BUS_DMA_COHERENT
  > mapping, but perform explicit cache operations.
  > This removes the need for the memory controller to switch between `fast'
  > and
  > `slow' mode every time a DMA descriptor is updated.
  > Tested on IP22 and IP28. (miod@)

arch/sgi/sgi

  ~ bus_dma.c                             

  > Give up trying to map DMA descriptor in uncached memory on ECC flavours of
  > the
  > IP22 motherboard (IP26, IP28). Instead, do not ask for a BUS_DMA_COHERENT
  > mapping, but perform explicit cache operations.
  > This removes the need for the memory controller to switch between `fast'
  > and
  > `slow' mode every time a DMA descriptor is updated.
  > Tested on IP22 and IP28. (miod@)

  ~ ip22.h                                ~ ip22_machdep.c

  > Do not make ip22_{slow,fast}_mode() public anymore. (miod@)

arch/sh/sh

  ~ interrupt.c                           

  > free() size (deraadt@)

arch/solbourne/solbourne

  ~ pmap.c                                

  > missing splx
  > ok miod@ (jsg@)

arch/sparc/conf

  ~ RAMDISK                               

  > qlw fits (miod@)

arch/sparc/dev

  ~ z8530kbd.c                            

  > missing splx
  > ok miod@ (jsg@)

arch/sparc/include

  ~ asm.h                                 

  > Provide remaining arch with END() macro for setting calculated size on
  > symbols in ASM
  > ok deraadt@ mpi@ (guenther@)

arch/sparc64/include

  ~ asm.h                                 

  > Provide remaining arch with END() macro for setting calculated size on
  > symbols in ASM
  > ok deraadt@ mpi@ (guenther@)

arch/sparc64/sparc64

  ~ pmap.c                                

  > The pmap_pool pool will never be used in interrupt context, so pass the
  > PR_WAITOK flag to pmap_init and pass NULL as the pool allocator.
  > (kettenis@)

  ~ pmap.c                                

  > Make pmap_kenter_pa(9) and pmap_kremove(9) mpsafe.  This required me to
  > use atomic operations to operate on pm_stats.resident_count.  Is it really
  > necessary to keep track of that for the kernel pmap? (kettenis@)

arch/vax/include

  ~ asm.h                                 

  > Provide remaining arch with END() macro for setting calculated size on
  > symbols in ASM
  > ok deraadt@ mpi@ (guenther@)

compat/linux

  ~ linux_futex.c                         

  > The futex_pool and futex_wp_pool pools never get used in interrupt context.
  > ok mlarkin@ (kettenis@)

conf

  ~ files                                 

  > Add missing net/art.c, found the hardway by reyk@ (mpi@)

  ~ newvers.sh                            

  TAGGED OPENBSD_5_8
  > 5.8-stable (sthen@)

crypto

  ~ cryptosoft.c                          

  > two fairly simple sizes for free() (deraadt@)

ddb

  ~ db_trap.c                             

  > Automatically perform traces upon panic.  Shrink message about
  > reporting bugs to pointing at http://www.openbsd.org/ddb.html,
  > because vertical space becomes more precious.
  > ok beck krw kettenis (deraadt@)

  ~ db_struct.c                           

  > initialise the width var in db_struct_offset_cmd()
  > ok miod@ deraadt@ (jsg@)

dev

  ~ diskmap.c                             

  > size for free(); ok krw (deraadt@)

  ~ audio.c                               

  > Fix condition used while seaching candidates for "record level"
  > control for wskbd. This may fix "record level" keys on certain
  > keyboards. (ratchov@)

dev/acpi

  ~ acpi.c                                

  > clarify malloc arguments (base + length...) (deraadt@)

dev/ic

  ~ dc.c                                  ~ dcreg.h

  > Track rom size, for free() (deraadt@)

  ~ cac.c                                 

  > size for free() (deraadt@)

  ~ re.c                                  ~ rtl81x9reg.h

  > add support for RTL8168H
  > tedu tested an almost identical diff from brad that set the same flags.
  > (jsg@)

  ~ acx.c                                 

  > firmware size for free() (deraadt@)

  ~ atw.c                                 

  > srom size is tracked, pass to free() (deraadt@)

dev/pci

  ~ envy.c                                ~ envyvar.h

  > Add the number of midi ports to the card description, and use it to
  > prevent cards with no midi connectors from attaching midi(4) devices.
  > (ratchov@)

  ~ if_myx.c                              

  > free() firmware with right len; ok dlg (deraadt@)

  ~ if_em.c                               ~ if_ipw.c
  ~ if_ipwvar.h                           ~ if_iwi.c
  ~ if_iwn.c                              ~ if_ix.c

  > sizes for free(), mostly related to firmwares.
  > ok dlg (deraadt@)

  ~ if_em.c                               

  > Use the correct free(9) size for the RX ring.
  > ok dlg@, phessler@ (mpi@)

  ~ if_ix.c                               

  > correct sizes for free(), sigh (deraadt@)

  ~ if_bnx.c                              

  > The bnx_tx_pool gets used from interrupt context, so drop the explicit
  > backend allocoter here without passing PR_WAITOK to pool_init(9).
  > ok mikeb@ (kettenis@)

  ~ pcidevs                               

  > add some braswell ids (jsg@)

  ~ pcidevs.h                             ~ pcidevs_data.h

  > regen (jsg@)

  ~ if_wpi.c                              

  > sizes for free() - most are about the firmware memory (deraadt@)

  ~ qle.c                                 

  > sizes for free(); ok jmatthew (deraadt@)

  ~ drm/drm_drv.c                         

  > We actually need an interrupt-safe allocator here, as we call pool_put()
  > with a mutex held, so we can't have it sleep. (kettenis@)

  ~ pcidevs                               

  > Add ids for Qemu PCI serial devices
  > OK deraadt@ (sf@)

  ~ pcidevs_data.h                        ~ pcidevs.h

  > regenerate from pcidevs (sf@)

  ~ pucdata.c                             

  > Add support for QEMU PCI serial devices in puc(4)
  > OK deraadt@ (sf@)

dev/pckbc

  ~ pms.c                                 ~ pmsreg.h

  > Improve tap-and-drag detection for ALPS touchpads.
  > The ALPS mechanism for gesture detection can produce long delays between
  > a packet that signals a tap and the next packet, which either signals
  > the end of the gesture or the start of a drag-operation. The time spans
  > can exceed the timeouts used by the generic detection mechanism in the
  > synaptics driver. Reporting both the touch and the release event when
  > the second packet has arrived ensures that the tap will be recognized.
  > ok mpi@ shadchin@ (bru@)

  ~ pms.c                                 ~ pmsreg.h

  > Support Synaptics touchpads without W mode.
  > Emulate W mode if a Synaptics model doesn't provide it, and check
  > for the success of the resolution query during setup.
  > ok shadchin@, mpi@ (bru@)

dev/rasops

  ~ rasops.c                              

  > uses sizes for free() (deraadt@)

dev/usb

  ~ uow.c                                 

  > Use one xfer per pipe instead of doing an alloc/free dance for every
  > usbd_transfer(9).
  > This fixes a use-after-free.
  > Bug found by and diff from John L. Scarfone <john AT scarfone DOT net>
  > (mpi@)

  ~ usb.c                                 

  > Reject USB requests that could damage the bus integrity, just like it
  > is done in ugen(4).
  > Found by Grant Czajkowski during the GSoC 2015. (mpi@)

  ~ ugen.c                                

  > Do not use an intermediary buffer on the stack of the caller when
  > submitting a read request.
  > This also means big read requests are no longer split into multiple
  > small transfers something that libusb consumers do not expect.
  > Tested by ajacatoutot@.
  > Found by Grant Czajkowski <czajkow2 AT illinois DOT edu> during the
  > GSoC 2015. (mpi@)

  ~ dwc2/dwc2.c                           ~ dwc2/dwc2var.h

  > Remove sc->sc_lock and add several splusb()'s in dwc2, to avoid a
  > possible lock recursion panic on transfer timeout. The lock is not
  > needed yet because the USB stack is not MP-safe.
  > ok mpi@, "makes sense" jasper@ (visa@)

  ~ dwc2/dwc2.c                           ~ dwc2/dwc2var.h

  > Remove the abort_task field in struct dwc2_xfer. There is an identical
  > field in struct usbd_xfer which is part of dwc2_xfer.
  > ok mpi@ (visa@)

  ~ dwc2/dwc2.c                           

  > Properly cancel any pending USB abort task when aborting a transfer
  > and skip completed transfers in dwc2_abort_xfer(). This fixes some
  > timeout-related crashes.
  > Feedback and ok mpi@ (visa@)

  ~ ugen.c                                

  > Do not use an intermediary buffer on the stack of the caller when
  > submitting a bulk write request.
  > This also means big bulk write requests are no longer split into
  > multiple small transfers something that libusb consumers do not
  > expect.
  > From Grant Czajkowski <czajkow2 AT illinois DOT edu> as part of the
  > GSoC 2015. (mpi@)

dev/wscons

  ~ wsconsio.h                            

  > Modify kernel to prepare boot from UEFI.
  > - Add new boot arg "bios_efi_info_t" to pass the paramters from UEFI
  > - Make bios(4) and acpi(4) be able to probe with the parameters from
  > UEFI
  > - Add efifb(8).  It uses the framebuffer from UEFI and it will work as
  > a backend of wsdisplay(4) and wsfb (X11 video driver).  Disabled by
  > the kernel config for this moment
  > input and ok kettenis (yasuoka@)

  ~ wsemul_vt100_subr.c                   

  > Support for xterm-compatible SGR escapes 39 and 49 (reset fg/bg colour to
  > default). From Matthew Martin on tech@ (miod@)

isofs/udf

  ~ udf_vfsops.c                          

  > Use PR_WAITOK to indicate that pools are not used in interrupt context
  > instead of using pool_allocator_nointr.
  > ok tedu@ (kettenis@)

kern

  ~ vfs_syscalls.c                        

  > For *chmod, allow S_ISTXT in tame mode.  I am evaluating what to
  > do about S_ISUID and SISGID... maybe we should mask them and allow
  > the operation to happen? (deraadt@)

  ~ init_main.c                           ~ uipc_domain.c

  > Use a global table for domains instead of building a list at run time.
  > As a side effect there's no need to run if_attachdomain() after the
  > list of domains has been built.
  > ok claudio@, reyk@ (mpi@)

  ~ subr_disk.c                           

  > Eliminate a couple of extraneous DL_SECTOBLK() calls.
  > The disklabel is either 0 bytes into a 512-byte disk sector, or 512
  > bytes into a larger disk sector. The address of the disk sector
  > read is irrelevant.
  > Pointed out by jsing@ I think. ok deraadt@ (krw@)

  ~ subr_disk.c                           

  > In readgptlabel() avoid pointless conversions from sector counts
  > to daddr_t counts and back again. And rename 'part_blkno' to
  > 'sector' to mirror readdoslabel() changes and make code clearer.
  > Reads ok to jsing@ and kettenis@. Tested by bmercer@ as part of
  > larger diff. (krw@)

  ~ vfs_syscalls.c                        

  > KNF (deraadt@)

  ~ kern_tame.c                           

  > spaces snuck in (deraadt@)

  ~ subr_disk.c                           

  > Rejig the the expression calculating of the address of the disk
  > sector containing the disklabel, eliminating an unnecessary " *
  > DL_BLKSPERSEC()".
  > Tested by bmercer@ as part of larger diff.
  > Idea from & reads ok to jsing@. ok kettenis@. (krw@)

  ~ vfs_syscalls.c                        

  > Rather than killing when *chmod is asked to do setuid/setgid, clear
  > those bits in the request and continue.  This is a better posix-subset
  > to give to programs. (deraadt@)

  ~ vfs_syscalls.c                        

  > In tame mode, return EPERM for *chown if uid/gid change is not towards
  > cr_uid/cr_gid (effective ids).  Thus, chown(, -1,-1) should work OK, so
  > should chown(, me, -1), etc.  With this commited, more people can test.
  > (deraadt@)

  ~ subr_disk.c                           

  > Abstract 5 identical code blocks into a readdisksector() function.
  > Cleaner, clearer and less error prone.
  > Tested by bmercer@ as part of a larger diff, of which this is the
  > last part.
  > reads ok to jsing@ kettenis@. ok deraadt@. (krw@)

  ~ kern_tame.c                           

  > Consider getfsstat() a RPATH, even though it has no path in it.  We may
  > want to do the same for fstatfs(), after we handle statfs().  These system
  > calls leak path information, however I am reluctant to add a seperate
  > catagory. (deraadt@)

  ~ subr_disk.c                           

  > Missing letoh64() when checking value of gh_lba_alt. (krw@)

  ~ subr_disk.c                           

  > 'bogous' is bogus spelling of 'bogus' in debug message. (krw@)

  ~ subr_disk.c                           

  > a white space krw could not see (deraadt@)

  ~ kern_srp.c                            

  > mattieu baptiste reported a problem with bpf+srps where the per cpu
  > hazard pointers were becoming corrupt and therefore panics.
  > the problem turned out to be that bridge_input calls if_input on
  > behalf of a hardware interface which then calls bpf_mtap at splsoftnet,
  > while the actual hardware nic calls if_input and bpf_mtap at splnet.
  > the hardware interrupts ran in the middle of the bpf calls bridge
  > runs at softnet. this means the same srps are being entered and
  > left on the same cpu at different ipls, which led to races because
  > of the order of operations on the per cpu hazard pointers.
  > after a lot of experimentation, jmatthew@ figured out how to deal
  > with this problem without introducing per cpu critical sections
  > (ie, splhigh) calls in srp_enter and srp_leave, and without introducing
  > atomic operations.
  > the solution is to iterate forward through the array of hazard
  > pointers in srp_enter, and backward in srp_leave to clear. if you
  > guarantee that you leave srps in the reverse order to entering them,
  > then you can use the same set of SRPs at different IPLs on the same
  > CPU.
  > the ordering requirement is a problem if we want to build linked
  > data structures out of srps because you need to hold a ref to the
  > current element containing the next srp to use it, before giving
  > up the current ref. we're adding srp_follow() to support taking the
  > next ref and giving up the current one while preserving the structure
  > of the hazard pointer list. srp_follow() does this by reusing the
  > hazard pointer for the current reference for the next ref.
  > both mattieu baptiste and jmatthew@ have been hitting this pretty
  > hard with a tweaked version of srp+bpf that uses srp_follow instead
  > of interleaved srp_enter/srp_leave sequences. neither can reproduce
  > the panics anymore.
  > thanks to mattieu for the report and tests
  > ok jmatthew@ (dlg@)

  ~ subr_pool.c                           

  > Push down the KERNEL_LOCK/KERNEL_UNLOCK calls into the back-end allocator
  > functions.  Note that these calls are deliberately not added to the
  > special-purpose back-end allocators in the various pmaps.  Those allocators
  > either don't need to grab the kernel lock, are always called with the
  > kernel
  > lock already held, or are only used on non-MULTIPROCESSOR platforms.
  > pk tedu@, deraadt@, dlg@ (kettenis@)

  ~ kern_tame.c                           

  > Corrects a use-after-free in tame_namei().
  > ok doug@ (semarie@)

  ~ kern_tame.c                           

  > the special check logic for /usr/share/nls/../libc.cat became failure
  > to return failure.  open() of these paths should succeed to satisfy
  > strerror() and friends.
  > ok semarie (deraadt@)

  ~ subr_log.c                            

  > To make logging to local syslog reliable, log a message about failed
  > log atempts.  sendsyslog(2) is a good place to detect and report
  > the problem.
  > OK deraadt@ (bluhm@)

  ~ kern_sysctl.c                         

  > Fix !INET6 build. (mpi@)

  ~ uipc_domain.c                         ~ vfs_subr.c

  > Make every subsystem using a radix tree call rn_init() and pass the
  > length of the key as argument.
  > This way every consumer of the radix tree has a chance to explicitly
  > initialize the shared data structures and no longer rely on another
  > subsystem to do the initialization.
  > As a bonus ``dom_maxrtkey'' is no longer used an die.
  > ART kernels should now be fully usable because pf(4) and IPSEC properly
  > initialized the radix tree.
  > ok chris@, reyk@ (mpi@)

  ~ subr_pool.c                           

  > We no longer need to grab the kernel lock for allocating and freeing pages
  > in the (default) single page pool backend allocator.  This means it is now
  > safe to call pool_get(9) and pool_put(9) for "small" items while holding
  > a mutex without holding the kernel lock as well as these functions will
  > no longer acquire the kernel lock under any circumstances.  For "large"
  > items
  > (where large is larger than 1/8th of a page) this still isn't safe though.
  > ok dlg@ (kettenis@)

lib/libsa

  ~ pbkdf2.c                              ~ stand.h

  > Initial commit of uefi boot loader of OpenBSD.
  > ok deraadt yuo (yasuoka@)

miscfs/fifofs

  ~ fifo_vnops.c                          

  > trivial size for free() (deraadt@)

miscfs/fuse

  ~ fuse_device.c                         

  > fairly easy size for free() (deraadt@)

net

  ~ if.c                                  ~ if.h
  ~ pfkey.c                               ~ radix.c
  ~ route.c                               

  > Use a global table for domains instead of building a list at run time.
  > As a side effect there's no need to run if_attachdomain() after the
  > list of domains has been built.
  > ok claudio@, reyk@ (mpi@)

  ~ bpf.c                                 ~ bpfdesc.h

  > reintroduce bpf.c r1.121.
  > this differs slightly from 1.121 in that it uses the new srp_follow()
  > to walk the list of descriptors on an interface. this is instead
  > of interleaving srp_enter() and srp_leave(), which can lead to races
  > and corruption if you're touching the same SRPs at different IPLs
  > on the same CPU.
  > ok deraadt@ jmatthew@ (dlg@)

  ~ if.c                                  

  > dont need the kernel lock for mpsafe bpfs (again) (dlg@)

  ~ route.c                               

  > Do not try to find a possible ``ifa'' in rt_ifal_del(9) and trust the
  > checks done in rtrequest1(9).
  > This chunk has been introduced in 1991 when rtrequest1(RTM_DELETE...)
  > was not doing a route lookup and no longer make any sense.
  > ok bluhm@ (mpi@)

  ~ route.c                               ~ route.h

  > Introduce rtisvalid(9) a function to check if a (cached) route entry
  > can be used or should be released by rtfree(9).
  > It currently checks if the route is UP and is not attached to a stall
  > ifa.
  > ok bluhm@, claudio@ (mpi@)

  ~ pf.c                                  

  > - route-to, dup-to, reply-to should not override the block action
  > Spotted by Dilli Paudel <dilli ! paudel at oracle ! com>
  > ok jung@, ok mikeb@ (sashan@)

  ~ if_gif.c                              ~ if_tun.c
  ~ pipex.c                               ~ radix_mpath.c

  > Replace sockaddr casts with the proper satosin(), ... calls.
  > From David Hill; OK mpi@; tested kspillner@; tweaks bluhm@ (bluhm@)

  ~ route.c                               

  > Unconditionally set the RTF_UP flags when adding a route to the table.
  > This makes dhclient(8) configured default routes usable without relying
  > on the link-state change hooks not present in RAMDISK kernels.
  > ok krw@, claudio@ (mpi@)

  ~ if_pflow.c                            

  > Fix an mbuf use-after-fruit in pflow_clone_create().
  > Issue reported by semarie@ on bugs@ who also isolated the
  > use-after-fruit to pflow(4) using dlg@'s tracing mbuf diff.
  > Inputs from and ok florian@, semarie@, benno@ (mpi@)

  ~ pf_table.c                            ~ pfkey.c
  ~ pipex.c                               ~ radix.c
  ~ radix.h                               ~ route.c
  ~ rtable.c                              ~ rtable.h

  > Make every subsystem using a radix tree call rn_init() and pass the
  > length of the key as argument.
  > This way every consumer of the radix tree has a chance to explicitly
  > initialize the shared data structures and no longer rely on another
  > subsystem to do the initialization.
  > As a bonus ``dom_maxrtkey'' is no longer used an die.
  > ART kernels should now be fully usable because pf(4) and IPSEC properly
  > initialized the radix tree.
  > ok chris@, reyk@ (mpi@)

  ~ if_pflow.c                            

  > pflow_flush() still needs sc->send_nam; free it later. (florian@)

  ~ pf_if.c                               ~ pf_ioctl.c
  ~ pf_osfp.c                             

  > The pf_osfp_pl and pf_osfp_entry_pl never get used in interrupt context.
  > Drop the explicit pool backend allocator here and add PR_WAITOK to the
  > flags passed to pool_init(9).
  > The pfi_addr_pl and pf_rule_pl can get used in interrupt context though.
  > So simply drop the explicit pool backend allocator without adding PR_WAITOK
  > to the flags passed to pool_init(9).
  > ok mikeb@ (kettenis@)

  ~ if_pppx.c                             

  > The pppx_if_pl pool will never be used in interrupt context, so pass the
  > PR_WAITOK flag to pool_init and pass NULL as the pool allocator.
  > ok dlg@ (kettenis@)

netinet

  ~ in_proto.c                            

  > Use a global table for domains instead of building a list at run time.
  > As a side effect there's no need to run if_attachdomain() after the
  > list of domains has been built.
  > ok claudio@, reyk@ (mpi@)

  ~ ip_output.c                           

  > `encif' should only be used under #ifdef NPF.
  > Reported by jsg@, ok deraadt@ (mpi@)

  ~ ip_output.c                           

  > Convert ip{,6}_output() (cached) route entry checks to rtisvalid(9).
  > ok bluhm@ (mpi@)

  ~ in_pcb.c                              ~ ip_divert.c
  ~ ip_icmp.c                             ~ ip_mroute.c
  ~ tcp_subr.c                            

  > Replace sockaddr casts with the proper satosin(), ... calls.
  > From David Hill; OK mpi@; tested kspillner@; tweaks bluhm@ (bluhm@)

  ~ ip_output.c                           

  > Revert the two uses of rtisvalid(9) for the moment, it breaks dhclient(8)
  > configured networks on RAMDISK kernels.
  > The problem is that the default route installed by dhclient(8) does not
  > have the RTF_UP flag in this environement and rtisvalid(9) doesn't allow
  > you to use a RTF_DOWN route. (mpi@)

  ~ ip_output.c                           

  > Convert ip{,6}_output() (cached) route entry checks to rtisvalid(9).
  > This introduces a behavior change as we now reject !RTF_UP routes to
  > output packets.  This stricter check exposed a bug in the setup of
  > new routes and was the reason for the previous revert.  This should
  > be now fixed by r1.229 of sys/net/route.c .
  > ok bluhm@ (mpi@)

  ~ ip_output.c                           

  > Revert (again!) the two uses of rtisvalid(9), they break NFS!
  > Found the hardway by naddy@ (mpi@)

  ~ in_proto.c                            

  > Make every subsystem using a radix tree call rn_init() and pass the
  > length of the key as argument.
  > This way every consumer of the radix tree has a chance to explicitly
  > initialize the shared data structures and no longer rely on another
  > subsystem to do the initialization.
  > As a bonus ``dom_maxrtkey'' is no longer used an die.
  > ART kernels should now be fully usable because pf(4) and IPSEC properly
  > initialized the radix tree.
  > ok chris@, reyk@ (mpi@)

netinet6

  ~ in6_proto.c                           

  > Use a global table for domains instead of building a list at run time.
  > As a side effect there's no need to run if_attachdomain() after the
  > list of domains has been built.
  > ok claudio@, reyk@ (mpi@)

  ~ in6.c                                 ~ in6_ifattach.c

  > Do not install connected routes on loopback interfaces.
  > Previously loopback connected routes were managed via the global list
  > of prefixes, which mean that systems with AUTOCONF'd addresses did not
  > see them in the routing table.
  > This also makes inet6 route creation coherent with inet. (mpi@)

  ~ nd6.c                                 ~ nd6.h

  > The return value of nd6_cache_lladdr() is never used so make it a void.
  > Fewer "struct rtentry" left in the wild! (mpi@)

  ~ ip6_forward.c                         ~ ip6_output.c

  > `encif' should only be used under #ifdef NPF.
  > Reported by jsg@, ok deraadt@ (mpi@)

  ~ ip6_output.c                          

  > Compute the checksum before looping back the copy of a multicast packet.
  > Found while comparing IPv4 and IPv6 versions.
  > ok naddy@ (mpi@)

  ~ in6_src.c                             

  > Convert ip{,6}_output() (cached) route entry checks to rtisvalid(9).
  > ok bluhm@ (mpi@)

  ~ in6_var.h                             

  > Kill unused ``ia_net'' field in the struct in6_ifaddr, bad copy
  > paste from the IPv4 time.
  > While here update the comment about ``ia6_ndpr'' it's now only
  > used for autoconf. (mpi@)

  ~ in6_src.c                             

  > Revert the two uses of rtisvalid(9) for the moment, it breaks dhclient(8)
  > configured networks on RAMDISK kernels.
  > The problem is that the default route installed by dhclient(8) does not
  > have the RTF_UP flag in this environement and rtisvalid(9) doesn't allow
  > you to use a RTF_DOWN route. (mpi@)

  ~ in6_src.c                             

  > Convert ip{,6}_output() (cached) route entry checks to rtisvalid(9).
  > This introduces a behavior change as we now reject !RTF_UP routes to
  > output packets.  This stricter check exposed a bug in the setup of
  > new routes and was the reason for the previous revert.  This should
  > be now fixed by r1.229 of sys/net/route.c .
  > ok bluhm@ (mpi@)

  ~ in6_src.c                             

  > Revert (again!) the two uses of rtisvalid(9), they break NFS!
  > Found the hardway by naddy@ (mpi@)

  ~ in6_ifattach.c                        

  > Change the order of operations for loopback interfaces to have
  > ::1 configured before fe80::1.
  > (lo0:0) in pf should resolve to 127.0.0.1 ::1.
  > reported by and ok mikeb@ (mpi@)

  ~ in6_proto.c                           

  > Make every subsystem using a radix tree call rn_init() and pass the
  > length of the key as argument.
  > This way every consumer of the radix tree has a chance to explicitly
  > initialize the shared data structures and no longer rely on another
  > subsystem to do the initialization.
  > As a bonus ``dom_maxrtkey'' is no longer used an die.
  > ART kernels should now be fully usable because pf(4) and IPSEC properly
  > initialized the radix tree.
  > ok chris@, reyk@ (mpi@)

  ~ in6.c                                 

  > Tunnels also need a cloning route.
  > Fix a regression reported by Brad. (mpi@)

netmpls

  ~ mpls_proto.c                          

  > Use a global table for domains instead of building a list at run time.
  > As a side effect there's no need to run if_attachdomain() after the
  > list of domains has been built.
  > ok claudio@, reyk@ (mpi@)

  ~ mpls_proto.c                          

  > Make every subsystem using a radix tree call rn_init() and pass the
  > length of the key as argument.
  > This way every consumer of the radix tree has a chance to explicitly
  > initialize the shared data structures and no longer rely on another
  > subsystem to do the initialization.
  > As a bonus ``dom_maxrtkey'' is no longer used an die.
  > ART kernels should now be fully usable because pf(4) and IPSEC properly
  > initialized the radix tree.
  > ok chris@, reyk@ (mpi@)

nfs

  ~ nfs_serv.c                            

  > Keep track of a length for free() in error paths.  Be careful,
  > because the nfsm_strsiz() macro sneakily modifies a parameter!
  > ok beck (deraadt@)

  ~ nfs_boot.c                            

  > Replace sockaddr casts with the proper satosin(), ... calls.
  > From David Hill; OK mpi@; tested kspillner@; tweaks bluhm@ (bluhm@)

  ~ nfs_syscalls.c                        

  > The nfsrv_descript_pl pool never gets used in interrupt context.
  > ok deraadt@ (kettenis@)

stand

  ~ boot/bootarg.c                        ~ boot/bootarg.h

  > Initial commit of uefi boot loader of OpenBSD.
  > ok deraadt yuo (yasuoka@)

sys

  ~ domain.h                              

  > Use a global table for domains instead of building a list at run time.
  > As a side effect there's no need to run if_attachdomain() after the
  > list of domains has been built.
  > ok claudio@, reyk@ (mpi@)

  ~ srp.h                                 

  > mattieu baptiste reported a problem with bpf+srps where the per cpu
  > hazard pointers were becoming corrupt and therefore panics.
  > the problem turned out to be that bridge_input calls if_input on
  > behalf of a hardware interface which then calls bpf_mtap at splsoftnet,
  > while the actual hardware nic calls if_input and bpf_mtap at splnet.
  > the hardware interrupts ran in the middle of the bpf calls bridge
  > runs at softnet. this means the same srps are being entered and
  > left on the same cpu at different ipls, which led to races because
  > of the order of operations on the per cpu hazard pointers.
  > after a lot of experimentation, jmatthew@ figured out how to deal
  > with this problem without introducing per cpu critical sections
  > (ie, splhigh) calls in srp_enter and srp_leave, and without introducing
  > atomic operations.
  > the solution is to iterate forward through the array of hazard
  > pointers in srp_enter, and backward in srp_leave to clear. if you
  > guarantee that you leave srps in the reverse order to entering them,
  > then you can use the same set of SRPs at different IPLs on the same
  > CPU.
  > the ordering requirement is a problem if we want to build linked
  > data structures out of srps because you need to hold a ref to the
  > current element containing the next srp to use it, before giving
  > up the current ref. we're adding srp_follow() to support taking the
  > next ref and giving up the current one while preserving the structure
  > of the hazard pointer list. srp_follow() does this by reusing the
  > hazard pointer for the current reference for the next ref.
  > both mattieu baptiste and jmatthew@ have been hitting this pretty
  > hard with a tweaked version of srp+bpf that uses srp_follow instead
  > of interleaved srp_enter/srp_leave sequences. neither can reproduce
  > the panics anymore.
  > thanks to mattieu for the report and tests
  > ok jmatthew@ (dlg@)

  ~ domain.h                              

  > Make every subsystem using a radix tree call rn_init() and pass the
  > length of the key as argument.
  > This way every consumer of the radix tree has a chance to explicitly
  > initialize the shared data structures and no longer rely on another
  > subsystem to do the initialization.
  > As a bonus ``dom_maxrtkey'' is no longer used an die.
  > ART kernels should now be fully usable because pf(4) and IPSEC properly
  > initialized the radix tree.
  > ok chris@, reyk@ (mpi@)

  ~ types.h                               

  > These days pcc defines __GNUC__ and we don't support gcc2. Also needed
  > for upcoming CompCert port.
  > Final version of the diff is from kettenis@ with input from jsg@ and tedu@.
  > ok kettenis@, jsg@, "I agree" millert@ (daniel@)

uvm

  ~ uvm_map.c                             

  > size for free(), and make allocation side look similar (deraadt@)

  ~ uvm_mmap.c                            ~ uvm_swap.c

  > sizes for free(); ok semarie (deraadt@)

== usr.bin =========================================================== 12/13 ==

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

awk

  ~ run.c                                 

  > When rand() was made fully random, the return value of srand() was
  > also affected incorrectly.  Noticed by Stephane Chazelas.  This reverts
  > the return value of srand() to the old (not very useful) behaviour.
  > This also allows toggling rand() to strong/weak based upon whether
  > srand() is called without/with an argument.
  > Long discussion and work with millert
  > ok beck (deraadt@)

bc

  ~ tty.c                                 

  > Avoid unintended problems with operator precedence when doing an
  > assignment and comparison.
  > ok deraadt@ looks correct millert@ jung@ (jsg@)

calendar

  ~ calendars/calendar.computer           

  > append the year Zilog Z-80 8-bit microprocessor was introduced;
  > a nice processor, learnt assembly on a Z-80A when I was twelve years old.
  > ok jmc@ (sobrado@)

compress

  ~ main.c                                

  > Ignore setuid/setgid settings from a compress/gzip file; original CSRG
  > code.  Found by trondd exercising coverage of tame in gzip.
  > ok guenther millert kettenis (deraadt@)

cvs

  ~ diff3.c                               

  > Add brackets to clarify assignments that are the result of a test operator.
  > ok deraadt@ looks correct millert@ jung@ (jsg@)

diff3

  ~ diff3prog.c                           

  > Add brackets to clarify assignments that are the result of a test operator.
  > ok deraadt@ looks correct millert@ jung@ (jsg@)

doas

  ~ doas.c                                ~ doas.conf.5

  > only need to restrict exec path if the rule specifies a command.
  > add a hint about path restrictions to man page.
  > ok deraadt espie (tedu@)

  ~ parse.y                               

  > increment the line number after the line continuation; ok tedu (mikeb@)

  ~ doas.c                                

  > replace permfail calls with errc. the permfail calls had been retained for
  > clarity and/or future use, but if people send me diffs fixing it, it's
  > not worth fighting for. from Martin Natano (tedu@)

mandoc

  ~ mdoc_html.c                           

  > If an .Fo macro lacks its mandatory argument, don't die on an assertion.
  > Bug found by jsg@ with afl. (schwarze@)

  ~ term.c                                

  > Drop leading, internal, and trailing blank characters in \o (overstrike)
  > escape sequences; that's cleaner for all output modes, and it's required
  > to prevent the PostScript/PDF formatter from dying on assertions.
  > Bug found by jsg@ with afl. (schwarze@)

  ~ man.c                                 ~ man_macro.c

  > Fill mode changes don't break next-line scope in all cases,
  > in particular not for tagged paragraphs.
  > Issue found by Christian Neukirchen <chneukirchen at gmail dot com>
  > in the exiv2(1) manual page. (schwarze@)

nc

  ~ netcat.c                              

  > synchronize synopsis and usage. (sobrado@)

netstat

  ~ mbuf.c                                

  > Fix mbuf memory accounting after recent *8 pool size change.
  > Use the ``pr_pgsize'' argument instead of assuming that pool page
  > sizes are identical to the value returned by getpagesize(3).
  > Issue reported by trondd <trondd AT kagu-tsuchi DOT com> on tech@.
  > ok millert@, tedu@ (mpi@)

rcs

  ~ ci.c                                  

  > Avoid unintended problems with operator precedence when doing an
  > assignment and comparison.
  > ok deraadt@ looks correct millert@ jung@ (jsg@)

  ~ diff3.c                               

  > Add brackets to clarify assignments that are the result of a test operator.
  > ok deraadt@ looks correct millert@ jung@ (jsg@)

sndiod

  ~ dev.c                                 ~ sndiod.1

  > typos in comments: xfree -> free (ratchov@)

  ~ sndiod.1                              

  > In the last commit, the man-page change was committed by mistake,
  > backit out. (ratchov@)

ssh

  ~ auth.c                                

  TAGGED OPENBSD_5_8
  > MFC, original commit by djm@
  > "fix inverted logic that broke PermitRootLogin;
  > reported by Mantas Mikulenas; ok markus@" (jasper@)

  ~ authfd.c                              ~ krl.c
  ~ monitor.c                             ~ sshkey.c

  TAGGED OPENBSD_5_8
  > Fix occurrences of "r = func() != 0" which result in the wrong error
  > codes being returned due to != having higher precedence than =.
  > ok deraadt@ markus@ (jsg@)

  ~ sshconnect.c                          

  TAGGED OPENBSD_5_8
  > remove extra newline in nethack-mode hostkey;
  > from Christian Hesse bz#2686 (djm@)

  ~ monitor.c                             

  TAGGED OPENBSD_5_8
  > don't record hostbased authentication hostkeys as user keys
  > in test for multiple authentication with the same key (djm@)

  ~ ssh_config.5                          

  TAGGED OPENBSD_5_8
  > better document ExitOnForwardFailure; bz#2444, ok dtucker@ (djm@)

  ~ sshconnect.c                          

  TAGGED OPENBSD_5_8
  > correct function name in error messages (djm@)

  ~ ssh.c                                 

  TAGGED OPENBSD_5_8
  > add a debug2() right before DNS resolution; it's a place where
  > ssh could previously silently hang for a while. bz#2433 (djm@)

  ~ ssh_config.5                          

  TAGGED OPENBSD_5_8
  > full stop belongs outside the brackets, not inside; (jmc@)

  ~ ssh.c                                 ~ sshd.c

  TAGGED OPENBSD_5_8
  > Plug minor memory leaks when options are used more than once.  bz#2182,
  > patch from Tiago Cunha, ok deraadt djm (dtucker@)

tmux

  ~ cmd-show-environment.c                ~ cmd-swap-pane.c
  ~ server-client.c                       ~ tmux.c
  ~ xterm-keys.c                          

  > Some style nits and dead assignments. (nicm@)

  ~ client.c                              ~ server.c
  ~ tmux.c                                ~ tmux.h

  > Event base does not need to be global. (nicm@)

  ~ client.c                              ~ tmux.c
  ~ tmux.h                                

  > Login shell can be a client flag, and move the exec code into client.c.
  > (nicm@)

  ~ tmux.c                                ~ tmux.h

  > Path from $TMUX does not need to be global anymore. (nicm@)

  ~ cmd.c                                 ~ tmux.h

  > All the cmd_*_entry declarations do not need to be in tmux.h. (nicm@)

  ~ cfg.c                                 ~ server.c
  ~ tmux.h                                

  > Move initial conf load into cfg.c. (nicm@)

  ~ cfg.c                                 ~ tmux.c
  ~ tmux.h                                

  > Work out config file when needed not at startup. (nicm@)

  ~ tmux.h                                

  > Remove dead_clients which is no longer used. (nicm@)

  ~ session.c                             

  > Fix a spelling error, sesson -> session. (nicm@)

  ~ log.c                                 

  > Pass logging through vis(3). (nicm@)

  ~ input.c                               

  > Log the whole new input buffer once rather than each byte. (nicm@)

  ~ input.c                               ~ server-client.c
  ~ tty-term.c                            

  > Tweak some error messages/comments. (nicm@)

  ~ grid.c                                

  > Fix indentation of grid_string_cells_fg. (nicm@)

  ~ tmux.h                                ~ tty-keys.c
  ~ tty.c                                 

  > We no longer need the terminal service class, so don't bother asking for
  > it. (nicm@)

  ~ alerts.c                              ~ tmux.h
  ~ tty.c                                 

  > A one line helper function is a little silly. (nicm@)

  ~ input.c                               

  > Log pane which received input data. (nicm@)

  ~ format.c                              ~ tmux.c

  > A couple of style nits. (nicm@)

  ~ cmd-wait-for.c                        

  > Change wait-for to work when the signal comes before the wait, also use
  > some helper functions and add some logging. (nicm@)

tsort

  ~ tsort.c                               

  > wrong index in error message (espie@)

  ~ tsort.c                               

  > indent is 8 not 4 (espie@)

  ~ tsort.c                               

  > reorg code, preliminary step to more cleanup
  > - split the two blobs in main into separate functions
  > - use return instead of exit
  > okay millert@ (espie@)

units

  ~ units.lib                             

  > update currency exchange rates; (jmc@)

w

  ~ w.c                                   

  > calculate screen size way earlier, this will provide some opportunities
  > for taming the string manipulation in the later half of the program.
  > (deraadt@)

== usr.sbin ========================================================== 13/13 ==

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

acpidump

  ~ Makefile                              ~ acpidump.c

  > Modify acpidump to work on systems booted from efi boot.  Use the ACPI
  > config address passed through the boot parameter.
  > ok mlarkin (yasuoka@)

  ~ acpidump.c                            

  > zap extra newline that snuck in (jasper@)

bgpd

  ~ rde.c                                 ~ rde_attr.c

  > rename a variable "err" to "error" (deraadt@)

portmap

  ~ portmap.c                             

  > stop defining a local copy of perror(); libc/rpc no longer uses it.
  > ok beck millert miod (deraadt@)

rpc.lockd

  ~ test.c                                

  > Avoid unintended problems with operator precedence when doing an
  > assignment and comparison.
  > ok deraadt@ looks correct millert@ jung@ (jsg@)

smtpd

  ~ smtp_session.c                        

  > the session kicking mechanism has an accounting bug leading to some legit
  > sessions being kicked if they generate too many consecutive errors.
  > remove the mechanism altogether until it is redesigned. (gilles@)

  ~ iobuf.c                               

  > move paren to correctly return a negative error value instead of the
  > result of the < 0 test which would be 1.
  > ok gilles@ (jsg@)

  ~ aliases.5                             ~ smtpd.8
  ~ smtpd.conf.5                          

  > Document spool dir in smtpd's FILES section and be consistent with
  > using compact lists for FILES in the other manual pages.  OK gilles@
  > (millert@)

syslogd

  ~ syslogd.c                             

  > The !prog and +host features allow to select log messages from a
  > specific programm or host.  It does not make sense to truncate the
  > string from the config at some character from a list.  Just take
  > whatever the user specified as progname or hostname.  If it contains
  > funky charactes it will not match and the action is not taken.  This
  > fixes matching with IP addresses if syslogd is started with -n.
  > OK semarie@ (bluhm@)

  ~ syslogd.c                             

  > Bind the *:514 UDP socket of syslogd with SO_REUSEADDR.  This avoids
  > conflicts with other processes bound to a specific address with the
  > same port.  Syslogd uses this socket basically for outgoing traffic
  > to remote UDP log servers, so increase the chance that it works.
  > OK jung@ benno@ (bluhm@)

  ~ syslogd.c                             

  > Instead of creating a line buffer on the stack, tcp_readcb() can
  > use the global linebuf like the other libevent read callbacks.
  > OK jung@ (bluhm@)

  ~ syslogd.c                             

  > In sendsyslog(2) I got the plural s of messages right.  The messages
  > of syslogd(8) should be alike.  syslogd: dropped 1 message
  > OK lteo@ millert@ (bluhm@)

tcpdump

  ~ print-radius.c                        

  > hex array of bytes should be printed fixed-form; from Jihyun Yu (deraadt@)

traceroute

  ~ traceroute.c                          

  > warnx(3) has an implicit \n at the end.
  > pointed out by deraadt@ (florian@)

unbound

  ~ libunbound/libunbound.c               

  > Avoid unintended problems with operator precedence when doing an
  > assignment and comparison.
  > ok deraadt@ looks correct millert@ jung@ (jsg@)

wsfontload

  ~ wsfontload.c                          

  > Avoid floating point exception when an invalid font width was specified.
  > Also print actually helpful error messages when command line arguments
  > are invalid.
  > ok miod@ (tobias@)

  ~ wsfontload.c                          

  > UINT_MAX would overflow the integer calculation later on, leading to
  > floating point exception just like -1 would do. Use INT_MAX, which is
  > already way too high to make sense anyway. (tobias@)

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

Reply via email to