[owc] Weekly src changes ending 2007-03-11
OWC
auto at squish.net
Mon Mar 12 07:10:56 GMT 2007
OpenBSD src changes summary for 2007-03-04 to 2007-03-11 inclusive
==================================================================
bin/pax distrib/miniroot
distrib/notes distrib/sets
distrib/sparc etc/MAKEDEV.common
etc/etc.alpha/MAKEDEV etc/etc.amd64/MAKEDEV
etc/etc.armish/MAKEDEV etc/etc.cats/MAKEDEV
etc/etc.hp300/MAKEDEV etc/etc.hppa/MAKEDEV
etc/etc.hppa64/MAKEDEV etc/etc.i386/MAKEDEV
etc/etc.landisk/MAKEDEV etc/etc.luna88k/MAKEDEV
etc/etc.mac68k/MAKEDEV etc/etc.macppc/MAKEDEV
etc/etc.mvme68k/MAKEDEV etc/etc.mvme88k/MAKEDEV
etc/etc.sgi/MAKEDEV etc/etc.sparc/MAKEDEV
etc/etc.sparc64/MAKEDEV etc/etc.vax/MAKEDEV
etc/etc.zaurus/MAKEDEV etc/mail/spamd.conf
etc/services include/netgroup.h
lib/libc libexec/ld.so
libexec/spamd libexec/spamd-setup
libexec/spamlogd sbin/dump
sbin/ipsecctl sbin/isakmpd
share/man sys/arch/hppa/hppa
sys/arch/m68k/m68k sys/arch/mac68k/dev
sys/arch/macppc/dev sys/arch/sh/include
sys/arch/sh/sh sys/arch/sparc64/conf
sys/arch/sparc64/dev sys/dev/ata
sys/dev/cardbus sys/dev/ic
sys/dev/pci sys/dev/wscons
sys/kern sys/net
usr.bin/encrypt usr.bin/ftp
usr.bin/sort usr.bin/ssh
usr.bin/systat usr.sbin/bgpctl
usr.sbin/bgpd usr.sbin/hoststated
usr.sbin/httpd usr.sbin/lpr
usr.sbin/netgroup_mkdb usr.sbin/pkg_add
usr.sbin/pppd usr.sbin/sliplogin
usr.sbin/spamdb usr.sbin/syslogd
== bin =============================================================== 01/11 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/bin
pax
~ pax.1
> clarify an example; from patrick keshishian
> help/ok otto (jmc@)
== distrib =========================================================== 02/11 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/distrib
miniroot
~ install.sub
> If INSTALL.<arch> isn't present at the given set location, give the
> user a chance to bail out before selecting sets to install. Just in
> case the user ended up in the wrong directory.
> Suggested by beck@, feedback from various.
> "emphatic ok" beck@ "go for it" deraadt@ (krw@)
notes
~ i386/hardware ~ amd64/hardware
> add azalia(4) hardware.
> "fine" jmc@ (jasper@)
~ mirrors
> sync the mirror list here with ftp.html -r1.414
> ok deraadt@ (grunk@)
~ armish/prep ~ sparc/prep
~ sparc64/prep
> spelling fixes; ok deraadt@ (david@)
~ alpha/hardware ~ amd64/hardware
~ armish/hardware ~ i386/hardware
~ landisk/hardware ~ macppc/hardware
~ sparc64/hardware ~ zaurus/hardware
> some note updates from jsg (deraadt@)
sets
~ lists/base/md.macppc ~ lists/base/md.mvmeppc
~ lists/base/md.sgi ~ lists/comp/md.macppc
~ lists/comp/md.mvmeppc ~ lists/comp/md.sgi
> sync (deraadt@)
~ lists/man/mi
> Uncomment landisk kmem(4) link (miod@)
sparc
~ miniroot/list
> Decrease inode pressure on the miniroot by doing MAKEDEV ramdisk instead of
> MAKEDEV all, since the scripts can create the needed nodes later; found the
> hard way by hshoexer@
> ok deraadt@ (miod@)
== etc =============================================================== 03/11 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/etc
MAKEDEV.common
~ MAKEDEV.common
> Forcibly change /dev/pci to a symbolic link if it isn't one.
> Feedback from drahn@, millert@, marco at .hen get it in" deraadt at .rw@)
etc.alpha/MAKEDEV
~ etc.alpha/MAKEDEV
> regen (krw@)
etc.amd64/MAKEDEV
~ etc.amd64/MAKEDEV
> regen (krw@)
etc.armish/MAKEDEV
~ etc.armish/MAKEDEV
> regen (krw@)
etc.cats/MAKEDEV
~ etc.cats/MAKEDEV
> regen (krw@)
etc.hp300/MAKEDEV
~ etc.hp300/MAKEDEV
> regen (krw@)
etc.hppa/MAKEDEV
~ etc.hppa/MAKEDEV
> regen (krw@)
etc.hppa64/MAKEDEV
~ etc.hppa64/MAKEDEV
> regen (krw@)
etc.i386/MAKEDEV
~ etc.i386/MAKEDEV
> regen (krw@)
etc.landisk/MAKEDEV
~ etc.landisk/MAKEDEV
> regen (krw@)
etc.luna88k/MAKEDEV
~ etc.luna88k/MAKEDEV
> regen (krw@)
etc.mac68k/MAKEDEV
~ etc.mac68k/MAKEDEV
> regen (krw@)
etc.macppc/MAKEDEV
~ etc.macppc/MAKEDEV
> regen (krw@)
etc.mvme68k/MAKEDEV
~ etc.mvme68k/MAKEDEV
> regen (krw@)
etc.mvme88k/MAKEDEV
~ etc.mvme88k/MAKEDEV
> regen (krw@)
etc.sgi/MAKEDEV
~ etc.sgi/MAKEDEV
> regen (krw@)
etc.sparc/MAKEDEV
~ etc.sparc/MAKEDEV
> regen (krw@)
etc.sparc64/MAKEDEV
~ etc.sparc64/MAKEDEV
> regen (krw@)
etc.vax/MAKEDEV
~ etc.vax/MAKEDEV
> regen (krw@)
etc.zaurus/MAKEDEV
~ etc.zaurus/MAKEDEV
> regen (krw@)
mail/spamd.conf
~ mail/spamd.conf
> sync to latest changes in spamd.conf(5); (jmc@)
services
~ services
> Database synchronizaton for spamd/spamlogd
> This adds an HMAC protected synchronization protocol for use by spamd and
> spamlogd.
> - spamd can receive updates from other hosts for GREY, WHITE, and TRAPPED
> db
> entries, and will update the local /var/db/spamd accordingly.
> - spamd can send updates when it makes changes to the GREY or TRAPPED
> entries in the db to other hosts running spamd. (Note it does not send
> WHITE entries because the other spamd will see the GREY changes and have
> complete information to make appropritate decisions)
> - spamlogd can send updates for WHITE db entries that it performs on the
> local
> db to other hosts running spamd, which will then apply them on remote
> hosts.
> note that while this diff provides synchronization for changes made to the
> spamd db by the daemons, it does *not* provide for sychonizing changes
> to the spamd db made manually with the spamdb command.
> Synchronization protocol and most of the work by reyk@,
> with a bunch of the spamd, and spamlogd stuff by me.
> testing mostly at the U of A, running happily there under big load.
> ok reyk@ jmc@ (beck@)
~ services
> `z' -> `s', as agreed w/ reyk; (jmc@)
== include =========================================================== 04/11 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/include
netgroup.h
~ netgroup.h
> Remove _err() calls from getnetgrent.c. This is a minor API change
> as _ng_sl_add() now returns a value. The only consumer of that
> interface is netgroup_mkdb(8). Adapted from NetBSD.
> OK deraadt@ (millert@)
== lib =============================================================== 05/11 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/lib
libc
~ gen/getnetgrent.c
> Remove _err() calls from getnetgrent.c. This is a minor API change
> as _ng_sl_add() now returns a value. The only consumer of that
> interface is netgroup_mkdb(8). Adapted from NetBSD.
> OK deraadt@ (millert@)
~ sys/shutdown.2
> manual page update by Bruce M. Simpson <bms at FreeBSD.orgo
> reflect how shutdown() behaves with PF_INET and PF_INET6 sockets;
> help/ok millert otto (jmc@)
== libexec =========================================================== 06/11 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/libexec
ld.so
~ sh/rtld_machine.c
> Revert a workaround that was put in for softfpu ABI violations, hardfp
> doesnt.
> ok miod. (drahn@)
~ sh/rtld_machine.c
> Put the workaround back in because gcc fails to build otherwise. ok
> deraadt@ (drahn@)
spamd
~ Makefile ~ grey.c
~ grey.h ~ spamd.8
~ spamd.c + sync.c
+ sync.h
> Database synchronizaton for spamd/spamlogd
> This adds an HMAC protected synchronization protocol for use by spamd and
> spamlogd.
> - spamd can receive updates from other hosts for GREY, WHITE, and TRAPPED
> db
> entries, and will update the local /var/db/spamd accordingly.
> - spamd can send updates when it makes changes to the GREY or TRAPPED
> entries in the db to other hosts running spamd. (Note it does not send
> WHITE entries because the other spamd will see the GREY changes and have
> complete information to make appropritate decisions)
> - spamlogd can send updates for WHITE db entries that it performs on the
> local
> db to other hosts running spamd, which will then apply them on remote
> hosts.
> note that while this diff provides synchronization for changes made to the
> spamd db by the daemons, it does *not* provide for sychonizing changes
> to the spamd db made manually with the spamdb command.
> Synchronization protocol and most of the work by reyk@,
> with a bunch of the spamd, and spamlogd stuff by me.
> testing mostly at the U of A, running happily there under big load.
> ok reyk@ jmc@ (beck@)
~ grey.c
> bob writes some of the most horrid space and tab riddled messy code around
> (deraadt@)
~ spamd.8
> correct location of spamd.key (joel@)
~ grey.c ~ sdl.c
> spacing (deraadt@)
~ spamd.c
> revert unintentional MAXCON change back to 800, accidentally did last
> commit with the U of A value, which may not be safe on all GENERICs with
> an unmodified kern.maxfiles (beck@)
~ grey.c
> don't make everything a sync once we see one, reset this once
> we save the entry.
> ok reyk@ (beck@)
~ spamd.8
> document spamd.key better. what format does the file take? how do i
> create one? and so on...
> help from jmc@ (reyk@)
~ spamd.8
> better dd options for the spamd.key generation example. (reyk@)
~ spamd.8 ~ spamd.c
> remove -r option that didn't work anyway.
> ok jmc@, reyk@ (beck@)
~ spamd.c
> Make the maximum number of connections dependant on kern.maxfiles rather
> than a hardcoded value.
> ok reyk@, deraadt@ with knfisms and saner variable names (beck@)
~ spamd.8
> document allowing -c to increase to within 200 of kern.maxfiles (beck@)
~ spamd.8
> - move LOGGING into the main body
> - move some relevant bits of SYNCHRONISATION into -Yy descriptions
> - tweaks for SYNCHRONISATION
> ok reyk beck (jmc@)
~ spamd.8
> tweak -c; sort FILES; (jmc@)
~ grey.c ~ grey.h
~ spamd.8 ~ spamd.c
> Add -M option to specify a local address that is a lower priority MX
> address than the primary one. spamd will trap hosts that contact this
> address first without first contacting the primary.
> - get it in, deraadt@ (beck@)
~ spamd.8
> new sentence, new line
> kill whitespace at eol (jmc@)
~ spamd.8
> some spelling fixes; (jmc@)
~ spamd.8
> clean up the greytrap stuff; (jmc@)
~ spamd.c
> sync usage(); ok deraadt (jmc@)
~ spamd.8
> Add some emphasis for easier reading and clarify MX trapping by
> explicitly mentioning IP aliases, which is typically how you would
> implement MX trapping using a single host.
> OK beck@, trusted by deraadt@ (millert@)
spamd-setup
~ spamd-setup.8
> update to describe current behaviour;
> with some help from millert and beck (jmc@)
spamlogd
~ Makefile ~ spamlogd.8
~ spamlogd.c
> Database synchronizaton for spamd/spamlogd
> This adds an HMAC protected synchronization protocol for use by spamd and
> spamlogd.
> - spamd can receive updates from other hosts for GREY, WHITE, and TRAPPED
> db
> entries, and will update the local /var/db/spamd accordingly.
> - spamd can send updates when it makes changes to the GREY or TRAPPED
> entries in the db to other hosts running spamd. (Note it does not send
> WHITE entries because the other spamd will see the GREY changes and have
> complete information to make appropritate decisions)
> - spamlogd can send updates for WHITE db entries that it performs on the
> local
> db to other hosts running spamd, which will then apply them on remote
> hosts.
> note that while this diff provides synchronization for changes made to the
> spamd db by the daemons, it does *not* provide for sychonizing changes
> to the spamd db made manually with the spamdb command.
> Synchronization protocol and most of the work by reyk@,
> with a bunch of the spamd, and spamlogd stuff by me.
> testing mostly at the U of A, running happily there under big load.
> ok reyk@ jmc@ (beck@)
~ spamlogd.c
> cleanup usage (deraadt@)
~ spamlogd.8
> tweaks; (jmc@)
~ spamlogd.c
> Make spamlogd log inbound/outbound like it did before.
> ok henning@ (beck@)
~ spamlogd.c
> nuke annoying debug log
> ok henning@ (beck@)
== sbin ============================================================== 07/11 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/sbin
dump
~ itime.c
> memory leak found by coverity; Jim Razmus (deraadt@)
~ dumprmt.c ~ itime.c
~ main.c ~ tape.c
~ traverse.c
> delete sunos junk; Jim Razmus (deraadt@)
~ traverse.c
> Add and fix /* FALLTHROUGH */ comments.
> From Jim Razmus.
> OK millert@ and otto at .ay@)
ipsecctl
~ ipsec.conf.5
> Explain, why aesctr has 160 bit keys (128 bit aes key + 32 bit nonce).
> ok jmc@ (hshoexer@)
isakmpd
~ key.c
> Set pointer to NULL after freeing it, so callers of
> key_from_printable() are not fooled into using it
> afterwards.
> OK hshoexer@ (moritz@)
== share ============================================================= 08/11 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/share
man
~ man4/man4.landisk/Makefile
> sort manpage list (martin@)
~ man7/mdoc.samples.7
> remove an unmaintainable sentence; this paragraph has made its point
> already; (jmc@)
~ man5/spamd.conf.5
> simplify the language in this file, and stop talking about
> lists which override blacklists as whitelists;
> some cleanup whilst in here;
> ok millert beck (jmc@)
~ man4/azalia.4
> NVidia -> NVIDIA
> ok jmc@ (jasper@)
~ man4/axe.4
> another working device (deraadt@)
~ man4/man4.sparc64/pcons.4
> Match reality. (miod@)
~ man4/man4.landisk/Makefile
> Uncomment landisk kmem(4) link (miod@)
== sys =============================================================== 09/11 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/sys
arch/hppa/hppa
~ trap.c
> proper check for [non]user returns to syscall gate page; found by miod@
> (mickey@)
arch/m68k/m68k
~ pmap_motorola.c
> Oops, bring back pmap_collect1() and the check for pmap_kernel() in
> pmap_collect() as we do an explicit pmap_collect(pmap_kernel()) in dire
> memory situations. (miod@)
arch/mac68k/dev
~ adb.c
> Limit knowledge of splfoo() return values, and use mac68k_machine.via1_ipl
> instead of hardcoded 1; this gets us rid of unnecessary polls on machines
> running with A/UX interrupts. (miod@)
arch/macppc/dev
~ adb.c
> Invoke adb_cuda_autopoll() and leave polling mode after all initialization
> commands are set; also add a delay between adb_intr_cuda() and
> adb_soft_intr()
> while polling, as this seems to be necessary on some models;
> ok gwk@ drahn@ (miod@)
arch/sh/include
~ cache.h ~ pmap.h
> Add pmap_prefer() for SH4, from NetBSD; ok drahn@ (miod@)
arch/sh/sh
~ pmap.c
> Work around a virtual aliasing conflict issue. Basically allow multiple
> readers but only one writer on a physical page. Not the most optimal, but
> has been tested. ok miod@ (drahn@)
~ pmap.c
> Prevent a NULL pointer dereference in __pmap_kptp_lookup(); from NetBSD
> (miod@)
~ trap.c
> Lower the ipl to what it was at the time of the trap in general_exception,
> instead of remaining at splhigh; from NetBSD
> ok drahn@ (miod@)
~ cache.c ~ cache_sh4.c
~ pmap.c
> Add pmap_prefer() for SH4, from NetBSD; ok drahn@ (miod@)
arch/sparc64/conf
~ GENERIC ~ RAMDISK
~ files.sparc64
> For unsupported (yet) Expert3D style frame buffers, attach pcons and attach
> a really dumb wsdisplay to pcons, so that wskbd/wsmouse input drivers can
> be
> used for input, and prom for output.
> This is a band-aid for the release, so that people with such frame buffers
> do not need to unplug them or switch to serial console to install OpenBSD.
> Probably not the best way to do this, but this one has a minimal footprint
> and no tentacles in wscons.
> ok deraadt@ (miod@)
arch/sparc64/dev
~ upa.c
> Add mmap for upa(4). Makes the X wsfb(4) driver actually work instead of
> crashing the machine on UltraSPARC-III machines with creator(4)
> framebuffers.
> ok jason@, tsi@ (kettenis@)
~ vgafb.c
> Three more Expert3D-like frame buffers we shouldn't attach to yet. (miod@)
~ creator.c
> Implement WSDISPLAYIO_GETSUPPORTEDDEPTH; makes X actually work if you
> follow
> the instructions in /usr/X11R6/README. (kettenis@)
~ cons.h ~ pcons.c
> For unsupported (yet) Expert3D style frame buffers, attach pcons and attach
> a really dumb wsdisplay to pcons, so that wskbd/wsmouse input drivers can
> be
> used for input, and prom for output.
> This is a band-aid for the release, so that people with such frame buffers
> do not need to unplug them or switch to serial console to install OpenBSD.
> Probably not the best way to do this, but this one has a minimal footprint
> and no tentacles in wscons.
> ok deraadt@ (miod@)
dev/ata
~ atascsi.c
> big changes to the completion path in ahci.c
> - add a ccb_done member to the ahci_ccb, which points to a function that
> is used to complete the current xfer
> - ccbs no longer rely on an ata_xfer being provided for submission to work
> - ahci is stupid and has no way to telling you the difference between an
> empty command slot, and a completed command. we keep track of active
> commands with ap_active in ahci_port, so we dont try and complete commands
> we havent actually submitted
> - ahci_start simple submits a command to the hardware now
> - provide the start of an interrupt handler for each port (which is not yet
> called by the controllers interrupt handler)
> - provide an ahci_poll which is built on top of ahci_start and
> ahci_port_intr
> - remove the fake ata_xfers from the softreset path
> - on completion of an ahci command, sync the relevant dma memory
> - provide a completion path for ata_xfers which syncs the xfers buffer
> and calls the xfers completion handler
> in atascsi.c:
> - start defining the contents of the response to an ATA IDENTIFY command
> specific to SATA
> - implement the faking of scsi inquiries, so now you'll actually see a disk
> attach to ahci.
> - start implementing a fake scsi read capacity. it presents a fake geometry
> though, so dont get too excited when ahci magically makes your disk have a
> terabyte in size.
> lots of discussion, help, tweaks, and an ok from pascoe@ (dlg@)
~ atascsi.c
> Set ITSDONE otherwise the SCSI layer will sleep forever waiting for our
> queued commands to be done. (pascoe@)
dev/cardbus
~ if_bcw_cardbus.c
> Kill a cardbus dependency which breaked kernel compilation e.g. for
> sparc*.
> OK deraadt (mglocker@)
~ if_bcw_cardbus.c
> Use CARDBUS_PRODUCT macro to read product id. (mglocker@)
dev/ic
~ bcw.c ~ bcwvar.h
> Kill a cardbus dependency which breaked kernel compilation e.g. for
> sparc*.
> OK deraadt (mglocker@)
~ bcw.c ~ bcwreg.h
> Fix panic caused by bcw_leds_switch_all() because reading from wrong
> register. Noted while testing on sparc64. (mglocker@)
~ bcw.c
> Make bcw_change_core() conform to other functions. (mglocker@)
~ bcw.c
> Fix bcw_gpio_init(); Before we can write to the GPIO control register,
> we must switch back to the common core. Found because sparc64 panics
> on this (I start to like sparc64 :). (mglocker@)
~ bcw.c
> Fix another panic in bcw_phy_init() for sparc64. Now firmware loads
> and radio initializes on sparc64, too. (mglocker@)
~ ar5210.c ~ ar5210reg.h
~ ar5210var.h ~ ar5211.c
~ ar5211reg.h ~ ar5211var.h
~ ar5212.c ~ ar5212reg.h
~ ar5212var.h ~ ar5xxx.c
~ ar5xxx.h
> Add some HAL functions.
> From madwifi-old-openhal via Nick Kossifidis (mickflemm at gmail dot com)
> Bump copyright while I'm here. (reyk@)
~ ar5210.c ~ ar5210reg.h
~ ar5210var.h ~ ar5211.c
~ ar5211reg.h ~ ar5211var.h
~ ar5212.c ~ ar5212reg.h
~ ar5212var.h ~ ar5xxx.c
~ ar5xxx.h
> back out, reyk is not paying attention (deraadt@)
~ rt2661.c
> XXX commit a workaround (as found in a few other drivers) for the
> divide by zero rate bug. Someone has to find the source of this
> bug one day; from stephen at sock.org.ukk niallo (deraadt@)
~ rt2560.c
> XXX commit a workaround (as found in a few other drivers) for the
> divide by zero rate bug. Someone has to find the source of this
> bug one day; from jsg (deraadt@)
dev/pci
~ if_bcw_pci.c
> Kill a cardbus dependency which breaked kernel compilation e.g. for
> sparc*.
> OK deraadt (mglocker@)
~ ahci.c
> reverse the order of the fields in the %b fmt strings so that they read
> the bitfield from left to right like us humans do.
> from pascoe@ (dlg@)
~ ahci.c
> rename struct ahci_cmd_list to ahci_cmd_hdr to better match the spec and
> make it easier to read the code. fix the ordering of the flags and prdtl
> fields.
> from pascoe@ (dlg@)
~ ahci.c
> pull the prdt into the ahci_cmd_table struct, which gets rid of ahci_cmd.
> from pascoe@ (dlg@)
~ ahci.c
> comment members of ahci_cmd_table (dlg@)
~ if_bcw_pci.c
> Fix strict alignment panic. Makes my BCM4306 attach on sparc64.
> (mglocker@)
~ ahci.c
> HBAs by JMICRON have an additional "Controller Control Register" that
> must be programmed to switch the ports into AHCI mode. Do so. (pascoe@)
~ ahci.c
> When freeing port memory, use actual pointer to port rather than random
> memory. (pascoe@)
~ ahci.c
> Add functions to wait for bit changes in port registers. (pascoe@)
~ ahci.c
> Perform separate memory allocations for the RFIS, command list and command
> tables. Avoids alignment issues and simplifies the calculation of the
> ranges
> to sync before DMA. (pascoe@)
~ ahci.c
> Third argument to pci_mapreg_map is the "map type", not "memory type".
> (pascoe@)
~ ahci.c
> Oops, remove duplicate prototypes that I mismerged. (pascoe@)
~ ahci.c
> Add function to set up Physical Region Descriptor Tables, mostly from dlg@
> (pascoe@)
~ ahci.c
> Add support for issuing a (polled) command. (pascoe@)
~ ahci.c
> Add support for enabling/disabling port activity, and soft/port resets.
> (pascoe@)
~ ahci.c
> Save BIOS configured parameters over reset. Always enable staggered
> spin-up.
> Don't clean interrupt status now - have to flush individual ports' status
> first. (pascoe@)
~ ahci.c
> Now actually activate ports and try to detect devices. (pascoe@)
~ ahci.c
> Include port number in debug messages, where appropriate.
> Clean up some whitespace problems. (pascoe@)
~ ahci.c
> Replace empty ahci_ata_{probe,cmd} stubs with ones that do something.
> Mostly from dlg@ (pascoe@)
~ ahci.c
> Fix non AHCI_DEBUG build. (pascoe@)
~ ahci.c
> Recognise ATAPI device signatures. (pascoe@)
~ ahci.c
> add space for a match and attach routine to the device list, so particular
> controllers can specify extra code to run at match or attach time.
> use this on jmicron controllers to restrict attaching to ahci on pci
> function 0 (high functions are normal pciide style controllers), and to
> do the CCR tweaking to enable ahci. (dlg@)
~ ahci.c
> add a reminder about the extra attach function (dlg@)
~ if_bnx.c ~ if_bnxreg.h
> remove jumbo frame support by replacing MEXTALLOC with MCLGET, and
> simplify the VLAN code.
> this will close PR 5356 (system panics under high load).
> From claudio@ who is currently not around to commit this fix
> tested and ok by mcbride@, reyk@, todd@, Paul Hirsch, and brad (reyk@)
~ ahci.c
> Make the 1:1 mapping of command slot to command header/table entries
> explicit by including pointers to both of them in the ccb.
> Inspired by dlg@ (pascoe@)
~ ahci.c
> dlg@ advises that the bus_space operations will endian convert the DMA base
> addresses for me when it writes to the registers. Don't swap them
> manually. (pascoe@)
~ ahci.c
> No need to continually assign the control table addresses, provided we
> don't
> ever zero out the whole command header.
> Also add some diagnostic checks to ensure we don't violate any of the
> controller's DMA address/size restrictions. (pascoe@)
~ ahci.c
> Apply a SG segment size limit and remove the length check. (pascoe@)
~ ahci.c
> dont do pointer maths with void * (dlg@)
~ ahci.c
> since we dont overwrite the dva of the cmd_table in the cmd_hdr now, we
> dont have to carry the cmd_tables dva around in the ccb anymore. (dlg@)
~ ahci.c
> big changes to the completion path in ahci.c
> - add a ccb_done member to the ahci_ccb, which points to a function that
> is used to complete the current xfer
> - ccbs no longer rely on an ata_xfer being provided for submission to work
> - ahci is stupid and has no way to telling you the difference between an
> empty command slot, and a completed command. we keep track of active
> commands with ap_active in ahci_port, so we dont try and complete commands
> we havent actually submitted
> - ahci_start simple submits a command to the hardware now
> - provide the start of an interrupt handler for each port (which is not yet
> called by the controllers interrupt handler)
> - provide an ahci_poll which is built on top of ahci_start and
> ahci_port_intr
> - remove the fake ata_xfers from the softreset path
> - on completion of an ahci command, sync the relevant dma memory
> - provide a completion path for ata_xfers which syncs the xfers buffer
> and calls the xfers completion handler
> in atascsi.c:
> - start defining the contents of the response to an ATA IDENTIFY command
> specific to SATA
> - implement the faking of scsi inquiries, so now you'll actually see a disk
> attach to ahci.
> - start implementing a fake scsi read capacity. it presents a fake geometry
> though, so dont get too excited when ahci magically makes your disk have a
> terabyte in size.
> lots of discussion, help, tweaks, and an ok from pascoe@ (dlg@)
~ ahci.c
> Update CCS macro to return the current command slot rather than just being
> a mask.
> Fix some typos and try to keep functions in the same order as prototypes
> to make the code easier to navigate. (pascoe@)
~ ahci.c
> Add missing splx in poll path. (pascoe@)
~ ahci.c
> Implement hardware interrupt handler. For now, detect command completion
> and shut down the controller upon error (no recovery). (pascoe@)
dev/wscons
~ wsdisplay.c ~ wsemul_dumb.c
> For unsupported (yet) Expert3D style frame buffers, attach pcons and attach
> a really dumb wsdisplay to pcons, so that wskbd/wsmouse input drivers can
> be
> used for input, and prom for output.
> This is a band-aid for the release, so that people with such frame buffers
> do not need to unplug them or switch to serial console to install OpenBSD.
> Probably not the best way to do this, but this one has a minimal footprint
> and no tentacles in wscons.
> ok deraadt@ (miod@)
kern
~ tty_nmea.c
> If tty-timestamping is requested, but no PPS signal is present, output a
> warning message and unconditionally set the sensor state to WARNING.
> discussed with otto, ckuethe; ok otto, "i like it" ckuethe (mbalmer@)
~ uipc_mbuf2.c
TAGGED OPENBSD_3_9
> Pull up from trunk (rev 1.27)
> m_dup1() copies the packet header and allocates the mbuf cluster in the
> wrong order. M_DUP_PKTHDR needs to be called with an empty mbuf.
> Allocating an mbuf cluster beforehand is not allowed as the resulting mbuf
> is
> no longer considered empty (part of the header is initialized).
> The correct order is to allocate an mbuf via MGETHDR(), copy the packet
> header
> and as last step allocate the cluster.
> Issue found by JINMEI Tatuya.
> OK canacar@ deraadt@ mglocker@ additional input itojun@ (deraadt@)
~ uipc_mbuf2.c
TAGGED OPENBSD_4_0
> Pull up from trunk (rev 1.27)
> m_dup1() copies the packet header and allocates the mbuf cluster in the
> wrong order. M_DUP_PKTHDR needs to be called with an empty mbuf.
> Allocating an mbuf cluster beforehand is not allowed as the resulting mbuf
> is
> no longer considered empty (part of the header is initialized).
> The correct order is to allocate an mbuf via MGETHDR(), copy the packet
> header
> and as last step allocate the cluster.
> Issue found by JINMEI Tatuya.
> OK canacar@ deraadt@ mglocker@ additional input itojun@ (deraadt@)
net
~ bpf.c
> Make sure a bpf device can only be opened once.
> Previously the descriptor was locked only after
> an interface is set, leading to a race condition.
> Reported by Jon Steel < jon.steel at esentire com >
> tested by otto@, looks correct deraadt@ (canacar@)
== usr.bin =========================================================== 10/11 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin
encrypt
~ encrypt.1 ~ encrypt.c
> tidy up synopsis and usage(); from Igor Sobrado (jmc@)
~ encrypt.1
> make "makekey" clearer; (jmc@)
~ encrypt.1
> oops, put -k in the right place; from Igor Sobrado (jmc@)
ftp
~ ftp.c
> Since our ftp client opportuniticly tries EPSV, then falls back to PASV for
> older clients, dont' spew out "500 unimplimented" when a sever that
> doesn't do EPSV doesn't like it, just notice, and fall back to PASV, then
> complain if that fails.
> ok deraadt@ (beck@)
sort
~ fsort.c ~ fsort.h
~ msort.c ~ sort.c
> Use separate buffers in fsort.c and msort.c. Fixes a problem with
> buffer corruptions for some very large files. Also fixes some
> TRECHEADER vs. RECHEADER mismatches. OK deraadt@ otto@ ray@ (millert@)
~ fsort.c ~ fsort.h
~ msort.c ~ sort.c
> some bug (in sort? or compiler) gets hit too late in the release cycle.
> please try again right after release. (deraadt@)
ssh
~ version.h
> openssh-4.6; "please" deraadt@ (djm@)
~ servconf.c ~ sshd.c
> Move C/R -> kbdint special case to after the defaults have been
> loaded, which makes ChallengeResponse default to yes again. This
> was broken by the Match changes and not fixed properly subsequently.
> Found by okan at demirmen.com, ok djm@ "please do it" deraadt@ (dtucker@)
systat
~ sensors.c
> Clear the display so that the lines don't get overwritten with
> hotplugged devices. Noticed by, similar fix proposed, mbalmer
> - Add missing CVS tag; constantine
> - Handle SENSOR_S_UNSPEC (do nothing for now).
> All discussed with Constanine and mbalmer; ok mbalmer. (deanna@)
== usr.sbin ========================================================== 11/11 ==
http://www.openbsd.org/cgi-bin/cvsweb/src/usr.sbin
bgpctl
~ irr_parser.c
> ran into an asset which has dangling , at eol in the member spec, leading
> to us trying to add an empty-string AS, which asset_get later complains
> about.
> in parse_asset, check that we're no dealing with a empty string token
> before calling asset_addmember (henning@)
~ irr_parser.c ~ irr_output.c
> fix cass where the specification does not give the router address by using
> "" instead of defaulting to NULL, which is a pain to handle afterwards.
> in the output function, treat empty string address like NULL address
> problem noticed by rivo nurges <rix at estpak.eehenning@)
~ irr_output.c
> fix output format. spent too much time with RPSL... (henning@)
~ irr_output.c
> pass pointer to struct policy_item down to print_rule() instead of 3 of its
> members (henning@)
~ irr_output.c ~ irr_parser.c
~ irrfilter.h
> store peer AS numerically (henning@)
~ irr_output.c
> for import rules, filter by source-as too (henning@)
~ irrfilter.h ~ irr_output.c
~ irr_prefix.c
> store prefixes in binary format. we'll need that for aggregation.
> discussed with pyr (henning@)
~ irr_output.c ~ irr_prefix.c
~ irrfilter.h
> rename struct prefix -> irr_prefix (henning@)
~ irr_prefix.c
> correct include order (deraadt@)
~ irr_output.c
> prevent re-use of shit in pbuf from previous rules (henning@)
~ irrfilter.h ~ irr_output.c
> store a maxlen with each prefix. if that is set, this prefix covers
> multiple route objects (i. e. is the result of maksing out longer prefixes
> or aggregation we'll do later).
> if maxlen is > prefixlen, generate rules accordingly (prefixlen <= maxlen)
> (henning@)
~ whois.c
> switch to whois.radb.net. The RIPE whois server shows problems,
> indefinately
> hanging connection for a specific query (which works find against radb,
> investigating with ripe pplz), and ripe doesn't mirror some important RRs
> like ALTDB. (henning@)
~ irr_prefix.c
> sort out more specifics and mark the less specific covering them in a way
> that the resulting rule allows more specifics. i. e.
> 10.0.0.0/16, 10.0.1/24, 10.0.128/17 -> prefix 10.0.0.0/16 prefixlen <= 24
> implementation: sort prefixes per AS by address family, prefix, prefixlen.
> for every entry, check wether the prefix with the previous entry's mask
> applied matches the previous entry's prefix & mask. Only move the previous
> pointer forward if not so. Fill the holes we create in the process on the
> fly; shrink the array afterwards.
> shrinks the generated filters for our AS from over 100k to under 20k lines.
> (henning@)
~ irr_prefix.c
> do the prefix masking in network byte order (henning@)
~ irr_prefix.c
> in prefix_aggregate(), when we look at two neighbor prefixes, see wether
> they can be expressed as one with shorter prefixlen. if so, adjust the
> first prefix accordingly and return 1 so the second gets removed.
> shrinks the ruleset for my AS from 19533 to 16892 rules. (henning@)
~ irr_asset.c ~ irr_output.c
> unused vars, lint (henning@)
~ irr_prefix.c
> lint happiness (henning@)
~ irr_prefix.c
> loop over the list calling prefix_aggregate until nothing can be aggregated
> any more. since aggregated entries might be further aggregatable...
> shaves of another 1200 lines (of ~16900) from the generated ruleset for my
> AS (henning@)
~ irr_prefix.c
> better error msg (henning@)
~ irrfilter.c ~ irr_prefix.c
~ irrfilter.h ~ whois.c
> gremlins keep putting tiny KNF violations in my code in the hope I don't
> spot 'em (henning@)
~ irr_output.c
> KNF (henning@)
~ irr_parser.c
> need to eat whitespace at both ends of val (henning@)
~ irr_parser.c
> KNF (henning@)
~ irr_asset.c
> convert all members of an as-set to uppercase on the fly.
> do the same in asset_expand() for the head as-set or aut-num reference from
> the policy.
> fixes duplicate ASes with mixed case seen after set resolution and saves
> some str(n)casecmp on the way (or rather allows a whole bunch of strcmp to
> stay) (henning@)
~ irr_asset.c
> correctly deal with hierarchical as-set names.
> everything we run into as members that is hierarchical (contains :) has to
> be an as-set. RPSL requires one component to have the AS- prefix; we check
> that.
> now the huge AS-TELIANET correctly resolves - into 15128 unique ASes, takes
> 12m47.11s real 0m8.62s user 0m1.07s system (henning@)
~ irr_prefix.c
> better diagnostics on inet_net_pton failing (henning@)
~ irr_parser.c
> RPSL spec says route: is single-valued... nontheless, in the APNIC db:
> route: 203.94.216.0/21,
> origin: AS17813
> so we need to cut trailing ',' away (henning@)
~ irr_prefix.c
> another completely bogus route entry, this time openface in their own RR:
> route: 198.73.251.0
> no prefixlen...
> overhaul error handling in prefixset_addmember(). for prefixes without
> prefixlen or ones where inet_net_pton reports an invalid format, complain
> and ignore the prefix, but don't err out completely. (henning@)
~ irr_asset.c ~ irr_prefix.c
~ irrfilter.c ~ irrfilter.h
> prepare, but leave disabled, verbose operation so that you can see what is
> going on (helps when the damn thing runs for hours). will be enabled with
> a -v somewhen in the future (henning@)
~ bgpctl.8 ~ parser.c
> support "bgpctl show rib peer-as NN", From: Armin Wolfermann <aw at osn.de > ok theo (henning@)
bgpd
~ bgpd.conf.5
> document include, and comments
> stolen from hostapd.conf.5 (henning@)
~ bgpd.conf.5 ~ bgpd.h
~ parse.y ~ printconf.c
~ rde_attr.c
> allow filtering on peer-as (leftmost AS in path), ok claudio (henning@)
hoststated
~ hoststated.h ~ relay.c
> do not strip the header for expect, hash, and log actions.
> since we have a tristate in relay_handle_http(), use nicer return
> codes defined to make it better readble (no function change). (reyk@)
~ hoststated.conf.5 ~ parse.y
~ relay.c
> add support for handling simple HTTP cookies (no per-path/domain
> cookies yet), for example: cookie hash "JSESSIONID"
> tested by some people
> ok pyr@ (reyk@)
~ hce.c
> fix the health checks when using the retry option (reyk@)
~ hce.c ~ parse.y
~ pfe.c ~ relay.c
> - fix the hoststatectl host disable/enable commands to work with relay
> layer 7 loadbalancing.
> - allow to run relays with tables without depending on services
> - show hosts and tables assigned to relays in hoststatectl show commands
> ok pyr@ deraadt@ with some input from mcbride@ (reyk@)
httpd
~ src/modules/standard/mod_mime_magic.c
> - Pass full buffer to fgets().
> - Use sizeof(buf) instead of BUFSIZ.
> - Only overwrite '\n'.
> From Charles Longeau.
> OK millert@ and moritz at .ay@)
lpr
~ lpr/lpr.1 ~ lpr/lpr.c
> tidy up synopsis, usage(), and options list; from Igor Sobrado (jmc@)
netgroup_mkdb
~ netgroup_mkdb.c
> Remove _err() calls from getnetgrent.c. This is a minor API change
> as _ng_sl_add() now returns a value. The only consumer of that
> interface is netgroup_mkdb(8). Adapted from NetBSD.
> OK deraadt@ (millert@)
pkg_add
~ pkg_add ~ OpenBSD/PackageLocator.pm
~ OpenBSD/PackageName.pm ~ OpenBSD/Vstat.pm
> get vfs size snapshotted and restored so that pkg_add -u has a harder
> time overflowing the disk.
> let stem work at the end of urls.
> test sturm@ and bernd@,
> okay deraadt@ (espie@)
~ pkg_add ~ OpenBSD/Vstat.pm
> revert size check tweak, the fix does break other stuff. this is harder
> than I thought... (espie@)
~ pkg_add ~ OpenBSD/Delete.pm
~ OpenBSD/Vstat.pm
> fix size checks for good. Since we want deletion to happen `right now'
> but size accounting to happen later, just mark the size to delete `for
> later', do not take them into account for avail(), and synchronize() at
> the right time, e.g., after addition when updating, and right away for
> straight deletion.
> okay deraadt@ (espie@)
pppd
~ options.c
> Remove code that's been commented out since '96.
> From Charles Longeau.
> OK millert at .ay@)
sliplogin
~ sliplogin.c
> - Pass full buffer to fgets().
> - Use sizeof(buf) instead of BUFSIZ.
> - Only overwrite '\n'.
> From Charles Longeau.
> OK millert@ and moritz at .ay@)
spamdb
~ spamdb.8
> minor tweak; (jmc@)
syslogd
~ syslogd.8
> mention log to pipe in the blurb here. the details are all in
> syslog.conf.5,
> the syslogd.8 blurb has just a list. (henning@)
===============================================================================
More information about the owc
mailing list