[owc] Weekly src changes ending 2007-08-19

OWC auto at squish.net
Mon Aug 20 07:00:01 BST 2007


OpenBSD src changes summary for 2007-08-12 to 2007-08-19 inclusive
==================================================================

distrib/alpha                           distrib/amd64
distrib/crunch                          distrib/hppa
distrib/i386                            distrib/macppc
distrib/sets                            distrib/sparc
distrib/sparc64                         etc/sensorsd.conf
lib/libc                                libexec/spamd
sbin/dhclient                           sbin/isakmpd
share/man                               sys/arch/arm/include
sys/arch/hppa/conf                      sys/arch/i386/i386
sys/arch/sparc64/sparc64                sys/dev/isa
sys/dev/pci                             sys/dev/pcmcia
sys/kern                                sys/net
sys/net80211                            usr.bin/netstat
usr.bin/passwd                          usr.bin/ssh
usr.bin/sudo                            usr.bin/which
usr.sbin/ftp-proxy                      usr.sbin/sensorsd
usr.sbin/tcpdump                        

== distrib =========================================================== 01/09 ==

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

alpha

  ~ Makefile                              

  > make obj dirs in iso; talked with miod about it (deraadt@)

amd64

  ~ Makefile                              

  > make obj dirs in iso; talked with miod about it (deraadt@)

crunch

  ~ crunchide/elf_hide.c                  

  > On mips systems, use arc4random() instead of time(NULL) and rand() as a
  > random
  > source, and thus don't stupidly sleep(1) every time to get a different
  > value
  > from time().
  > ok deraadt@ (miod@)

hppa

  ~ Makefile                              

  > make obj dirs in iso; talked with miod about it (deraadt@)

i386

  ~ Makefile                              

  > make obj dirs in iso; talked with miod about it (deraadt@)

macppc

  ~ Makefile                              

  > make obj dirs in iso; talked with miod about it (deraadt@)

  ~ ramdisk/install.md                    

  > go slightly back to the older behaviour by writing out a default disk label
  > only if 'i' is not found; by krw who is not around, looked at by drahn
  > and otto and miod (deraadt@)

sets

  ~ lists/base/md.alpha                   ~ lists/base/md.amd64
  ~ lists/base/md.armish                  ~ lists/base/md.aviion
  ~ lists/base/md.hp300                   ~ lists/base/md.hppa
  ~ lists/base/md.hppa64                  ~ lists/base/md.i386
  ~ lists/base/md.landisk                 ~ lists/base/md.luna88k
  ~ lists/base/md.mac68k                  ~ lists/base/md.macppc
  ~ lists/base/md.mvme68k                 ~ lists/base/md.mvme88k
  ~ lists/base/md.mvmeppc                 ~ lists/base/md.sgi
  ~ lists/base/md.sparc                   ~ lists/base/md.sparc64
  ~ lists/base/md.vax                     ~ lists/base/md.zaurus
  ~ lists/comp/mi                         ~ lists/man/mi

  > sync (deraadt@)

sparc

  ~ Makefile                              

  > make obj dirs in iso; talked with miod about it (deraadt@)

sparc64

  ~ Makefile                              

  > make obj dirs in iso; talked with miod about it (deraadt@)

== etc =============================================================== 02/09 ==

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

sensorsd.conf

  ~ sensorsd.conf                         

  > s/ and don't keep state//, removing an outdated comment; ok deraadt@
  > (cnst@)

== lib =============================================================== 03/09 ==

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

libc

  ~ gen/sysctl.3                          

  > 'shall be' was changed to 'is' in sysctl.3#rev1.164, now let's change it to
  > 'are'; ok jmc@; approved deraadt@ (cnst@)

== libexec =========================================================== 04/09 ==

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

spamd

  ~ grey.c                                

  > - Don't fill spamd debug with bogus config errors if there are no
  > traps.
  > - Change count to size_t to avoid a size_t -> int conversion.
  > - Since configure_spamd always returns 0, change to void.
  > - Since configure_spamd now returns void, remove unreachable logging
  > statement.
  > OK ckuethe and deraadt, initial diff from fgsch@ and OKed by beck. (ray@)

== sbin ============================================================== 05/09 ==

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

dhclient

  ~ dhclient.c                            

  > make default_lease_time a #define; ok krw@ henning@ (stevesk@)

isakmpd

  ~ ike_quick_mode.c                      

  > Remove a superflous debug fprintf. (hshoexer@)

== share ============================================================= 06/09 ==

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

