svn commit: r216683 - in projects/binutils-2.17: . bin/kill bin/sh bin/sh/bltin contrib/bsnmp/lib contrib/bsnmp/snmp_target contrib/bsnmp/snmp_usm contrib/bsnmp/snmp_vacm contrib/bsnmp/snmpd contri...

Dimitry Andric dim at FreeBSD.org
Fri Dec 24 01:37:14 UTC 2010


Author: dim
Date: Fri Dec 24 01:37:13 2010
New Revision: 216683
URL: http://svn.freebsd.org/changeset/base/216683

Log:
  Sync: merge r216506 through r216682 from ^/head.

Added:
  projects/binutils-2.17/contrib/bsnmp/lib/tc.def
     - copied unchanged from r216682, head/contrib/bsnmp/lib/tc.def
  projects/binutils-2.17/contrib/bsnmp/snmp_target/
     - copied from r216682, head/contrib/bsnmp/snmp_target/
  projects/binutils-2.17/lib/libthr/thread/thr_sleepq.c
     - copied unchanged from r216682, head/lib/libthr/thread/thr_sleepq.c
  projects/binutils-2.17/sys/contrib/dev/wpi/iwlwifi-3945-15.32.2.9.fw.uu
     - copied unchanged from r216682, head/sys/contrib/dev/wpi/iwlwifi-3945-15.32.2.9.fw.uu
  projects/binutils-2.17/sys/kern/kern_hhook.c
     - copied unchanged from r216682, head/sys/kern/kern_hhook.c
  projects/binutils-2.17/sys/kern/kern_khelp.c
     - copied unchanged from r216682, head/sys/kern/kern_khelp.c
  projects/binutils-2.17/sys/sys/hhook.h
     - copied unchanged from r216682, head/sys/sys/hhook.h
  projects/binutils-2.17/sys/sys/khelp.h
     - copied unchanged from r216682, head/sys/sys/khelp.h
  projects/binutils-2.17/sys/sys/module_khelp.h
     - copied unchanged from r216682, head/sys/sys/module_khelp.h
  projects/binutils-2.17/sys/x86/include/bus.h
     - copied unchanged from r216682, head/sys/x86/include/bus.h
  projects/binutils-2.17/tools/regression/bin/sh/builtins/printf3.0
     - copied unchanged from r216682, head/tools/regression/bin/sh/builtins/printf3.0
  projects/binutils-2.17/tools/regression/bin/sh/builtins/printf4.0
     - copied unchanged from r216682, head/tools/regression/bin/sh/builtins/printf4.0
  projects/binutils-2.17/tools/regression/bin/sh/expansion/arith8.0
     - copied unchanged from r216682, head/tools/regression/bin/sh/expansion/arith8.0
  projects/binutils-2.17/usr.sbin/bsnmpd/modules/snmp_target/
     - copied from r216682, head/usr.sbin/bsnmpd/modules/snmp_target/
Deleted:
  projects/binutils-2.17/sys/contrib/dev/wpi/iwlwifi-3945-2.14.4.fw.uu
