OpenBSD src changes summary for 2016-04-10 to 2016-04-17 inclusive
==================================================================

bin/csh                                 bin/rm
distrib/miniroot                        distrib/sets
etc/examples/pkg.conf                   lib/libc
lib/libedit                             lib/librthread
lib/libssl                              libexec/spamd
regress/lib                             regress/usr.bin
share/man                               sys/arch/amd64/amd64
sys/arch/amd64/conf                     sys/arch/armv7/armv7
sys/arch/armv7/imx                      sys/arch/armv7/omap
sys/arch/armv7/sunxi                    sys/arch/i386/i386
sys/arch/macppc/dev                     sys/arch/octeon/dev
sys/arch/octeon/octeon                  sys/arch/sgi/dev
sys/arch/sgi/hpc                        sys/arch/socppc/dev
sys/arch/sparc/dev                      sys/arch/sparc64/conf
sys/arch/sparc64/dev                    sys/dev
sys/dev/acpi                            sys/dev/i2c
sys/dev/ic                              sys/dev/isa
sys/dev/pci                             sys/dev/pckbc
sys/dev/pcmcia                          sys/dev/pv
sys/dev/sbus                            sys/dev/usb
sys/kern                                sys/net
sys/net80211                            sys/netinet
sys/netinet6                            sys/sys
sys/uvm                                 usr.bin/awk
usr.bin/calendar                        usr.bin/mandoc
usr.bin/mg                              usr.bin/rev
usr.bin/ssh                             usr.bin/systat
usr.sbin/bgpd                           usr.sbin/bind
usr.sbin/eigrpd                         usr.sbin/npppd
usr.sbin/pkg_add                        usr.sbin/procmap
usr.sbin/pstat                          usr.sbin/radiusd
usr.sbin/rbootd                         usr.sbin/smtpd
usr.sbin/ypldap                         

== bin =============================================================== 01/10 ==

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

csh

  ~ lex.c                                 

  > Change last non-/gnu/ fcntl(x, F_GETFL, 0) strays to fcntl(x, F_GETFL).
  > No functional change.
  > ok millert@ (krw@)

rm

  ~ rm.1                                  ~ rm.c

  > don't allow removal of /. more robust approach involving stat this time.
  > posix uses the language "resolves to the root directory" in this case.
  > ok millert (tedu@)

== distrib =========================================================== 02/10 ==

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

miniroot

  ~ install.sub                           

  > Tweak bsort():
  > - make it clear in comment that it returns a unique list
  > - shift is only possible if argc > 0, otherwise return
  > - quote "$_b" in equality test forcing possible patterns being
  > treated as strings
  > OK halex@, krw@ (rpe@)

  ~ install.sub                           

  > - In isin(), quote $_b to ensure it's treated as string not as pattern.
  > - Always quote the first argument to isin()
  > OK halex@, krw@ (rpe@)

sets

  ~ lists/man/mi                          

  > sync (jsg@)

== etc =============================================================== 03/10 ==

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

examples/pkg.conf

  ~ examples/pkg.conf                     

  > sync (sthen@)

== lib =============================================================== 04/10 ==

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

libc

  ~ sys/pledge.2                          

  > Clean up and complete the lists of allowed syscalls.
  > With input from schwarze@ and semarie@.
  > "go ahead" schwarze@
  > (documentation perspective only, without checking factual accuracy)
  > ok semarie@ on an earlier version (tb@)

  ~ sys/pledge.2                          

  > documents "route" promise
  > initial diff from Rob Pierce rob ! 2keys. ca
  > with some enhancements from jmc@, schwarze@ and me
  > ok jmc@ schwarze@ (semarie@)

  ~ sys/pledge.2                          

  > documents "mcast" promise
  > with few nits from and ok schwarze@ (semarie@)

  ~ stdlib/malloc.c                       

  > two times a define to an inline function, from Michael McConville; ok djm@
  > (otto@)

  ~ sys/pledge.2                          

  > tweak previous; (jmc@)

  ~ sys/pledge.2                          

  > Revert the recent changes to pledge.2.
  > Requested by deraadt@ (tb@)

  ~ sys/intro.2                           

  > document pledge(2); from rob pierce (jmc@)

