OpenBSD src changes summary for 2017-03-07 ==========================================
lib/libc lib/libssl regress/lib regress/sys regress/usr.bin sys/arch/amd64/amd64 sys/arch/arm/cortex sys/arch/arm64/conf sys/arch/armv7/armv7 sys/arch/armv7/exynos sys/arch/i386/i386 sys/arch/loongson/loongson sys/arch/sparc64/sparc64 sys/dev/acpi sys/dev/pci sys/kern sys/net sys/netinet sys/netinet6 usr.bin/ftp usr.bin/mandoc usr.bin/netstat usr.bin/tmux usr.sbin/pkg_add == lib =============================================================== 01/05 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib libc ~ stdlib/malloc.3 > Some tweaks from jmc@ and describe better what recallocarray does; > help and ok from tom@ and deraadt@ (otto@) ~ termios/tcsetpgrp.3 > If tcsetpgrp() is called by a background process and there is a > SIGTTOU handler installed without SA_RESTART set, tcsetpgrp() will > return -1 and set errno to EINTR. OK deraadt@ (millert@) libssl ~ t1_enc.c > Correctly handle TLS PRF with MD5+SHA1 - the secret has to be partitioned > and each hash processed separately. > Tested by tb@ (jsing@) == regress =========================================================== 02/05 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/regress lib ~ libtls/gotls/tls.go > We no longer need to keep pointers following tls_config_set_*() calls. > (jsing@) ~ libtls/gotls/tls.go > libtls errors are much more descriptive these days - return them directly > and avoid adding redundant/duplicate information. (jsing@) ~ libtls/gotls/tls.go ~ libtls/gotls/tls_test.go > Add handling for errors on the TLS config and properly check/handle > failures when setting the CA file. (jsing@) ~ libtls/gotls/tls.go > Provide support for libtls protocols and allow for protocols to be set on > a TLS config. The ConnVersion function now also returns a protocol version > instead of a string. (jsing@) ~ libtls/gotls/tls.go > Allow ciphers to be set on the TLS config. (jsing@) ~ libtls/gotls/tls_test.go > Add a test that covers a libtls client talking to a Go TLS server with > varying minimum and maximum protocol versions. This gives us protocol > version test coverage against an independent TLS stack. (jsing@) sys ~ crypto/gmac/gmac_test.c > Add test vectors to regress gmac_test.c > ok mikeb@ (inoguchi@) usr.bin ~ mandoc/mdoc/Fd/Makefile ~ mandoc/mdoc/In/Makefile + mandoc/mdoc/Fd/empty.out_markdown + mandoc/mdoc/In/break.out_markdown + mandoc/mdoc/In/noarg.out_markdown > Fix .In formatting in the SYNOPSIS: > No ‌ in the middle of **, please. (schwarze@) ~ mandoc/mdoc/An/Makefile ~ mandoc/mdoc/Aq/Makefile + mandoc/mdoc/An/break.out_markdown + mandoc/mdoc/Aq/author.out_markdown > implement .An -split and -nosplit (schwarze@) ~ mandoc/mdoc/Fl/Makefile ~ mandoc/mdoc/Fl/noarg.out_markdown + mandoc/mdoc/Fl/parsed.out_markdown > fix spacing after empty .Fl (schwarze@) ~ mandoc/mdoc/Eo/Makefile + mandoc/mdoc/Eo/empty.out_markdown > fix completely empty .Eo: no blank line wanted (schwarze@) ~ mandoc/mdoc/Bl/Makefile + mandoc/mdoc/Bl/inset.out_markdown > Escape blanks at the end of markdown lines > such that they don't look like output line breaks. (schwarze@) ~ mandoc/roff/de/Makefile + mandoc/roff/de/infinite.in + mandoc/roff/de/infinite.out_ascii + mandoc/roff/de/infinite.out_lint > If a user-defined macro is aborted because it exceeds the stack > limit, usually due to infinite recursion, discard whatever remains > in all those open stack levels. Otherwise, insane constructions > like the following could generate macros of enormous size, causing > mandoc(1) to die from memory exhaustion: > .de m \" original macro definition > .m \" recursion to blow up the stack > .de m \" definition to be run during the call of .m marked (*) > very long plain text (some kilobytes) > .m \" expand the above a thousand times while unwinding the stack > .. \" end of the original definition > .m \" (*) recursively generate a ridiculously large macro > .. \" end of recursively generated definition > .m \" execute the giant macro, exhausting memory > Very creative abuse found by tb@ with afl(1). (schwarze@) == sys =============================================================== 03/05 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys arch/amd64/amd64 ~ machdep.c > Disallow setting machdep.lidaction to any other value but [0,2]. > suggested by halex > ok deraadt millert (natano@) ~ mutex.S > Make the slow path similar to i386's by checking mutex owner > on every iteration. > OK mikeb@, kettenis@, mpi@, tom@, mlarkin@ (visa@) ~ mutex.S > Use the pause instruction on the slow path. This improves > performance a bit. > OK mikeb@, kettenis@, mpi@, tom@, mlarkin@ (visa@) ~ lock_machdep.c > Keep on trying to grab the lock after leaving ddb after lock spin-out. > This restores the behaviour that preceded ticket locks. The feature can > be useful in some debug cases where the system is not totally borken. > OK guenther@, dlg@, mpi@ (visa@) arch/arm/cortex ~ ampintc.c > Record the target mask for the boot CPU when we attach and use that to pick > the target CPU interface when establishing an interrupt. Makes interrupts > work on machines that boot up on a CPU that is attached to a CPU interface > that isn't zero. > Discussed with Dale Rahn. (kettenis@) arch/arm64/conf ~ GENERIC ~ RAMDISK > enable vioscsi(4) (jsg@) arch/armv7/armv7 ~ platform.c > Unbreak the tree by removing the "exynos.h" include and associated > prototype. > Found the hard way by florian@ (kettenis@) arch/armv7/exynos ~ exuart.c > Make this actually work as a tty. Everything except for the most basic > tx and rx functionality is still missing. (kettenis@) arch/i386/i386 ~ machdep.c > Disallow setting machdep.lidaction to any other value but [0,2]. > suggested by halex > ok deraadt millert (natano@) ~ mutex.S > Use the pause instruction on the slow path. This improves > performance a bit. > OK mikeb@, kettenis@, mpi@, tom@, mlarkin@ (visa@) ~ lock_machdep.c > Keep on trying to grab the lock after leaving ddb after lock spin-out. > This restores the behaviour that preceded ticket locks. The feature can > be useful in some debug cases where the system is not totally borken. > OK guenther@, dlg@, mpi@ (visa@) arch/loongson/loongson ~ machdep.c > Disallow setting machdep.lidaction to any other value but [0,2]. > suggested by halex > ok deraadt millert (natano@) arch/sparc64/sparc64 ~ lock_machdep.c > Keep on trying to grab the lock after leaving ddb after lock spin-out. > This restores the behaviour that preceded ticket locks. The feature can > be useful in some debug cases where the system is not totally borken. > OK guenther@, dlg@, mpi@ (visa@) dev/acpi ~ acpisbs.c > move a TODO to the top (jcs@) dev/pci ~ drm/i915/i915_reg.h ~ drm/i915/intel_drv.h ~ drm/i915/intel_panel.c > Setup backlight pwm alternate increment on backlight enable > On at least the MacBookAir7,1 (Broadwell), upon S3 resume, the > backlight value was treated as 0 or 100 despite reporting > intermediate values, so if the backlight value was anything other > than 100 at suspend time, the screen would stay off upon resume. > This is backported from Linux commits > 32b421e79e6b546da1d469f1229403ac9142d695 and > e29aff05f239f8dd24e9ee7816fd96726e20105a which were noted in > freedesktop.org bug 67454. > ok jsg (jcs@) kern ~ uipc_socket.c ~ uipc_socket2.c > Do not grab the NET_LOCK() for routing sockets operations. > The only function that need the lock is rtm_output() as it messes with > the routing table. So grab the lock there since it is safe to sleep > in a process context. > ok bluhm@ (mpi@) ~ kern_sysctl.c > Enforce that tcbtable and udbtable must be accessed with the NET_LOCK(). > Get rid of the old splnet()/splx() dances. What's protecting them right > now is the KERNEL_LOCK(). but since pf(4) look at these tables we want > to protect them in another way, hence the NET_LOCK(), at least as hint. > ok bluhm@ (mpi@) ~ kern_tc.c > Drop unused variable from ntp_update_second(). > ok jca@ deraadt@ (dhill@) net ~ hfsc.c ~ ifq.c ~ ifq.h > deprecate ifq_enqueue_try, and let backends drop arbitrary mbufs. > mikeb@ wants priq to be able to drop lower priority packets if the > current one is high. because ifq avoids freeing an mbuf while an > ifq mutex is held, he needs a way for a backend to return an arbitrary > mbuf to drop rather than signal that the current one needs to be > dropped. > this lets the backends return the mbuf to be dropped, which may or > may not be the current one. > to support this ifq_enqueue_try has to be dropped because it can > only signal about the current mbuf. nothing uses it (except > ifq_enqueue), so we can get rid of it. it wasnt even documented. > this diff includes some tweaks by mikeb@ around the statistics > gathered in ifq_enqueue when an mbuf is dropped. (dlg@) ~ rtsock.c > Since route_input is no longer part of the protosw struct it is possible to > pass the socket to it and do the SO_USELOOPBACK check there. This removes > a the nasty hack in the output function where the sp_family is set to 0 > temporarily. > OK bluhm@ mpi@ (claudio@) ~ raw_usrreq.c ~ route.h ~ rtsock.c > Do not grab the NET_LOCK() for routing sockets operations. > The only function that need the lock is rtm_output() as it messes with > the routing table. So grab the lock there since it is safe to sleep > in a process context. > ok bluhm@ (mpi@) ~ pf.c > Enforce that tcbtable and udbtable must be accessed with the NET_LOCK(). > Get rid of the old splnet()/splx() dances. What's protecting them right > now is the KERNEL_LOCK(). but since pf(4) look at these tables we want > to protect them in another way, hence the NET_LOCK(), at least as hint. > ok bluhm@ (mpi@) ~ ifq.c > Convert priority queue lists to mbuf_lists > This simplifies the code quite a bit making it easier to reason about. > dlg@ has begrudgingly submitted to populism, OK bluhm, mpi (mikeb@) ~ ifq.c > Change priq enqueue policy to drop lower priority packets > The new priority queueing enqueue policy is such that when the > aggregate queue depth of an outgoing queue is exceeded we attempt > to find a non-empty queue of packets with lower priority than the > priority of a packet we're trying to enqueue and if there's such > queue, we drop the first packet from it. > This ensures that high priority traffic will almost always find > the place on the queue and low priority bulk traffic gets a better > chance at regulating its throughput. There's no change in the > behavior if altered priorities are not used (e.g. via "set prio" > Pf directive, VLAN priorities and so on). > With a correction from dlg@, additional tests by dhill@ > OK bluhm, mpi (mikeb@) ~ pf.c > Don't overwrite the flow ID once it's set > Output processing may split, encapsulate or obfuscate a single > stream which makes the changed flow ID less useful for purposes > of flow control, for instance fair sharing of bandwidth. > OK dlg (mikeb@) ~ if_etherip.c > Rename struct etheripstat members for consistency, move them all to 64bits > Will make transition to percpu counters easier. ok bluhm@ (jca@) netinet ~ in_pcb.c > Initially in_pcballoc() hooked all new inpcb, including the IPv6 > ones, into the IPv4 hash. They cannot be used before bind(2) anyway > and then they are rehashed and rehooked, so this was not noticed. > Nevertheless put IPv6 PCBs into the IPv6 hash from the beginning. > OK jca@ mpi@ (bluhm@) ~ in_pcb.c > When the inpcb queue and hash lists are traversed or modified we > need netlock. Remove the obsolete splnet. > OK mpi@ (bluhm@) ~ ip_ether.c ~ ip_ether.h > Rename struct etheripstat members for consistency, move them all to 64bits > Will make transition to percpu counters easier. ok bluhm@ (jca@) netinet6 ~ in6_pcb.c > When the inpcb queue and hash lists are traversed or modified we > need netlock. Remove the obsolete splnet. > OK mpi@ (bluhm@) == usr.bin =========================================================== 04/05 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin ftp ~ fetch.c > tls_close() can return TLS_WANT_POLLIN/TLS_WANT_POLLOUT, handle them > appropriately. > Ok jca@ (sunil@) mandoc ~ mdoc_markdown.c > Fix .In formatting in the SYNOPSIS: > No ‌ in the middle of **, please. (schwarze@) ~ mdoc_markdown.c > implement .An -split and -nosplit (schwarze@) ~ mdoc_markdown.c > fix spacing after empty .Fl (schwarze@) ~ mdoc_markdown.c > fix completely empty .Eo: no blank line wanted (schwarze@) ~ mdoc_markdown.c > Escape blanks at the end of markdown lines > such that they don't look like output line breaks. (schwarze@) ~ read.c > If a user-defined macro is aborted because it exceeds the stack > limit, usually due to infinite recursion, discard whatever remains > in all those open stack levels. Otherwise, insane constructions > like the following could generate macros of enormous size, causing > mandoc(1) to die from memory exhaustion: > .de m \" original macro definition > .m \" recursion to blow up the stack > .de m \" definition to be run during the call of .m marked (*) > very long plain text (some kilobytes) > .m \" expand the above a thousand times while unwinding the stack > .. \" end of the original definition > .m \" (*) recursively generate a ridiculously large macro > .. \" end of recursively generated definition > .m \" execute the giant macro, exhausting memory > Very creative abuse found by tb@ with afl(1). (schwarze@) netstat ~ inet.c > Rename struct etheripstat members for consistency, move them all to 64bits > Will make transition to percpu counters easier. ok bluhm@ (jca@) tmux ~ grid.c > If moving cells outside the current used count, update it. (nicm@) ~ screen-write.c > Need to flush before writing out cells we are not collecting, also add > some extra logging. (nicm@) == usr.sbin ========================================================== 05/05 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin pkg_add ~ OpenBSD/PackageLocation.pm > error message bugfix: forgot to pass object around, so > parse_problems would report unspecific repository issues instead of trouble > with a given package. (espie@) ~ OpenBSD/PackageRepository.pm > more error streamlining: > - if we don't have an object for fetch, then we're grabbing a list for http > "not found" means it's not a proper package directory. > - report once for "empty" repositories, and we know the difference between > an empty dir and a non existing directory > - if we have an object, save we already reported an error to avoiding > cascading error reports (espie@) ~ OpenBSD/Handle.pm > get rid of redundant "Can't find CONTENTS" if the location already twitted > (espie@) ~ OpenBSD/Handle.pm ~ OpenBSD/PkgAdd.pm > if we reported "Can't find CONTENTS", we know it's a bad package, > so no need to say it again (espie@) ~ OpenBSD/md5.pm > Digest::SHA is nasty: it shows an incomplete error message if the > file can't be read properly (got a Read error on delete), > so stop trying to do things ourselves, just wrap the error to inject > a decent error message, catching inexistent files and read errors in > the process. (espie@) ~ OpenBSD/Handle.pm > okay "can't find" means error reported as well (espie@) - pkg.conf.5 > somehow it didn't get removed even though it's no longer installed (espie@) =============================================================================== _______________________________________________ odc mailing list [email protected] http://www.squish.net/mailman/listinfo/odc