Modified:
  projects/binutils-2.17/Makefile
  projects/binutils-2.17/UPDATING
  projects/binutils-2.17/bin/kill/kill.1
  projects/binutils-2.17/bin/kill/kill.c
  projects/binutils-2.17/bin/sh/Makefile
  projects/binutils-2.17/bin/sh/alias.c
  projects/binutils-2.17/bin/sh/arith_lex.l
  projects/binutils-2.17/bin/sh/bltin/bltin.h
  projects/binutils-2.17/bin/sh/builtins.def
  projects/binutils-2.17/bin/sh/cd.c
  projects/binutils-2.17/bin/sh/error.c
  projects/binutils-2.17/bin/sh/error.h
  projects/binutils-2.17/bin/sh/expand.c
  projects/binutils-2.17/bin/sh/jobs.c
  projects/binutils-2.17/bin/sh/sh.1
  projects/binutils-2.17/bin/sh/trap.c
  projects/binutils-2.17/contrib/bsnmp/lib/bsnmplib.3
  projects/binutils-2.17/contrib/bsnmp/lib/snmp.c
  projects/binutils-2.17/contrib/bsnmp/lib/snmp.h
  projects/binutils-2.17/contrib/bsnmp/lib/snmpagent.c
  projects/binutils-2.17/contrib/bsnmp/lib/snmpclient.c
  projects/binutils-2.17/contrib/bsnmp/lib/snmppriv.h
  projects/binutils-2.17/contrib/bsnmp/snmp_usm/snmp_usm.3
  projects/binutils-2.17/contrib/bsnmp/snmp_usm/usm_tree.def
  projects/binutils-2.17/contrib/bsnmp/snmp_vacm/vacm_tree.def
  projects/binutils-2.17/contrib/bsnmp/snmpd/main.c
  projects/binutils-2.17/contrib/bsnmp/snmpd/snmpmod.3
  projects/binutils-2.17/contrib/bsnmp/snmpd/snmpmod.h
  projects/binutils-2.17/contrib/bsnmp/snmpd/trap.c
  projects/binutils-2.17/contrib/bsnmp/snmpd/tree.def
  projects/binutils-2.17/etc/snmpd.config
  projects/binutils-2.17/games/factor/factor.c
  projects/binutils-2.17/include/unistd.h
  projects/binutils-2.17/lib/libc/sys/shmat.2
  projects/binutils-2.17/lib/libc/sys/shmctl.2
  projects/binutils-2.17/lib/libc/sys/shmget.2
  projects/binutils-2.17/lib/libthr/thread/Makefile.inc
  projects/binutils-2.17/lib/libthr/thread/thr_cond.c
  projects/binutils-2.17/lib/libthr/thread/thr_init.c
  projects/binutils-2.17/lib/libthr/thread/thr_kern.c
  projects/binutils-2.17/lib/libthr/thread/thr_list.c
  projects/binutils-2.17/lib/libthr/thread/thr_mutex.c
  projects/binutils-2.17/lib/libthr/thread/thr_private.h
  projects/binutils-2.17/lib/libthr/thread/thr_umtx.c
  projects/binutils-2.17/lib/libthr/thread/thr_umtx.h
  projects/binutils-2.17/libexec/getty/chat.c
  projects/binutils-2.17/libexec/getty/main.c
  projects/binutils-2.17/libexec/rbootd/rbootd.c
  projects/binutils-2.17/libexec/rlogind/rlogind.c
  projects/binutils-2.17/libexec/rpc.rwalld/rwalld.c
  projects/binutils-2.17/sbin/geom/class/part/geom_part.c
  projects/binutils-2.17/sbin/ping6/ping6.c
  projects/binutils-2.17/share/man/man1/builtin.1
  projects/binutils-2.17/share/man/man4/altq.4
  projects/binutils-2.17/share/man/man4/ixgb.4
  projects/binutils-2.17/share/man/man4/ixgbe.4
  projects/binutils-2.17/share/man/man4/jme.4
  projects/binutils-2.17/share/man/man4/miibus.4
  projects/binutils-2.17/share/man/man4/vlan.4
  projects/binutils-2.17/share/man/man4/xen.4
  projects/binutils-2.17/share/man/man5/core.5
  projects/binutils-2.17/share/man/man9/VOP_READDIR.9
  projects/binutils-2.17/share/mk/bsd.own.mk
  projects/binutils-2.17/sys/amd64/amd64/cpu_switch.S
  projects/binutils-2.17/sys/amd64/amd64/exception.S
  projects/binutils-2.17/sys/amd64/amd64/fpu.c
  projects/binutils-2.17/sys/amd64/amd64/genassym.c
  projects/binutils-2.17/sys/amd64/amd64/machdep.c
  projects/binutils-2.17/sys/amd64/amd64/sys_machdep.c
  projects/binutils-2.17/sys/amd64/amd64/vm_machdep.c
  projects/binutils-2.17/sys/amd64/ia32/ia32_reg.c
  projects/binutils-2.17/sys/amd64/ia32/ia32_signal.c
  projects/binutils-2.17/sys/amd64/include/atomic.h
  projects/binutils-2.17/sys/amd64/include/bus.h
  projects/binutils-2.17/sys/amd64/include/pcb.h
  projects/binutils-2.17/sys/amd64/linux32/linux32_machdep.c
  projects/binutils-2.17/sys/amd64/linux32/linux32_sysvec.c
  projects/binutils-2.17/sys/arm/xscale/ixp425/avila_gpio.c
  projects/binutils-2.17/sys/compat/freebsd32/freebsd32.h
  projects/binutils-2.17/sys/compat/ndis/hal_var.h
  projects/binutils-2.17/sys/conf/files
  projects/binutils-2.17/sys/contrib/dev/wpi/LICENSE
  projects/binutils-2.17/sys/dev/acpica/acpi.c
  projects/binutils-2.17/sys/dev/acpica/acpivar.h
  projects/binutils-2.17/sys/dev/atkbdc/atkbdc.c
  projects/binutils-2.17/sys/dev/atkbdc/atkbdc_isa.c
  projects/binutils-2.17/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c
  projects/binutils-2.17/sys/dev/cxgb/ulp/tom/cxgb_ddp.c
  projects/binutils-2.17/sys/dev/cxgb/ulp/tom/cxgb_vm.c
  projects/binutils-2.17/sys/dev/cxgb/ulp/tom/cxgb_vm.h
  projects/binutils-2.17/sys/dev/hifn/hifn7751.c
  projects/binutils-2.17/sys/dev/if_ndis/if_ndis_pci.c
  projects/binutils-2.17/sys/dev/jme/if_jme.c
  projects/binutils-2.17/sys/dev/jme/if_jmereg.h
  projects/binutils-2.17/sys/dev/jme/if_jmevar.h
  projects/binutils-2.17/sys/dev/le/if_le_pci.c
  projects/binutils-2.17/sys/dev/lmc/if_lmc.c
  projects/binutils-2.17/sys/dev/malo/if_malo_pci.c
  projects/binutils-2.17/sys/dev/mii/jmphy.c
  projects/binutils-2.17/sys/dev/mii/jmphyreg.h
  projects/binutils-2.17/sys/dev/mii/nsgphy.c
  projects/binutils-2.17/sys/dev/pci/vga_pci.c
  projects/binutils-2.17/sys/dev/puc/pucdata.c
  projects/binutils-2.17/sys/dev/sis/if_sis.c
  projects/binutils-2.17/sys/dev/sound/pci/atiixp.c
  projects/binutils-2.17/sys/dev/sound/pci/csa.c
  projects/binutils-2.17/sys/dev/sound/pci/ich.c
  projects/binutils-2.17/sys/dev/uart/uart_cpu_amd64.c
  projects/binutils-2.17/sys/dev/uart/uart_cpu_i386.c
  projects/binutils-2.17/sys/dev/uart/uart_cpu_pc98.c
  projects/binutils-2.17/sys/dev/wpi/if_wpi.c
  projects/binutils-2.17/sys/fs/nfsserver/nfs_nfsdstate.c
  projects/binutils-2.17/sys/i386/i386/pmap.c
  projects/binutils-2.17/sys/i386/include/atomic.h
  projects/binutils-2.17/sys/i386/include/bus.h
  projects/binutils-2.17/sys/kern/kern_fail.c
  projects/binutils-2.17/sys/kern/kern_umtx.c
  projects/binutils-2.17/sys/kern/sys_pipe.c
  projects/binutils-2.17/sys/kern/sys_process.c
  projects/binutils-2.17/sys/kern/vfs_bio.c
  projects/binutils-2.17/sys/mips/conf/SENTRY5
  projects/binutils-2.17/sys/modules/wpifw/Makefile
  projects/binutils-2.17/sys/netinet/sctp_cc_functions.c
  projects/binutils-2.17/sys/netinet/sctp_indata.c
  projects/binutils-2.17/sys/netinet/sctp_input.c
  projects/binutils-2.17/sys/netinet/sctp_output.c
  projects/binutils-2.17/sys/netinet/sctp_sysctl.h
  projects/binutils-2.17/sys/netinet/sctp_timer.c
  projects/binutils-2.17/sys/netinet/sctp_usrreq.c
  projects/binutils-2.17/sys/netinet/tcp_timer.c
  projects/binutils-2.17/sys/netinet6/in6_ifattach.c
  projects/binutils-2.17/sys/netinet6/sctp6_usrreq.c
  projects/binutils-2.17/sys/nfsserver/nfs.h
  projects/binutils-2.17/sys/nfsserver/nfs_serv.c
  projects/binutils-2.17/sys/nfsserver/nfs_srvsubs.c
  projects/binutils-2.17/sys/pc98/include/bus.h
  projects/binutils-2.17/sys/powerpc/aim/mmu_oea.c
  projects/binutils-2.17/sys/powerpc/aim/mmu_oea64.c
  projects/binutils-2.17/sys/powerpc/include/vmparam.h
  projects/binutils-2.17/sys/sparc64/include/cpufunc.h
  projects/binutils-2.17/sys/sparc64/include/vmparam.h
  projects/binutils-2.17/sys/sparc64/sparc64/tick.c
  projects/binutils-2.17/sys/sys/_umtx.h
  projects/binutils-2.17/sys/sys/fail.h
  projects/binutils-2.17/sys/sys/mount.h
  projects/binutils-2.17/sys/sys/osd.h
  projects/binutils-2.17/sys/sys/param.h
  projects/binutils-2.17/sys/sys/umtx.h
  projects/binutils-2.17/sys/ufs/ffs/ffs_softdep.c
  projects/binutils-2.17/sys/vm/vm_extern.h
  projects/binutils-2.17/sys/vm/vm_fault.c
  projects/binutils-2.17/sys/vm/vm_map.h
  projects/binutils-2.17/sys/vm/vm_page.c
  projects/binutils-2.17/sys/vm/vm_page.h
  projects/binutils-2.17/sys/x86/x86/io_apic.c
  projects/binutils-2.17/sys/x86/x86/nexus.c
  projects/binutils-2.17/usr.bin/csup/rcsfile.c
  projects/binutils-2.17/usr.bin/csup/rcsfile.h
  projects/binutils-2.17/usr.bin/mail/cmd1.c
  projects/binutils-2.17/usr.bin/mail/cmd2.c
  projects/binutils-2.17/usr.bin/mail/cmd3.c
  projects/binutils-2.17/usr.bin/mail/collect.c
  projects/binutils-2.17/usr.bin/mail/edit.c
  projects/binutils-2.17/usr.bin/mail/fio.c
  projects/binutils-2.17/usr.bin/mail/getname.c
  projects/binutils-2.17/usr.bin/mail/head.c
  projects/binutils-2.17/usr.bin/mail/lex.c
  projects/binutils-2.17/usr.bin/mail/list.c
  projects/binutils-2.17/usr.bin/mail/main.c
  projects/binutils-2.17/usr.bin/mail/names.c
  projects/binutils-2.17/usr.bin/mail/popen.c
  projects/binutils-2.17/usr.bin/mail/quit.c
  projects/binutils-2.17/usr.bin/mail/send.c
  projects/binutils-2.17/usr.bin/mail/strings.c
  projects/binutils-2.17/usr.bin/mail/temp.c
  projects/binutils-2.17/usr.bin/mail/tty.c
  projects/binutils-2.17/usr.bin/mail/util.c
  projects/binutils-2.17/usr.bin/mail/v7.local.c
  projects/binutils-2.17/usr.bin/mail/vars.c
  projects/binutils-2.17/usr.bin/printf/printf.c
  projects/binutils-2.17/usr.bin/rsh/rsh.c
  projects/binutils-2.17/usr.bin/stat/stat.c
  projects/binutils-2.17/usr.sbin/bsnmpd/bsnmpd/Makefile
  projects/binutils-2.17/usr.sbin/bsnmpd/modules/Makefile
  projects/binutils-2.17/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_tree.def
  projects/binutils-2.17/usr.sbin/bsnmpd/modules/snmp_wlan/wlan_tree.def
  projects/binutils-2.17/usr.sbin/lmcconfig/Makefile
  projects/binutils-2.17/usr.sbin/lmcconfig/lmcconfig.c
  projects/binutils-2.17/usr.sbin/mld6query/mld6.c
  projects/binutils-2.17/usr.sbin/mountd/mountd.c
  projects/binutils-2.17/usr.sbin/ngctl/main.c
  projects/binutils-2.17/usr.sbin/ngctl/msg.c
  projects/binutils-2.17/usr.sbin/pkg_install/add/main.c
  projects/binutils-2.17/usr.sbin/portsnap/portsnap/portsnap.sh
  projects/binutils-2.17/usr.sbin/rpc.lockd/Makefile
  projects/binutils-2.17/usr.sbin/rpc.lockd/lockd.c
  projects/binutils-2.17/usr.sbin/rpc.lockd/lockd_lock.c
  projects/binutils-2.17/usr.sbin/rtadvd/Makefile
  projects/binutils-2.17/usr.sbin/rtadvd/rtadvd.8
  projects/binutils-2.17/usr.sbin/rtadvd/rtadvd.c
  projects/binutils-2.17/usr.sbin/sysinstall/menus.c
  projects/binutils-2.17/usr.sbin/wpa/hostapd/driver_freebsd.c