libedit

  ~ chared.c                              ~ chartype.h
  ~ common.c                              ~ el.c
  ~ eln.c                                 ~ filecomplete.c
  ~ hist.c                                ~ hist.h
  ~ history.c                             ~ keymacro.c
  ~ makelist                              ~ map.c
  ~ parse.c                               ~ read.c
  ~ refresh.c                             ~ search.c
  ~ terminal.c                            ~ tokenizer.c
  ~ tty.c                                 ~ vi.c

  > Move wrapper macros to the two files actually needing them:
  > FUNW, Strlen, Strdup, Strcmp, Strncmp, Strncpy, Strncat -> history.c
  > Strchr, tok_strdup -> tokenizer.c
  > FUN, TYPE, STR -> both of these files
  > OK martijn@
  > Also proofread by Christian Heckendorf <mbie at ulmus dot me>
  > who reported some whitespace issues in parse.c. (schwarze@)

  ~ chared.c                              ~ chared.h
  ~ chartype.c                            ~ chartype.h
  ~ common.c                              ~ el.c
  ~ el.h                                  ~ eln.c
  ~ emacs.c                               ~ filecomplete.c
  ~ filecomplete.h                        ~ hist.c
  ~ hist.h                                ~ history.c
  ~ keymacro.c                            ~ keymacro.h
  ~ map.c                                 ~ map.h
  ~ parse.c                               ~ parse.h
  ~ prompt.c                              ~ prompt.h
  ~ read.c                                ~ refresh.c
  ~ search.c                              ~ search.h
  ~ terminal.c                            ~ terminal.h
  ~ tokenizer.c                           ~ tty.c
  ~ tty.h                                 ~ vi.c

  > get rid of the non-standard data type "Char" in almost all files;
  > ok martijn@ (schwarze@)

  ~ chartype.c                            ~ chartype.h
  ~ history.c                             ~ tokenizer.c

  > Clean up chartype.h:
  > * not used in tokenizer.c
  > * only use it for !NARROWCHAR
  > * no need for underscores before ct_{de,en}code_string()
  > * make the conversion buffer resize function private
  > OK martijn@ (schwarze@)

  ~ chared.c                              ~ chartype.c
  ~ chartype.h                            ~ el.c
  ~ eln.c                                 ~ history.c
  ~ keymacro.c                            ~ makelist
  ~ map.c                                 ~ parse.c
  ~ prompt.c                              ~ read.c
  ~ refresh.c                             ~ search.c
  ~ sig.c                                 ~ sys.h
  ~ terminal.c                            ~ tokenizer.c
  ~ tty.c                                 ~ vi.c

  > delete the "private" and "public" preprocessor macros, just use standard C;
  > OK martijn@ (schwarze@)

  ~ keymacro.c                            ~ keymacro.h
  ~ map.c                                 ~ read.c

  > * Delete the unimplemented feature XK_EXE.
  > * Delete the unused macro MIN().
  > No functional change.
  > OK czarkoff@ martijn@ (schwarze@)

  ~ read.c                                

  > Cleanup, no functional change:
  > * Make the return value from read_getcmd() less confusing.
  > * No need to store that return value; testing it once is enough.
  > * Get rid of one #ifdef section in el_wgets().
  > OK czarkoff@ martijn@ (schwarze@)

  ~ read.c                                

  > Re-introduce the following commit:
  > OpenBSD read.c rev. 1.4 1997/06/10 20:10:13 millert
  > FIONREAD takes int *, not long *
  > It got lost in the following merge from NetBSD:
  > OpenBSD read.c rev. 1.10 2003/10/31 08:42:24 otto
  > OK millert@ martijn@ (schwarze@)

librthread

  ~ pthread.h                             ~ rthread.h
  ~ rthread_barrier.c                     

  > make pthread_barrier_wait behave more like it does on other platforms.
  > from Kari Tristan Helgason (tedu@)

  ~ rthread_sync.c                        

  > PROTO_NORMAL(pthread_cond_signal) requires DEF_STD(pthread_cond_signal)
  > (guenther@)

  ~ pthread.h                             

  > Document PROTO_NORMAL requires matching DEF_{,NON}STD (guenther@)

libssl

  ~ src/crypto/evp/e_chacha20poly1305.c   

  > Use the correct iv and counter when decrypting the ciphertext for
  > EVP_aead_chacha20_poly1305_ietf(). (jsing@)

== libexec =========================================================== 05/10 ==

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

spamd

  ~ spamd.c                               

  > per rfc, ehlo responses contain hostname, then options. from dyn+bsd
  > (tedu@)

== regress =========================================================== 06/10 ==

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

lib

  ~ libedit/chared/Makefile               ~ libedit/keymacro/Makefile
  ~ libedit/read/Makefile                 

  > drop -DWIDECHAR, it's no longer needed (schwarze@)

  ~ libedit/chared/test_gets.c            ~ libedit/keymacro/test_get.c
  ~ libedit/read/glue.c                   ~ libedit/read/test_getcmd.c
  ~ libedit/read/test_read_char.c         

  > cope with the deletion of Char, use wchar_t (schwarze@)

  ~ libcrypto/aead/aeadtest.c             

  > After opening an AEAD, ensure that the decrypted output matches the
  > plaintext for the regress test case. (jsing@)

usr.bin

  ~ Makefile                              + rev/Makefile
  + rev/exp.ascii.txt                     + rev/exp.utf8.txt
  + rev/in.txt                            

  > Simple regression tests for rev(1), including UTF-8.
  > The program will soon be fixed by martijn@. (schwarze@)

  ~ ssh/test-exec.sh                      

  > add test knob and warning for StrictModes (djm@)

  ~ ssh/forwarding.sh                     

  > unbreak test for recent ssh de-duplicated forwarding change (djm@)

  ~ ssh/Makefile                          + ssh/cfginclude.sh

  > regression test for ssh_config Include directive (djm@)

  ~ ssh/Makefile                          

  > sync CLEANFILES with portable, sort (djm@)

  ~ ssh/Makefile                          

  > remove redundant CLEANFILES section (djm@)

  ~ ssh/test-exec.sh                      

  > missing bit of Include regress (djm@)

== share ============================================================= 07/10 ==

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

man

  ~ man4/com.4                            

  > Add octeon. (visa@)

  + man4/nvme.4                           

  > nvme(4) is a driver (dlg@)

  ~ man4/Makefile                         

  > add nvme(4) (dlg@)

  ~ man4/nvme.4                           ~ man4/pci.4

  > nvme tweaks; (jmc@)

  ~ man9/ml_init.9                        ~ man9/mq_init.9

  > remove ml_filter, mq_filter, niq_filter.
  > theyre currently unused, so no functional change. (dlg@)

  ~ man1/help.1                           

  > document text editors and use some Ar; from rob pierce (jmc@)

  ~ man7/library-specs.7                  

  > all archs support shared libs; from bob nw8l
  > ok sthen (jmc@)

== sys =============================================================== 08/10 ==

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

