From owner-p4-projects@FreeBSD.ORG Thu Apr 15 21:01:34 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7CB8F16A4D0; Thu, 15 Apr 2004 21:01:34 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3D47C16A4CE for ; Thu, 15 Apr 2004 21:01:34 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2ED9D43D48 for ; Thu, 15 Apr 2004 21:01:34 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i3G41YGe007452 for ; Thu, 15 Apr 2004 21:01:34 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i3G41SRD007367 for perforce@freebsd.org; Thu, 15 Apr 2004 21:01:28 -0700 (PDT) (envelope-from marcel@freebsd.org) Date: Thu, 15 Apr 2004 21:01:28 -0700 (PDT) Message-Id: <200404160401.i3G41SRD007367@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 51138 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Apr 2004 04:01:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=51138 Change 51138 by marcel@marcel_nfs on 2004/04/15 21:01:21 IFC @51131 Affected files ... .. //depot/projects/gdb/Makefile#5 integrate .. //depot/projects/gdb/Makefile.inc1#7 integrate .. //depot/projects/gdb/UPDATING#9 integrate .. //depot/projects/gdb/bin/sh/sh.1#3 integrate .. //depot/projects/gdb/contrib/bsnmp/NEWS#3 integrate .. //depot/projects/gdb/contrib/bsnmp/VERSION#3 integrate .. //depot/projects/gdb/contrib/bsnmp/gensnmpdef/gensnmpdef.1#1 branch .. //depot/projects/gdb/contrib/bsnmp/gensnmpdef/gensnmpdef.c#1 branch .. //depot/projects/gdb/contrib/bsnmp/gensnmptree/gensnmptree.c#3 integrate .. //depot/projects/gdb/contrib/bsnmp/lib/asn1.3#3 integrate .. //depot/projects/gdb/contrib/bsnmp/lib/bsnmpagent.3#3 integrate .. //depot/projects/gdb/contrib/bsnmp/lib/bsnmpclient.3#3 integrate .. //depot/projects/gdb/contrib/bsnmp/lib/bsnmplib.3#3 integrate .. //depot/projects/gdb/contrib/bsnmp/lib/snmpagent.c#3 integrate .. //depot/projects/gdb/contrib/bsnmp/lib/snmpagent.h#3 integrate .. //depot/projects/gdb/contrib/bsnmp/snmp_mibII/mibII.c#3 integrate .. //depot/projects/gdb/contrib/bsnmp/snmp_mibII/mibII_interfaces.c#3 integrate .. //depot/projects/gdb/contrib/bsnmp/snmp_mibII/mibII_ipaddr.c#3 integrate .. //depot/projects/gdb/contrib/bsnmp/snmp_mibII/snmp_mibII.3#3 integrate .. //depot/projects/gdb/contrib/bsnmp/snmpd/BEGEMOT-SNMPD.txt#3 integrate .. //depot/projects/gdb/contrib/bsnmp/snmpd/action.c#3 integrate .. //depot/projects/gdb/contrib/bsnmp/snmpd/bsnmpd.1#3 integrate .. //depot/projects/gdb/contrib/bsnmp/snmpd/config.c#3 integrate .. //depot/projects/gdb/contrib/bsnmp/snmpd/main.c#3 integrate .. //depot/projects/gdb/contrib/bsnmp/snmpd/snmpd.config#3 integrate .. //depot/projects/gdb/contrib/bsnmp/snmpd/snmpmod.3#3 integrate .. //depot/projects/gdb/contrib/bsnmp/snmpd/trans_lsock.c#2 integrate .. //depot/projects/gdb/contrib/bsnmp/snmpd/trap.c#3 integrate .. //depot/projects/gdb/contrib/cvs/AUTHORS#2 integrate .. //depot/projects/gdb/contrib/cvs/BUGS#2 integrate .. //depot/projects/gdb/contrib/cvs/ChangeLog#2 integrate .. //depot/projects/gdb/contrib/cvs/FAQ#2 integrate .. //depot/projects/gdb/contrib/cvs/INSTALL#2 integrate .. //depot/projects/gdb/contrib/cvs/Makefile.am#2 integrate .. //depot/projects/gdb/contrib/cvs/Makefile.in#2 integrate .. //depot/projects/gdb/contrib/cvs/NEWS#2 integrate .. //depot/projects/gdb/contrib/cvs/README#2 integrate .. //depot/projects/gdb/contrib/cvs/TESTS#2 integrate .. //depot/projects/gdb/contrib/cvs/TODO#2 integrate .. //depot/projects/gdb/contrib/cvs/acinclude.m4#2 integrate .. //depot/projects/gdb/contrib/cvs/aclocal.m4#2 integrate .. //depot/projects/gdb/contrib/cvs/config.h.in#2 integrate .. //depot/projects/gdb/contrib/cvs/configure#2 integrate .. //depot/projects/gdb/contrib/cvs/configure.in#2 integrate .. //depot/projects/gdb/contrib/cvs/contrib/ChangeLog#2 integrate .. //depot/projects/gdb/contrib/cvs/contrib/Makefile.am#2 integrate .. //depot/projects/gdb/contrib/cvs/contrib/Makefile.in#2 integrate .. //depot/projects/gdb/contrib/cvs/contrib/check_cvs.in#2 integrate .. //depot/projects/gdb/contrib/cvs/contrib/commit_prep.in#2 integrate .. //depot/projects/gdb/contrib/cvs/contrib/cvs2vendor.sh#2 integrate .. //depot/projects/gdb/contrib/cvs/contrib/log_accum.in#2 integrate .. //depot/projects/gdb/contrib/cvs/contrib/rcs2log.sh#2 integrate .. //depot/projects/gdb/contrib/cvs/contrib/rcs2sccs.sh#2 integrate .. //depot/projects/gdb/contrib/cvs/contrib/sccs2rcs.in#2 integrate .. //depot/projects/gdb/contrib/cvs/depcomp#2 integrate .. //depot/projects/gdb/contrib/cvs/diff/ChangeLog#2 integrate .. //depot/projects/gdb/contrib/cvs/diff/Makefile.in#2 integrate .. //depot/projects/gdb/contrib/cvs/diff/diff.c#2 integrate .. //depot/projects/gdb/contrib/cvs/diff/diff3.c#2 integrate .. //depot/projects/gdb/contrib/cvs/diff/diffrun.h#2 integrate .. //depot/projects/gdb/contrib/cvs/diff/io.c#2 integrate .. //depot/projects/gdb/contrib/cvs/diff/system.h#2 integrate .. //depot/projects/gdb/contrib/cvs/diff/util.c#2 integrate .. //depot/projects/gdb/contrib/cvs/doc/ChangeLog#2 integrate .. //depot/projects/gdb/contrib/cvs/doc/Makefile.am#2 integrate .. //depot/projects/gdb/contrib/cvs/doc/Makefile.in#2 integrate .. //depot/projects/gdb/contrib/cvs/doc/cvs.texinfo#2 integrate .. //depot/projects/gdb/contrib/cvs/doc/cvsclient.texi#2 integrate .. //depot/projects/gdb/contrib/cvs/doc/stamp-1#2 integrate .. //depot/projects/gdb/contrib/cvs/doc/stamp-vti#2 integrate .. //depot/projects/gdb/contrib/cvs/doc/version-client.texi#2 integrate .. //depot/projects/gdb/contrib/cvs/doc/version.texi#2 integrate .. //depot/projects/gdb/contrib/cvs/lib/ChangeLog#2 integrate .. //depot/projects/gdb/contrib/cvs/lib/Makefile.am#2 integrate .. //depot/projects/gdb/contrib/cvs/lib/Makefile.in#2 integrate .. //depot/projects/gdb/contrib/cvs/lib/fncase.c#2 integrate .. //depot/projects/gdb/contrib/cvs/lib/getdate.y#2 integrate .. //depot/projects/gdb/contrib/cvs/lib/getpass.c#1 branch .. //depot/projects/gdb/contrib/cvs/lib/mkdir.c#2 integrate .. //depot/projects/gdb/contrib/cvs/lib/regex.c#2 integrate .. //depot/projects/gdb/contrib/cvs/lib/system.h#2 integrate .. //depot/projects/gdb/contrib/cvs/lib/wait.h#2 integrate .. //depot/projects/gdb/contrib/cvs/man/ChangeLog#2 integrate .. //depot/projects/gdb/contrib/cvs/man/Makefile.am#2 integrate .. //depot/projects/gdb/contrib/cvs/man/Makefile.in#2 integrate .. //depot/projects/gdb/contrib/cvs/man/cvs.1#2 integrate .. //depot/projects/gdb/contrib/cvs/man/cvs.5#2 integrate .. //depot/projects/gdb/contrib/cvs/mktemp.sh#1 branch .. //depot/projects/gdb/contrib/cvs/noautomake.sh#2 delete .. //depot/projects/gdb/contrib/cvs/src/ChangeLog#2 integrate .. //depot/projects/gdb/contrib/cvs/src/Makefile.am#2 integrate .. //depot/projects/gdb/contrib/cvs/src/Makefile.in#2 integrate .. //depot/projects/gdb/contrib/cvs/src/add.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/admin.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/annotate.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/buffer.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/buffer.h#2 integrate .. //depot/projects/gdb/contrib/cvs/src/checkin.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/checkout.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/classify.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/client.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/client.h#2 integrate .. //depot/projects/gdb/contrib/cvs/src/commit.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/create_adm.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/cvs.h#2 integrate .. //depot/projects/gdb/contrib/cvs/src/cvsbug.in#2 integrate .. //depot/projects/gdb/contrib/cvs/src/cvsrc.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/diff.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/edit.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/edit.h#2 integrate .. //depot/projects/gdb/contrib/cvs/src/entries.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/error.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/expand_path.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/fileattr.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/fileattr.h#2 integrate .. //depot/projects/gdb/contrib/cvs/src/filesubr.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/find_names.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/hardlink.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/hash.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/hash.h#2 integrate .. //depot/projects/gdb/contrib/cvs/src/history.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/history.h#1 branch .. //depot/projects/gdb/contrib/cvs/src/ignore.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/import.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/lock.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/log.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/login.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/logmsg.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/main.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/mkmodules.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/modules.c#3 integrate .. //depot/projects/gdb/contrib/cvs/src/myndbm.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/no_diff.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/parseinfo.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/patch.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/rcs.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/rcs.h#2 integrate .. //depot/projects/gdb/contrib/cvs/src/rcscmds.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/recurse.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/release.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/remove.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/repos.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/root.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/root.h#2 integrate .. //depot/projects/gdb/contrib/cvs/src/run.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/sanity.sh#2 integrate .. //depot/projects/gdb/contrib/cvs/src/server.c#3 integrate .. //depot/projects/gdb/contrib/cvs/src/server.h#2 integrate .. //depot/projects/gdb/contrib/cvs/src/stack.c#1 branch .. //depot/projects/gdb/contrib/cvs/src/stack.h#1 branch .. //depot/projects/gdb/contrib/cvs/src/status.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/subr.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/tag.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/update.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/update.h#2 integrate .. //depot/projects/gdb/contrib/cvs/src/vers_ts.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/watch.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/watch.h#2 integrate .. //depot/projects/gdb/contrib/cvs/src/wrapper.c#2 integrate .. //depot/projects/gdb/contrib/cvs/src/zlib.c#2 integrate .. //depot/projects/gdb/contrib/cvs/tools/ChangeLog#2 integrate .. //depot/projects/gdb/contrib/cvs/tools/Makefile.am#2 integrate .. //depot/projects/gdb/contrib/cvs/tools/Makefile.in#2 integrate .. //depot/projects/gdb/etc/mtree/BSD.usr.dist#5 integrate .. //depot/projects/gdb/etc/rc.d/initdiskless#6 integrate .. //depot/projects/gdb/etc/rc.d/preseedrandom#1 branch .. //depot/projects/gdb/gnu/usr.bin/Makefile#3 integrate .. //depot/projects/gdb/gnu/usr.bin/cvs/cvs/Makefile#3 integrate .. //depot/projects/gdb/gnu/usr.bin/groff/src/libs/libgroff/Makefile#3 integrate .. //depot/projects/gdb/gnu/usr.bin/groff/tmac/mdoc.local#3 integrate .. //depot/projects/gdb/kerberos5/include/config.h#2 integrate .. //depot/projects/gdb/kerberos5/include/version.h#2 integrate .. //depot/projects/gdb/kerberos5/usr.bin/krb5-config/Makefile#3 integrate .. //depot/projects/gdb/lib/libarchive/archive_entry.c#7 integrate .. //depot/projects/gdb/lib/libarchive/archive_entry.h#6 integrate .. //depot/projects/gdb/lib/libarchive/archive_platform.h#6 integrate .. //depot/projects/gdb/lib/libarchive/archive_read.c#6 integrate .. //depot/projects/gdb/lib/libarchive/archive_read_open_file.c#5 integrate .. //depot/projects/gdb/lib/libarchive/archive_read_support_format_cpio.c#6 integrate .. //depot/projects/gdb/lib/libarchive/archive_read_support_format_tar.c#8 integrate .. //depot/projects/gdb/lib/libarchive/archive_write.c#6 integrate .. //depot/projects/gdb/lib/libarchive/archive_write_set_format_cpio.c#4 integrate .. //depot/projects/gdb/lib/libarchive/archive_write_set_format_pax.c#8 integrate .. //depot/projects/gdb/lib/libarchive/archive_write_set_format_shar.c#5 integrate .. //depot/projects/gdb/lib/libarchive/archive_write_set_format_ustar.c#5 integrate .. //depot/projects/gdb/lib/libbsnmp/Makefile.inc#4 integrate .. //depot/projects/gdb/lib/libbsnmp/modules/Makefile.inc#3 integrate .. //depot/projects/gdb/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.3#2 integrate .. //depot/projects/gdb/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.c#3 integrate .. //depot/projects/gdb/sbin/dump/dump.8#5 integrate .. //depot/projects/gdb/sbin/dump/dump.h#3 integrate .. //depot/projects/gdb/sbin/dump/main.c#4 integrate .. //depot/projects/gdb/sbin/dump/tape.c#3 integrate .. //depot/projects/gdb/sbin/idmapd/idmapd.c#4 integrate .. //depot/projects/gdb/sbin/ifconfig/ifconfig.c#9 integrate .. //depot/projects/gdb/sbin/natd/natd.c#2 integrate .. //depot/projects/gdb/sbin/restore/extern.h#3 integrate .. //depot/projects/gdb/sbin/restore/main.c#3 integrate .. //depot/projects/gdb/sbin/restore/restore.8#3 integrate .. //depot/projects/gdb/sbin/restore/tape.c#3 integrate .. //depot/projects/gdb/sbin/route/route.c#3 integrate .. //depot/projects/gdb/sbin/routed/if.c#4 integrate .. //depot/projects/gdb/secure/lib/libcrypto/Makefile#3 integrate .. //depot/projects/gdb/share/man/man4/Makefile#7 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/acpi_toshiba.4#3 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/arl.4#2 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/ep.4#2 integrate .. //depot/projects/gdb/share/man/man4/twa.4#1 branch .. //depot/projects/gdb/share/man/man7/hier.7#3 integrate .. //depot/projects/gdb/share/man/man9/uio.9#2 integrate .. //depot/projects/gdb/share/mk/bsd.obj.mk#2 integrate .. //depot/projects/gdb/sys/boot/forth/loader.conf#4 integrate .. //depot/projects/gdb/sys/compat/freebsd32/freebsd32.h#2 integrate .. //depot/projects/gdb/sys/compat/freebsd32/freebsd32_misc.c#4 integrate .. //depot/projects/gdb/sys/compat/freebsd32/freebsd32_proto.h#6 integrate .. //depot/projects/gdb/sys/compat/freebsd32/freebsd32_syscall.h#6 integrate .. //depot/projects/gdb/sys/compat/freebsd32/freebsd32_syscalls.c#6 integrate .. //depot/projects/gdb/sys/compat/freebsd32/freebsd32_sysent.c#6 integrate .. //depot/projects/gdb/sys/compat/freebsd32/syscalls.master#5 integrate .. //depot/projects/gdb/sys/compat/ia32/ia32_signal.h#3 integrate .. //depot/projects/gdb/sys/compat/ndis/hal_var.h#3 integrate .. //depot/projects/gdb/sys/compat/ndis/kern_ndis.c#11 integrate .. //depot/projects/gdb/sys/compat/ndis/ndis_var.h#6 integrate .. //depot/projects/gdb/sys/compat/ndis/ntoskrnl_var.h#7 integrate .. //depot/projects/gdb/sys/compat/ndis/pe_var.h#3 integrate .. //depot/projects/gdb/sys/compat/ndis/subr_hal.c#3 integrate .. //depot/projects/gdb/sys/compat/ndis/subr_ndis.c#9 integrate .. //depot/projects/gdb/sys/compat/ndis/subr_ntoskrnl.c#10 integrate .. //depot/projects/gdb/sys/conf/files#16 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/CHANGES.txt#4 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/acconfig.h#4 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/acdisasm.h#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/acglobal.h#4 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/achware.h#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/acinterp.h#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/aclocal.h#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/acpica_prep.sh#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/actypes.h#4 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/acutils.h#4 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/common/adisasm.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/compiler/aslload.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/dbexec.c#4 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/dmopcode.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/dmutils.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/dmwalk.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/dsmthdat.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/dswload.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/evgpe.c#4 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/evgpeblk.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/evmisc.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/evxfevnt.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/excreate.c#4 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/exdump.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/exfldio.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/exresnte.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/exstore.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/exstoren.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/hwgpe.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/hwregs.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/hwsleep.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/nsaccess.c#4 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/nsdump.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/nseval.c#4 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/nssearch.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/nsutils.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/nsxfeval.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/rsaddr.c#3 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/uteval.c#4 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/utglobal.c#4 integrate .. //depot/projects/gdb/sys/contrib/dev/acpica/utmisc.c#3 integrate .. //depot/projects/gdb/sys/contrib/pf/net/if_pflog.c#4 integrate .. //depot/projects/gdb/sys/contrib/pf/net/if_pfsync.c#4 integrate .. //depot/projects/gdb/sys/dev/aac/aac.c#4 integrate .. //depot/projects/gdb/sys/dev/acpica/Osd/OsdDebug.c#3 integrate .. //depot/projects/gdb/sys/dev/acpica/Osd/OsdHardware.c#3 integrate .. //depot/projects/gdb/sys/dev/acpica/Osd/OsdInterrupt.c#3 integrate .. //depot/projects/gdb/sys/dev/acpica/Osd/OsdMemory.c#2 integrate .. //depot/projects/gdb/sys/dev/acpica/Osd/OsdSchedule.c#2 integrate .. //depot/projects/gdb/sys/dev/acpica/Osd/OsdStream.c#2 integrate .. //depot/projects/gdb/sys/dev/acpica/Osd/OsdSynch.c#2 integrate .. //depot/projects/gdb/sys/dev/acpica/acpi.c#11 integrate .. //depot/projects/gdb/sys/dev/acpica/acpi_ec.c#5 integrate .. //depot/projects/gdb/sys/dev/acpica/acpi_pci.c#6 integrate .. //depot/projects/gdb/sys/dev/acpica/acpi_pci_link.c#3 integrate .. //depot/projects/gdb/sys/dev/acpica/acpi_powerres.c#5 integrate .. //depot/projects/gdb/sys/dev/acpica/acpivar.h#8 integrate .. //depot/projects/gdb/sys/dev/arl/if_arl.c#2 integrate .. //depot/projects/gdb/sys/dev/arl/if_arl_isa.c#2 integrate .. //depot/projects/gdb/sys/dev/arl/if_arlreg.h#2 integrate .. //depot/projects/gdb/sys/dev/ata/ata-all.c#5 integrate .. //depot/projects/gdb/sys/dev/ata/ata-all.h#5 integrate .. //depot/projects/gdb/sys/dev/ata/ata-card.c#2 integrate .. //depot/projects/gdb/sys/dev/ata/ata-cbus.c#3 integrate .. //depot/projects/gdb/sys/dev/ata/ata-chipset.c#5 integrate .. //depot/projects/gdb/sys/dev/ata/ata-disk.c#4 integrate .. //depot/projects/gdb/sys/dev/ata/ata-dma.c#2 integrate .. //depot/projects/gdb/sys/dev/ata/ata-isa.c#2 integrate .. //depot/projects/gdb/sys/dev/ata/ata-lowlevel.c#5 integrate .. //depot/projects/gdb/sys/dev/ata/ata-pci.c#4 integrate .. //depot/projects/gdb/sys/dev/ata/ata-pci.h#5 integrate .. //depot/projects/gdb/sys/dev/ata/ata-queue.c#5 integrate .. //depot/projects/gdb/sys/dev/ciss/ciss.c#5 integrate .. //depot/projects/gdb/sys/dev/cs/if_cs.c#3 integrate .. //depot/projects/gdb/sys/dev/ed/if_ed.c#4 integrate .. //depot/projects/gdb/sys/dev/ex/if_ex.c#3 integrate .. //depot/projects/gdb/sys/dev/fe/if_fe.c#3 integrate .. //depot/projects/gdb/sys/dev/if_ndis/if_ndis.c#10 integrate .. //depot/projects/gdb/sys/dev/if_ndis/if_ndisvar.h#4 integrate .. //depot/projects/gdb/sys/dev/lnc/if_lnc.c#4 integrate .. //depot/projects/gdb/sys/dev/pccbb/pccbb.c#6 integrate .. //depot/projects/gdb/sys/dev/pci/pci.c#4 integrate .. //depot/projects/gdb/sys/dev/sbni/if_sbni.c#3 integrate .. //depot/projects/gdb/sys/dev/sn/if_sn.c#3 integrate .. //depot/projects/gdb/sys/dev/sound/isa/ad1816.c#4 integrate .. //depot/projects/gdb/sys/dev/sound/isa/ess.c#4 integrate .. //depot/projects/gdb/sys/dev/sound/isa/mss.c#3 integrate .. //depot/projects/gdb/sys/dev/sound/isa/sb16.c#4 integrate .. //depot/projects/gdb/sys/dev/sound/isa/sb8.c#4 integrate .. //depot/projects/gdb/sys/dev/sound/isa/sbc.c#3 integrate .. //depot/projects/gdb/sys/dev/sound/pci/cmi.c#4 integrate .. //depot/projects/gdb/sys/dev/sound/pci/csa.c#3 integrate .. //depot/projects/gdb/sys/dev/sound/pci/csapcm.c#4 integrate .. //depot/projects/gdb/sys/dev/sound/pci/ds1.c#4 integrate .. //depot/projects/gdb/sys/dev/sound/pci/emu10k1.c#4 integrate .. //depot/projects/gdb/sys/dev/sound/pci/ich.c#5 integrate .. //depot/projects/gdb/sys/dev/sound/pci/t4dwave.c#4 integrate .. //depot/projects/gdb/sys/dev/sound/pcm/sound.h#4 integrate .. //depot/projects/gdb/sys/dev/sx/sx_pci.c#2 integrate .. //depot/projects/gdb/sys/dev/wl/if_wl.c#3 integrate .. //depot/projects/gdb/sys/dev/xe/if_xe.c#3 integrate .. //depot/projects/gdb/sys/i386/acpica/Makefile#2 integrate .. //depot/projects/gdb/sys/i386/acpica/acpi_toshiba.c#4 integrate .. //depot/projects/gdb/sys/i386/conf/GENERIC#5 integrate .. //depot/projects/gdb/sys/i386/conf/NOTES#8 integrate .. //depot/projects/gdb/sys/kern/kern_poll.c#3 integrate .. //depot/projects/gdb/sys/net/if_faith.c#4 integrate .. //depot/projects/gdb/sys/net/if_gif.c#4 integrate .. //depot/projects/gdb/sys/net/if_loop.c#4 integrate .. //depot/projects/gdb/sys/net/if_media.h#3 integrate .. //depot/projects/gdb/sys/net/if_ppp.c#3 integrate .. //depot/projects/gdb/sys/net/if_stf.c#4 integrate .. //depot/projects/gdb/sys/net/if_var.h#8 integrate .. //depot/projects/gdb/sys/net/route.c#4 integrate .. //depot/projects/gdb/sys/net/route.h#4 integrate .. //depot/projects/gdb/sys/net/rtsock.c#4 integrate .. //depot/projects/gdb/sys/netinet/in_gif.c#2 integrate .. //depot/projects/gdb/sys/netinet/ip_output.c#6 integrate .. //depot/projects/gdb/sys/nfsclient/nfs_bio.c#5 integrate .. //depot/projects/gdb/sys/nfsclient/nfs_subs.c#6 integrate .. //depot/projects/gdb/sys/nfsclient/nfsnode.h#3 integrate .. //depot/projects/gdb/sys/pc98/conf/NOTES#9 integrate .. //depot/projects/gdb/sys/pci/if_xl.c#3 integrate .. //depot/projects/gdb/sys/sys/param.h#11 integrate .. //depot/projects/gdb/tools/make_libdeps.sh#2 integrate .. //depot/projects/gdb/usr.bin/netstat/route.c#2 integrate .. //depot/projects/gdb/usr.bin/systat/pigs.c#2 integrate .. //depot/projects/gdb/usr.bin/tar/bsdtar.1#3 integrate .. //depot/projects/gdb/usr.bin/tar/bsdtar.c#4 integrate .. //depot/projects/gdb/usr.bin/tar/bsdtar.h#3 integrate .. //depot/projects/gdb/usr.bin/tar/util.c#2 integrate .. //depot/projects/gdb/usr.bin/tar/write.c#4 integrate .. //depot/projects/gdb/usr.bin/w/proc_compare.c#2 integrate .. //depot/projects/gdb/usr.sbin/IPXrouted/startup.c#2 integrate .. //depot/projects/gdb/usr.sbin/arlconfig/arlconfig.8#2 integrate .. //depot/projects/gdb/usr.sbin/arlconfig/arlconfig.c#2 integrate .. //depot/projects/gdb/usr.sbin/arp/Makefile#3 integrate .. //depot/projects/gdb/usr.sbin/arp/arp.c#3 integrate .. //depot/projects/gdb/usr.sbin/bsnmpd/bsnmpd/Makefile#4 integrate .. //depot/projects/gdb/usr.sbin/rwhod/rwhod.c#2 integrate Differences ... ==== //depot/projects/gdb/Makefile#5 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile,v 1.298 2004/03/24 08:26:22 ru Exp $ +# $FreeBSD: src/Makefile,v 1.299 2004/04/13 13:42:01 des Exp $ # # The user-driven targets are: # @@ -66,7 +66,7 @@ cleandepend cleandir depend distribute distributeworld everything \ hierarchy install installcheck installkernel installkernel.debug\ reinstallkernel reinstallkernel.debug installworld \ - libraries lint maninstall \ + kernel-toolchain libraries lint maninstall \ obj objlink regress rerelease tags toolchain update \ _worldtmp _legacy _bootstrap-tools _cleanobj _obj \ _build-tools _cross-tools _includes _libraries _depend ==== //depot/projects/gdb/Makefile.inc1#7 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.421 2004/03/24 08:26:22 ru Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.423 2004/04/14 16:06:17 harti Exp $ # # Make command line options: # -DNO_DYNAMICROOT do not link /bin and /sbin dynamically @@ -258,7 +258,7 @@ .for _dir in \ lib usr/bin usr/include usr/lib/compat/aout usr/libdata/ldscripts \ usr/libexec usr/sbin usr/share/misc \ - usr/share/bsnmp/defs usr/share/bsnmp/mibs + usr/share/snmp/defs usr/share/snmp/mibs mkdir -p ${WORLDTMP}/${_dir} .endfor mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ @@ -343,7 +343,9 @@ buildworld: ${WMAKE_TGTS} .ORDER: ${WMAKE_TGTS} -toolchain: ${WMAKE_TGTS:N_depend:Neverything} +TOOLCHAIN_TGTS= ${WMAKE_TGTS:N_depend:Neverything} +toolchain: ${TOOLCHAIN_TGTS} +kernel-toolchain: ${TOOLCHAIN_TGTS:N_includes:N_libraries} # # Use this to add checks to installworld/installkernel targets. ==== //depot/projects/gdb/UPDATING#9 (text+ko) ==== @@ -17,6 +17,20 @@ developers choose to disable these features on build machines to maximize performance. +20040414: + The PCI bus power state stuff has been turned on. If this causes + problems for your system, please disable it using the tunable + hw.pci.do_powerstate=0. + +20040412: + The bulk of the pci problems have been fixed, although the floppy + drive is still broken. + +20040410: + A substantial update to the pci bus resource and power management + have been committed. Expect a bumpy ride for a few days until + the unanticipated problems have been resolved. + 20040322: The debug.mpsafenet tunable controls whether the kernel Giant lock is held across the lower levels of the network stack, and @@ -1563,4 +1577,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.302 2004/04/11 03:30:09 kensmith Exp $ +$FreeBSD: src/UPDATING,v 1.303 2004/04/14 17:54:18 imp Exp $ ==== //depot/projects/gdb/bin/sh/sh.1#3 (text+ko) ==== @@ -29,7 +29,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 -.\" $FreeBSD: src/bin/sh/sh.1,v 1.89 2004/04/06 20:06:51 markm Exp $ +.\" $FreeBSD: src/bin/sh/sh.1,v 1.90 2004/04/14 15:58:50 green Exp $ .\" .Dd April 12, 2003 .Dt SH 1 @@ -871,7 +871,8 @@ .Op Ar exitstatus .Ed .Pp -It terminates the currently executing function. +It terminates the current executional scope, returning from the previous +nested function, sourced script, or shell instance, in that order. The .Ic return command is implemented as a built-in command. @@ -1249,6 +1250,11 @@ A null command that returns a 0 (true) exit value. .It Ic \&. Ar file The commands in the specified file are read and executed by the shell. +The +.Ic return +command may be used to return to the +.Ic \&. +command's caller. If .Ar file contains any ==== //depot/projects/gdb/contrib/bsnmp/NEWS#3 (text+ko) ==== @@ -1,3 +1,36 @@ +1.6 + New gensnmpdef tool. Needs libsmi. + + Make build infrastructure more intelligent. + + Fix a typo in the mibII counter retrival code. + + Add a new field to struct snmp_node for snmp agents: tree_data. + This field can be used by the application. + + Fix a syntax error in the example configuration file (thanks to + David J Duchscher). + + Fix a long standing problem with the module loading code + and a memory leak. When a module could not be loaded usually + a core dump was generated. This was caused by wrong handling + of malloced memory in the module table dependency. While + fixing this problem it became obvious that dynamic allocated + data which was held in a dependency could be lost, because + there was no guarantee that the dependency handler ever was + call (in case of an error in a SET handler or an earlier + dependency in the same PDU) thus causing this memory to leak. + To fix this a third dependency operation is introduced + SNMP_DEPOP_FINISH which is invoked just before a dependency + is freed at the very end of the SET PDU handling. This + means also that finalizers (set_atfinish) can be converted + to DEPOP_FINISH handler in almost all cases. The only case + where this is not so easy is when a finializer was registered + for a simple SET operation. In this case an artifical dependency + would be needed. Because this seems to occure very seldom the + snmp_set_atfinish() call is removed. Thanks to Paul-Henning Kamp + for an initial fix for the core dump. + 09-Dec-2003 First step on factoring out the transport mapping stuff into loadable modules. ==== //depot/projects/gdb/contrib/bsnmp/VERSION#3 (text+ko) ==== @@ -1,1 +1,1 @@ -1.5a +1.6 ==== //depot/projects/gdb/contrib/bsnmp/gensnmptree/gensnmptree.c#3 (text+ko) ==== @@ -30,7 +30,7 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Begemot: bsnmp/gensnmptree/gensnmptree.c,v 1.36 2003/12/03 09:56:57 hbb Exp $ + * $Begemot: bsnmp/gensnmptree/gensnmptree.c,v 1.37 2004/04/13 15:18:15 novo Exp $ * * Generate OID table from table description. * @@ -522,7 +522,7 @@ fprintf(fp, "0"); if (np->flags & FL_SET) fprintf(fp, "|SNMP_NODE_CANSET"); - fprintf(fp, ", %#x, NULL },\n", idx); + fprintf(fp, ", %#x, NULL, NULL },\n", idx); oid->len--; return; } ==== //depot/projects/gdb/contrib/bsnmp/lib/asn1.3#3 (text+ko) ==== @@ -30,7 +30,7 @@ .\" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Begemot: bsnmp/lib/asn1.3,v 1.3 2003/12/02 15:45:48 hbb Exp $ +.\" $Begemot: bsnmp/lib/asn1.3,v 1.4 2004/04/13 17:01:31 novo Exp $ .\" .Dd August 15, 2002 .Dt asn1 3 @@ -481,4 +481,4 @@ This implementation conforms to the applicable IETF RFCs and ITU-T recommendations. .Sh AUTHORS -.An Hartmut Brandt Aq brandt@fokus.gmd.de +.An Hartmut Brandt Aq harti@freebsd.org ==== //depot/projects/gdb/contrib/bsnmp/lib/bsnmpagent.3#3 (text+ko) ==== @@ -30,14 +30,14 @@ .\" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Begemot: bsnmp/lib/bsnmpagent.3,v 1.2 2003/12/02 16:13:45 hbb Exp $ +.\" $Begemot: bsnmp/lib/bsnmpagent.3,v 1.5 2004/04/13 17:01:31 novo Exp $ .\" .Dd August 16, 2002 .Dt bsnmpagent 3 .Os .Sh NAME +.Nm bsnmpagent .Nm snmp_depop_t , -.Nm snmp_set_finish_t , .Nm snmp_op_t , .Nm tree , .Nm tree_size , @@ -49,10 +49,10 @@ .Nm snmp_set , .Nm snmp_make_errresp , .Nm snmp_dep_lookup , -.Nm snmp_set_atfinish , .Nm snmp_init_context , .Nm snmp_dep_commit , -.Nm snmp_dep_rollback +.Nm snmp_dep_rollback , +.Nm snmp_dep_finish .Nd "SNMP agent library" .Sh LIBRARY Begemot SNMP library @@ -63,8 +63,6 @@ .In snmpagent.h .Ft typedef int .Fn (*snmp_depop_t) "struct snmp_context *ctx" "struct snmp_dependency *dep" "enum snmp_depop op" -.Ft typedef void -.Fn (*snmp_set_finish_t) "struct snmp_context *ctx" "int fail" "void *uarg" .Ft typedef int .Fn (*snmp_op_t) "struct snmp_context *ctx" "struct snmp_value *val" "u_int len" "u_int idx" "enum snmp_op op" .Vt extern struct snmp_node *tree ; @@ -83,14 +81,14 @@ .Fn snmp_make_errresp "const struct snmp_pdu *pdu" "struct asn_buf *req_b" "struct asn_buf *resp_b" .Ft struct snmp_dependency * .Fn snmp_dep_lookup "struct snmp_context *ctx" "const struct asn_oid *base" "const struct asn_oid *idx" "size_t alloc" "snmp_depop_t func" -.Ft int -.Fn snmp_set_atfinish "struct snmp_context *ctx" "snmp_set_finish_t func" "void *uarg" .Ft struct snmp_context * .Fn snmp_init_context "void" .Ft int .Fn snmp_dep_commit "struct snmp_context *ctx" .Ft int .Fn snmp_dep_rollback "struct snmp_context *ctx" +.Ft void +.Fn snmp_dep_finish "struct snmp_context *ctx" .Sh DESCRIPTION The SNMP library contains routines to easily build SNMP agent applications that use SNMP versions 1 or 2. Note, however, that it may be even easier to @@ -121,6 +119,7 @@ u_int flags; u_int32_t index; /* index data */ void *data; /* application data */ + void *tree_data; /* application data */ }; .Ed .Pp @@ -233,6 +232,7 @@ struct snmp_scratch *scratch; struct snmp_dependency *dep; void *data; /* user data */ + enum snmp_ret code; /* return code */ }; struct snmp_scratch { @@ -334,7 +334,10 @@ .Fn snmp_error ). .It Now the dependencies are freed and the finalizers are called -with a fail flag of 0. Then the function returns +with a fail flag of 0. For each dependency just before freeing it +its callback is called with +.Li SNMP_DEPOP_FINISH. +Then the function returns .Li SNMP_ERR_OK . .El .Pp @@ -362,20 +365,12 @@ At this stage the dependency callback has all information about the given table row that was available in this SET PDU and can operate accordingly. .Pp -If a SNMP_OP_SET operation fails, the dependency callbacks are never -called. The nodes SNMP_OP_ROLLBACK operations have to ensure, that -any dynamically allocated data is freed. +It is guaranteed that each dependency callback is executed at minimum once +- with an operation of +.Li SNMP_OP_ROLLBACK . +This ensures that all dynamically allocated resources in a callback can be +freed correctly. .Pp -Finalizers are a -.Sq last change -to do processing. -They are called after everything has been done, just before returning to the -user. They get a flag, that tells them, whether the return to the user is a good -one or not. The typical use is to finally remove deleted table elements. -Finalizers are created with -.Fn snmp_set_atfinish -which takes the callback function and a user data pointer as argument. -.Pp The function .Fn snmp_make_errresp makes an error response if an operation has failed. It takes the original @@ -385,7 +380,7 @@ PDU and thus does not depend on the decodability of this field. It may return the same values as the operation functions. .Pp -The next three functions allow some parts of the SET operation to be executed. +The next four functions allow some parts of the SET operation to be executed. This is only used in .Xr snmpd 1 to implement the configuration as a single transaction. @@ -400,6 +395,9 @@ .Fn snmp_dep_rollback executes SNMP_DEPOP_ROLLBACK starting at the previous of the current dependency in the context. +The function +.Fn snmp_dep_finish +executes SNMP_DEPOP_FINISH for all dependencies. .Sh DIAGNOSTICS If an error occures in any of the function an error indication as described above is returned. Additionally the functions may call snmp_error on unexected @@ -414,4 +412,4 @@ This implementation conforms to the applicable IETF RFCs and ITU-T recommendations. .Sh AUTHORS -.An Hartmut Brandt Aq brandt@fokus.gmd.de +.An Hartmut Brandt Aq harti@freebsd.org ==== //depot/projects/gdb/contrib/bsnmp/lib/bsnmpclient.3#3 (text+ko) ==== @@ -30,7 +30,7 @@ .\" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Begemot: bsnmp/lib/bsnmpclient.3,v 1.5 2003/12/08 17:11:58 hbb Exp $ +.\" $Begemot: bsnmp/lib/bsnmpclient.3,v 1.6 2004/04/13 17:01:31 novo Exp $ .\" .Dd August 15, 2002 .Dt bsnmpclient 3 @@ -592,5 +592,5 @@ This implementation conforms to the applicable IETF RFCs and ITU-T recommendations. .Sh AUTHORS -.An Hartmut Brandt Aq brandt@fokus.gmd.de +.An Hartmut Brandt Aq harti@freebsd.org .An Kendy Kutzner Aq kutzner@fokus.gmd.de ==== //depot/projects/gdb/contrib/bsnmp/lib/bsnmplib.3#3 (text+ko) ==== @@ -30,7 +30,7 @@ .\" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Begemot: bsnmp/lib/bsnmplib.3,v 1.3 2003/12/02 16:14:28 hbb Exp $ +.\" $Begemot: bsnmp/lib/bsnmplib.3,v 1.4 2004/04/13 17:01:31 novo Exp $ .\" .Dd August 15, 2002 .Dt bsnmplib 3 @@ -303,4 +303,4 @@ This implementation conforms to the applicable IETF RFCs and ITU-T recommendations. .Sh AUTHORS -.An Hartmut Brandt Aq brandt@fokus.gmd.de +.An Hartmut Brandt Aq harti@freebsd.org ==== //depot/projects/gdb/contrib/bsnmp/lib/snmpagent.c#3 (text+ko) ==== @@ -30,7 +30,7 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Begemot: bsnmp/lib/snmpagent.c,v 1.16 2003/12/03 09:55:58 hbb Exp $ + * $Begemot: bsnmp/lib/snmpagent.c,v 1.17 2004/04/13 14:58:46 novo Exp $ * * SNMP Agent functions */ @@ -69,22 +69,11 @@ TAILQ_HEAD(depend_list, depend); /* - * Structure to hold atfinish functions during SET processing. - */ -struct finish { - STAILQ_ENTRY(finish) link; - snmp_set_finish_t func; - void *arg; -}; -STAILQ_HEAD(finish_list, finish); - -/* * Set context */ struct context { struct snmp_context ctx; struct depend_list dlist; - struct finish_list flist; const struct snmp_node *node[SNMP_MAX_BINDINGS]; struct snmp_scratch scratch[SNMP_MAX_BINDINGS]; struct depend *depend; @@ -108,7 +97,6 @@ memset(context, 0, sizeof(*context)); TAILQ_INIT(&context->dlist); - STAILQ_INIT(&context->flist); return (&context->ctx); } @@ -621,6 +609,20 @@ return (ret1); } +void +snmp_dep_finish(struct snmp_context *ctx) +{ + struct context *context = (struct context *)ctx; + struct depend *d; + + while ((d = TAILQ_FIRST(&context->dlist)) != NULL) { + ctx->dep = &d->dep; + (void)d->func(ctx, ctx->dep, SNMP_DEPOP_FINISH); + TAILQ_REMOVE(&context->dlist, d, link); + free(d); + } +} + /* * Do a SET operation. */ @@ -630,18 +632,14 @@ { int ret; u_int i; - enum snmp_ret code; enum asn_err asnerr; struct context context; const struct snmp_node *np; - struct finish *f; - struct depend *d; struct snmp_value *b; enum snmp_syntax except; memset(&context, 0, sizeof(context)); TAILQ_INIT(&context.dlist); - STAILQ_INIT(&context.flist); context.ctx.data = data; memset(resp, 0, sizeof(*resp)); @@ -739,7 +737,7 @@ resp->nbindings++; } - code = SNMP_RET_OK; + context.ctx.code = SNMP_RET_OK; /* * 2. Call the SET method for each node. If a SET fails, rollback @@ -811,7 +809,7 @@ rollback(&context, pdu, i); snmp_pdu_free(resp); - code = SNMP_RET_ERR; + context.ctx.code = SNMP_RET_ERR; goto errout; } @@ -836,7 +834,7 @@ rollback(&context, pdu, i); snmp_pdu_free(resp); - code = SNMP_RET_ERR; + context.ctx.code = SNMP_RET_ERR; goto errout; } @@ -868,31 +866,19 @@ if (snmp_fix_encoding(resp_b, resp) != SNMP_CODE_OK) { snmp_error("set: fix_encoding failed"); snmp_pdu_free(resp); - code = SNMP_RET_IGN; + context.ctx.code = SNMP_RET_IGN; } /* * Done */ errout: - while ((d = TAILQ_FIRST(&context.dlist)) != NULL) { - TAILQ_REMOVE(&context.dlist, d, link); - free(d); - } - - /* - * call finish function - */ - while ((f = STAILQ_FIRST(&context.flist)) != NULL) { - STAILQ_REMOVE_HEAD(&context.flist, link); - (*f->func)(&context.ctx, code != SNMP_RET_OK, f->arg); - free(f); - } + snmp_dep_finish(&context.ctx); if (TR(SET)) - snmp_debug("set: returning %d", code); + snmp_debug("set: returning %d", context.ctx.code); - return (code); + return (context.ctx.code); } /* * Lookup a dependency. If it doesn't exist, create one @@ -941,26 +927,6 @@ } /* - * Register a finish function. - */ -int -snmp_set_atfinish(struct snmp_context *ctx, snmp_set_finish_t func, void *arg) -{ - struct context *context; - struct finish *f; - - context = (struct context *)(void *) - ((char *)ctx - offsetof(struct context, ctx)); - if ((f = malloc(sizeof(struct finish))) == NULL) - return (-1); - f->func = func; - f->arg = arg; - STAILQ_INSERT_TAIL(&context->flist, f, link); - - return (0); -} - -/* * Make an error response from a PDU. We do this without decoding the * variable bindings. This means we can sent the junk back to a caller * that has sent us junk in the first place. ==== //depot/projects/gdb/contrib/bsnmp/lib/snmpagent.h#3 (text+ko) ==== @@ -30,7 +30,7 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Begemot: bsnmp/lib/snmpagent.h,v 1.10 2003/12/03 09:55:58 hbb Exp $ + * $Begemot: bsnmp/lib/snmpagent.h,v 1.12 2004/04/13 15:18:15 novo Exp $ * * Header file for SNMP functions. This requires snmp.h to be included. */ @@ -39,12 +39,22 @@ struct snmp_dependency; +enum snmp_ret { + /* OK, generate a response */ + SNMP_RET_OK = 0, + /* Error, ignore packet (no response) */ + SNMP_RET_IGN = 1, + /* Error, generate response from original packet */ + SNMP_RET_ERR = 2 +}; + /* Semi-Opaque object for SET operations */ struct snmp_context { u_int var_index; struct snmp_scratch *scratch; struct snmp_dependency *dep; void *data; /* user data */ + enum snmp_ret code; /* return code */ }; struct snmp_scratch { @@ -56,7 +66,8 @@ enum snmp_depop { SNMP_DEPOP_COMMIT, - SNMP_DEPOP_ROLLBACK + SNMP_DEPOP_ROLLBACK, + SNMP_DEPOP_FINISH }; typedef int (*snmp_depop_t)(struct snmp_context *, struct snmp_dependency *, @@ -68,11 +79,6 @@ }; /* - * Functions to be called at the end of a SET operation. - */ -typedef void (*snmp_set_finish_t)(struct snmp_context *, int fail, void *); - -/* * The TREE */ enum snmp_node_type { @@ -88,15 +94,6 @@ SNMP_OP_ROLLBACK, }; -enum snmp_ret { - /* OK, generate a response */ - SNMP_RET_OK = 0, - /* Error, ignore packet (no response) */ - SNMP_RET_IGN = 1, - /* Error, generate response from original packet */ - SNMP_RET_ERR = 2 -}; - typedef int (*snmp_op_t)(struct snmp_context *, struct snmp_value *, u_int, u_int, enum snmp_op); @@ -109,6 +106,7 @@ u_int flags; u_int32_t index; /* index data */ void *data; /* application data */ >>> TRUNCATED FOR MAIL (1000 lines) <<<