Directory Properties:
  projects/binutils-2.17/   (props changed)
  projects/binutils-2.17/cddl/contrib/opensolaris/   (props changed)
  projects/binutils-2.17/contrib/bind9/   (props changed)
  projects/binutils-2.17/contrib/binutils/   (props changed)
  projects/binutils-2.17/contrib/bzip2/   (props changed)
  projects/binutils-2.17/contrib/ee/   (props changed)
  projects/binutils-2.17/contrib/expat/   (props changed)
  projects/binutils-2.17/contrib/file/   (props changed)
  projects/binutils-2.17/contrib/gdb/   (props changed)
  projects/binutils-2.17/contrib/gdtoa/   (props changed)
  projects/binutils-2.17/contrib/gnu-sort/   (props changed)
  projects/binutils-2.17/contrib/groff/   (props changed)
  projects/binutils-2.17/contrib/less/   (props changed)
  projects/binutils-2.17/contrib/libpcap/   (props changed)
  projects/binutils-2.17/contrib/llvm/   (props changed)
  projects/binutils-2.17/contrib/llvm/tools/clang/   (props changed)
  projects/binutils-2.17/contrib/ncurses/   (props changed)
  projects/binutils-2.17/contrib/netcat/   (props changed)
  projects/binutils-2.17/contrib/ntp/   (props changed)
  projects/binutils-2.17/contrib/one-true-awk/   (props changed)
  projects/binutils-2.17/contrib/openbsm/   (props changed)
  projects/binutils-2.17/contrib/openpam/   (props changed)
  projects/binutils-2.17/contrib/pf/   (props changed)
  projects/binutils-2.17/contrib/sendmail/   (props changed)
  projects/binutils-2.17/contrib/tcpdump/   (props changed)
  projects/binutils-2.17/contrib/tcsh/   (props changed)
  projects/binutils-2.17/contrib/top/   (props changed)
  projects/binutils-2.17/contrib/top/install-sh   (props changed)
  projects/binutils-2.17/contrib/tzcode/stdtime/   (props changed)
  projects/binutils-2.17/contrib/tzcode/zic/   (props changed)
  projects/binutils-2.17/contrib/tzdata/   (props changed)
  projects/binutils-2.17/contrib/wpa/   (props changed)
  projects/binutils-2.17/contrib/xz/   (props changed)
  projects/binutils-2.17/crypto/openssh/   (props changed)
  projects/binutils-2.17/crypto/openssl/   (props changed)
  projects/binutils-2.17/lib/libc/   (props changed)
  projects/binutils-2.17/lib/libc/stdtime/   (props changed)
  projects/binutils-2.17/lib/libutil/   (props changed)
  projects/binutils-2.17/lib/libz/   (props changed)
  projects/binutils-2.17/sbin/   (props changed)
  projects/binutils-2.17/sbin/ipfw/   (props changed)
  projects/binutils-2.17/share/mk/bsd.arch.inc.mk   (props changed)
  projects/binutils-2.17/share/zoneinfo/   (props changed)
  projects/binutils-2.17/sys/   (props changed)
  projects/binutils-2.17/sys/amd64/include/xen/   (props changed)
  projects/binutils-2.17/sys/cddl/contrib/opensolaris/   (props changed)
  projects/binutils-2.17/sys/contrib/dev/acpica/   (props changed)
  projects/binutils-2.17/sys/contrib/octeon-sdk/   (props changed)
  projects/binutils-2.17/sys/contrib/pf/   (props changed)
  projects/binutils-2.17/sys/contrib/x86emu/   (props changed)
  projects/binutils-2.17/usr.bin/calendar/   (props changed)
  projects/binutils-2.17/usr.bin/csup/   (props changed)
  projects/binutils-2.17/usr.bin/procstat/   (props changed)
  projects/binutils-2.17/usr.sbin/zic/   (props changed)

Modified: projects/binutils-2.17/Makefile
==============================================================================
--- projects/binutils-2.17/Makefile	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/Makefile	Fri Dec 24 01:37:13 2010	(r216683)
@@ -281,7 +281,15 @@ tinderbox:
 # existing system is.
 #
 .if make(universe) || make(universe_kernels) || make(tinderbox)
-TARGETS?=amd64 i386 ia64 pc98 powerpc sparc64 sun4v mips
+TARGETS?=amd64 arm i386 ia64 mips pc98 powerpc sparc64 sun4v
+TARGET_ARCHES_arm?=	arm armeb
+TARGET_ARCHES_mips?=	mipsel mipseb
+TARGET_ARCHES_powerpc?=	powerpc powerpc64
+TARGET_ARCHES_pc98?=	i386
+TARGET_ARCHES_sun4v?=	sparc64
+.for target in ${TARGETS}
+TARGET_ARCHES_${target}?= ${target}
+.endfor
 
 .if defined(DOING_TINDERBOX)
 FAILFILE=tinderbox.failed
@@ -301,16 +309,24 @@ universe_prologue:
 .for target in ${TARGETS}
 universe: universe_${target}
 .ORDER: universe_prologue universe_${target} universe_epilogue
-universe_${target}:
-.if !defined(MAKE_JUST_KERNELS)
+universe_${target}: universe_${target}_prologue
+universe_${target}_prologue:
 	@echo ">> ${target} started on `LC_ALL=C date`"
+.if !defined(MAKE_JUST_KERNELS)
+.for target_arch in ${TARGET_ARCHES_${target}}
+universe_${target}: universe_${target}_${target_arch}
+universe_${target}_${target_arch}: universe_${target}_prologue
+	@echo ">> ${target}.${target_arch} buildworld started on `LC_ALL=C date`"
 	@(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \
 	    ${MAKE} ${JFLAG} buildworld \
 	    TARGET=${target} \
-	    > _.${target}.buildworld 2>&1 || \
-	    (echo "${target} world failed," \
-	    "check _.${target}.buildworld for details" | ${MAKEFAIL}))
-	@echo ">> ${target} buildworld completed on `LC_ALL=C date`"
+	    TARGET_ARCH=${target_arch} \
+	    > _.${target}.${target_arch}.buildworld 2>&1 || \
+	    (echo "${target}.${target_arch} world failed," \
+	    "check _.${target}.${target_arch}.buildworld for details" | \
+	    ${MAKEFAIL}))
+	@echo ">> ${target}.${target_arch} buildworld completed on `LC_ALL=C date`"
+.endfor
 .endif
 .if !defined(MAKE_JUST_WORLDS)
 .if exists(${.CURDIR}/sys/${target}/conf/NOTES)
@@ -333,9 +349,15 @@ KERNCONFS!=	cd ${.CURDIR}/sys/${TARGET}/
 		! -name DEFAULTS ! -name NOTES
 universe_kernconfs:
 .for kernel in ${KERNCONFS}