arch/amd64/amd64

  ~ vmm.c                                 

  > Clarify some comments (mlarkin@)

  ~ vmm.c                                 

  > Add functions to dump vcpu register state. Needed for some upcoming diffs.
  > Not presently used. (mlarkin@)

  ~ vmm.c                                 

  > Only build the vcpu register dump functions if VMM_DEBUG is enabled, no
  > need for these in non-debug scenarios (mlarkin@)

  ~ vmm.c                                 

  > Call debug register dump functions in error conditions (if VMM_DEBUG set)
  > (mlarkin@)

  ~ vmm.c                                 

  > add missing arguments to debug printf (mlarkin@)

  ~ pctr.c                                

  > Use cpuid function 0xa to determine presence of general purpose
  > architectural performance counters, instead of cpu family/model values.
  > Fixes a panic seen on some hypervisors when pctr(1) is used when the
  > hypervisor masks out the counters.
  > Reported by Hiltjo Posthuma, thanks.
  > ok mikeb@, guenther@ (mlarkin@)

  ~ vmm.c                                 

  > add pool_setipl after pool_init.
  > ok mlarkin@ stefan@ (dlg@)

  ~ aesni.c                               

  > pool_setipl for the aesnipl
  > it's set to IPL_VM to be conservative wrt its interaction with the crypto
  > subsystem. (dlg@)

arch/amd64/conf

  ~ GENERIC                               ~ RAMDISK_CD

  > enable nvme(4)
  > ok dlg@ (jsg@)

arch/armv7/armv7

  ~ autoconf.c                            ~ armv7.c

  > Don't try to get a board name string before attaching mainbus with the
  > platform abstraction.  The string is only displayed when attaching the
  > soc abstractions so this is not needed.  When arm mainbus becomes aware
  > of fdt it can show the /model property itself. (jsg@)

  ~ autoconf.c                            

  > remove an uneeded include (jsg@)

arch/armv7/imx

  ~ imxenet.c                             

  > G/C IFQ_SET_READY(). (mpi@)

arch/armv7/omap

  ~ if_cpsw.c                             

  > G/C IFQ_SET_READY(). (mpi@)

arch/armv7/sunxi

  ~ sxie.c                                

  > G/C IFQ_SET_READY(). (mpi@)

arch/i386/i386

  ~ pctr.c                                

  > Use cpuid function 0xa to determine presence of general purpose
  > architectural performance counters, instead of cpu family/model values.
  > Fixes a panic seen on some hypervisors when pctr(1) is used when the
  > hypervisor masks out the counters.
  > Reported by Hiltjo Posthuma, thanks.
  > ok mikeb@, guenther@ (mlarkin@)

arch/macppc/dev

  ~ if_bm.c                               ~ if_mc.c

  > G/C IFQ_SET_READY(). (mpi@)

arch/octeon/dev

  ~ if_cnmac.c                            

  > G/C IFQ_SET_READY(). (mpi@)

  ~ cn30xxuart.c                          

  > Wrap comintr() so that the interrupt handler always returns non-zero.
  > This prevents console clutter about spurious UART interrupts. (visa@)

  ~ cn30xxuart.c                          

  > Enable UART FIFOs. (visa@)

arch/octeon/octeon

  ~ locore.S                              

  > Enable write buffering with write merging. This improves overall
  > performance notably.
  > Discussed with Miod long ago
  > Tested by and ok jasper@ (visa@)

arch/sgi/dev

  ~ if_iec.c                              ~ if_mec.c

  > G/C IFQ_SET_READY(). (mpi@)

arch/sgi/hpc

  ~ if_sq.c                               

  > G/C IFQ_SET_READY(). (mpi@)

arch/socppc/dev

  ~ if_tsec.c                             

  > G/C IFQ_SET_READY(). (mpi@)

arch/sparc/dev

  ~ be.c                                  ~ qe.c
  ~ hme.c                                 

  > G/C IFQ_SET_READY(). (mpi@)

arch/sparc64/conf

  ~ GENERIC                               

  > For now, disable ahc(4) such that GENERIC.MP kernels don't overflow the 8M
  > reserved for .text and .rodata.  Hopefully I can get rid of this limit
  > soon.
  > propmpted by guenther@ (kettenis@)

  ~ GENERIC                               ~ RAMDISK

  > enable nvme(4). it Just Works(tm). (dlg@)

arch/sparc64/dev

  ~ vnet.c                                

  > G/C IFQ_SET_READY(). (mpi@)

dev

  ~ softraid.c                            ~ softraid_concat.c
  ~ softraid_crypto.c                     ~ softraid_raid0.c
  ~ softraid_raid1.c                      ~ softraid_raid5.c
  ~ softraid_raid6.c                      

  > No need to rescan chunks in each discipline to find appropriate
  > volume sector size.  Determine volume sector size in sr_meta_init().
  > Pointed out, tweaked and ok jsing@ (krw@)

dev/acpi

  ~ dwiic.c                               

  > Fix layer violation in the ihidev(4) code by implementing a generic
  > mechanism
  > that allows the i2c controller implementation to establish interrupts on
  > behalf of i2c slave device drivers.  Use this mechanism in dwiic(4) to let
  > it configure the right acpi interrupt (global or gpio).  Change the level
  > to
  > IPL_TTY as this is the appropriate level to use for keyboards and other
  > input devices.
  > ok jsg@ (kettenis@)

dev/i2c

  ~ i2cvar.h                              ~ ihidev.c

  > Fix layer violation in the ihidev(4) code by implementing a generic
  > mechanism
  > that allows the i2c controller implementation to establish interrupts on
  > behalf of i2c slave device drivers.  Use this mechanism in dwiic(4) to let
  > it configure the right acpi interrupt (global or gpio).  Change the level
  > to
  > IPL_TTY as this is the appropriate level to use for keyboards and other
  > input devices.
  > ok jsg@ (kettenis@)

