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