+TARGET_ARCH_${kernel}!=	cd ${.CURDIR}/sys/${TARGET}/conf && \
+			config -m ${.CURDIR}/sys/${TARGET}/conf/${kernel} | \
+			cut -f 2
+universe_kernconfs: universe_kernconf_${TARGET}_${kernel}
+universe_kernconf_${TARGET}_${kernel}:
 	@(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \
 	    ${MAKE} ${JFLAG} buildkernel \
 	    TARGET=${TARGET} \
+	    TARGET_ARCH=${TARGET_ARCH_${kernel}} \
 	    KERNCONF=${kernel} \
 	    > _.${TARGET}.${kernel} 2>&1 || \
 	    (echo "${TARGET} ${kernel} kernel failed," \

Modified: projects/binutils-2.17/UPDATING
==============================================================================
--- projects/binutils-2.17/UPDATING	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/UPDATING	Fri Dec 24 01:37:13 2010	(r216683)
@@ -1136,8 +1136,8 @@ COMMON ITEMS:
 	<reboot in single user>				[3]
 	mergemaster -p					[5]
 	make installworld
-	make delete-old
 	mergemaster -i					[4]
+	make delete-old					[6]
 	<reboot>
 
 
@@ -1174,8 +1174,8 @@ COMMON ITEMS:
 	<reboot in single user>				[3]
 	mergemaster -p					[5]
 	make installworld
-	make delete-old
 	mergemaster -i					[4]
+	make delete-old					[6]
 	<reboot>
 
 	Make sure that you've read the UPDATING file to understand the
@@ -1218,6 +1218,10 @@ COMMON ITEMS:
 	install) after the buildworld before this step if you last updated
 	from current before 20020224 or from -stable before 20020408.
 
+	[6] This only deletes old files and directories. Old libraries
+	can be deleted by "make delete-old-libs", but you have to make
+	sure that no program is using those libraries anymore.
+
 	[8] In order to have a kernel that can run the 4.x binaries needed to
 	do an installworld, you must include the COMPAT_FREEBSD4 option in
 	your kernel.  Failure to do so may leave you with a system that is

Modified: projects/binutils-2.17/bin/kill/kill.1
==============================================================================
--- projects/binutils-2.17/bin/kill/kill.1	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/bin/kill/kill.1	Fri Dec 24 01:37:13 2010	(r216683)
@@ -134,6 +134,7 @@ Terminate the process group with PGID 11
 .Xr csh 1 ,
 .Xr killall 1 ,
 .Xr ps 1 ,
+.Xr sh 1 ,
 .Xr kill 2 ,
 .Xr sigaction 2
 .Sh STANDARDS

Modified: projects/binutils-2.17/bin/kill/kill.c
==============================================================================
--- projects/binutils-2.17/bin/kill/kill.c	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/bin/kill/kill.c	Fri Dec 24 01:37:13 2010	(r216683)
@@ -49,6 +49,12 @@ __FBSDID("$FreeBSD$");
 #include <stdlib.h>
 #include <string.h>
 
+#ifdef SHELL
+#define main killcmd
+#include "bltin/bltin.h"
+#include "error.h"
+#endif
+
 static void nosig(const char *);
 static void printsignals(FILE *);
 static int signame_to_signum(const char *);
@@ -75,16 +81,16 @@ main(int argc, char *argv[])
 				usage();
 			numsig = strtol(*argv, &ep, 10);
 			if (!**argv || *ep)
-				errx(1, "illegal signal number: %s", *argv);
+				errx(2, "illegal signal number: %s", *argv);
 			if (numsig >= 128)
 				numsig -= 128;
 			if (numsig <= 0 || numsig >= sys_nsig)
 				nosig(*argv);
 			printf("%s\n", sys_signame[numsig]);
-			exit(0);
+			return (0);
 		}
 		printsignals(stdout);
-		exit(0);
+		return (0);
 	}
 
 	if (!strcmp(*argv, "-s")) {
@@ -107,7 +113,7 @@ main(int argc, char *argv[])
 		} else if (isdigit(**argv)) {
 			numsig = strtol(*argv, &ep, 10);
 			if (!**argv || *ep)
-				errx(1, "illegal signal number: %s", *argv);
+				errx(2, "illegal signal number: %s", *argv);
 			if (numsig < 0)
 				nosig(*argv);
 		} else
@@ -122,16 +128,23 @@ main(int argc, char *argv[])
 		usage();
 
 	for (errors = 0; argc; argc--, argv++) {
-		pid = strtol(*argv, &ep, 10);
-		if (!**argv || *ep)
-			errx(1, "illegal process id: %s", *argv);
-		else if (kill(pid, numsig) == -1) {
+#ifdef SHELL
+		if (**argv == '%')
+			pid = getjobpgrp(*argv);
+		else
+#endif
+		{
+			pid = strtol(*argv, &ep, 10);
+			if (!**argv || *ep)
+				errx(2, "illegal process id: %s", *argv);
+		}
+		if (kill(pid, numsig) == -1) {
 			warn("%s", *argv);
 			errors = 1;
 		}
 	}
 
-	exit(errors);
+	return (errors);
 }
 
 static int
@@ -154,7 +167,11 @@ nosig(const char *name)
 
 	warnx("unknown signal %s; valid signals:", name);
 	printsignals(stderr);
-	exit(1);
+#ifdef SHELL
+	error(NULL);
+#else
+	exit(2);
+#endif
 }
 
 static void
@@ -180,5 +197,9 @@ usage(void)
 		"       kill -l [exit_status]",
 		"       kill -signal_name pid ...",
 		"       kill -signal_number pid ...");
-	exit(1);
+#ifdef SHELL
+	error(NULL);
+#else
+	exit(2);
+#endif
 }

Modified: projects/binutils-2.17/bin/sh/Makefile
==============================================================================
--- projects/binutils-2.17/bin/sh/Makefile	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/bin/sh/Makefile	Fri Dec 24 01:37:13 2010	(r216683)
@@ -4,7 +4,7 @@
 PROG=	sh
 INSTALLFLAGS= -S
 SHSRCS=	alias.c arith.y arith_lex.l cd.c echo.c error.c eval.c exec.c expand.c \
-	histedit.c input.c jobs.c mail.c main.c memalloc.c miscbltin.c \
+	histedit.c input.c jobs.c kill.c mail.c main.c memalloc.c miscbltin.c \
 	mystring.c options.c output.c parser.c printf.c redir.c show.c \
 	test.c trap.c var.c
 GENSRCS= builtins.c init.c nodes.c syntax.c
@@ -26,6 +26,7 @@ WARNS?=	2
 WFORMAT=0
 
 .PATH:	${.CURDIR}/bltin \
+	${.CURDIR}/../kill \
 	${.CURDIR}/../test \
 	${.CURDIR}/../../usr.bin/printf
 

Modified: projects/binutils-2.17/bin/sh/alias.c
==============================================================================
--- projects/binutils-2.17/bin/sh/alias.c	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/bin/sh/alias.c	Fri Dec 24 01:37:13 2010	(r216683)
@@ -246,7 +246,7 @@ aliascmd(int argc, char **argv)
 	while ((n = *++argv) != NULL) {
 		if ((v = strchr(n+1, '=')) == NULL) /* n+1: funny ksh stuff */
 			if ((ap = lookupalias(n, 0)) == NULL) {
-				outfmt(out2, "alias: %s not found\n", n);
+				warning("%s not found", n);
 				ret = 1;
 			} else
 				printalias(ap);

Modified: projects/binutils-2.17/bin/sh/arith_lex.l
==============================================================================
--- projects/binutils-2.17/bin/sh/arith_lex.l	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/bin/sh/arith_lex.l	Fri Dec 24 01:37:13 2010	(r216683)
@@ -74,12 +74,12 @@ int yylex(void);
 			return ARITH_NUM;
 		}
 