dev/ic

  ~ nvme.c                                

  > shuffle attach so we read chip capabilities before operating on it
  > most importantly this gets the proper timeout for chip enables/disables.
  > (dlg@)

  ~ acx.c                                 ~ aic6915.c
  ~ an.c                                  ~ ath.c
  ~ athn.c                                ~ atw.c
  ~ bwi.c                                 ~ dc.c
  ~ dp8390.c                              ~ elink3.c
  ~ fxp.c                                 ~ gem.c
  ~ hme.c                                 ~ i82596.c
  ~ if_wi.c                               ~ lance.c
  ~ lemac.c                               ~ malo.c
  ~ mtd8xx.c                              ~ pgt.c
  ~ re.c                                  ~ rt2560.c
  ~ rt2661.c                              ~ rt2860.c
  ~ rtl81x9.c                             ~ rtw.c
  ~ rtwn.c                                ~ smc83c170.c
  ~ smc91cxx.c                            ~ ti.c
  ~ xl.c                                  

  > G/C IFQ_SET_READY(). (mpi@)

  ~ nvme.c                                

  > nvme_dmamem_alloc runs in autoconf or process context, so it can sleep
  > (dlg@)

  ~ nvme.c                                

  > rename idx to id in nvme_q_alloc
  > make it a u_int16_t like the hw while here. (dlg@)

  ~ nvme.c                                

  > keep track of the queue id in nvme_queue. (dlg@)

  ~ nvme.c                                

  > make nvme_poll return the flags from the completion queue entry
  > it's still 0 on success, but is the actual bits rather than a mashup of it
  > (dlg@)

  ~ nvme.c                                

  > poll for command completion on the cqe itll be of calling nvme_intr (dlg@)

  ~ nvme.c                                

  > nvme_sqe_fill will post a copy of an sqe from a caller (dlg@)

  ~ nvme.c                                

  > provide an scsi_adapter and stub functions for emulation to sit in (dlg@)

  ~ nvmevar.h                             

  > make a place for q_id to go (dlg@)

  ~ nvme.c                                ~ nvmevar.h

  > stash the controller identify and number of namespaces in the softc.
  > the nn is used to size the scsi bus, and the controller identify is used
  > to build responses for various scsi commands. (dlg@)

  ~ nvme.c                                ~ nvmevar.h

  > allocate an array of things to hold info about namespaces
  > so far the only useful info is namespace identify info (dlg@)

  ~ nvme.c                                ~ nvmevar.h

  > wire up the scsi midlayer. scsibus should appear after this. (dlg@)

  ~ nvmereg.h                             

  > the io command set (dlg@)

  ~ nvmereg.h                             

  > implement the namespace identify structure (dlg@)

  ~ nvme.c                                

  > implement the guts of the scsi probe and free function
  > probe issues a namespace identify against the "target". if it works
  > it stashes a copy of the info, otherwise it tells the midlayer to
  > avoid it.
  > free gets rid of the stashed info. (dlg@)

  ~ nvmereg.h                             

  > provide variants of the sqe struct for q creation and io operations (dlg@)

  ~ nvme.c                                

  > implement basic scsi inquiry handling
  > most values are as per the nvm to scsi mapping guide. this doesnt
  > do vpd at all, so no devids or serial numbers just yet. (dlg@)

  ~ nvme.c                                

  > implement handling of scsi read capacity commands
  > read cap 16 claims the devices are thin. (dlg@)

  ~ nvme.c                                

  > stub out handling of TEST_UNIT_READY, PREVENT_ALLOW, and START_STOP
  > at the moment this just pretends the commands completed fine. (dlg@)

  ~ nvme.c                                

  > nvme_q_create() issues the commands to tell the chip about io queues (dlg@)

  ~ nvme.c                                

  > allocate a queue for io commands and tell the chip about it.
  > this is necessary to run reads and writes against the device. (dlg@)

  ~ nvme.c                                

  > enable interrupts before attaching the scsibus (dlg@)

  ~ nvme.c                                

  > implement handling of scsi reads and writes
  > ive only tested reads, and not very big ones.
  > nvme 1.0 has a very stupid/naive idea about what constitutes a
  > scatter gather list. it assumes io is in whole pages in memory, but
  > i dont know if that is true in our kernel.
  > this could be cleaned up a bit, and it currently runs with a single
  > opening for the whole scsi layer and a bunch of magic values for
  > the size and number of the io queues. (dlg@)

  ~ nvmevar.h                             

  > tabs, not spaces (dlg@)

  ~ nvme.c                                

  > dont put names in arguments. (dlg@)

  ~ nvme.c                                

  > check both the admin and io queue for completions in the interrupt handler
  > this means we'll notice io completions. (dlg@)

  ~ nvme.c                                

  > cut the memory for io buffers up into page sized chunks
  > nvme 1.0 does not use conventional scatter gather lists of
  > address+length pairs. instead, it simply expects a list of page
  > addresses. this should be ok if we only feed it single VA chunks
  > which map directly to only whole physical pages.
  > nvme 1.1 introduced another scather format, but still accepts the
  > 1.0 format too. we'll stick to the 1.0 format so we can support 1.0
  > devs. (dlg@)

  ~ nvme.c                                

  > WAITOK for the dmamap create for ccbs too
  > again, only called during autoconf which is a kind of process context.
  > (dlg@)

  ~ nvme.c                                

  > dont complete scsi writes twice
  > it ends up being a use after free, which disagrees with the midlayer.
  > (dlg@)

  ~ nvme.c                                

  > dont attach if the min nvme page size is bigger than the cpu page size
  > nvme and the host cpu need to agree on the page size because its
  > the implicit size of the elements in the chips scatter gather lists.
  > if the min nvme size is greater than the cpus page size then we
  > cant guarantee that io buffers are contig for nvme pages.
  > nvme 1.1 provides an alternative sgl mechanism, so if this really
  > becomes a problem in the future we can fix it on 1.1 and later
  > devices. (dlg@)

  ~ nvme.c                                

  > allocate dma memory for ccbs to use as prpe lists
  > prpe is short for Physical Region Page Entry. this is where long
  > lists of dma regions go when they wont fit into a submission queue
  > entry. (dlg@)

  ~ nvme.c                                

  > set the scsi status to SCSI_OK (dlg@)

  ~ nvme.c                                

  > reallocate the ccbs after we figure out how big the sgls can be
  > we run with 2 entries for the nvme controller identify, and then bump it
  > up to cover the maxphys divided by the page size we negotiate. (dlg@)

  ~ nvme.c                                

  > if io needs more than two prpe slots, overflow into the ccb prpl
  > this should be enough to make io reliable (dlg@)

  ~ nvme.c                                

  > bump openings to 64 to match the number of ccbs.
  > still a bit magical, but good enough for now. (dlg@)

  ~ nvme.c                                

  > implement translation of scsi SYNC CACHE to nvme FLUSH (dlg@)

  ~ nvmevar.h                             ~ nvmereg.h
  ~ nvme.c                                

  > provide a shutdown hook that follows the procedure in the docs (dlg@)

  ~ nvme.c                                

  > apparently it's spelled NVMe, not NVME (dlg@)

  ~ nvme.c                                

  > shorten the io path slightly (dlg@)

