OpenBSD src changes summary for 2015-05-17 to 2015-05-24 inclusive ==================================================================
bin/pax distrib/armv7 distrib/miniroot distrib/sets etc/Makefile etc/etc.armv7/Makefile.inc etc/examples/ntpd.conf etc/examples/pf.conf etc/moduli etc/moduli.6144 etc/moduli.8192 etc/ntpd.conf etc/rc.conf games/backgammon gnu gnu/usr.bin/binutils-2.17 gnu/usr.bin/perl include/spawn.h lib/libc lib/libcrypto lib/libexpat lib/librthread lib/libssl lib/libtls libexec/ld.so libexec/spamd regress/sbin regress/usr.bin regress/usr.sbin sbin/dhclient sbin/disklabel sbin/dump sbin/route share/man share/mk sys/arch/alpha/alpha sys/arch/alpha/dev sys/arch/alpha/tc sys/arch/amd64/amd64 sys/arch/amd64/include sys/arch/arm/cortex sys/arch/armv7/armv7 sys/arch/armv7/compile sys/arch/armv7/conf sys/arch/armv7/exynos sys/arch/armv7/imx sys/arch/armv7/omap sys/arch/armv7/sunxi sys/arch/aviion/aviion sys/arch/hppa/gsc sys/arch/luna88k/luna88k sys/arch/octeon/dev sys/arch/sgi/hpc sys/arch/sparc/sparc sys/arch/sparc/stand/boot sys/arch/sparc/stand/common sys/arch/sparc64/dev sys/dev sys/dev/ic sys/dev/isa sys/dev/microcode sys/dev/pci sys/dev/pcmcia sys/dev/usb sys/kern sys/lib/libsa sys/net sys/netinet sys/netinet6 sys/sys usr.bin/calendar usr.bin/cu usr.bin/file usr.bin/ftp usr.bin/id usr.bin/kdump usr.bin/nm usr.bin/ssh usr.bin/tmux usr.sbin/chroot usr.sbin/dhcpd usr.sbin/dvmrpd usr.sbin/httpd usr.sbin/ldomctl usr.sbin/ntpd usr.sbin/pkg_add usr.sbin/relayd == bin =============================================================== 01/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/bin pax ~ options.c ~ tar.1 > Make TAPE=- mean stdout in tar > Some scripts and GUI ssh clients assume that tar writes to standard output > by > default. This changes allows enforcing such behavior by setting TAPE="-" > in > user profile. > Also, this makes parsing argument to "-f" option and contents of TAPE > environment variable consistent. > OK guenther@, jmc@ and sthen@ (czarkoff@) == distrib =========================================================== 02/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/distrib armv7 ~ ramdisk/Makefile > use the same va entry point on all armv7 socs > Similiar changes were made in bitrig by Patrick Wildt. > As part of this change the physical load address for imx and sunxi have > changed. Any u-boot settings that include it will need to be modified. > imx: 0x10800000 -> 0x10300000 > sunxi: 0x40800000 -> 0x40300000 > Tested by bmercer, canacar and myself. > ok bmercer@ (jsg@) ~ miniroot/Makefile.inc ~ ramdisk/Makefile ~ ramdisk/install.md > Now all the socs use the same va entry point and don't have any > conflicting symbols we can combine the configs. > Multiple umg files are still required however. The bsd.umg target in > the kernel is replaced by targets for bsd.IMX.umg, bsd.OMAP.umg and > bsd.SUNXI.umg. (jsg@) miniroot ~ install.sub > enable ntpd by default at install time. We use pools and a reliable > constraint to keep them in check. in the worst case of being on a > dark net, nothing changes. > this is being enabled by default to allow gathering of more operational > information from users. and if the operational heuristics in ntpd can be > suitable refined, this may stay the default into the future. if not, ntpd > will become even more awesome along the way. > with reyk rpe (deraadt@) ~ install.sub > Fix installing sets from cdrom if more than one drive is present. > Run makedev in install_cdrom() to create the necessary device nodes, > which got lost in a recent change. > Found by James Hartley, thanks for the bug report! > OK krw@ (rpe@) ~ install.sub > Merge the get_drive() function with install_disk(), which is the > only remaining consumer. > OK krw@ (rpe@) sets ~ lists/etc/mi > enable ntpd by default at install time. We use pools and a reliable > constraint to keep them in check. in the worst case of being on a > dark net, nothing changes. > this is being enabled by default to allow gathering of more operational > information from users. and if the operational heuristics in ntpd can be > suitable refined, this may stay the default into the future. if not, ntpd > will become even more awesome along the way. > with reyk rpe (deraadt@) ~ lists/comp/md.amd64 > sync (deraadt@) ~ lists/comp/md.macppc ~ lists/comp/md.socppc > sync (deraadt@) ~ lists/comp/md.hppa > sync (deraadt@) ~ lists/comp/md.loongson ~ lists/comp/md.sgi > sync (deraadt@) == etc =============================================================== 03/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/etc Makefile ~ Makefile > enable ntpd by default at install time. We use pools and a reliable > constraint to keep them in check. in the worst case of being on a > dark net, nothing changes. > this is being enabled by default to allow gathering of more operational > information from users. and if the operational heuristics in ntpd can be > suitable refined, this may stay the default into the future. if not, ntpd > will become even more awesome along the way. > with reyk rpe (deraadt@) ~ Makefile > Put ntpd.conf in MUTABLE so it's installed with 0644 mode. > discussed by deraadt@ (ajacoutot@) etc.armv7/Makefile.inc ~ etc.armv7/Makefile.inc > use the same va entry point on all armv7 socs > Similiar changes were made in bitrig by Patrick Wildt. > As part of this change the physical load address for imx and sunxi have > changed. Any u-boot settings that include it will need to be modified. > imx: 0x10800000 -> 0x10300000 > sunxi: 0x40800000 -> 0x40300000 > Tested by bmercer, canacar and myself. > ok bmercer@ (jsg@) ~ etc.armv7/Makefile.inc > Now all the socs use the same va entry point and don't have any > conflicting symbols we can combine the configs. > Multiple umg files are still required however. The bsd.umg target in > the kernel is replaced by targets for bsd.IMX.umg, bsd.OMAP.umg and > bsd.SUNXI.umg. (jsg@) examples/ntpd.conf ~ examples/ntpd.conf > Simplify example constraints URL to reduce load on the server side. > ok henning@, reyk@ (dtucker@) examples/pf.conf ~ examples/pf.conf > Change spamd to use divert-to instead of rdr-to. > divert-to has many advantages over rdr-to for proxies. For example, > it is much easier to use, requires less code, does not depend on > /dev/pf, works in-band without the asynchronous lookup (DIOCNATLOOK > ioctl), saves us from additional port allocations by the rdr/NAT code, > and even avoids potential collisions and race conditions that could > theoretically happen with the lookup. > Heads up: users will have to update their spamd PF rules from rdr-to > to divert-to. spamd now also listens to 127.0.0.1 instead of "any" > (0.0.0.0) by default which should be fine with most setups but has to > be considered for some special configurations. > Based on a diff is almost two years old but got delayed several times > ... beck@: "now is the time to get it in" :) > Tested by many > With help from okan@ > OK okan@ beck@ millert@ (reyk@) moduli ~ moduli > Update DH groups (dtucker@) moduli.6144 - moduli.6144 > Remove 6k and 8k bit moduli fragments since they are now kept in > usr.bin/ssh/moduli-gen. (dtucker@) moduli.8192 - moduli.8192 > Remove 6k and 8k bit moduli fragments since they are now kept in > usr.bin/ssh/moduli-gen. (dtucker@) ntpd.conf + ntpd.conf > enable ntpd by default at install time. We use pools and a reliable > constraint to keep them in check. in the worst case of being on a > dark net, nothing changes. > this is being enabled by default to allow gathering of more operational > information from users. and if the operational heuristics in ntpd can be > suitable refined, this may stay the default into the future. if not, ntpd > will become even more awesome along the way. > with reyk rpe (deraadt@) rc.conf ~ rc.conf > enable ntpd by default at install time. We use pools and a reliable > constraint to keep them in check. in the worst case of being on a > dark net, nothing changes. > this is being enabled by default to allow gathering of more operational > information from users. and if the operational heuristics in ntpd can be > suitable refined, this may stay the default into the future. if not, ntpd > will become even more awesome along the way. > with reyk rpe (deraadt@) == games ============================================================= 04/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/games backgammon ~ backgammon/extra.c > Fix sign compare bug introduced when rnum() was redefined to use > arc4random_uniform(). From pjanzen@, OK deraadt@ (millert@) == gnu =============================================================== 05/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/gnu gnu ~ gcc/gcc/cgraphunit.c ~ gcc/gcc/output.h ~ gcc/gcc/toplev.c ~ gcc/gcc/varasm.c ~ gcc/gcc/config/elfos.h ~ gcc/gcc/config/ia64/hpux.h ~ gcc/gcc/config/ia64/ia64.c ~ gcc/gcc/cp/decl2.c > Make the compiler emit visibility information for (undefined) references > with > non-default visibility. > See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=20218 for details. > This version comes from FreeBSD and has been made available under the GPLv2 > license. It has some additional bits thrown in from me to make it work in > mips64 too, and another bit to stop the C++ compiler to randomly emit > visibility information for C++ symbols that in the end aren't referenced. > ok guenther@ (kettenis@) usr.bin/binutils-2.17 ~ bfd/elflink.c > Keep visibility information for references to discarded sections. > (kettenis@) usr.bin/perl ~ utils.lst > Re-remove extra perl utils, patch lost in 5.20.2 update > pointed out by miod@ (afresh1@) == include =========================================================== 06/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/include spawn.h ~ spawn.h > Remove function argument name from posix_spawnattr_getsigmask() > prototype to match other prototypes in the file. OK guenther@ deraadt@ > (millert@) == lib =============================================================== 07/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib libc ~ rpc/clnt_udp.c > Use fcntl() to set non-blocking-mode, rather ioctl(). This has a better > chance of working in systrace restricted environments. > ok guenther (deraadt@) ~ gen/isatty.c > isatty() is used by stdio to determine the buffering mode. Add a F_ISATTY > option to fcntl(), so that isatty() can use this rather than than the > bloated > ioctl() interface. Reducing uses of ioctl() by libc makes it easier to > constrain programs with various kinds of systrace sandboxes. > ok guenther, previously discussed as a concept with nicm (deraadt@) ~ gen/isatty.c > Of course, fcntl errno case returns -1, which must be converted to 0 > with guenther (deraadt@) ~ rpc/svc_udp.c > swap calloc() arguments for clarity (deraadt@) ~ asr/gethostnamadr_async.c TAGGED OPENBSD_5_6 > Merge fix from 5.7/-current: > gethostbyname(3) would fail when more than 16 addrs/aliases were returned. > Bump MAXADDRS/ALIASES to the original of 35, and silently ignore extras > instead of failing. (brynet@) libcrypto ~ crypto/shlib_version > (kettenis@) ~ man/Makefile + man/BUF_MEM_new.3 > Maximilian dot Fillinger at uni-duesseldorf dot de > starts helping with the pod2mdoc(1)-based conversion > of LibreSSL crypto manuals from perlpod(1) to mdoc(7). > Here comes the first file, slightly tweaked by me. (schwarze@) libexpat ~ expat_config.h > define BYTEORDER so the endian tests will work > ok deraadt@ miod@ (jsg@) librthread ~ Makefile ~ rthread.c ~ rthread.h ~ rthread_fork.c > Instead of testing for __ELF__ and/or vax, leave out the bits for > interfacing > with ld.so locking whenever building NOPIC > pointless use of __ELF__ noted by brad@ > ok miod@ (guenther@) libssl ~ ssl/Makefile ~ ssl/shlib_version > (kettenis@) ~ src/crypto/ec/ec_lib.c > No need to check the return value of memcpy() if you actually checked this > pointer for NULL the line above; ok doug@ (miod@) ~ src/crypto/opensslv.h > bump to version 2.2 > ok deraadt@ (bcook@) - src/doc/crypto/BUF_MEM_new.pod > Maximilian dot Fillinger at uni-duesseldorf dot de > starts helping with the pod2mdoc(1)-based conversion > of LibreSSL crypto manuals from perlpod(1) to mdoc(7). > Here comes the first file, slightly tweaked by me. (schwarze@) libtls ~ Makefile > (kettenis@) == libexec =========================================================== 08/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/libexec ld.so ~ path.c > be pedantic with sizeof use > no change in behaviour as sizeof(char **) is the same as sizeof(char *) > ok otto@ guenther@ (jsg@) spamd ~ grey.c ~ sdl.c ~ spamd.8 ~ spamd.c > Change spamd to use divert-to instead of rdr-to. > divert-to has many advantages over rdr-to for proxies. For example, > it is much easier to use, requires less code, does not depend on > /dev/pf, works in-band without the asynchronous lookup (DIOCNATLOOK > ioctl), saves us from additional port allocations by the rdr/NAT code, > and even avoids potential collisions and race conditions that could > theoretically happen with the lookup. > Heads up: users will have to update their spamd PF rules from rdr-to > to divert-to. spamd now also listens to 127.0.0.1 instead of "any" > (0.0.0.0) by default which should be fine with most setups but has to > be considered for some special configurations. > Based on a diff is almost two years old but got delayed several times > ... beck@: "now is the time to get it in" :) > Tested by many > With help from okan@ > OK okan@ beck@ millert@ (reyk@) == regress =========================================================== 09/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/regress sbin ~ pfctl/Makefile + pfctl/pf104.in + pfctl/pf104.ok + pfctl/pfail55.in + pfctl/pfail55.ok + pfctl/pfail56.in + pfctl/pfail56.ok > Test divert-to rules' address handling (pfctl/parse.y -r1.648) (mikeb@) usr.bin ~ ssh/keys-command.sh > regress test for AuthorizedKeysCommand arguments (djm@) ~ ssh/Makefile + ssh/principals-command.sh > regress test for AuthorizedPrincipalsCommand (djm@) usr.sbin ~ relayd/LICENSE ~ relayd/Relayd.pm ~ relayd/funcs.pl + relayd/args-http-callback.pl + relayd/args-http-chunked-callback.pl + relayd/args-http-chunked-put.pl + relayd/args-http-headline-callback.pl + relayd/args-https-callback.pl + relayd/args-https-chunked-callback.pl + relayd/args-https-chunked-put.pl + relayd/args-https-headline-callback.pl > Add test cases for a crash reported by Bertrand PROVOST. When a > HTTP client writes multiple requests or chunks in a single transfer, > relayd invokes the libevent callback manually for the next data. > If the callback closes the session, this results in an use after > free. > Test an invalid second request method, test an invalid header line > in the second PUT request, test an invalid second chunked length > for a PUT request. Also test multiple valid HTTP 1.1 PUT requests > with chunked body. > To detect crashes of relayd, start it with "prefork 1" and grep for > "lost child" log messages. Unfortunately only the first child is > monitored by the parent. (bluhm@) ~ relayd/Client.pm ~ relayd/Makefile ~ relayd/Relayd.pm ~ relayd/Server.pm ~ relayd/args-https.pl ~ relayd/args-ssl.pl + relayd/args-https-inspect.pl + relayd/args-ssl-inspect.pl > Add tests for relayd TLS inspection with plain SSL and HTTPS. (bluhm@) == sbin ============================================================== 10/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sbin dhclient ~ dhclient.c ~ dhcpd.h ~ dispatch.c > Stop rejecting leases with a subnet that overlaps a subnet already > present. The latest routing stack code can now handle these situations. > Much requested by beck@ and others. Detailed discussion at s2k15 > identified required routing changes. > ok claudio@ (krw@) ~ clparse.c ~ conflex.c ~ parse.c > Tweak parsing so that hostnames starting with 0-9 are accepted. > Reported long ago by matthieu@. Also Jacob Berkman via the lists. > Tests and suggestions from Jacob and Matthieu. (krw@) disklabel ~ disklabel.8 > improve spacing in disklabel template. (sobrado@) dump ~ dump.h ~ itime.c ~ main.c ~ optr.c > Canonicalize all devices to DUIDs in order to make -w and -W output > consistent. > Based on diff from Manuel Giraud (manuel (at) ledu-giraud.fr) Thanks! > (guenther@) route ~ route.8 ~ route.c > nope, ioctl has not been used for a while (deraadt@) == share ============================================================= 11/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/share man ~ man9/mbuf_tags.9 > PACKET_TAG_IPSEC_PENDING_TDB is gone, too. (markus@) mk ~ bsd.own.mk > Switch amd64, hppa, mips64, mips64le and powerpc to binutils 2.17. > ok deraadt@ (kettenis@) ~ bsd.own.mk > no such thing as mips64le (miod@) == sys =============================================================== 12/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys arch/alpha/alpha ~ interrupt.c > Move acquisition of the kernel lock deeper in the interrupt path, and make > sure clock interrupts do not attempt to acquire it. > This will also eventually allow for IPL_MPSAFE interrupts on alpha. > Tested by dlg@ and I. (miod@) arch/alpha/dev ~ shared_intr.c > Move acquisition of the kernel lock deeper in the interrupt path, and make > sure clock interrupts do not attempt to acquire it. > This will also eventually allow for IPL_MPSAFE interrupts on alpha. > Tested by dlg@ and I. (miod@) arch/alpha/tc ~ tc_3000_300.c ~ tc_3000_500.c > Move acquisition of the kernel lock deeper in the interrupt path, and make > sure clock interrupts do not attempt to acquire it. > This will also eventually allow for IPL_MPSAFE interrupts on alpha. > Tested by dlg@ and I. (miod@) arch/amd64/amd64 ~ db_interface.c ~ db_trace.c ~ genassym.cf ~ locore.S ~ machdep.c ~ process_machdep.c ~ sys_machdep.c ~ vector.S ~ vm_machdep.c > Do lazy update/reset of the FS.base and %[def]s segment registers: reseting > segment registers in cpu_switchto if the old thread had made it to > userspace > and restoring FS.base only on first return to userspace since context > switch. > ok mlarkin@ (guenther@) ~ gdt.c ~ machdep.c > Treat primary cpu like others and put pointer to its GDT in cpu_info.ci_gdt > requested by and ok mlarkin@ (guenther@) arch/amd64/include ~ cpu.h ~ frameasm.h ~ pcb.h ~ tcb.h > Do lazy update/reset of the FS.base and %[def]s segment registers: reseting > segment registers in cpu_switchto if the old thread had made it to > userspace > and restoring FS.base only on first return to userspace since context > switch. > ok mlarkin@ (guenther@) ~ segments.h > Treat primary cpu like others and put pointer to its GDT in cpu_info.ci_gdt > requested by and ok mlarkin@ (guenther@) arch/arm/cortex ~ arml2cc.c > ARM L2C driver is only relevant on Cortex-A9 machines. > From Patrick Wildt in bitrig. (jsg@) arch/armv7/armv7 ~ armv7_start.S > Make armv7 startup PIC. From Dale Rahn in bitrig. > Tested by bmercer, canacar and myself. > ok bmercer@ (jsg@) ~ armv7_machdep.c ~ armv7_machdep.h > use the same va entry point on all armv7 socs > Similiar changes were made in bitrig by Patrick Wildt. > As part of this change the physical load address for imx and sunxi have > changed. Any u-boot settings that include it will need to be modified. > imx: 0x10800000 -> 0x10300000 > sunxi: 0x40800000 -> 0x40300000 > Tested by bmercer, canacar and myself. > ok bmercer@ (jsg@) ~ armv7.c ~ armv7_machdep.c ~ armv7_machdep.h ~ armv7var.h ~ autoconf.c + platform.c > Abstract the soc_machdep.c functions to allow a kernel to be built for > multiple socs. > From Patrick Wildt in bitrig with some additional changes. (jsg@) ~ armv7var.h > add the chromebook board id the exynos code uses (jsg@) arch/armv7/compile ~ .cvsignore > Now all the socs use the same va entry point and don't have any > conflicting symbols we can combine the configs. > Multiple umg files are still required however. The bsd.umg target in > the kernel is replaced by targets for bsd.IMX.umg, bsd.OMAP.umg and > bsd.SUNXI.umg. (jsg@) arch/armv7/conf ~ GENERIC-IMX ~ GENERIC-OMAP ~ GENERIC-SUNXI ~ Makefile.armv7 ~ RAMDISK-IMX ~ RAMDISK-OMAP ~ RAMDISK-SUNXI > use the same va entry point on all armv7 socs > Similiar changes were made in bitrig by Patrick Wildt. > As part of this change the physical load address for imx and sunxi have > changed. Any u-boot settings that include it will need to be modified. > imx: 0x10800000 -> 0x10300000 > sunxi: 0x40800000 -> 0x40300000 > Tested by bmercer, canacar and myself. > ok bmercer@ (jsg@) ~ files.armv7 > Abstract the soc_machdep.c functions to allow a kernel to be built for > multiple socs. > From Patrick Wildt in bitrig with some additional changes. (jsg@) - GENERIC-IMX - GENERIC-OMAP - GENERIC-SUNXI - RAMDISK-IMX - RAMDISK-OMAP - RAMDISK-SUNXI ~ Makefile.armv7 + GENERIC + RAMDISK > Now all the socs use the same va entry point and don't have any > conflicting symbols we can combine the configs. > Multiple umg files are still required however. The bsd.umg target in > the kernel is replaced by targets for bsd.IMX.umg, bsd.OMAP.umg and > bsd.SUNXI.umg. (jsg@) ~ GENERIC > Add udl(4) and uvideo(4) to armv7 GENERIC. Tested on my sabre lite (imx). > enable udl firmware and COMPAT_RAW_KBD to make udl useable with X. > ok jsg@ (matthieu@) arch/armv7/exynos ~ exynos.c ~ exynos_machdep.c > Abstract the soc_machdep.c functions to allow a kernel to be built for > multiple socs. > From Patrick Wildt in bitrig with some additional changes. (jsg@) ~ exynos.c > add per soc match functions instead of using armv7_match (jsg@) ~ exynos.c > imx_board_devs -> exynos_board_devs (jsg@) arch/armv7/imx ~ imxesdhc.c > add missing calls to set the gpio direction before reading the > card detect gpio on phyflex/sabre lite/wandboard (jsg@) ~ imx.c ~ imxesdhc.c > Checking the dts files turned up some more imx sdhc problems. > - use the correct CD gpios on phyflex and wandboard usdhc3 (unit 2) > - udoo has just the one sd slot with no CD (jsg@) ~ imx_machdep.c > use the same va entry point on all armv7 socs > Similiar changes were made in bitrig by Patrick Wildt. > As part of this change the physical load address for imx and sunxi have > changed. Any u-boot settings that include it will need to be modified. > imx: 0x10800000 -> 0x10300000 > sunxi: 0x40800000 -> 0x40300000 > Tested by bmercer, canacar and myself. > ok bmercer@ (jsg@) ~ imx.c ~ imx_machdep.c > Abstract the soc_machdep.c functions to allow a kernel to be built for > multiple socs. > From Patrick Wildt in bitrig with some additional changes. (jsg@) ~ imx.c > add per soc match functions instead of using armv7_match (jsg@) arch/armv7/omap ~ omap_machdep.c > use the same va entry point on all armv7 socs > Similiar changes were made in bitrig by Patrick Wildt. > As part of this change the physical load address for imx and sunxi have > changed. Any u-boot settings that include it will need to be modified. > imx: 0x10800000 -> 0x10300000 > sunxi: 0x40800000 -> 0x40300000 > Tested by bmercer, canacar and myself. > ok bmercer@ (jsg@) ~ omap.c ~ omap_machdep.c > Abstract the soc_machdep.c functions to allow a kernel to be built for > multiple socs. > From Patrick Wildt in bitrig with some additional changes. (jsg@) ~ omap.c > add per soc match functions instead of using armv7_match (jsg@) arch/armv7/sunxi ~ sunxi_machdep.c > use the same va entry point on all armv7 socs > Similiar changes were made in bitrig by Patrick Wildt. > As part of this change the physical load address for imx and sunxi have > changed. Any u-boot settings that include it will need to be modified. > imx: 0x10800000 -> 0x10300000 > sunxi: 0x40800000 -> 0x40300000 > Tested by bmercer, canacar and myself. > ok bmercer@ (jsg@) ~ sunxi.c ~ sunxi_machdep.c > Abstract the soc_machdep.c functions to allow a kernel to be built for > multiple socs. > From Patrick Wildt in bitrig with some additional changes. (jsg@) ~ sxitimer.c > rename global variables to not conflict with gptimer (jsg@) ~ a1xintc.c ~ a1xintc.h > change names to not conflict with omap intc > From Patrick Wildt in bitrig (jsg@) ~ sunxi.c > add per soc match functions instead of using armv7_match (jsg@) ~ a1xintc.c ~ sxipio.c ~ sxipiovar.h > Remove cubieboard specific gpio led setting. > From Artturi Alm in bitrig. (jsg@) arch/aviion/aviion ~ av400_machdep.c ~ av530_machdep.c > Move the logic deciding whether to grab the kernel lock or not, deeper in > the > interrupt logic, making sure the lock is not taken for clock interrupts. > Tested on aviion and luna88k. (miod@) arch/hppa/gsc ~ gsckbc.c > Follow the recent pckbc@isa changes and always establish all the necessary > interrupts at pckbc attach time, and get rid of the `intr_establish' > pckbc callback. > Tested on hppa (gsckbc) and sgi (pckbc@hpc); not tested on sparc64 > (pckbc@ebus) > but this attachment was already behaving this way and its intr_establish > callback was an empty function. (miod@) arch/luna88k/luna88k ~ isr.c ~ machdep.c > Move the logic deciding whether to grab the kernel lock or not, deeper in > the > interrupt logic, making sure the lock is not taken for clock interrupts. > Tested on aviion and luna88k. (miod@) arch/octeon/dev ~ octeon_uartbus.c > use & not && when testing lcr bits > tested by jmatthew > ok pirofti@ jmatthew@ jasper@ (jsg@) arch/sgi/hpc ~ pckbc_hpc.c > Follow the recent pckbc@isa changes and always establish all the necessary > interrupts at pckbc attach time, and get rid of the `intr_establish' > pckbc callback. > Tested on hppa (gsckbc) and sgi (pckbc@hpc); not tested on sparc64 > (pckbc@ebus) > but this attachment was already behaving this way and its intr_establish > callback was an empty function. (miod@) arch/sparc/sparc ~ dvma.c > Only attempt to load /etc/random.seed from the boot device after the kernel > image has been succesfully loaded (with the recent loadfile changes > allowing > us to know where the randomness needs to be loaded). While there, don't > bother doing this when booting from tape. > This works around the sun4e PROM 1.6, which gets confused by PROM open() - > close() sequences without any I/O happening in between. > Crank boot blocks version to 2.11. (miod@) arch/sparc/stand/boot ~ boot.c ~ loadfile_sparc.c > Only attempt to load /etc/random.seed from the boot device after the kernel > image has been succesfully loaded (with the recent loadfile changes > allowing > us to know where the randomness needs to be loaded). While there, don't > bother doing this when booting from tape. > This works around the sun4e PROM 1.6, which gets confused by PROM open() - > close() sequences without any I/O happening in between. > Crank boot blocks version to 2.11. (miod@) arch/sparc/stand/common ~ version.c > Only attempt to load /etc/random.seed from the boot device after the kernel > image has been succesfully loaded (with the recent loadfile changes > allowing > us to know where the randomness needs to be loaded). While there, don't > bother doing this when booting from tape. > This works around the sun4e PROM 1.6, which gets confused by PROM open() - > close() sequences without any I/O happening in between. > Crank boot blocks version to 2.11. (miod@) arch/sparc64/dev ~ pckbc_ebus.c > Follow the recent pckbc@isa changes and always establish all the necessary > interrupts at pckbc attach time, and get rid of the `intr_establish' > pckbc callback. > Tested on hppa (gsckbc) and sgi (pckbc@hpc); not tested on sparc64 > (pckbc@ebus) > but this attachment was already behaving this way and its intr_establish > callback was an empty function. (miod@) dev ~ softraid.c > Signed types are bad array indicies - let it panic instead. > ok deraadt krw millert (pelikan@) ~ audio.c > LITTE_ENDIAN -> LITTLE_ENDIAN > ok ratchov@ (jsg@) ~ midi.c > Don't use an uninitialised softc pointer in midiread/midiwrite. > ok ratchov@ (jsg@) dev/ic ~ mfi.c > Prevent splassert from firing during sd_flush which runs "cold" > While mfi(4) should pass SCSI transfer flags (e.g. SCSI_POLL and > SCSI_NOSLEEP) down to the management function, make it at least > use "cold" consistently for now. > ok dlg (mikeb@) ~ aic6915.c ~ smc83c170.c ~ smc91cxx.c ~ ti.c > Convert to if_input(). > ok dlg@ (mpi@) ~ if_wi.c > Convert to if_input(). > ok dlg@ (mpi@) ~ xl.c > tedu commented out xl_testpacket(), remove one of the IFQ_ENQUEUE() > in the tree. (mpi@) ~ dp8390.c ~ pgt.c > No need to set "rcvif", if_input() does it for you. (mpi@) ~ dp8390.c > No need for ifp since we do not set "rcvif". (mpi@) ~ pckbc.c ~ pckbcvar.h > Follow the recent pckbc@isa changes and always establish all the necessary > interrupts at pckbc attach time, and get rid of the `intr_establish' > pckbc callback. > Tested on hppa (gsckbc) and sgi (pckbc@hpc); not tested on sparc64 > (pckbc@ebus) > but this attachment was already behaving this way and its intr_establish > callback was an empty function. (miod@) dev/isa ~ if_ef_isapnp.c ~ if_eg.c ~ if_el.c ~ if_ex.c > Convert to if_input(). > ok dlg@ (mpi@) ~ isa.c > Report all valid interrupt locators in isaprint() - although config(8) > stanzas > only allow one irq for isa devices, there is actually support for more > since > we got isapnp(4) support, and upcoming changes will actually have regular > isa(4) > devices claim more than one irq in their indirect match function. (miod@) ~ pckbc_isa.c > Establish interrupts for both keyboard and mouse slots at pckbc attach > time, > rather than lazily from pckbc when slots are discovered. This is consistent > with what other isa devices (and pckbc on non-isa busses) do, and as a side > effect, this makes the dmesg output shorter. > This will also let us get rid of pckbc's intr_establish() callback in a > later diff. > Prompted by krw@ noticing ugly kernel output in a configuration with the > mouse slot left empty. ok krw@ mpi@ (miod@) ~ pckbc_isa.c > Follow the recent pckbc@isa changes and always establish all the necessary > interrupts at pckbc attach time, and get rid of the `intr_establish' > pckbc callback. > Tested on hppa (gsckbc) and sgi (pckbc@hpc); not tested on sparc64 > (pckbc@ebus) > but this attachment was already behaving this way and its intr_establish > callback was an empty function. (miod@) ~ isa.c > Initialize ipa_nirq in isascan(). Gets rid of spurious irq locators being > printed for isadma(4). (miod@) dev/microcode ~ udl/Makefile > Add udl(4) and uvideo(4) to armv7 GENERIC. Tested on my sabre lite (imx). > enable udl firmware and COMPAT_RAW_KBD to make udl useable with X. > ok jsg@ (matthieu@) dev/pci ~ if_myx.c > We don't need KERNEL_LOCK() around if_input() anymore, as if_input() has > appropriate locking around bpf now. > ok dlg@ (chris@) ~ if_bge.c > Increase a maximum firmware handshake timeout to 10s > BCM5718 Programmers Guide in chapter 7 "Device Control", section > "Device Reset Procedure" states that SEEPROM chips need a larger > timeout than Flash ones. > ok reyk (mikeb@) ~ ixgbe_x540.c > scrap unused ixgbe_get_link_capabilities_X540 (mikeb@) ~ if_ix.c > Access to uninitialized variable fixed. > ok mikeb@ (gerhard@) ~ if_iwm.c > Use m_defrag(9) instead of rolling our own version of it. > ok jca@ (kettenis@) ~ if_iwm.c > Limit the number of dma segments used for transmitting packets to > IWM_NUM_OF_TBS - 2. We have IWM_NUM_OF_TBS slots, but use two of those > for sending commands to the firmware. Hopefully fixes the > iwm0: hardware error, stopping device > errors I've seen somewhat regularly. > ok claudio@, deraadt@ (kettenis@) dev/pcmcia ~ if_cnw.c ~ if_xe.c > Convert to if_input(). > ok dlg@ (mpi@) ~ if_cnw.c > No need to set "rcvif", if_input() does it for you. (mpi@) dev/usb ~ if_axe.c ~ if_axereg.h > Read ethernet address from EEPROM on AX88772B based on FreeBSD > ok djm@ jsg@ (canacar@) ~ if_upl.c > Convert to if_output(). (mpi@) kern ~ kern_descrip.c > isatty() is used by stdio to determine the buffering mode. Add a F_ISATTY > option to fcntl(), so that isatty() can use this rather than than the > bloated > ioctl() interface. Reducing uses of ioctl() by libc makes it easier to > constrain programs with various kinds of systrace sandboxes. > ok guenther, previously discussed as a concept with nicm (deraadt@) ~ init_main.c > Reenable the page zeroing thread on MP m88k kernels. (miod@) ~ kern_sysctl.c > For each file in sysctl(KERN_FILE_BYFILE), FILLIT() calls fill_file(), > which calls VOP_GETATTR(). For NFS, that leads to nfs_getattr(). > If the node's attributes are not in NFS's cache, nfs_getattr() will > invoke nfs_request() and the latter will sleep, allowing the file > pointer to disappear while we traverse the list. > This results in kernel crashes while running netstat or pstat -f. > Grab a reference to the file descriptor before calling FILLIT(), > and release it afterwards. This way the file descriptor cannot > disappear while we sleep in nfs_getattr(). > Analysis and fix from Pedro Martelletto; input and OK guenther@ mpi@ > (bluhm@) ~ uipc_syscalls.c > Rename caddr_t p to cp in an inner block to avoid aliasing the outer > struct proc *p, ok deraadt (nicm@) lib/libsa ~ loadfile.h ~ loadfile_elf.c > Extend the libsa loadfile(9) granularity to tell apart randomness from the > rest > of the kernel, and extend the array filled by loadfile to report the > location > of the randomness area. > This doesn't introduce any change for bootblocks (save for a slightly > larger > stack usage due to the larger array), for the new {LOAD,COUNT}_RANDOM bits > are included in the {LOAD,COUNT}_ALL masks everything uses or computes > from. (miod@) net ~ if_bridge.c > Do not change "rcvif" without goint through if_input() again otherwise > the handlers on the new interface won't be executed. > Tested by < mxb AT alumni.chalmers DOT se> > ok dlg@ (mpi@) ~ if.h ~ if_var.h > Move the rdomain from struct ifnet into struct if_data. This way it > will be exported to userland with the existing sysctl, getifaddrs() > and routing socket (if_msghdr.ifm_data) interfaces that expose > if_data. All programs and daemons - Apps - that call the > SIOCGIFRDOMAIN ioctl in a getifaddrs() loop or after receiving an > interface message on the routing socket can now remove the pointless > additional ioctl. In base, that could be: dhclient, isakmpd, dhcpd, > dhcrelay, ntpd, ospfd, ripd, ifconfig. > No ABI breakage because it uses a previously unused pad field in if_data. > OK mpi@ deraadt@ (reyk@) ~ if.c ~ if_ethersubr.c ~ if_var.h ~ if_vlan.c ~ if_vlan_var.h > Take vlan(4) out of ether_input(). > To keep the list of input handlers short, multiple vlans share the > same ifih. > if_input_process() now looks if the interface of a mbuf changed to > make sure the corresponding handlers are executed. This is a hack > and will be improved later. > ok dlg@ (mpi@) ~ if_vlan.c > We cannot check for M_BCAST or M_MCAST now that vlan_input() is ran > before ether_input(). (mpi@) ~ if_tun.c > splx should also be called in the error case, fix a regression > introduced during the if_output() conversion. > Found by jsg@ (mpi@) ~ if.c ~ if_tun.c ~ if_vlan.c > Do not increment if_opackets in if_output(). It might make sense to do > that later but all drivers should be adapated. > Should fix a double output packet accounting, reported by Hrvoje Popovski. > (mpi@) ~ if_vlan.c ~ if_vlan_var.h > Keep track of the ifih corresponding to a vlan instance to ease its > removal. > As soon as carp(4) will be converted to the new if_input() API it > will be possible to add multiple vlan(4) and carp(4) pseudo-ifps on > top of the same parent interface. When such thing happens we can no > longer assume that the first pseudo-ifp to be destroyed will be the > last configured. > ok dlg@ (mpi@) ~ pf.c > Cleanup leftover PF_ICMP_MULTI_* code that is not needed anymore. > ok henning (mikeb@) ~ pf.c > Cut down on if statements around pf_icmp_state_lookup > Checked with blambert@, OK millert, henning (mikeb@) ~ if_vether.c > Pass output packets to bpf(4). This is helpful when debugging stack > issues. > ok reyk@ (mpi@) ~ if_vlan.c > Call if_input() instead of setting the "rcvif" pointer ourself. > ok dlg@ (mpi@) ~ pfkeyv2.c ~ pfkeyv2.h ~ pfkeyv2_convert.c > introduce ipsec-id bundles and use them for ipsecflowinfo, > fixes rekeying for l2tp/ipsec against multiple windows clients > and saves memory (for many SAs to same peers); feedback and ok mikeb@ > (markus@) netinet ~ ip_icmp.c > Do not leak a rtentry if it is unusable. > Found by The Brainy Code Scanner from Maxime Villard. (mpi@) ~ ip_carp.c > Correctly state the link state to INVALID when creating a carp interface. > Since vhe are allocated with M_ZERO and INIT is also defined to be 0, > carp_set_state() would result in a no-op because of the state check. > So explicitly initialize the state of a vhe to INIT and move the state > check in carp_set_state_all() to prevent similar issues in the future. > Problem and initial diff from Johan Ymerson, thanks! > ok henning@ (mpi@) ~ ip_ipsp.c ~ ip_ipsp.h ~ ip_spd.c ~ udp_usrreq.c > introduce ipsec-id bundles and use them for ipsecflowinfo, > fixes rekeying for l2tp/ipsec against multiple windows clients > and saves memory (for many SAs to same peers); feedback and ok mikeb@ > (markus@) ~ ip_output.c > remove PACKET_TAG_IPSEC_PENDING_TDB, it is never set; ok mikeb@ (markus@) netinet6 ~ ip6_forward.c ~ ip6_output.c > remove PACKET_TAG_IPSEC_PENDING_TDB, it is never set; ok mikeb@ (markus@) sys ~ fcntl.h > isatty() is used by stdio to determine the buffering mode. Add a F_ISATTY > option to fcntl(), so that isatty() can use this rather than than the > bloated > ioctl() interface. Reducing uses of ioctl() by libc makes it easier to > constrain programs with various kinds of systrace sandboxes. > ok guenther, previously discussed as a concept with nicm (deraadt@) ~ conf.h > for decades, wsdisplay has acted in one way like it is not a tty (deraadt@) ~ mbuf.h > remove PACKET_TAG_IPSEC_PENDING_TDB, it is never set; ok mikeb@ (markus@) == usr.bin =========================================================== 13/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin calendar ~ calendars/calendar.holiday > New Year's Day (czarkoff@) ~ calendars/calendar.holiday > Montenegrin holidays > OK jmc@, sthen@ (same for previous comment) (czarkoff@) ~ calendars/calendar.music > some fixes from pjanzen; (jmc@) cu ~ cu.1 ~ cu.c > Add -d flag and dc capability to open devices non-blocking, used for the > few drivers that do not support cua* so tty* must be used. > ok miod millert (nicm@) file ~ file.c ~ sandbox.c > No longer need tricks with setvbuf(). Instead, we just give permission > to call fstat() and fcntl(). > ok nicm (deraadt@) ftp ~ stringlist.c ~ stringlist.h > Remove clauses 3 and 4 from Christos Zoulas' BSD license. > This is safe because Christos did that himself in NetBSD in 2008. > No code change. (schwarze@) id ~ id.1 ~ id.c > Add -c flag to display the user's login class. OK espie@ (millert@) kdump ~ mksubr > isatty() is used by stdio to determine the buffering mode. Add a F_ISATTY > option to fcntl(), so that isatty() can use this rather than than the > bloated > ioctl() interface. Reducing uses of ioctl() by libc makes it easier to > constrain programs with various kinds of systrace sandboxes. > ok guenther, previously discussed as a concept with nicm (deraadt@) nm ~ elf.c ~ nm.1 ~ nm.c ~ util.h > Add -D option for displaying the dynamic symbol table > ok miod@ (guenther@) ~ nm.c > Add 'D' to usage optstring. Prodded by jmc@ (guenther@) ssh ~ sandbox-systrace.c > getentropy() and sendsyslog() have been around long enough. > openssh-portable may want the #ifdef's but not base. > discussed with djm few weeks back (deraadt@) ~ sshkey.c ~ sshkey.h > refactor: split base64 encoding of pubkey into its own > sshkey_to_base64() function and out of sshkey_write(); > ok markus@ (djm@) ~ auth2-pubkey.c ~ sshd_config.5 > support arguments to AuthorizedKeysCommand > bz#2081 loosely based on patch by Sami Hartikainen > feedback and ok markus@ (djm@) ~ auth2-pubkey.c ~ servconf.c ~ servconf.h ~ sshd.c ~ sshd_config.5 > add AuthorizedPrincipalsCommand that allows getting authorized_principals > from a subprocess rather than a file, which is quite useful in > deployments with large userbases > feedback and ok markus@ (djm@) ~ ssh-keygen.c > Support "ssh-keygen -lF hostname" to find search known_hosts and > print key hashes. Already advertised by ssh-keygen(1), but not > delivered by code; ok dtucker@ (djm@) ~ moduli-gen/moduli ~ moduli-gen/moduli.1024 ~ moduli-gen/moduli.1536 ~ moduli-gen/moduli.2048 ~ moduli-gen/moduli.3072 ~ moduli-gen/moduli.4096 ~ moduli-gen/moduli.6144 ~ moduli-gen/moduli.7680 ~ moduli-gen/moduli.8192 > Update DH groups (dtucker@) ~ gss-serv.c ~ servconf.c ~ servconf.h ~ sshd_config.5 > add knob to relax GSSAPI host credential check for multihomed hosts > bz#928, patch by Simon Wilkinson; ok dtucker > (kerberos/GSSAPI is not compiled by default on OpenBSD) (djm@) ~ readconf.c > Reorder EscapeChar option parsing to avoid a single-byte out- > of-bounds read. bz#2396 from Jaak Ristioja; ok dtucker@ (djm@) ~ ssh.1 > mention ssh-keygen -E for comparing legacy MD5 fingerprints; bz#2332 (djm@) ~ sftp-client.c > fix a memory leak in an error path > ok markus@ dtucker@ (jsg@) ~ sshd.c > add missing 'c' option to getopt(), case statement was already > there; from Felix Bolte (djm@) tmux ~ tty.c > In terminfo, sometimes cvvis implies cnorm and sometimes it doesn't, so > don't assume it does. Fixes missing cursor with emacs-in-tmux-in-tmux. > (nicm@) ~ format.c > Return empty string if format is empty rather than attempting to > allocate zero bytes. (nicm@) == usr.sbin ========================================================== 14/14 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin chroot ~ chroot.8 ~ chroot.c > When a user is specified via the -u flag, use setusercontext() to > setup (most of) the execution environment. We still have to defer > setting the actual uid until after we change root. OK deraadt@ (millert@) dhcpd ~ conflex.c ~ confpars.c ~ parse.c > Tweak parsing so that hostnames starting with 0-9 are accepted. > Reported long ago by matthieu@. Also Jacob Berkman via the lists. > Tests and suggestions from Jacob and Matthieu. (krw@) dvmrpd ~ rde_srt.c > fix a non safe use of LIST_FOREACH with LIST_REMOVE > ok claudio@ kettenis@ reyk@ (jsg@) httpd ~ httpd.conf.5 > drop comment about being possible to include /etc/nginx/mime.types, > we do not have to care about nginx anymore. > ok jmc@ (who thinks previously suggested removing it), and reyk@ (sobrado@) ~ httpd.conf.5 > sort media type extensions for text/html and image/jpeg as given in > /usr/share/misc/mime.types; do not include shtml as it is for Server > Side Includes (SSI) -- we will never do SSI. > joint work with reyk@ > ok reyk@ (sobrado@) ~ httpd.conf.5 > better spacing in media types. > ok reyk@ (sobrado@) ~ httpd.h ~ server_http.c > Use off_t instead of size_t to pass file size and print it using %lld when > constructing the Content-Length header field. Should fix some, but > probably > not all, problems with serving files bigger than 2G on 32-bit > architectures. > ok reyk@, florian@ (kettenis@) ldomctl ~ mdesc.c > fix a memory leak in an error path (jsg@) ntpd ~ constraint.c ~ ntpd.h ~ parse.y > When resolving the "constraint" (singular), store all returned IP > addresses and try one after another until the connection succeeded - > based on the existing mechanism of "server". "constraint" previously > only tried to connect to the first returned address, aborted and > skipped the constraint on failure. In difference to "constraints" > (plural), it still only connects to one address at a time and not to > all of them at once. > Pointed out by rpe@ > OK rpe@ deraadt@ (reyk@) ~ ntpd.conf.5 > Simplify example constraints URL to reduce load on the server side. > ok henning@, reyk@ (dtucker@) ~ constraint.c > Currently, after 4 failed constraint checks, we suspect the constraint > of being wrong, not the NTP responses, reset it and query it from all > the constraint servers all over again. This is turned out to be a bit > aggressive because it could get triggered with just a few bad NTP > peers in a larger pool. To avoid constant reconnections, scale the > error margin with the number of resolved NTP peers using peer_cnt * 4. > This way a single or a few outliers in a NTP pool cannot trigger > reconnecting to the constraint servers immediately. More NTP peers, > less reason to mistrust the constraint. > Found by dtucker@ > OK deraadt@ (reyk@) ~ server.c > Get the rdomain from the newly exposed ifi_rdomain field in if_data > instead of calling the SIOCGIFRDOMAIN ioctl for every single address. > OK deraadt@ (reyk@) ~ ntp.c ~ ntpd.h ~ sensors.c > Remove hotplug(4) sensor support: the code has been disabled by > henning@ 9 years ago because of an issue with the /dev/hotplug device > - it does not support multiple readers opening it. Nobody ever cared > enough to fix it so it is time to sent the dead code to the Attic. > OK henning@ (feeling sad about it), mpi@ and others (reyk@) ~ constraint.c > No need to call tzset() and log_init() in the forked constraint > handler. It is run in a chroot, so tzset() wouldn't even succeed to > open the zone file. Found with tame. > OK deraadt@ (reyk@) pkg_add ~ OpenBSD/ProgressMeter.pm ~ OpenBSD/ProgressMeter/Term.pm > since the progressmeter is always tied to a state, store the state always, > and not just in the Term case. > allows passing less parameters around. (espie@) ~ OpenBSD/PkgCreate.pm > have visit_with_count and visit_with_size use the same parameter > conventions. > In particular, pass state before the other method parameters. (espie@) ~ OpenBSD/Add.pm ~ OpenBSD/Delete.pm ~ OpenBSD/PkgCreate.pm ~ OpenBSD/ProgressMeter.pm ~ OpenBSD/ProgressMeter/Term.pm > simplify progressmeter calls to visit_and: we retrieve the state from the > progressmeter object (espie@) ~ OpenBSD/Add.pm > better error in case we can't create tempfiles (espie@) ~ OpenBSD/Add.pm > identical common code -> refactor (espie@) ~ OpenBSD/PkgCheck.pm > pass subst to the installer state, so that -Dunsigned would work (espie@) relayd ~ relay_http.c > The first line of a HTTP request is the method-url-version. The > second line is a key-value header. So you cannot append to the > previous key-value before line three. Also reset the last header > when all headers are purged to avoid a use after free. > OK benno@ reyk@ (bluhm@) ~ relay.c ~ relay_http.c > Fix a crash reported and analyzed by Bertrand PROVOST. When a HTTP > client or server writes multiple requests or chunks in a single > transfer, relayd invokes the libevent callback manually for the > next data. If the callback closes the session, this resulted in > an use after free. > Instead of the more complicated fix suggested by Bertrand PROVOST, > just move the invocation of the callback to the end of the function. > So in case the callback frees any structures, they are not accessed. > OK benno@ reyk@ (bluhm@) ~ relay_http.c > fix a non safe use of TAILQ_FOREACH with TAILQ_REMOVE > ok reyk@ (jsg@) =============================================================================== _______________________________________________ owc mailing list [email protected] http://www.squish.net/mailman/listinfo/owc