-0[0-7]+		{
+0[0-7]*		{
 			yylval.l_value = strtoarith_t(yytext, NULL, 8);
 			return ARITH_NUM;
 		}
 
-[0-9]+		{
+[1-9][0-9]*	{
 			yylval.l_value = strtoarith_t(yytext, NULL, 10);
 			return ARITH_NUM;
 		}

Modified: projects/binutils-2.17/bin/sh/bltin/bltin.h
==============================================================================
--- projects/binutils-2.17/bin/sh/bltin/bltin.h	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/bin/sh/bltin/bltin.h	Fri Dec 24 01:37:13 2010	(r216683)
@@ -43,6 +43,7 @@
 #include "../mystring.h"
 #ifdef SHELL
 #include "../output.h"
+#define FILE struct output
 #undef stdout
 #define stdout out1
 #undef stderr
@@ -57,21 +58,9 @@
 #define fwrite(ptr, size, nmemb, file) outbin(ptr, (size) * (nmemb), file)
 #define fflush flushout
 #define INITARGS(argv)
-#define warnx1(a, b, c) {				\
-	char buf[64];					\
-	(void)snprintf(buf, sizeof(buf), a);		\
-	error("%s", buf);				\
-}
-#define warnx2(a, b, c) {				\
-	char buf[64];					\
-	(void)snprintf(buf, sizeof(buf), a, b);		\
-	error("%s", buf);				\
-}
-#define warnx3(a, b, c) {				\
-	char buf[64];					\
-	(void)snprintf(buf, sizeof(buf), a, b, c);	\
-	error("%s", buf);				\
-}
+#define warnx warning
+#define warn(fmt, ...) warning(fmt ": %s", __VA_ARGS__, strerror(errno))
+#define errx(exitstatus, ...) error(__VA_ARGS__)
 
 #else
 #undef NULL
@@ -80,8 +69,11 @@
 #define INITARGS(argv)	if ((commandname = argv[0]) == NULL) {fputs("Argc is zero\n", stderr); exit(2);} else
 #endif
 
+#include <unistd.h>
+
 pointer stalloc(int);
 void error(const char *, ...) __printf0like(1, 2);
+pid_t getjobpgrp(char *);
 
 int echocmd(int, char **);
 int testcmd(int, char **);

Modified: projects/binutils-2.17/bin/sh/builtins.def
==============================================================================
--- projects/binutils-2.17/bin/sh/builtins.def	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/bin/sh/builtins.def	Fri Dec 24 01:37:13 2010	(r216683)
@@ -70,6 +70,7 @@ hashcmd		hash
 histcmd -h	fc
 jobidcmd	jobid
 jobscmd		jobs
+killcmd		kill
 localcmd	local
 printfcmd	printf
 pwdcmd		pwd

Modified: projects/binutils-2.17/bin/sh/cd.c
==============================================================================
--- projects/binutils-2.17/bin/sh/cd.c	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/bin/sh/cd.c	Fri Dec 24 01:37:13 2010	(r216683)
@@ -224,7 +224,7 @@ cdphysical(char *dest)
 	}
 	p = findcwd(NULL);
 	if (p == NULL)
-		out2fmt_flush("cd: warning: failed to get name of current directory\n");
+		warning("warning: failed to get name of current directory");
 	updatepwd(p);
 	INTON;
 	return (0);

Modified: projects/binutils-2.17/bin/sh/error.c
==============================================================================
--- projects/binutils-2.17/bin/sh/error.c	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/bin/sh/error.c	Fri Dec 24 01:37:13 2010	(r216683)
@@ -134,6 +134,26 @@ onint(void)
 }
 
 