dev/isa

  ~ if_ef_isapnp.c                        ~ if_eg.c
  ~ if_el.c                               ~ if_ex.c
  ~ if_ie.c                               

  > G/C IFQ_SET_READY(). (mpi@)

dev/pci

  ~ if_age.c                              ~ if_alc.c
  ~ if_ale.c                              ~ if_bce.c
  ~ if_bge.c                              ~ if_bnx.c
  ~ if_cas.c                              ~ if_de.c
  ~ if_em.c                               ~ if_et.c
  ~ if_ipw.c                              ~ if_iwi.c
  ~ if_iwm.c                              ~ if_iwn.c
  ~ if_ix.c                               ~ if_ixgb.c
  ~ if_jme.c                              ~ if_lge.c
  ~ if_lii.c                              ~ if_msk.c
  ~ if_myx.c                              ~ if_nfe.c
  ~ if_nge.c                              ~ if_nxe.c
  ~ if_oce.c                              ~ if_pcn.c
  ~ if_se.c                               ~ if_sis.c
  ~ if_sk.c                               ~ if_ste.c
  ~ if_stge.c                             ~ if_tht.c
  ~ if_tl.c                               ~ if_txp.c
  ~ if_vge.c                              ~ if_vic.c
  ~ if_vio.c                              ~ if_vmx.c
  ~ if_vr.c                               ~ if_vte.c
  ~ if_wb.c                               ~ if_wpi.c
  ~ if_xge.c                              

  > G/C IFQ_SET_READY(). (mpi@)

  ~ if_myx.c                              

  > G/C IFQ_SET_READY(). (mpi@)

  ~ nvme_pci.c                            

  > provide a shutdown hook that follows the procedure in the docs (dlg@)

  ~ drm/i915/intel_i2c.c                  

  > Make the gmbus code work on valleyview.
  > ok jsg@ (kettenis@)

dev/pckbc

  ~ pckbd.c                               

  > Re-enable pckbd on resume (similar to what we do on boot). Fixes problems
  > on (at least) various HP laptops that previously had no working keyboard
  > after resuming from 'zzz'.
  > Reported by Aleksandar Lakic, who also verified several versions of the
  > diff during development, thanks.
  > discussed with miod and kettenis, tested by many others on tech@ - thanks.
  > (mlarkin@)

dev/pcmcia

  ~ if_cnw.c                              ~ if_malo.c
  ~ if_xe.c                               

  > G/C IFQ_SET_READY(). (mpi@)

dev/pv

  ~ if_xnf.c                              

  > G/C IFQ_SET_READY(). (mpi@)

dev/sbus

  ~ be.c                                  ~ qe.c

  > G/C IFQ_SET_READY(). (mpi@)

dev/usb

  ~ if_cdce.c                             ~ if_cdcef.c
  ~ if_ugl.c                              

  > Call ether_fakeaddr() instead of faking Ethernet addresses manually.
  > Input from and ok jsg@ (mpi@)

  ~ if_atu.c                              ~ if_aue.c
  ~ if_axe.c                              ~ if_axen.c
  ~ if_cdce.c                             ~ if_cdcef.c
  ~ if_cue.c                              ~ if_kue.c
  ~ if_mos.c                              ~ if_otus.c
  ~ if_ral.c                              ~ if_rsu.c
  ~ if_rum.c                              ~ if_run.c
  ~ if_smsc.c                             ~ if_uath.c
  ~ if_udav.c                             ~ if_ugl.c
  ~ if_upgt.c                             ~ if_upl.c
  ~ if_url.c                              ~ if_urndis.c
  ~ if_urtw.c                             ~ if_urtwn.c
  ~ if_zyd.c                              

  > G/C IFQ_SET_READY(). (mpi@)

kern

  ~ uipc_mbuf.c                           

  > remove ml_filter, mq_filter, niq_filter.
  > theyre currently unused, so no functional change. (dlg@)