man

  - man4/nx.4                             ~ man4/Makefile

  > remove my unfinished version of the nx driver, we have a better solution
  > requested by dlg@
  > ok deraadt@ (reyk@)

  ~ man4/pci.4                            

  > remove nx from hardware list; (jmc@)

  ~ man7/ports.7                          

  > Simplify locking description: most things have nice default values these
  > days, the casual user doesn't need more than defining LOCKDIR to get
  > locks working on the ports tree. (espie@)

== sys =============================================================== 07/09 ==

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

arch/arm/include

  ~ cpu.h                                 

  > removal of zts sysctls created a numeric gap.  repair.  ok miod robert
  > (deraadt@)

arch/hppa/conf

  ~ GENERIC                               ~ RAMDISK

  > Add missing siop at phantomas and siop at uturn attachments.  The latter was
  > tested
  > by nick@ (who sacrificed a few LVD drives for it).	The former was tested
  > on
  > a machine without a drive connected, but there is no reason to expect it
  > not
  > to work. (kettenis@)

  ~ GENERIC                               ~ RAMDISK

  > Add sti at uturn; the C180 has it there.  Tested by nick at . (kettenis@)

arch/i386/i386

  ~ via.c                                 

  > Work-around an interaction between FPU context switching and the VIA
  > Padlock entropy polling on SMP boxes.
  > ok deraadt@, kettenis@ (henric@)

arch/sparc64/sparc64

  ~ db_trace.c                            

  > Kernel stacks can live beyond EINTSTACK now.
  > ok deraadt@ (kettenis@)

dev/isa

  ~ aha.c                                 

  > When polling call ahaintr() at splbio(). Noticed by and fix tested by
  > todd at . (krw@)