+static void
+vwarning(const char *msg, va_list ap)
+{
+	if (commandname)
+		outfmt(out2, "%s: ", commandname);
+	doformat(out2, msg, ap);
+	out2fmt_flush("\n");
+}
+
+
+void
+warning(const char *msg, ...)
+{
+	va_list ap;
+	va_start(ap, msg);
+	vwarning(msg, ap);
+	va_end(ap);
+}
+
+
 /*
  * Exverror is called to raise the error exception.  If the first argument
  * is not NULL then error prints an error message using printf style
@@ -158,12 +178,8 @@ exverror(int cond, const char *msg, va_l
 	else
 		TRACE(("exverror(%d, NULL) pid=%d\n", cond, getpid()));
 #endif
-	if (msg) {
-		if (commandname)
-			outfmt(out2, "%s: ", commandname);
-		doformat(out2, msg, ap);
-		out2c('\n');
-	}
+	if (msg)
+		vwarning(msg, ap);
 	flushall();
 	exraise(cond);
 }

Modified: projects/binutils-2.17/bin/sh/error.h
==============================================================================
--- projects/binutils-2.17/bin/sh/error.h	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/bin/sh/error.h	Fri Dec 24 01:37:13 2010	(r216683)
@@ -80,6 +80,7 @@ extern volatile sig_atomic_t intpending;
 
 void exraise(int) __dead2;
 void onint(void);
+void warning(const char *, ...) __printflike(1, 2);
 void error(const char *, ...) __printf0like(1, 2) __dead2;
 void exerror(int, const char *, ...) __printf0like(2, 3) __dead2;
 

Modified: projects/binutils-2.17/bin/sh/expand.c
==============================================================================
--- projects/binutils-2.17/bin/sh/expand.c	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/bin/sh/expand.c	Fri Dec 24 01:37:13 2010	(r216683)
@@ -557,8 +557,6 @@ subevalvar(char *p, char *str, int strlo
 		amount = startp - expdest;
 		STADJUST(amount, expdest);
 		varflags &= ~VSNUL;
-		if (c != 0)
-			*loc = c;
 		return 1;
 
 	case VSQUESTION:

Modified: projects/binutils-2.17/bin/sh/jobs.c
==============================================================================
--- projects/binutils-2.17/bin/sh/jobs.c	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/bin/sh/jobs.c	Fri Dec 24 01:37:13 2010	(r216683)
@@ -632,6 +632,14 @@ currentjob:	if ((jp = getcurjob(NULL)) =
 }
 
 
+pid_t
+getjobpgrp(char *name)
+{
+	struct job *jp;
+
+	jp = getjob(name);
+	return -jp->ps[0].pid;
+}
 
 /*
  * Return a new job structure,

Modified: projects/binutils-2.17/bin/sh/sh.1
==============================================================================
--- projects/binutils-2.17/bin/sh/sh.1	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/bin/sh/sh.1	Fri Dec 24 01:37:13 2010	(r216683)
@@ -32,7 +32,7 @@
 .\"	from: @(#)sh.1	8.6 (Berkeley) 5/4/95
 .\" $FreeBSD$
 .\"
-.Dd December 3, 2010
+.Dd December 21, 2010
 .Dt SH 1
 .Os
 .Sh NAME
@@ -456,9 +456,10 @@ would become
 Aliases provide a convenient way for naive users to
 create shorthands for commands without having to learn how
 to create functions with arguments.
-They can also be
-used to create lexically obscure code.
-This use is discouraged.
+Using aliases in scripts is discouraged
+because the command that defines them must be executed
+before the code that uses them is parsed.
+This is fragile and not portable.
 .Pp
 An alias name may be escaped in a command line, so that it is not
 replaced by its alias value, by using quoting characters within or
@@ -2049,6 +2050,10 @@ If the
 .Fl s
 option is specified, only the PIDs of the job commands are printed, one per
 line.
+.It Ic kill
+A built-in equivalent of
+.Xr kill 1
+that additionally supports sending signals to jobs.
 .It Ic local Oo Ar variable ... Oc Op Fl
 See the
 .Sx Functions
@@ -2477,6 +2482,7 @@ will return the argument.
 .Xr echo 1 ,
 .Xr ed 1 ,
 .Xr emacs 1 ,
+.Xr kill 1 ,
 .Xr printf 1 ,
 .Xr pwd 1 ,
 .Xr test 1 ,

Modified: projects/binutils-2.17/bin/sh/trap.c
==============================================================================
--- projects/binutils-2.17/bin/sh/trap.c	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/bin/sh/trap.c	Fri Dec 24 01:37:13 2010	(r216683)
@@ -185,7 +185,7 @@ trapcmd(int argc, char **argv)
 	}
 	while (*argv) {
 		if ((signo = sigstring_to_signum(*argv)) == -1) {
-			out2fmt_flush("trap: bad signal %s\n", *argv);
+			warning("bad signal %s", *argv);
 			errors = 1;
 		}
 		INTOFF;

Modified: projects/binutils-2.17/contrib/bsnmp/lib/bsnmplib.3
==============================================================================
--- projects/binutils-2.17/contrib/bsnmp/lib/bsnmplib.3	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/contrib/bsnmp/lib/bsnmplib.3	Fri Dec 24 01:37:13 2010	(r216683)
@@ -37,7 +37,7 @@
 .\"
 .\" $Begemot: bsnmp/lib/bsnmplib.3,v 1.9 2005/10/04 08:46:51 brandt_h Exp $
 .\"
-.Dd September 9, 2010
+.Dd December 19, 2010
 .Dt BSNMPLIB 3
 .Os
 .Sh NAME
@@ -50,6 +50,7 @@
 .Nm snmp_pdu_decode_header ,
 .Nm snmp_pdu_decode_scoped ,
 .Nm snmp_pdu_decode_secmode ,
+.Nm snmp_pdu_init_secparams ,
 .Nm snmp_pdu_dump ,
 .Nm snmp_passwd_to_keys ,
 .Nm snmp_get_local_keys ,
@@ -83,6 +84,8 @@ Begemot SNMP library
 .Ft enum snmp_code
 .Fn snmp_pdu_decode_secmode "struct asn_buf *buf" "struct snmp_pdu *pdu"
 .Ft void
+.Fn snmp_pdu_init_secparams "struct snmp_pdu *pdu"
+.Ft void
 .Fn snmp_pdu_dump "const struct snmp_pdu *pdu"
 .Ft enum snmp_code
 .Fn snmp_passwd_to_keys "struct snmp_user *user" "char *passwd"
@@ -175,12 +178,18 @@ This structure represents an SNMP engine
 Architecture described in RFC 3411.
 .Pp
 .Bd -literal -offset indent
-#define	SNMP_USM_NAME_SIZ		(32 + 1)
+#define	SNMP_ADM_STR32_SIZ		(32 + 1)
 #define	SNMP_AUTH_KEY_SIZ		40
 #define	SNMP_PRIV_KEY_SIZ		32
 
+enum snmp_usm_level {
+	SNMP_noAuthNoPriv = 1,
+	SNMP_authNoPriv = 2,
+	SNMP_authPriv = 3
+};
+
 struct snmp_user {
-	char				sec_name[SNMP_USM_NAME_SIZ];
+	char				sec_name[SNMP_ADM_STR32_SIZ];
 	enum snmp_authentication	auth_proto;
 	enum snmp_privacy		priv_proto;
 	uint8_t				auth_key[SNMP_AUTH_KEY_SIZ];
@@ -230,7 +239,9 @@ contain the authentication and privacy k
 #define	SNMP_MSG_PRIV_FLAG		0x2
 #define	SNMP_MSG_REPORT_FLAG		0x4
 
-#define	SNMP_SECMODEL_USM		3
+#define	SNMP_MPM_SNMP_V1		0
+#define	SNMP_MPM_SNMP_V2c		1
+#define	SNMP_MPM_SNMP_V3		3
 
 struct snmp_pdu {
 	char			community[SNMP_COMMUNITY_MAXLEN + 1];
@@ -296,7 +307,17 @@ and
 is the type of the PDU.
 .Fa security_model
 is the security model used for SNMPv3 PDUs. The only supported
-value currently is 3 (User-based Security Model).
+value currently is 3 (User-based Security Model). Additional values for any,
+unknown, SNMPv1 and SNMPv2c security models are also enumerated
+.Bd -literal -offset indent
+enum snmp_secmodel {
+	SNMP_SECMODEL_ANY = 0,
+	SNMP_SECMODEL_SNMPv1 = 1,
+	SNMP_SECMODEL_SNMPv2c = 2,
+	SNMP_SECMODEL_USM = 3,
+	SNMP_SECMODEL_UNKNOWN
+};
+.Ed
 .Pp
 The function
 .Fn snmp_value_free
@@ -366,6 +387,13 @@ if the PDU is encrypted, decrypts the PD
 If successfull, a plain text scoped PDU is stored in the buffer.
 .Pp
 The function
+.Fn snmp_pdu_init_secparams
+calculates the initialization vector for the privacy protocol in use before
+the PDU pointed to by 
+.Fa pdu
+may be encrypted or decrypted.
+.Pp
+The function
 .Fn snmp_pdu_dump
 dumps the PDU in a human readable form by calling
 .Fn snmp_printf .

Modified: projects/binutils-2.17/contrib/bsnmp/lib/snmp.c
==============================================================================
--- projects/binutils-2.17/contrib/bsnmp/lib/snmp.c	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/contrib/bsnmp/lib/snmp.c	Fri Dec 24 01:37:13 2010	(r216683)
@@ -764,6 +764,7 @@ snmp_pdu_encode_header(struct asn_buf *b
 
 		if (pdu->type != SNMP_PDU_RESPONSE &&
 		    pdu->type != SNMP_PDU_TRAP &&
+		    pdu->type != SNMP_PDU_TRAP2 &&
 		    pdu->type != SNMP_PDU_REPORT)
 			pdu->flags |= SNMP_MSG_REPORT_FLAG;
 
@@ -1176,23 +1177,19 @@ snmp_value_copy(struct snmp_value *to, c
 }
 
 void
-snmp_pdu_init_secparams(struct snmp_pdu *pdu, struct snmp_engine *eng,
-    struct snmp_user *user)
+snmp_pdu_init_secparams(struct snmp_pdu *pdu)
 {
 	int32_t rval;
 
-	memcpy(&pdu->engine, eng, sizeof(pdu->engine));
-	memcpy(&pdu->user, user, sizeof(pdu->user));
-
-	if (user->auth_proto != SNMP_AUTH_NOAUTH)
+	if (pdu->user.auth_proto != SNMP_AUTH_NOAUTH)
 		pdu->flags |= SNMP_MSG_AUTH_FLAG;
 
-	switch (user->priv_proto) {
+	switch (pdu->user.priv_proto) {
 	case SNMP_PRIV_DES:
-		memcpy(pdu->msg_salt, &eng->engine_boots,
-		    sizeof(eng->engine_boots));
+		memcpy(pdu->msg_salt, &pdu->engine.engine_boots,
+		    sizeof(pdu->engine.engine_boots));
 		rval = random();
-		memcpy(pdu->msg_salt + sizeof(eng->engine_boots), &rval,
+		memcpy(pdu->msg_salt + sizeof(pdu->engine.engine_boots), &rval,
 		    sizeof(int32_t));
 		pdu->flags |= SNMP_MSG_PRIV_FLAG;
 		break;

Modified: projects/binutils-2.17/contrib/bsnmp/lib/snmp.h
==============================================================================
--- projects/binutils-2.17/contrib/bsnmp/lib/snmp.h	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/contrib/bsnmp/lib/snmp.h	Fri Dec 24 01:37:13 2010	(r216683)
@@ -89,6 +89,10 @@ enum snmp_version {
 	SNMP_V3,
 };
 
+#define	SNMP_MPM_SNMP_V1		0
+#define	SNMP_MPM_SNMP_V2c		1
+#define	SNMP_MPM_SNMP_V3		3
+
 #define	SNMP_ADM_STR32_SIZ		(32 + 1)
 #define	SNMP_AUTH_KEY_SIZ		40
 #define	SNMP_PRIV_KEY_SIZ		32
@@ -255,6 +259,7 @@ int snmp_value_parse(const char *, enum 
 int snmp_value_copy(struct snmp_value *, const struct snmp_value *);
 
 void snmp_pdu_free(struct snmp_pdu *);
+void snmp_pdu_init_secparams(struct snmp_pdu *);
 enum snmp_code snmp_pdu_decode(struct asn_buf *b, struct snmp_pdu *pdu, int32_t *);
 enum snmp_code snmp_pdu_decode_header(struct asn_buf *, struct snmp_pdu *);
 enum snmp_code snmp_pdu_decode_scoped(struct asn_buf *, struct snmp_pdu *, int32_t *);

Modified: projects/binutils-2.17/contrib/bsnmp/lib/snmpagent.c
==============================================================================
--- projects/binutils-2.17/contrib/bsnmp/lib/snmpagent.c	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/contrib/bsnmp/lib/snmpagent.c	Fri Dec 24 01:37:13 2010	(r216683)
@@ -178,7 +178,9 @@ snmp_pdu_create_response(struct snmp_pdu
 	if (resp->version != SNMP_V3)
 		return;
 
-	snmp_pdu_init_secparams(resp, &pdu->engine, &pdu->user);
+	memcpy(&resp->engine, &pdu->engine, sizeof(pdu->engine));
+	memcpy(&resp->user, &pdu->user, sizeof(pdu->user));
+	snmp_pdu_init_secparams(resp);
 	resp->identifier = pdu->identifier;
 	resp->security_model = pdu->security_model;
 	resp->context_engine_len = pdu->context_engine_len;

Modified: projects/binutils-2.17/contrib/bsnmp/lib/snmpclient.c
==============================================================================
--- projects/binutils-2.17/contrib/bsnmp/lib/snmpclient.c	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/contrib/bsnmp/lib/snmpclient.c	Fri Dec 24 01:37:13 2010	(r216683)
@@ -1160,10 +1160,11 @@ snmp_pdu_create(struct snmp_pdu *pdu, u_
 	pdu->flags = 0;
 	pdu->security_model = snmp_client.security_model;
 
-	if (snmp_client.security_model == SNMP_SECMODEL_USM)
-		snmp_pdu_init_secparams(pdu, &snmp_client.engine,
-		    &snmp_client.user);
-	else
+	if (snmp_client.security_model == SNMP_SECMODEL_USM) {
+		memcpy(&pdu->engine, &snmp_client.engine, sizeof(pdu->engine));
+		memcpy(&pdu->user, &snmp_client.user, sizeof(pdu->user));
+		snmp_pdu_init_secparams(pdu);
+	} else
 		seterr(&snmp_client, "unknown security model");
 
 	if (snmp_client.clen > 0) {
@@ -1440,9 +1441,11 @@ snmp_receive_packet(struct snmp_pdu *pdu
 	abuf.asn_len = ret;
 
 	memset(pdu, 0, sizeof(*pdu));
-	if (snmp_client.security_model == SNMP_SECMODEL_USM)
-		snmp_pdu_init_secparams(pdu, &snmp_client.engine,
-		    &snmp_client.user);
+	if (snmp_client.security_model == SNMP_SECMODEL_USM) {
+		memcpy(&pdu->engine, &snmp_client.engine, sizeof(pdu->engine));
+		memcpy(&pdu->user, &snmp_client.user, sizeof(pdu->user));
+		snmp_pdu_init_secparams(pdu);
+	}
 
 	if (SNMP_CODE_OK != (ret = snmp_pdu_decode(&abuf, pdu, &ip))) {
 		seterr(&snmp_client, "snmp_decode_pdu: failed %d", ret);

Modified: projects/binutils-2.17/contrib/bsnmp/lib/snmppriv.h
==============================================================================
--- projects/binutils-2.17/contrib/bsnmp/lib/snmppriv.h	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/contrib/bsnmp/lib/snmppriv.h	Fri Dec 24 01:37:13 2010	(r216683)
@@ -38,9 +38,6 @@ enum snmp_code snmp_fix_encoding(struct 
 enum asn_err snmp_parse_pdus_hdr(struct asn_buf *b, struct snmp_pdu *pdu,
     asn_len_t *lenp);
 
-void snmp_pdu_init_secparams(struct snmp_pdu *, struct snmp_engine *,
-    struct snmp_user *);
-
 enum snmp_code snmp_pdu_calc_digest(const struct snmp_pdu *, uint8_t *);
 enum snmp_code snmp_pdu_encrypt(const struct snmp_pdu *);
 enum snmp_code snmp_pdu_decrypt(const struct snmp_pdu *);

Copied: projects/binutils-2.17/contrib/bsnmp/lib/tc.def (from r216682, head/contrib/bsnmp/lib/tc.def)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/binutils-2.17/contrib/bsnmp/lib/tc.def	Fri Dec 24 01:37:13 2010	(r216683, copy of r216682, head/contrib/bsnmp/lib/tc.def)
@@ -0,0 +1,40 @@
+#-
+# Copyright (C) 2010 The FreeBSD Foundation
+# All rights reserved.
+#
+# This software was developed by Shteryana Sotirova Shopova under
+# sponsorship from the FreeBSD Foundation.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#   documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD$
+#
+
+typedef RowStatus ENUM (
+	1 active
+	2 notInService
+	3 notReady
+	4 createAndGo
+	5 createAndWait
+	6 destroy
+)
+

Modified: projects/binutils-2.17/contrib/bsnmp/snmp_usm/snmp_usm.3
==============================================================================
--- projects/binutils-2.17/contrib/bsnmp/snmp_usm/snmp_usm.3	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/contrib/bsnmp/snmp_usm/snmp_usm.3	Fri Dec 24 01:37:13 2010	(r216683)
@@ -112,7 +112,7 @@ Applications always have this column set
 lost when the module is restarted. A SET operation on this column is not
 allowed.
 .It Va usmUserStatus
-This column is used to create new USM user entries or delete exsiting ones from
+This column is used to create new USM user entries or delete existing ones from
 the table.
 .El
 .EL

Modified: projects/binutils-2.17/contrib/bsnmp/snmp_usm/usm_tree.def
==============================================================================
--- projects/binutils-2.17/contrib/bsnmp/snmp_usm/usm_tree.def	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/contrib/bsnmp/snmp_usm/usm_tree.def	Fri Dec 24 01:37:13 2010	(r216683)
@@ -29,13 +29,7 @@
 # $FreeBSD$
 #
 
-typedef StorageType ENUM (
-	1 other
-	2 volatile
-	3 nonVolatile
-	4 permanent
-	5 readOnly
-)
+#include "tc.def"
 
 typedef RowStatus ENUM (
 	1 active
@@ -46,6 +40,14 @@ typedef RowStatus ENUM (
 	6 destroy
 )
 
+typedef StorageType ENUM (
+	1 other
+	2 volatile
+	3 nonVolatile
+	4 permanent
+	5 readOnly
+)
+
 (1 internet
   (6 snmpV2
     (3 snmpModules

Modified: projects/binutils-2.17/contrib/bsnmp/snmp_vacm/vacm_tree.def
==============================================================================
--- projects/binutils-2.17/contrib/bsnmp/snmp_vacm/vacm_tree.def	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/contrib/bsnmp/snmp_vacm/vacm_tree.def	Fri Dec 24 01:37:13 2010	(r216683)
@@ -29,13 +29,7 @@
 # $FreeBSD$
 #
 
-typedef StorageType ENUM (
-	1 other
-	2 volatile
-	3 nonVolatile
-	4 permanent
-	5 readOnly
-)
+#include "tc.def"
 
 typedef RowStatus ENUM (
 	1 active
@@ -46,6 +40,14 @@ typedef RowStatus ENUM (
 	6 destroy
 )
 
+typedef StorageType ENUM (
+	1 other
+	2 volatile
+	3 nonVolatile
+	4 permanent
+	5 readOnly
+)
+
 (1 internet
   (6 snmpV2
     (3 snmpModules

Modified: projects/binutils-2.17/contrib/bsnmp/snmpd/main.c
==============================================================================
--- projects/binutils-2.17/contrib/bsnmp/snmpd/main.c	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/contrib/bsnmp/snmpd/main.c	Fri Dec 24 01:37:13 2010	(r216683)
@@ -5,6 +5,12 @@
  *
  * Author: Harti Brandt <harti at freebsd.org>
  * 
+ * Copyright (c) 2010 The FreeBSD Foundation
+ * All rights reserved.
+ *
+ * Portions of this software were developed by Shteryana Sotirova Shopova
+ * under sponsorship from the FreeBSD Foundation.
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
@@ -98,6 +104,8 @@ struct snmp_engine snmpd_engine;
 /* snmpSerialNo */
 int32_t snmp_serial_no;
 