net

  ~ if_bridge.c                           

  > Set bridge(4)'s if_output to a dummy function returning EAFNOSUPPORT as
  > it should not be used to output packets but we have to respect the ifp
  > driver API to some extend.
  > Prevent a panic found the hardway by espie@.
  > ok claudio@, mikeb@, jsg@, krw@ (mpi@)

  ~ art.c                                 ~ art.h

  > Remove unneeded art_free().
  > Reported by and ok jmatthew@ (mpi@)

  ~ rtable.c                              ~ art.c
  ~ art.h                                 

  > Keep all pools in the same place.
  > ok jmatthew@ (mpi@)

  ~ if_gif.c                              ~ if_loop.c
  ~ if_mpe.c                              ~ if_ppp.c
  ~ if_pppoe.c                            ~ if_pppx.c
  ~ if_trunk.c                            ~ if_tun.c
  ~ if_vether.c                           ~ if_vlan.c
  ~ if_vxlan.c                            ~ if_mpw.c
  ~ if_var.h                              ~ if_pair.c
  ~ if_etherip.c                          

  > We're always ready!  So send IFQ_SET_READY() to the bitbucket. (mpi@)

  ~ bpf.c                                 

  > Enable device cloning for bpf. This allows to have just one bpf device
  > node in /dev, that services all bpf consumers (up to 1024). Also,
  > disallow the usage of all but the first minor device, so accidental use
  > of another minor device will attract attention.
  > Cloning bpf offers some advantages:
  > - Users with high bpf usage won't have to clutter their /dev with device
  > nodes.
  > - A lot of programs in base use a pattern like this to acces bpf:
  > int fd, n = 0;
  > do {
  > (void)snprintf(device, sizeof device, "/dev/bpf%d", n++);
  > fd = open(device, mode);
  > } while (fd < 0 && errno == EBUSY);
  > Those can now be replaced by a simple open(), without loop.
  > ok mikeb
  > "right time in the cycle to try" deraadt (natano@)

  ~ pf.c                                  

  > replace m_copym2 with m_dup_pkt for the dup-to handling.
  > note that this uses max_linkhdr as the adjustment arg. this follows
  > what the ip stack does when generating packets as it provides space
  > for link headers (like ethernet headers) to be prepended on the new
  > packet.
  > ok henning@ (dlg@)

  ~ if_vlan.c                             

  > rework vlan config to make it mpsafe and done by standard ioctls
  > configuration of the vlan parent interface and the vlan id should
  > come via the IFPARENT and VNETID ioctls now. the vlan specific
  > ioctls are still available via a compat layer, but that will go
  > away a bit further into this release cycle.
  > the parent interface may only be configured while the vlan is down.
  > the vnetid may be changed at runtime, but will generate link state
  > changes across that event.
  > the vlan is implicitily brought up when an address is assigned,
  > which brings it in line with all our other network drivers. the
  > legacy vlan ioctl still imply bringing the interface up because
  > that's what it used to do.
  > the code that brings vlans up and down is now simplified because
  > it no longer supports changing the parent at run time. most of that
  > code now adds state to the parent when bringing the vlan up, and
  > bringing the interface down just removes it in reverse.
  > these simplifications in turn make it possible for us to transmit
  > packets on vlan interfaces without holding the big lock, so its now
  > marked as MPSAFE.
  > ok jmatthew@ sthen@ mpi@ (dlg@)

  ~ if_vlan.c                             ~ if_vlan_var.h

  > rename ifv_p to ifv_ifp0
  > this makes it more clear to the casual reader that it refers to the
  > parent interface, which is consistently referred to as ifp0 in the
  > rest of the vlan (and carp) code.
  > this is a good idea from mpi@ (dlg@)

  ~ if_var.h                              

  > remove ml_filter, mq_filter, niq_filter.
  > theyre currently unused, so no functional change. (dlg@)

net80211

  ~ ieee80211_input.c                     ~ ieee80211_node.c
  ~ ieee80211_output.c                    ~ ieee80211_pae_output.c
  ~ ieee80211_proto.c                     

  > Call if_enqueue() and if_start() instead of dereferencing the ifp
  > pointers.
  > These functions have been introduced to abstract some of the MP-
  > safeness^Wmadness and should be use everywhere.
  > Prodded by a comment from jsg@.
  > ok mikeb@, stsp@ (mpi@)

  ~ ieee80211_input.c                     

  > replace m_copym2 with m_dup_pkt
  > tested by and ok stsp@ (dlg@)

netinet

  ~ in_pcb.c                              ~ in_pcb.h

  > Rename in_pcblookup() to in_pcblookup_local() and change its prototype
  > to get rid of the now useless foreign address and ports parameters.
  > ok mpi@ (vgross@)

  ~ in_pcb.c                              

  > Simplify in_pcblookup_local() logic.
  > ok mpi@ (vgross@)

  ~ in_pcb.c                              

  > Unbreak tree. Put 'laddr6' declaration inside #ifdef INET6/#endif. (krw@)

  ~ in_pcb.c                              

  > Remove extra parenthesis around comparison.
  > Found by David Hill <[email protected]> with clang. (vgross@)

  ~ ip_carp.c                             

  > We're always ready!  So send IFQ_SET_READY() to the bitbucket. (mpi@)

  ~ ip_input.c                            ~ ip_var.h

  > Kill in_rtaddr() and use rtalloc(9) directly in ip_dooptions().
  > This brings ip_dooptions() closer to mp-safeness by ensuring that
  > ``ifa'' is dereferenced before calling rtfree(9).
  > ok mikeb@ (mpi@)

netinet6

  ~ ip6_input.c                           

  > Search in the correct routing table if NPF is not defined.
  > ok jca@, phessler@, mikeb@ (mpi@)

  ~ raw_ip6.c                             

  > This code chunk has been disabled since its import, and what is does is
  > quite unsafe. Juste delete it.
  > Ok mpi@ (vgross@)

  ~ in6_pcb.c                             

  > Rename in_pcblookup() to in_pcblookup_local() and change its prototype
  > to get rid of the now useless foreign address and ports parameters.
  > ok mpi@ (vgross@)

sys

  ~ conf.h                                

  > Enable device cloning for bpf. This allows to have just one bpf device
  > node in /dev, that services all bpf consumers (up to 1024). Also,
  > disallow the usage of all but the first minor device, so accidental use
  > of another minor device will attract attention.
  > Cloning bpf offers some advantages:
  > - Users with high bpf usage won't have to clutter their /dev with device
  > nodes.
  > - A lot of programs in base use a pattern like this to acces bpf:
  > int fd, n = 0;
  > do {
  > (void)snprintf(device, sizeof device, "/dev/bpf%d", n++);
  > fd = open(device, mode);
  > } while (fd < 0 && errno == EBUSY);
  > Those can now be replaced by a simple open(), without loop.
  > ok mikeb
  > "right time in the cycle to try" deraadt (natano@)

  ~ mbuf.h                                

  > remove ml_filter, mq_filter, niq_filter.
  > theyre currently unused, so no functional change. (dlg@)