dev/pci

  ~ wdt.c                                 

  > I forgot to remove the UNIT macro when the wdt char device was removed
  > long ago. (mk@)

  - if_nx.c                               - if_nxreg.h
  ~ files.pci                             

  > remove my unfinished version of the nx driver, we have a better solution
  > requested by dlg@
  > ok deraadt@ (reyk@)

  ~ files.pci                             + if_nxe.c

  > enter nxe, a driver for the netxen 10Gb cards.
  > i have most of this already written but this is just the attach glue. i'll
  > be adding code in smallish chunks so i can decruft it as i go. (dlg@)

  ~ if_nxe.c                              

  > stash the dma tag.
  > map the register windows.
  > put a stub in place for the interrupt handler (dlg@)

  ~ if_nxe.c                              

  > dont match on nxe boards that dont claim to be network devices. (dlg@)

  ~ if_nxe.c                              

  > read and write routines for the big register window (dlg@)

  ~ if_nxe.c                              

  > start defining the register layout.
  > the netxen nics are a bit strange. their main register window is HUGE at a
  > big 128MB size. apparently this isnt enough though, so they used the top
  > 32 meg of the main register space as a window into a 64meg region. which
  > half of this space (the CRB window) is available is determined by setting
  > a register INSIDE this window. that register just happens to be available
  > in both windows. kinda crazy. (dlg@)

  ~ if_nxe.c                              

  > stash the pci function this port is on in the softc.
  > create a bus_space subregion for the CRB register window.
  > provide a way to set which crb window you want, and a way to read and write
  > in it. (dlg@)

  ~ if_nxe.c                              

  > there is flash on the netxens that contains things like the firmware, the
  > firmware boot loader, and various structs with information about how the
  > chip is configured. these registers are used to access that flash. (dlg@)

  ~ if_nxe.c                              

  > add DPRINTF and DASSERT debug macros. (dlg@)

  ~ if_nxe.c                              

  > code to wait on registers in the main and crb spaces. (dlg@)

  ~ if_nxe.c                              

  > code to read stuff out of the flash chip on the netxen. (dlg@)

  ~ if_nxe.c                              

  > move the mapping of the registers out of attach and into their own function
  > (dlg@)

  ~ if_nxe.c                              

  > we're going to spend most of our time in crb window 1, so move the chip
  > into that window in attach. (dlg@)

  ~ if_nxe.c                              

  > list where different things lie in the flash.
  > define what the board info and user info regions in the flash look like as
  > structs. (dlg@)

  ~ if_nxe.c                              

  > code to unmap the register windows if something in attach goes horribly
  > wrong. (dlg@)

  ~ if_nxe.c                              

  > provide a map of the board type the flash memory will tell us we are to the
  > type of interface it provides. drivers need to deal with 10Gb (XGB) and
  > gigabit (GBE) differently. (dlg@)

  ~ if_nxe.c                              

  > read the board information off the flash. check it, and stash what type of
  > board they say we are. (dlg@)

  ~ if_nxe.c                              

  > we're a nic, so we need the arpcom and ifmedia structs in our softc (dlg@)

  ~ if_nxe.c                              

  > fetch the user info off the board. the lladdr and firmware version are
  > stored on it.
  > display the fw and lladdr in attach. (dlg@)

  ~ if_nxe.c                              

  > define the rest of the registers i know about: the interrupt registers,
  > init, xg config, ring and context addresses, temp sensor, firmware states.
  > (dlg@)

  ~ if_nxe.c                              

  > white space fixes (dlg@)

  ~ if_nxe.c                              

  > pull my wrapper around single segment dma allocations in. its got to be at
  > least half a dozen drivers now that use this. (dlg@)

  ~ if_nxe.c                              

  > start the init of the firmware. it can take a long time, so we start it in
  > attach and make sure its finished at mountroot time. (dlg@)

  ~ if_nxe.c                              

  > hook a kernel sensor up to the temp register on the chip. poll out of a
  > timeout since reading registers doesnt need a process context. (dlg@)

  ~ if_nxe.c                              

  > hook up the ether and ifmedia layers. you can see nxe in ifconfig output
  > now. just the lladdr though, i havent filled in enough of the ioctl handler
  > for more yet. (dlg@)

  ~ if_nxe.c                              

  > implement link state monitoring. you have to poll the firmware to see the
  > state of the link. since im doing this already for the temp sensor i merged
  > the polling for both and do them at the same time. i poll every 5 seconds
  > now instead of every 60.
  > i can now tell if the cable between the nxe and tht has fallen out.
  > white space fixes while im here. (dlg@)

  ~ if_nxe.c                              

  > steal pkt handling from tht. this lets us keep track of mbufs when theyre
  > on the hardware. it stashes ids and dma bits. (dlg@)

  ~ if_nxe.c                              

  > code to allocate, free, sync, and iterate over rings. this is based loosely
  > on the fifos used in tht. very loosely. tht fifos were set up to take small
  > writes of varying length and read or write them into the dmaable memory.
  > nxe has fixed sized descriptors in each ring, so this ring handling is set
  > up to just give pointers to the memory to be filled in directly. the
  > iterator just pushes this pointer around the ring. (dlg@)

  ~ if_nxe.c                              

  > tell the ioctl handler to call nxe_up/down/iff at the right times. they
  > are just stubs at the moment though. (dlg@)

  ~ if_nxe.c                              

  > this code definitely uses queue.h (dlg@)

  ~ if_nxe.c                              

  > lock accesses to the ioctl handler. (dlg@)

  ~ if_nxe.c                              

  > move the firmware to the right state before we start allocating everything
  > for it. (dlg@)

  ~ if_nxe.c                              

  > here are the tx, rx, and status (rx completion) descriptors used in the io
  > paths. (dlg@)

  ~ if_nxe.c                              

  > allocate pkt lists when the interface is brought up.
  > make nxe_up return void and report its failure by not setting the RUNNING
  > flag like every other nic ive read. (dlg@)

  ~ if_nxe.c                              

  > when the interface is brought up allocate all the things that are needed
  > for the chip to work with, eg, the context region, the cmd consumer, the
  > cmd/tx ring, the status ring, and the 3 rx rings.
  > free it all when we bring the chip down. (dlg@)

  ~ if_nxe.c                              

  > sync all the bits for use by the hardware, and then point the chip at them.
  > the firmware is now ready to send and recv packets. (dlg@)

  ~ if_nxe.c                              

  > program the lladdr when the chip is brought up. (dlg@)

  ~ if_nxe.c                              

  > program the mac control thing according the the multicast or promisc
  > settings that we ask for. set these flags when the interface is brought up.
  > (dlg@)

  ~ if_nxe.c                              

  > implement nxe_start. this is enough to put packets on the wire. the sgl
  > layout of this chip is extremely weird. there's only 4 sg entries in each
  > tx descriptor, but theyre out of order. you can use multiple tx descriptors
  > to tx more than 4 segments, but instead of letting you use all 64bytes that
  > a tx descriptor uses you just use the same 4 sg entries, and up to 8 descs.
  > (dlg@)

  ~ if_nxe.c                              

  > hook the interrupt up (dlg@)

  ~ if_nxe.c                              

  > oops, forgot the print the intr string on attach (dlg@)

dev/pcmcia

  ~ if_malo.c                             

  > Replace bus_space_write/read_2 loops in cmd req/rsp routines with
  > bus_space_write/read_raw_multi_2. (mglocker@)

  ~ if_malo.c                             

  > Indention and comment. (mglocker@)