+struct snmpd_target_stats snmpd_target_stats;
+
 /* search path for config files */
 const char *syspath = PATH_SYSCONFIG;
 
@@ -361,7 +369,7 @@ snmp_pdu_auth_user(struct snmp_pdu *pdu)
  * Check whether access to each of var bindings in the PDU is allowed based
  * on the user credentials against the configured User groups & VACM views.
  */
-static enum snmp_code
+enum snmp_code
 snmp_pdu_auth_access(struct snmp_pdu *pdu, int32_t *ip)
 {
 	const char *uname;
@@ -1838,14 +1846,14 @@ main(int argc, char *argv[])
 		exit(1);
 	}
 
-	snmp_send_trap(&oid_coldStart, (struct snmp_value *)NULL);
-
 	while ((m = TAILQ_FIRST(&modules_start)) != NULL) {
 		m->flags &= ~LM_ONSTARTLIST;
 		TAILQ_REMOVE(&modules_start, m, start);
 		lm_start(m);
 	}
 
+	snmp_send_trap(&oid_coldStart, (struct snmp_value *)NULL);
+
 	for (;;) {
 #ifndef USE_LIBBEGEMOT
 		evEvent event;

Modified: projects/binutils-2.17/contrib/bsnmp/snmpd/snmpmod.3
==============================================================================
--- projects/binutils-2.17/contrib/bsnmp/snmpd/snmpmod.3	Thu Dec 23 20:23:17 2010	(r216682)
+++ projects/binutils-2.17/contrib/bsnmp/snmpd/snmpmod.3	Fri Dec 24 01:37:13 2010	(r216683)
@@ -31,7 +31,7 @@
 .\"
 .\" $Begemot: bsnmp/snmpd/snmpmod.3,v 1.14 2005/10/04 13:30:35 brandt_h Exp $
 .\"
-.Dd September 9, 2010
+.Dd December 19, 2010
 .Dt SNMPMOD 3
 .Os
 .Sh NAME
@@ -83,6 +83,7 @@
 .Nm snmp_output ,
 .Nm snmp_send_port ,
 .Nm snmp_send_trap ,
+.Nm snmp_pdu_auth_access
 .Nm string_save ,
 .Nm string_commit ,
 .Nm string_rollback ,
@@ -102,6 +103,7 @@
 .Nm index_compare_off ,
 .Nm index_append ,
 .Nm index_append_off,
+.Nm snmpd_usmstats,
 .Nm bsnmpd_get_usm_stats,
 .Nm bsnmpd_reset_usm_stats,
 .Nm usm_first_user,
@@ -111,6 +113,25 @@
 .Nm usm_delete_user,
 .Nm usm_flush_users,
 .Nm usm_user
+.Nm snmpd_target_stat
+.Nm bsnmpd_get_target_stats
+.Nm target_first_address
+.Nm target_next_address
+.Nm target_new_address
+.Nm target_activate_address
+.Nm target_delete_address
+.Nm target_first_param
+.Nm target_next_param
+.Nm target_new_param
+.Nm target_delete_param
+.Nm target_first_notify
+.Nm target_next_notify
+.Nm target_new_notify
+.Nm target_delete_notify
+.Nm target_flush_all
+.Nm target_address
+.Nm target_param
+.Nm target_notify
 .Nd "SNMP daemon loadable module interface"
 .Sh LIBRARY
 Begemot SNMP library
@@ -201,6 +222,8 @@ Begemot SNMP library
 .Fc
 .Ft void
 .Fn snmp_send_trap "const struct asn_oid *oid" "..."
+.Ft enum snmp_code
+.Fn snmp_pdu_auth_access "struct snmp_pdu *pdu" "int32_t *ip"
 .Ft int
 .Fn string_save "struct snmp_value *val" "struct snmp_context *ctx" "ssize_t req_size" "u_char **strp"
 .Ft void
@@ -239,6 +262,7 @@ Begemot SNMP library
 .Fn index_append "struct asn_oid *dst" "u_int sub" "const struct asn_oid *src"
 .Ft void
 .Fn index_append_off "struct asn_oid *dst" "u_int sub" "const struct asn_oid *src" "u_int off"
+.Vt extern struct snmpd_usmstat snmpd_usmstats ;
 .Ft struct snmpd_usmstat *
 .Fn bsnmpd_get_usm_stats "void"
 .Ft void
@@ -256,6 +280,36 @@ Begemot SNMP library
 .Ft void
 .Fn usm_flush_users "void"
 .Vt extern struct usm_user *usm_user;
+.Ft struct snmpd_target_stats *
+.Fn bsnmpd_get_target_stats "void"
+.Ft struct target_address *
+.Fn target_first_address "void"
+.Ft struct target_address *
+.Fn target_next_address "struct target_address *"
+.Ft struct target_address *
+.Fn target_new_address "char *"
+.Ft int
+.Fn target_activate_address "struct target_address *"
+.Ft int
+.Fn target_delete_address "struct target_address *"
+.Ft struct target_param *
+.Fn target_first_param "void"
+.Ft struct target_param *
+.Fn target_next_param "struct target_param *"
+.Ft struct target_param *
+.Fn target_new_param "char *"
+.Ft int
+.Fn target_delete_param "struct target_param *"
+.Ft struct target_notify *
+.Fn target_first_notify "void"
+.Ft struct target_notify *
+.Fn target_next_notify "struct target_notify *"
+.Ft struct target_notify *
+.Fn target_new_notify "char *"
+.Ft int
+.Fn target_delete_notify "struct target_notify *"
+.Ft void
+.Fn target_flush_all "void"
 .Vt extern const struct asn_oid oid_usmUnknownEngineIDs;
 .Vt extern const struct asn_oid oid_usmNotInTimeWindows;
 .Sh DESCRIPTION
@@ -603,7 +657,7 @@ struct usm_user {
 	struct snmp_user		suser;
 	uint8_t				user_engine_id[SNMP_ENGINE_ID_SIZ];
 	uint32_t			user_engine_len;
-	char				user_public[SNMP_USM_NAME_SIZ];
+	char				user_public[SNMP_ADM_STR32_SIZ];
 	uint32_t			user_public_len;
 	int32_t				status;
 	int32_t				type;
@@ -640,6 +694,103 @@ and
 or
 .Li NULL
 if an user with the specified name and engine id is not present in the list.
+.Ss THE MANAGEMENT TARGET GROUP
+The Management Target group holds target address information used when sending
+SNMPv3 notifications.
+.Pp
+The scalar statistics of the Management Target group are held in the global
+variable
+.Va snmpd_target_stats :
+.Bd -literal -offset indent
+struct snmpd_target_stats {
+	uint32_t			unavail_contexts;
+	uint32_t			unknown_contexts;
+};
+.Ed
+.Fn bsnmpd_get_target_stats
+returns a pointer to the global structure containing the statistics.
+.Pp
+Three global lists of configured management target addresses, parameters and
+notifications respectively are maintained by the daemon.
+.Bd -literal -offset indent
+struct target_address {
+	char				name[SNMP_ADM_STR32_SIZ];
+	uint8_t				address[SNMP_UDP_ADDR_SIZ];
+	int32_t				timeout;
+	int32_t				retry;
+	char				taglist[SNMP_TAG_SIZ];
+	char				paramname[SNMP_ADM_STR32_SIZ];
+	int32_t				type;
+	int32_t				socket;
+	int32_t				status;
+	SLIST_ENTRY(target_address)	ta;
+};
+.Ed
+This structure represents a SNMPv3 Management Target address. Each time a SNMP
+TRAP is send the daemon will send the Trap to all active Management Target
+addresses in its global list.
+.Bd -literal -offset indent
+struct target_param {
+	char				name[SNMP_ADM_STR32_SIZ];
+	int32_t				mpmodel;
+	int32_t				sec_model;
+	char				secname[SNMP_ADM_STR32_SIZ];
+	enum snmp_usm_level		sec_level;

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-projects mailing list