uvm

  ~ uvm_amap.c                            

  > Simplify amap traversal in amap_swap_off.
  > There's no need to insert marker elements to find the next item in the
  > amap list. The next amap can be determined by looking at the currently
  > examined amap.
  > Care must be taken to get the next element before the current amap is
  > possibly deleted, and after all the current amap's pages were read in
  > from swap (because the page-in may sleep and remove items from the amap
  > list). (stefan@)

  ~ uvm_amap.c                            ~ uvm_amap.h

  > Remove am_maxslot from amap.
  > am_maxslot represents the total number of slots an amap can be extended
  > to. Since we do not extend amaps, this field as well as rounding the
  > number of slots to the next malloc bucket is not useful.
  > This also removes the corresponding output from procmap(1).
  > ok kettenis@ (stefan@)

== usr.bin =========================================================== 09/10 ==

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

awk

  ~ lib.c                                 

  > Fix awk crash with empty assignment, e.g. 'BEGIN {i=$1}', when
  > malloc does not return zero-filled data.  OK tb@ (millert@)

calendar

  ~ calendars/calendar.birthday           

  > Howard Marks died yesterday (sthen@)

mandoc

  ~ main.c                                

  > Give manuals in purely numerical sections priority over manuals of
  > the same name in sections with an alphabetical suffix (on OpenBSD,
  > mostly 3p), restoring behaviour of the traditional BSD man(1) that
  > got lost in the switch to the mandoc-based implementation.
  > Issue reported by jsg@, using an idea by mikeb@ for the solution,
  > and at least afresh1@ and jasper@ also seem in favour of the direction.
  > (schwarze@)

  ~ cgi.c                                 

  > Give manuals in purely numerical sections priority over manuals of
  > the same name in sections with an alphabetical suffix; same logic
  > as in main.c rev. 1.171. (schwarze@)

  ~ cgi.c                                 

  > do not rewrite short URIs (schwarze@)

  ~ main.c                                

  > Fix a process group race.
  > It could occasionally happen that the child process spawned less(1)
  > before the parent process passed the control of the terminal to the
  > child, and in that case, less(1) sometimes complained "Stopped (tty
  > output)".  Issue reported by naddy@. (schwarze@)

  ~ cgi.c                                 

  > for .Xr links, use short PATH_INFO style URIs (schwarze@)

  ~ cgi.c                                 

  > omit list of other results one there is only one match (schwarze@)

  ~ cgi.c                                 

  > If PATH_INFO contains a complete and correct path to a manual page
  > file, for example "/OpenBSD-5.9/man2/pledge.2", no database query
  > is needed and the file is delivered directly.
  > But even in this case, let's parse the PATH_INFO and fill the query
  > structure such that the search form at the top of the result page
  > gets pre-filled with useful values. (schwarze@)

  ~ cgi.c                                 

  > In the architectures dropdown, move aviion, ia64, solbourne, and vax
  > down to the currently unsupported entries. (schwarze@)

  ~ cgi.c                                 

  > Make HTML tags lower case for better stylistic agreement with what
  > html.c does. (schwarze@)

  ~ cgi.c                                 

  > Fix parsing of PATH_INFO if both a section directory and an
  > architecture subdirectory are specified.  Issue reported by tb@.
  > (schwarze@)

  ~ cgi.c                                 

  > prefer warn[x](3) over fprintf(3) where appropriate (schwarze@)

  ~ cgi.c                                 

  > Rename five static functions to make the classification of functions
  > as parsers, page generators, and result generators more obvious.
  > No functional change. (schwarze@)

mg

  ~ paragraph.c                           

  > Stop mg putting a space at the end of a paragraph when using
  > fill-paragraph.  Reported by Harald Dunkel. (lum@)

  ~ def.h                                 ~ funmap.c
  ~ main.c                                ~ mg.1
  ~ paragraph.c                           

  > Add 'sentence-end-double-space'.
  > If you prefer "lighter" punctuation and one space between sentences,
  > for example:
  > Mr and Mrs Jones are from the UK. They arrived today.
  > over more liberal use of full stops and double spaces between
  > sentences:
  > Mr. and Mrs. Jones are from the U.K.  They arrived today.
  > then toggling 'sentence-end-double-space' will make mg's
  > fill-paragraph function format text using one space instead of two
  > (the default) between sentences. However, be careful, should you have
  > a double spaced document and accidentally "format" it to have single
  > spaces, then you may have a problem. mg won't be able to revert the
  > formatting for you (unless you have a previous version of the text in
  > the "undo" history, or are using mg's backup facility and haven't
  > opened and saved multiple times!).
  > Comments from schwarze@ (lum@)

rev

  ~ rev.c                                 

  > Enable UTF-8 support in rev.
  > Some minor cleanups while here.
  > OK schwarze@ (martijn@)

ssh

  ~ readconf.c                            ~ readconf.h
  ~ ssh.1                                 ~ ssh_config.5

  > Include directive for ssh_config(5); feedback & ok markus@ (djm@)

  ~ ssh_config.5                          

  > tweak previous; (jmc@)

systat

  ~ pftop.c                               

  > remove dumpfilter related code; it's a leftover from pftop-proper and not
  > used
  > in systat
  > ok canacar@ (jasper@)

== usr.sbin ========================================================== 10/10 ==

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