kern

  ~ subr_pool.c                           

  > I don't really know what I was thinking when I wrote this. Not only does
  > the
  > "array" index start at 1, the code also abused index 0 to detect that we
  > were doing a KERN_POOL_NPOOLS.
  > Just look at *name == KERN_POOL_NPOOLS instead of using index == 0 for
  > that.
  > deraadt@ ok (art@)

net

  ~ if_spppsubr.c                         

  > Make sure all the packet is in one continuous mbuf.
  > This is a bandaid solution, a better solution will go
  > in post 4.2. Reported and tested by Joerg Zinke.
  > ok claudio@, deraadt@ (canacar@)

net80211

  ~ ieee80211_input.c                     ~ ieee80211_ioctl.h

  > Prevent sneaking in unencrypted packets into WEP traffic.
  > ok damien@, put it ok deraadt@ (bluhm@)

  ~ ieee80211_input.c                     

  > back out part of last diff; breaks all hardware wep decryption.
  > from damien (deraadt@)

== usr.bin =========================================================== 08/09 ==

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

netstat

  ~ net80211.c                            

  > Prevent sneaking in unencrypted packets into WEP traffic.
  > ok damien@, put it ok deraadt@ (bluhm@)

passwd

  ~ yp_passwd.c                           

  > error out, instead of producing a warning and displaying that the YP
  > password has changed, when the rpc.yppasswdd daemon is unreachable.
  > ok deraadt@ (aanriot@)

ssh

  ~ clientloop.c                          

  > do NOT fall back to the trused x11 cookie if generation of an untrusted
  > cookie fails; from security-alert at sun.com; ok dtucker (markus@)

  ~ version.h                             

  > openssh 4.7 (markus@)

  ~ ssh_config.5                          

  > tun device forwarding now honours ExitOnForwardFailure; ok markus@
  > (stevesk@)

sudo

  ~ CHANGES                               ~ Makefile.in
  ~ aclocal.m4                            ~ config.h
  ~ config.h.in                           ~ configure
  ~ configure.in                          ~ interfaces.c
  ~ interfaces.h                          ~ logging.c
  ~ parse.c                               ~ parse.lex
  ~ parse.yacc                            ~ sudo.c
  ~ sudo.pod                              ~ sudoers.pod
  ~ version.h                             ~ visudo.pod

  > Update to sudo 1.6.9p4.  Basically IPv6 support and improved man pages.
  > (millert@)

which

  ~ whereis.1                             ~ which.1
  ~ which.c                               

  > the ellipsis is not an optional argument; document the "-a" flag in
  > whereis(1)
  > help and feedback by jmc@ and otto@
  > ok deraadt@, jmc@ and otto@ (sobrado@)

== usr.sbin ========================================================== 09/09 ==

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

ftp-proxy

  ~ ftp-proxy.c                           

  > Some servers / proxies out there like to open the data connection
  > immediately after the client sends the PORT command.  The "normal"
  > behaviour is to wait for the client to actually request a transfer.
  > Make ftp-proxy add the active mode rules immediately too, so that
  > both scenario's work.
  > ok david pyr
  > Tested by Frank Denis, Stephan A. Rickauer,  Ingo Schwarze, Stuart
  > Henderson.	Thanks. (camield@)

sensorsd

  ~ sensorsd.conf.5                       

  > Commentary in the examples section was wrong from the start, because it
  > gave
  > the impression that alerts are only issued when things go wrong, not when
  > they
  > come back to specification -- but this was never the case with sensorsd.
  > Whilst here, also zip some useless examples, as we now have so many.
  > Discussed with jmc@ (cnst@)

  ~ sensorsd.c                            ~ sensorsd.conf.5

  > sync printing w/ sysctl(8) and add missing sensor types to conf parser;
  > document how values are parsed in sensorsd.conf(5).
  > ok deraadt@; man-page ok/help jmc@ (cnst@)

tcpdump

  ~ tcpdump.c                             

  > No need to #include <netinet/in.h> twice. Noticed by Diego Casati.
  > ok stevesk@ (krw@)

  ~ print-802_11.c                        

  > Fix Segmentation fault for tcpdump when used in combination with
  > ``-v -y IEEE802_11'', and ``-v -y IEEE802_11_RADIO''.  The snaplen
  > was passed instead of the real packet size at some point, which caused
  > tcpdump todo tcp checksum verifications on packets where it shouldn't.
  > Diff from canacar@ and me, tested by canacar@, reyk@, and me.
  > OK canacar@ reyk@ (mglocker@)

===============================================================================


More information about the owc mailing list