OpenBSD src changes summary for 2017-05-27 ==========================================
distrib/miniroot etc/rc.d/rc.subr etc/rc.d/ypbind lib/libc lib/librthread libexec/getty libexec/rpc.rstatd libexec/rpc.rwalld regress/lib regress/sys sbin/pfctl sbin/wsconsctl share/man sys/arch/alpha/alpha sys/arch/amd64/amd64 sys/arch/amd64/include sys/arch/arm64/arm64 sys/arch/arm64/include sys/arch/i386/i386 sys/arch/i386/include sys/arch/mips64/mips64 sys/arch/sparc64/conf sys/arch/sparc64/include sys/arch/sparc64/sparc64 sys/conf sys/ddb sys/dev/ic sys/dev/pci sys/dev/pv sys/dev/wscons sys/kern sys/lib/libsa sys/net sys/netinet sys/sys usr.bin/banner usr.bin/doas usr.bin/libtool usr.sbin/acme-client usr.sbin/bgpd usr.sbin/relayd usr.sbin/slaacctl usr.sbin/slaacd usr.sbin/syspatch usr.sbin/vmd == distrib =========================================================== 01/10 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/distrib miniroot ~ install.sub > De-duplicate sets selection instructions, and give a short example. > Still one lines shorter. > Input and okay from tedu@ and deraadt@; also a "weak" okay from sthen@. > (zhuk@) == etc =============================================================== 02/10 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/etc rc.d/rc.subr ~ rc.d/rc.subr > Add an ALRM timer to cope with 2 annoying issues in rc.d(8): > - prevent a daemon from hanging the boot > (typo in your flagsm e.g. httpd_flags=-d) > - make sure we can get the status of a backgrounded daemon instead of > always > returning success > Side effect of this is that we can kill a knob! rip rc_bg :-) > Ports will need love, and a second commit is coming for that. > The diff is small yet not trivial so I am committing early in the release > process in one shot so it can easily be reverted if needed. I started > working on > this during g2k16 in Cambridge then finished it in Brisbane for a2k17 where > robert@, beck@ and sthen@ agreed it was the correct way to go and I should > move > ahead with it post 6.1. > If you see any regression, please talk to me! (ajacoutot@) ~ rc.d/rc.subr > Ok turns out we still want to keep the rc_bg variable around but we need > to know which daemon cannot background themselves (actually we want to > know the opposite, but there are much more). However, it's only needed in > _rc_wait and rc.subr still does its magic without the need to add `&'. > (ajacoutot@) rc.d/ypbind ~ rc.d/ypbind > Add an ALRM timer to cope with 2 annoying issues in rc.d(8): > - prevent a daemon from hanging the boot > (typo in your flagsm e.g. httpd_flags=-d) > - make sure we can get the status of a backgrounded daemon instead of > always > returning success > Side effect of this is that we can kill a knob! rip rc_bg :-) > Ports will need love, and a second commit is coming for that. > The diff is small yet not trivial so I am committing early in the release > process in one shot so it can easily be reverted if needed. I started > working on > this during g2k16 in Cambridge then finished it in Brisbane for a2k17 where > robert@, beck@ and sthen@ agreed it was the correct way to go and I should > move > ahead with it post 6.1. > If you see any regression, please talk to me! (ajacoutot@) ~ rc.d/ypbind > Ok turns out we still want to keep the rc_bg variable around but we need > to know which daemon cannot background themselves (actually we want to > know the opposite, but there are much more). However, it's only needed in > _rc_wait and rc.subr still does its magic without the need to add `&'. > (ajacoutot@) == lib =============================================================== 03/10 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib libc ~ hash/sha2.c > move sha224_initial_hash_value[] under !SHA2_SMALL; ok deraadt@ millert@ > (naddy@) librthread ~ rthread.h ~ rthread_libc.c + synch.h + rthread_cond.c + rthread_mutex.c > New mutex and condvar implementations based on futex(2). > Not enabled yet, it needs some SPINLOCK_SPIN_HOOK love and > some bumps. > Tested by many including sthen@ in a bulk. > ok visa@, sthen@, kettenis@, tedu@ (mpi@) == libexec =========================================================== 04/10 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/libexec getty ~ subr.c > unifdef XXX_DELAY which is older than i am (tedu@) ~ main.c > remove the getname() code trying to handle baud < 1200 terminals. > leave the special down under code until somebody unearths why it exists. > (tedu@) ~ gettytab.5 ~ main.c > Stop supporting primordial # (erase) and @ (kill) sequences. > ok tedu (deraadt@) ~ main.c > Stop echoing ANSI sequences back to the console, by expanding ESC character > to literal ^[. This makes getty interaction appear more like login, and > stops a mid-ANSI sequence parsing problem that messed up login, making it > freeze the session until timeout. > ok tedu fcambus (deraadt@) rpc.rstatd ~ rstat_proc.c > bzero -> memset (tedu@) rpc.rwalld ~ rwalld.c > remove support for OSF (tedu@) == regress =========================================================== 05/10 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/regress lib ~ libpthread/sigwait/sigwait.c > Go to sleep to let our contending thread win a race. > Because we cannot assume that the contending thread will grab it > between our unlock/lock. > ok kettenis@ (mpi@) ~ libpthread/restart/connect/connect.c > Do not connect to cvs.openbsd.org in regress. Run on loopback to > make the test pass without internet access. > OK mpi@ (bluhm@) ~ libc/qsort/qsort_test.c > Also test arrays of double and long long. (millert@) sys ~ netinet/ipsec/Makefile > Do not use reject routes as they prevent path MTU discovery. > Drop possible old TCP connections from previous test runs. > Adapt regex that checks tcpdump pflog0, output has been fixed. (bluhm@) == sbin ============================================================== 06/10 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sbin pfctl ~ pfctl_osfp.c > Move includes. > This reduces the diff with usr.sbin/tcpdump/pfctl_osfp.c. The change > from tcpdump is newer, so change pfctl. No binary change. > OK deraadt@ (akfaew@) wsconsctl ~ wsconsctl.8 > Mention the display.font variable in EXAMPLES. > As mentioned by miod@ here [1], wsconsctl(8) has a currently > undocumented 'display.font' variable allowing to change the > current font on framebuffer consoles. > [1] http://undeadly.org/cgi?action=article&sid=20131023125815 > OK deraadt@ (fcambus@) == share ============================================================= 07/10 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/share man ~ man4/options.4 > option KEY got tedued. (claudio@) ~ man8/rc.d.8 ~ man8/rc.subr.8 > Add an ALRM timer to cope with 2 annoying issues in rc.d(8): > - prevent a daemon from hanging the boot > (typo in your flagsm e.g. httpd_flags=-d) > - make sure we can get the status of a backgrounded daemon instead of > always > returning success > Side effect of this is that we can kill a knob! rip rc_bg :-) > Ports will need love, and a second commit is coming for that. > The diff is small yet not trivial so I am committing early in the release > process in one shot so it can easily be reverted if needed. I started > working on > this during g2k16 in Cambridge then finished it in Brisbane for a2k17 where > robert@, beck@ and sthen@ agreed it was the correct way to go and I should > move > ahead with it post 6.1. > If you see any regression, please talk to me! (ajacoutot@) ~ man8/rc.subr.8 > Ok turns out we still want to keep the rc_bg variable around but we need > to know which daemon cannot background themselves (actually we want to > know the opposite, but there are much more). However, it's only needed in > _rc_wait and rc.subr still does its magic without the need to add `&'. > (ajacoutot@) ~ man5/port-modules.5 > remove devel/waf gone 2 years ago, may not come back but still gives > nightmares > ok ajacoutot (jung@) == sys =============================================================== 08/10 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys arch/alpha/alpha ~ locore.s > Implement copyin32(9) for alpha. (kettenis@) arch/amd64/amd64 ~ vmm.c > add missing prototype (mlarkin@) ~ cpu.c > manually inline tlbflushg. it's short and there's only one caller. > ok deraadt (tedu@) arch/amd64/include ~ cpufunc.h > there shouldn't be any need to check for PGE on amd64. ok deraadt mlarkin > (tedu@) ~ cpufunc.h > manually inline tlbflushg. it's short and there's only one caller. > ok deraadt (tedu@) ~ atomic.h > On i386 and amd64, atomic instructions include an implicit memory barrier. > ok mikeb@, visa@, mpi@ (kettenis@) arch/arm64/arm64 ~ machdep.c > Use EFI memory map to discover available physical memory. > Fall back on improved code that parses the FDT /memory node. > However, on machines with "real" UEFI firmware, /memory may include > reserved memory that we shouldn't use (it does on the Overdrive 1000). > On those machines, make sure that you use BOOTAA64 0.3 or later such that > the EFI memory map gets used. > For now, print out the EFI memory map to help debug any issues. > ok patrick@ (kettenis@) arch/arm64/include ~ vmparam.h > Use EFI memory map to discover available physical memory. > Fall back on improved code that parses the FDT /memory node. > However, on machines with "real" UEFI firmware, /memory may include > reserved memory that we shouldn't use (it does on the Overdrive 1000). > On those machines, make sure that you use BOOTAA64 0.3 or later such that > the EFI memory map gets used. > For now, print out the EFI memory map to help debug any issues. > ok patrick@ (kettenis@) arch/i386/i386 ~ cpu.c > manually inline tlbflushg. it's short and there's only one caller. > ok deraadt (tedu@) arch/i386/include ~ cpufunc.h > manually inline tlbflushg. it's short and there's only one caller. > ok deraadt (tedu@) ~ atomic.h > On i386 and amd64, atomic instructions include an implicit memory barrier. > ok mikeb@, visa@, mpi@ (kettenis@) arch/mips64/mips64 ~ pmap.c > Check cache_valias_mask earlier in the expression. The value is zero > on most systems, so this tweak should save an iota of CPU time. (visa@) arch/sparc64/conf ~ ld.script > Make room for another 4GB of .text. (kettenis@) arch/sparc64/include ~ lock.h > Move SPINLOCK_SPIN_HOOK to the header used by other archs in order to > prepare the terrain for MI locks. > ok kettenis@ (mpi@) arch/sparc64/sparc64 ~ pmap.c > Claim physical memory allocated during early bootstrap from the PROM. > (kettenis@) ~ lock_machdep.c > Move SPINLOCK_SPIN_HOOK to the header used by other archs in order to > prepare the terrain for MI locks. > ok kettenis@ (mpi@) conf ~ GENERIC > Kill option KEY, it is a useless knob, nobody uses pfkeyv2 without IPSEC or > tcp md5. OK mpi@ (claudio@) ddb ~ db_ctf.c > Spring cleanup: > - Cache the string table pointer > - Unify return statements > - Use the end of the symbol table rather than counting symbols (mpi@) ~ db_sym.c > Make ddb print again filename and linenumber if a bsd.gdb was loaded. > mpi@ agrees that this is correct. (claudio@) dev/ic ~ nvme.c ~ nvmevar.h > nvme: Add suspend/resume code > Based on an initial patch by ehrhardt@ . Thanks to claudio@ for testing > and deraadt@ for advice. > "go ahead" deraadt@ (sf@) ~ nvme.c > nvme: Don't set prp1 for DEL_IOCQ > NVM_ADMIN_DEL_IOCQ does not need prp1 (just as NVM_ADMIN_DEL_IOSQ). > Remove what is likely a cut'n'paste error from the *_ADD_* code. > tested by claudio@ > ok jmatthew@ (sf@) dev/pci ~ ahci_pci.c > remove #ifdef HIBERNATE section that declares stuff that lives in ahci.c > (jmatthew@) dev/pv ~ vioscsi.c > Move error path to end of function where god intended it > to be. goto'ing upwards into an 'if' statement block > is weird. > ok sf@ (krw@) ~ virtio.c > virtio: Remove MINSEG_INDIRECT > Remove MINSEG_INDIRECT as a tweakable define. Always use indirect > descriptors if we have more than 1 segment. Add a comment to document > the way if_vio.c uses maxnsegs in virtio_alloc_vq() to disable > indirect descriptors for a queue. > Based on a diff from krw@ (sf@) ~ virtiovar.h ~ virtio.c > virtio: remove unused vq_maxsegsize (sf@) dev/wscons ~ ascii.h > Add missing comments for CAN and SUB, for consistency. > OK tb@ (fcambus@) kern ~ uipc_domain.c > Kill option KEY, it is a useless knob, nobody uses pfkeyv2 without IPSEC or > tcp md5. OK mpi@ (claudio@) ~ uipc_mbuf.c > Refactor m_makespace() using MCLGETI to simplify the logic of this > function. > Still quite complicated but more legible in the end and it will do less > M_GET calls for huge packets. > OK bluhm@ (claudio@) ~ uipc_mbuf.c > Put an assert that M_PKTHDR is set before accessing m_pkthdr in the > mbuf functions. > OK claudio@ (bluhm@) ~ sys_futex.c > Use copyin32(9) to atomically copy the futex from user space. > On !MULTIPROCESSOR kernels we still fall back on copyin(9), but that is > fine. This will break m88k MULTIPROCESSOR kernels. > ok deraadt@, mpi@, visa@ (kettenis@) ~ uipc_socket.c ~ uipc_socket2.c > Push the NET_LOCK down into PF_KEY so that it can be treated like PF_ROUTE. > Only pfkeyv2_send() needs the NET_LOCK() so grab it at the start and > release > at the end. This should allow to push the locks down in other places. > OK mpi@, bluhm@ (claudio@) lib/libsa ~ sha2.c > move sha224_initial_hash_value[] under !SHA2_SMALL; ok deraadt@ millert@ > (naddy@) net ~ if_tun.c > Remove superflyous splnet()/splx() dances. > ok bluhm@ (mpi@) ~ route.c > In ifa_ifwithroute() the rtalloc() needs to be done against the rdomain > so use rtable_l2() to get the right id. Fixes adding routes to rtables. > OK mpi@ phessler@ (claudio@) ~ pipex.c > Remove obsolete comment talking about splnet(). (mpi@) ~ pipex.c > Use rn_inithead() instead of rn_inithead0(). Since rn_inithead0() > doesn't trigger rn_initmask() and first session had caused panics. > Reported by VOblezov at mtsbank.ru. (yasuoka@) ~ if_pfsync.c > Remove useless splnet()/splx() dances. > pfsyncioctl() is executed with the NET_LOCK() held which is enough. > ok sashan@ (mpi@) ~ if_pppoe.c > Protect the global list of softc with the NET_LOCK(). > While here remove superfluous splnet()/splx() in the ioctl routine. > ok sashan@ (mpi@) ~ if_ppp.c > Protect the global list of softc with the NET_LOCK(). > ok sashan@ (mpi@) ~ pfkeyv2.c > Push the NET_LOCK down into PF_KEY so that it can be treated like PF_ROUTE. > Only pfkeyv2_send() needs the NET_LOCK() so grab it at the start and > release > at the end. This should allow to push the locks down in other places. > OK mpi@, bluhm@ (claudio@) ~ if_pflow.c ~ if_pflow.h > move sending of pflow packet into a task, seperated from the data > collection by a mbuf queue. with help from mpi@ > ok florian@ (benno@) ~ if_pflow.c > fix previous as noted by mpi, thx florian (benno@) netinet ~ ip_carp.c > Fix the carp mode 'balancing ip-stealth'. Set the link state UP > if at least one vhid is in state MASTER. > from Florian Riehm; OK florian@ (bluhm@) sys ~ atomic.h > Add membar_enter_after_atomic(9) and membar_exit_before_atomic(9) APIs to > allow important optimizations on architectures where atomic instructions > include and implied memory barrier. > ok mikeb@, visa@, mpi@ (kettenis@) == usr.bin =========================================================== 09/10 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin banner ~ Makefile ~ banner.c ~ banner.h ~ chset.c > trim some unused compile options for alternative character forms. (tedu@) doas ~ doas.c > for password failure, print Authorization failed instead of EPERM. > will make things less confusing with commands rejected by config file. > (tedu@) libtool ~ LT/Getopt.pm > Make libtool handle --tag=... inside command line. > Unbreaks (and changes PLIST) multimedia/lives under Clang, and maybe > others. > okay espie@ (zhuk@) == usr.sbin ========================================================== 10/10 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin acme-client ~ main.c > Use basename(3) instead of hand rolling it. > Gets rid of double slashes, pointed out by Raf Czlonka (rczlonka at > gmail), thanks! > OK benno (florian@) bgpd ~ bgpd.h > fix the reference to draft-ymbk-grow-blackholing, to RFC 7999 (phessler@) ~ bgpd.conf.5 ~ bgpd.h ~ parse.y ~ printconf.c ~ rde_filter.c > allow us to use 'local-as' in the filter language > "match in from any set community local-as:neighbor-as" > OK claudio@ (phessler@) ~ bgpd.conf.5 ~ parse.y ~ printconf.c ~ rde.c ~ rde_filter.c ~ rde_update.c ~ session.c > Allow OpenBGPD to selectively choose which local ASN to use per-peer. > This is intended to be used for ASN migrations, not for permanent use. > You MUST use filters to protect yourself from receiving your own routes. > There be dragons and grues. > OK claudio@ benno@ (phessler@) ~ mrt.c > this expects 2byte ASN, so use that, instead of an asn that may or may not > fit > noticed by and OK claudio@ (phessler@) ~ bgpd.h > bump the size of ctl rib flags > OK claudio@ (phessler@) ~ parse.y > allow only one network <prefix> statement per for the same prefix. > ok florian@ phessler@ (benno@) ~ bgpd.conf.5 ~ bgpd.h ~ parse.y ~ printconf.c ~ rde.c > Allow an administrator to disable the bgp loop detection algorithm, > which is useful in very limited situations. > Angry dragons and grues will hunt for you, if you use it. > OK claudio@ sthen@ benno@ (phessler@) relayd ~ Makefile ~ ca.c ~ check_tcp.c ~ config.c ~ hce.c ~ parse.y ~ relay.c ~ relay_http.c ~ relayd.c ~ relayd.h ~ ssl.c + boguskeys.h + check_tls.c > Migrate relayd to use libtls for TLS. Still does the TLS privsep via the > engine but at least we can use a sane API for new features. > Going in now so it is possible to work with this in tree. > General agreement at d2k17. (claudio@) slaacctl ~ slaacctl.c > no longer carry addresses in struct radv_prefix (florian@) ~ slaacctl.c > show address proposals in slaacdctl show interface output (florian@) ~ slaacctl.c > do not use %hhu (florian@) ~ slaacctl.c > print router preference (florian@) slaacd ~ slaacd.c > bluhm pointed out that the prefix itself can be scoped, too. So we > need to pass around sockaddr_in6s for that, too. While here add some > more validation of what we get handed in as proposal from engine. > (florian@) ~ slaacd.c > send route label (florian@) ~ engine.c > move towards $thing proposals and attach them to iface (florian@) ~ engine.c > we need to loop over all proposals (florian@) ~ engine.c ~ slaacd.h > no longer carry addresses in struct radv_prefix (florian@) ~ engine.c > proposal state (florian@) ~ engine.c ~ engine.h ~ slaacd.c > use new address_proposal struct to generate proposals (florian@) ~ engine.c ~ engine.h ~ frontend.c ~ slaacd.c ~ slaacd.h > handle proposal ack (florian@) ~ slaacd.c > remove unused vars (florian@) ~ engine.c ~ engine.h ~ frontend.c ~ slaacd.c ~ slaacd.h > configure address on interface (florian@) ~ frontend.c > sync route socket processing to netcfgd > - handle multiple messages > - switch to get_rtaddrs() to get an array of addresses transported in > the message (florian@) ~ engine.c ~ frontend.c ~ slaacd.c ~ slaacd.h > delete proposal if address gets deleted (florian@) ~ engine.c ~ frontend.c ~ slaacd.c ~ slaacd.h > show address proposals in slaacdctl show interface output (florian@) ~ engine.c > do not use %hhu (florian@) ~ engine.c > there is no need to construct and send a proposal if we reached the > limit and just remove the list element directly afterwards (florian@) ~ engine.c > handle expiration / renewal of non-privacy addresses (florian@) ~ slaacd.c > SOCK_CLOEXEC | SOCK_NONBLOCK (florian@) ~ slaacd.c > remove unused vars (florian@) ~ Makefile ~ engine.c ~ frontend.c ~ slaacd.c ~ slaacd.h > Generate a fake ack (or is it an alternative ack?) internally. > This allows slaacd to configure addresses in the absence of > netcfgd and might be a less scary step forward to move > stateless address autoconfiguration out of the kernel. > This intentionally a compile time option and will go away > once we figure out how to do proposals. (florian@) ~ engine.c ~ slaacd.h > print router preference (florian@) ~ slaacd.h > use sizeof("constant string") to avoid magic number (florian@) syspatch ~ syspatch.sh > When running from cron, the ftp(1) progress bar is not shown; that's all > fine > and dandy except that if there's fetch/verify error, we may not know which > syspatch caused this. So if we're not associated with a terminal, just echo > what ftp -VD would (without the progress bar). (ajacoutot@) vmd ~ virtio.c > use pread and pwrite to save code and syscalls. ok mlarkin (tedu@) =============================================================================== _______________________________________________ odc mailing list [email protected] http://www.squish.net/mailman/listinfo/odc