bgpd

  ~ kroute.c                              

  TAGGED OPENBSD_5_9
  > MFC
  > revision 1.209 by phessler@
  > When bgp receives an RTM_CHANGE message for an RTF_MPATH route[1], and
  > it finds it actually on an interface, bgpd can get confused.  In this
  > case, just log it and treat it as an RTM_ADD so bgpd doesn't suicide.
  > [1] includes all ospfd installed routes, btw.
  > OK benno@ sthen@ (phessler@)

  ~ kroute.c                              

  TAGGED OPENBSD_5_8
  > MFC
  > revision 1.209 by phessler@
  > When bgp receives an RTM_CHANGE message for an RTF_MPATH route[1], and
  > it finds it actually on an interface, bgpd can get confused.  In this
  > case, just log it and treat it as an RTM_ADD so bgpd doesn't suicide.
  > [1] includes all ospfd installed routes, btw.
  > OK benno@ sthen@ (phessler@)

bind

  ~ lib/isc/unix/entropy.c                ~ lib/isc/unix/socket.c
  ~ lib/lwres/context.c                   

  > Change last non-/gnu/ fcntl(x, F_GETFL, 0) strays to fcntl(x, F_GETFL).
  > No functional change.
  > ok millert@ (krw@)

eigrpd

  ~ eigrpd.c                              ~ eigrpd.h
  ~ eigrpe.c                              ~ eigrpe.h
  ~ interface.c                           ~ kroute.c
  ~ log.c                                 ~ log.h
  ~ packet.c                              ~ parse.y
  ~ rde.h                                 ~ rde_dual.c

  > Minor fixes and code cleanup.
  > * whitespace cleanup;
  > * copy in_addr structs directly;
  > * add more malloc return value checks;
  > * fix some log messages;
  > * turn ifacecnt into a static variable;
  > * use eigrp_addrcmp() on if_deladdr() to avoid code duplication;
  > * s/route_print_origin/log_route_origin/
  > * more smaller issues. (renato@)

  ~ rde_dual.c                            

  > Fix corner case in Feasible Condition check.
  > From the EIGRP draft:
  > "The Feasibility Condition is met when a neighbor's advertised cost, (RD)
  > to a destination is less than the Feasible Distance for that destination".
  > So, according to the draf, when the Reported Distance is EQUAL to the
  > Feasible Distance, the Feasible Condition is NOT met. (renato@)

  ~ eigrpd.c                              ~ eigrpd.h
  ~ parse.y                               

  > Move the command line options out of struct eigrpd_config
  > into an own flag field since these can't be modified via a
  > config reload.
  > Pulled from bgpd. Original author: claudio@ (renato@)

  ~ eigrpd.c                              ~ eigrpd.h
  ~ eigrpe.c                              ~ interface.c
  ~ packet.c                              ~ parse.y
  ~ rde.c                                 

  > Move several other variables out of eigrpd_conf.
  > Now eigrpd_conf contains only variables that can be modified via a
  > config reload. The other variables were moved to a new struct called
  > eigrpd_global, which is now a central point for storing global variables.
  > (renato@)

  ~ parse.y                               

  > Properly implement the clear_config() function.
  > We need to free the internal pointers of the eigrpd_conf struct, not
  > only the main struct. This avoids memory leaks when a config reload
  > happens to fail (e.g. due to a syntax error). (renato@)

  ~ eigrpe.c                              ~ rde.c

  > Fix segfault on reloading the config multiple times. (renato@)

  ~ eigrpd.c                              ~ eigrpe.c
  ~ rde.c                                 

  > Kill the child processes if their parent dies unexpectedly.
  > There's no point on keeping eigrpd running if any of its processes
  > dies unexpectedly. (renato@)

  ~ eigrpd.h                              ~ parse.y
  ~ rde.h                                 

  > Check for subnet overlap between the configured summary-addresses.
  > (renato@)

npppd

  ~ pptp/pptp_ctrl.c                      ~ pptp/pptpd.c

  > Change last non-/gnu/ fcntl(x, F_GETFL, 0) strays to fcntl(x, F_GETFL).
  > No functional change.
  > ok millert@ (krw@)

pkg_add

  ~ OpenBSD/PackageRepository.pm          

  > fallback to _pfetch after _pkgfetch until sysmerge is run automatically
  > (espie@)

procmap

  ~ procmap.c                             

  > Remove am_maxslot from amap.
  > am_maxslot represents the total number of slots an amap can be extended
  > to. Since we do not extend amaps, this field as well as rounding the
  > number of slots to the next malloc bucket is not useful.
  > This also removes the corresponding output from procmap(1).
  > ok kettenis@ (stefan@)

pstat

  ~ pstat.c                               

  > The -T flag consumes the same data as the -f flag so it requires
  > nlist too.  Fixes a crash when the -T flag is specified due to
  > calling kvm_read() with a NULL kvm_t.  From Rob Pierce (millert@)

radiusd

  ~ radiusd.c                             

  > remove "abort" promise from debugging code in radiusd
  > it is the default now, and the promise name isn't valid anymore.
  > ok yasuoka@ (semarie@)

  ~ radiusd.c                             

  > Change last non-/gnu/ fcntl(x, F_GETFL, 0) strays to fcntl(x, F_GETFL).
  > No functional change.
  > ok millert@ (krw@)

rbootd

  ~ bpf.c                                 

  > Replace bcopy() from struct bpf_timeval to struct timeval; those
  > structures are not exchangeable. This should unbreak connection timeouts
  > in rbootd, although I can't verify due to lack of rboot-able hardware.
  > ok guenther millert (natano@)

smtpd

  ~ smtpd.conf.5                          

  > arguments to "chain" are space separated, not comma; verified by jung
  > diff from david+bsd
  > i also removed Op, since ... is enough/ (jmc@)

  ~ smtpctl.8                             

  > fix typo, it is supposed to be smtpctl trace "filters" not "filter"
  > from Boudewijn Dijkstra (jung@)

ypldap

  ~ ypldap_dns.c                          ~ ypldap.h
  ~ ldapclient.c                          

  > convert ypldap_addr list to a tailq
  > ok dlg@ (jmatthew@)

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

Reply via email to