From owner-p4-projects@FreeBSD.ORG Sun Aug 28 13:41:26 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 12B6E16A421; Sun, 28 Aug 2005 13:41:26 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 DD95716A41F for ; Sun, 28 Aug 2005 13:41:25 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A6B2643D46 for ; Sun, 28 Aug 2005 13:41:25 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7SDfPcC010521 for ; Sun, 28 Aug 2005 13:41:25 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7SDfPOn010518 for perforce@freebsd.org; Sun, 28 Aug 2005 13:41:25 GMT (envelope-from soc-victor@freebsd.org) Date: Sun, 28 Aug 2005 13:41:25 GMT Message-Id: <200508281341.j7SDfPOn010518@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 82711 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Aug 2005 13:41:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=82711 Change 82711 by soc-victor@soc-victor_82.76.158.176 on 2005/08/28 13:41:23 Rename/Move: //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp46/INET-ADDRESS-MIB.txt To: //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_upd46/INET-ADDRESS-MIB.txt Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp46/INET-ADDRESS-MIB.txt#2 delete .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp46/Makefile#6 delete .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp46/TCP-MIB.txt#2 delete .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp46/tcp46_snmp.c#9 delete .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp46/tcp46_tree.def#2 delete .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_upd46/INET-ADDRESS-MIB.txt#1 branch .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_upd46/Makefile#1 branch .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_upd46/TCP-MIB.txt#1 branch .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_upd46/tcp46_snmp.c#1 branch .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_upd46/tcp46_tree.def#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Sun Aug 28 13:44:30 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2C97516A421; Sun, 28 Aug 2005 13:44:30 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 0767216A41F for ; Sun, 28 Aug 2005 13:44:30 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C512843D46 for ; Sun, 28 Aug 2005 13:44:29 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7SDiTjO010737 for ; Sun, 28 Aug 2005 13:44:29 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7SDiTQN010734 for perforce@freebsd.org; Sun, 28 Aug 2005 13:44:29 GMT (envelope-from soc-victor@freebsd.org) Date: Sun, 28 Aug 2005 13:44:29 GMT Message-Id: <200508281344.j7SDiTQN010734@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 82712 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Aug 2005 13:44:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=82712 Change 82712 by soc-victor@soc-victor_82.76.158.176 on 2005/08/28 13:43:38 Rename/Move: //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_upd46/INET-ADDRESS-MIB.txt To: //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/INET-ADDRESS-MIB.txt Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/INET-ADDRESS-MIB.txt#1 branch .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/Makefile#1 branch .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/TCP-MIB.txt#1 branch .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp46_snmp.c#1 branch .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp46_tree.def#1 branch .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_upd46/INET-ADDRESS-MIB.txt#2 delete .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_upd46/Makefile#2 delete .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_upd46/TCP-MIB.txt#2 delete .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_upd46/tcp46_snmp.c#2 delete .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_upd46/tcp46_tree.def#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Sun Aug 28 13:51:39 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 68C7416A421; Sun, 28 Aug 2005 13:51:39 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 2CEAA16A41F for ; Sun, 28 Aug 2005 13:51:39 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D7B2A43D48 for ; Sun, 28 Aug 2005 13:51:38 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7SDpcOl011086 for ; Sun, 28 Aug 2005 13:51:38 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7SDpcQ4011083 for perforce@freebsd.org; Sun, 28 Aug 2005 13:51:38 GMT (envelope-from soc-victor@freebsd.org) Date: Sun, 28 Aug 2005 13:51:38 GMT Message-Id: <200508281351.j7SDpcQ4011083@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 82713 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Aug 2005 13:51:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=82713 Change 82713 by soc-victor@soc-victor_82.76.158.176 on 2005/08/28 13:51:01 Changed the makefile after the "directory rename" Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/Makefile#5 edit Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/Makefile#5 (text+ko) ==== @@ -11,7 +11,7 @@ snmp_mibII \ snmp_netgraph \ snmp_pf \ - snmp_tcp46 + snmp_tcp_udp46 INCS= snmpmod.h INCSDIR= ${INCLUDEDIR}/bsnmp From owner-p4-projects@FreeBSD.ORG Sun Aug 28 15:01:04 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1604816A421; Sun, 28 Aug 2005 15:01:04 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 C719C16A41F for ; Sun, 28 Aug 2005 15:01:03 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 911FE43D46 for ; Sun, 28 Aug 2005 15:01:03 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7SF13t9013888 for ; Sun, 28 Aug 2005 15:01:03 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7SF13uW013883 for perforce@freebsd.org; Sun, 28 Aug 2005 15:01:03 GMT (envelope-from soc-victor@freebsd.org) Date: Sun, 28 Aug 2005 15:01:03 GMT Message-Id: <200508281501.j7SF13uW013883@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 82715 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Aug 2005 15:01:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=82715 Change 82715 by soc-victor@soc-victor_82.76.158.176 on 2005/08/28 15:00:11 Preparations for adding UDP-MIB under the same BSNMP module Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/Makefile#2 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/UDP-MIB.txt#1 add .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp46_snmp.c#2 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp46_tree.def#2 delete .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46_tree.def#1 branch Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/Makefile#2 (text+ko) ==== @@ -28,7 +28,7 @@ CONTRIB=${.CURDIR}/../../../../contrib/bsnmp -MOD= tcp46 +MOD= tcp_udp46 SRCS= tcp46_snmp.c ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp46_snmp.c#2 (text+ko) ==== @@ -88,8 +88,8 @@ #include "asn1.h" #include "snmp.h" #include "snmpmod.h" -#include "tcp46_oid.h" -#include "tcp46_tree.h" +#include "tcp_udp46_oid.h" +#include "tcp_udp46_tree.h" #include #include #include @@ -360,8 +360,8 @@ tcp46_config_v, tcp46_start_v, NULL, /* proxy a PDU */ - tcp46_ctree, /* see the generated tcp46_tree.h */ - tcp46_CTREE_SIZE, /* see the generated tcp46_tree.h */ + tcp_udp46_ctree, /* see the generated tcp46_tree.h */ + tcp_udp46_CTREE_SIZE, /* see the generated tcp46_tree.h */ tcp46_loading_v }; From owner-p4-projects@FreeBSD.ORG Sun Aug 28 17:52:16 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C40B616A439; Sun, 28 Aug 2005 17:51:35 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 4146816A59A for ; Sun, 28 Aug 2005 17:51:04 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7A2EA43D8B for ; Sun, 28 Aug 2005 17:17:49 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7SHHnhg027249 for ; Sun, 28 Aug 2005 17:17:49 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7SHHn5k027246 for perforce@freebsd.org; Sun, 28 Aug 2005 17:17:49 GMT (envelope-from soc-victor@freebsd.org) Date: Sun, 28 Aug 2005 17:17:49 GMT Message-Id: <200508281717.j7SHHn5k027246@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 82719 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Aug 2005 17:52:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=82719 Change 82719 by soc-victor@soc-victor_82.76.158.176 on 2005/08/28 17:17:29 Finished the preparations for implementing RFC 4113 (combined v4 & v6 UDP-MIB): - deactivated the old code for RFC 2013 (v4 only UDP-MIB, obsoleted by RFC 4113) - added the boilerplate code for the new UDP-MIB. Affected files ... .. //depot/projects/soc2005/bsnmp/contrib/bsnmp/snmp_mibII/mibII.c#5 edit .. //depot/projects/soc2005/bsnmp/contrib/bsnmp/snmp_mibII/mibII_tree.def#4 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_mibII/Makefile#3 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/Makefile#3 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp46_snmp.c#3 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46.h#1 add .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46_common.c#1 add .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46_tree.def#2 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/udp46_snmp.c#1 add Differences ... ==== //depot/projects/soc2005/bsnmp/contrib/bsnmp/snmp_mibII/mibII.c#5 (text+ko) ==== @@ -58,7 +58,10 @@ static u_int ifmib_reg; static u_int ipmib_reg; +#if 0 static u_int udpmib_reg; +#endif /*0*/ + static u_int ipForward_reg; /*****************************/ @@ -112,7 +115,9 @@ static const struct asn_oid oid_ifMIB = OIDX_ifMIB; static const struct asn_oid oid_ipMIB = OIDX_ipMIB; +#if 0 static const struct asn_oid oid_udpMIB = OIDX_udpMIB; +#endif /*0*/ static const struct asn_oid oid_ipForward = OIDX_ipForward; static const struct asn_oid oid_linkDown = OIDX_linkDown; static const struct asn_oid oid_linkUp = OIDX_linkUp; @@ -1441,9 +1446,10 @@ "The MIB module for managing IP and ICMP implementations, but " "excluding their management of IP routes.", module); - +#if 0 udpmib_reg = or_register(&oid_udpMIB, "The MIB module for managing UDP implementations.", module); +#endif /*0*/ ipForward_reg = or_register(&oid_ipForward, "The MIB module for the display of CIDR multipath IP Routes.", @@ -1501,8 +1507,9 @@ /* XXX free memory */ or_unregister(ipForward_reg); +#if 0 or_unregister(udpmib_reg); - +#endif or_unregister(ipmib_reg); or_unregister(ifmib_reg); ==== //depot/projects/soc2005/bsnmp/contrib/bsnmp/snmp_mibII/mibII_tree.def#4 (text+ko) ==== @@ -148,17 +148,17 @@ (25 icmpOutAddrMasks COUNTER op_icmpstat GET) (26 icmpOutAddrMaskReps COUNTER op_icmpstat GET) ) - (7 udp - (1 udpInDatagrams COUNTER op_udp GET) - (2 udpNoPorts COUNTER op_udp GET) - (3 udpInErrors COUNTER op_udp GET) - (4 udpOutDatagrams COUNTER op_udp GET) - (5 udpTable - (1 udpEntry : IPADDRESS INTEGER op_udptable - (1 udpLocalAddress IPADDRESS GET) - (2 udpLocalPort INTEGER GET) - )) - ) +# (7 udp +# (1 udpInDatagrams COUNTER op_udp GET) +# (2 udpNoPorts COUNTER op_udp GET) +# (3 udpInErrors COUNTER op_udp GET) +# (4 udpOutDatagrams COUNTER op_udp GET) +# (5 udpTable +# (1 udpEntry : IPADDRESS INTEGER op_udptable +# (1 udpLocalAddress IPADDRESS GET) +# (2 udpLocalPort INTEGER GET) +# )) +# ) (31 ifMIB (1 ifMIBObjects (1 ifXTable @@ -201,10 +201,8 @@ ) (48 ipMIB ) - (49 tcpMIB - ) - (50 udpMIB - ) +# (50 udpMIB +# ) )) (6 snmpV2 (3 snmpModules ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_mibII/Makefile#3 (text+ko) ==== @@ -8,8 +8,8 @@ MOD= mibII SRCS= mibII.c mibII_ifmib.c mibII_ip.c mibII_interfaces.c \ mibII_ipaddr.c mibII_ifstack.c mibII_rcvaddr.c \ - mibII_nettomedia.c mibII_udp.c mibII_route.c -XSYM= ipAddrTable ifTable ifRcvAddressEntry ifMIB ipMIB udpMIB \ + mibII_nettomedia.c mibII_route.c +XSYM= ipAddrTable ifTable ifRcvAddressEntry ifMIB ipMIB \ ipForward ifIndex linkDown linkUp MAN= snmp_mibII.3 ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/Makefile#3 (text+ko) ==== @@ -30,17 +30,19 @@ MOD= tcp_udp46 -SRCS= tcp46_snmp.c +SRCS= tcp_udp46_common.c \ + tcp46_snmp.c \ + udp46_snmp.c WARNS?= 6 #Not having NDEBUG defined will enable assertions and a lot of output on stderr CFLAGS+= -DNDEBUG -XSYM= tcpMIB +XSYM= tcpMIB udpMIB DEFS= ${MOD}_tree.def -BMIBS= TCP-MIB.txt INET-ADDRESS-MIB.txt +BMIBS= TCP-MIB.txt UDP-MIB.txt INET-ADDRESS-MIB.txt .include ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp46_snmp.c#3 (text+ko) ==== @@ -85,9 +85,7 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include "asn1.h" -#include "snmp.h" -#include "snmpmod.h" +#include "tcp_udp46.h" #include "tcp_udp46_oid.h" #include "tcp_udp46_tree.h" #include @@ -101,7 +99,6 @@ #include #include #include - #include #include #include @@ -109,34 +106,10 @@ #include #include -/*forward declaration*/ -static int -fetch_tcp(void); -/*a debug macro*/ -#ifndef NDEBUG -#define TCP46_DPRINTF(ARGS) do { \ - fprintf(stderr, "TCP46_DEBUG: "); \ - fprintf ARGS; \ - } while (0) -#else -#define TCP46_DPRINTF(ARGS) -#endif /*NDEBUG*/ - -/*internal id got after we'll register this module with the agent */ -static -u_int tcp46_registration_id = 0; - -/* this our tcp46 module */ -static -struct lmodule *tcp46_module; - -static -const struct asn_oid oid_tcp46 = OIDX_tcpMIB; /*see the generated file tcp46_oid.h*/ - enum TCP_ConnState { TCPS_closed = 1, TCPS_listen = 2, @@ -162,11 +135,6 @@ }; -struct tcp_index { - struct asn_oid index; - struct xtcpcb *tp; - pid_t so_pgid; -}; static int tcp_compare(const void *p1, const void *p2) @@ -188,192 +156,14 @@ } -struct tcp46_state { - struct clockinfo clock_info; - uint64_t tcp_tick; /*agent tick when this struct was last updated*/ - struct tcpstat tcpstat; /*holder for tcp stats*/ - struct xinpgen *xinpgen; /*holder for data get via sysctl; malloc'd*/ - size_t xinpgen_len; /*the allocated len of the above vector */ - u_int tcp_estab_count; /*value for the scalar named tcpCurrEstab*/ - u_int tcp4_total; /*the number of tcp4 entries*/ - u_int all_tcp_total; /*the number of tcp4 and tcp6 entries (without listeners)*/ - u_int listen_tcp_total; /*the number of tcp4 and tcp6 entries in listen state*/ - - struct tcp_index *tcp4oids; /*snmp vector for the tcp4 table; malloc'd*/ - size_t tcp4oids_len; /*the allocated len of the above vector */ - - struct tcp_index *all_tcpoids; /*snmp vector for the unified v4 and v6 tcp table; malloc'd*/ - size_t all_tcpoids_len; /*the allocated len of the above vector */ - - struct tcp_index *listen_tcpoids; /*snmp vector for the unified v4 and v6 listners tcp table; malloc'd*/ - size_t listen_tcpoids_len; /*the allocated len of the above vector */ - - struct xfile *xfiles; - size_t xfiles_len; - u_int xfiles_total; - - -}; - -/* - * Global variable used to hold all the data - * related to this SNMP module - */ static -struct tcp46_state tcp46_state_g; - - - -/* - * TCP mib module initialization hook. - * Returns 0 on success, < 0 on error - */ -static -int tcp46_init(struct lmodule * mod, int argc __unused, char *argv[] __unused) { - tcp46_module = mod; - int len = 0; - memset(&tcp46_state_g, 0, sizeof(struct tcp46_state)); - - len = sizeof(tcp46_state_g.clock_info); - if (sysctlbyname("kern.clockrate", &tcp46_state_g.clock_info, &len, NULL, 0) == -1) { - syslog(LOG_ERR, "kern.clockrate: %m"); - return (-1); - } - if (len != sizeof(tcp46_state_g.clock_info)) { - syslog(LOG_ERR, "kern.clockrate: wrong size"); - return (-1); - } - TCP46_DPRINTF((stderr, "[%s] done.\n", __func__)); - return (0); -} - -/* - * TCP mib module finalization hook. - * Returns 0 on success, < 0 on error - */ -static -int tcp46_fini(void) { - if (tcp46_state_g.tcp4oids != NULL && tcp46_state_g.tcp4oids_len > 0) { - free(tcp46_state_g.tcp4oids); - tcp46_state_g.tcp4oids = NULL; - tcp46_state_g.tcp4oids_len = 0; - } - - if (tcp46_state_g.all_tcpoids != NULL && tcp46_state_g.all_tcpoids_len > 0) { - free(tcp46_state_g.all_tcpoids); - tcp46_state_g.all_tcpoids = NULL; - tcp46_state_g.all_tcpoids_len = 0; - } - - if (tcp46_state_g.listen_tcpoids != NULL && tcp46_state_g.listen_tcpoids_len > 0) { - free(tcp46_state_g.listen_tcpoids); - tcp46_state_g.listen_tcpoids = NULL; - tcp46_state_g.listen_tcpoids_len = 0; - } - - if (tcp46_state_g.xinpgen != NULL && tcp46_state_g.xinpgen_len > 0) { - free(tcp46_state_g.xinpgen); - tcp46_state_g.xinpgen = NULL; - tcp46_state_g.xinpgen_len = 0; - } - - if (tcp46_state_g.xfiles != NULL && tcp46_state_g.xfiles_len > 0 ) { - free(tcp46_state_g.xfiles); - tcp46_state_g.xfiles = NULL; - tcp46_state_g.xfiles_len = 0; - } - - if (tcp46_registration_id > 0) { - or_unregister(tcp46_registration_id); - } - - - TCP46_DPRINTF((stderr, "[%s] done.\n", __func__)); - return (0); - -} - -/* - * TCP mib module dump function - * returns nothing - */ -static -void tcp46_dump_v(void) { - /*nothing iteresting here for the time being*/ - TCP46_DPRINTF((stderr, "[%s] done.\n ", __func__)); -} - -/* - * TCP mib module reconfiguration function - * returns nothing -*/ -static -void tcp46_config_v(void) { - /*nothing iteresting here for the time being*/ - TCP46_DPRINTF((stderr, "[%s] done.\n ", __func__)); -} - - - -static -void tcp46_loading_v(const struct lmodule *mod __unused, int loaded) -{ - /*nothing iteresting here for the time being*/ - if ( loaded == 1 ) { - goto LABEL_RETURN; - } -LABEL_RETURN:; - TCP46_DPRINTF((stderr,"[%s] done.\n ", __func__)); - -} - -/* - * TCP mib module start operation - * returns nothing - */ -static -void tcp46_start_v(void) { - tcp46_registration_id = or_register(&oid_tcp46, - "The MIB module for TCP (rfc 4022).", - tcp46_module); - if (tcp46_registration_id == 0) { - syslog(LOG_ERR, "Failed to register the tcp46 module." ); - return; - } - if (fetch_tcp() == -1) { - syslog(LOG_ERR, "Failed to fetch the TCP data in tcp46 module." ); - } - - TCP46_DPRINTF((stderr, "[%s] done.\n ", __func__)); -} - -/* - * This identifies the TCP mib module - * inside the agent - */ -const struct snmp_module config = { - "This module implements the TCP_MIB (rfc 4022)", - tcp46_init, - tcp46_fini, - NULL, /*idle function, do not use it*/ - tcp46_dump_v, - tcp46_config_v, - tcp46_start_v, - NULL, /* proxy a PDU */ - tcp_udp46_ctree, /* see the generated tcp46_tree.h */ - tcp_udp46_CTREE_SIZE, /* see the generated tcp46_tree.h */ - tcp46_loading_v -}; - - -static pid_t get_socket_pid(struct xtcpcb *tp) { struct xfile *xf = NULL; u_int n = 0; assert(tp != NULL); - for (xf = tcp46_state_g.xfiles, n = 0; n < tcp46_state_g.xfiles_total; ++n, ++xf) { + for (xf = tcp_udp46_state_g.xfiles, n = 0; n < tcp_udp46_state_g.xfiles_total; ++n, ++xf) { if (xf->xf_data == NULL) { continue; } @@ -482,7 +272,7 @@ static uint32_t zero_ip6[] ={ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - if (tcp46_state_g.listen_tcpoids_len == 0) { + if (tcp_udp46_state_g.listen_tcpoids_len == 0) { /*empty list, no duplicates*/ return 0; } @@ -496,8 +286,8 @@ ntohs(tp->xt_inp.inp_lport))); - for (_oid = tcp46_state_g.listen_tcpoids; - _oid != listener_oid && i < tcp46_state_g.listen_tcpoids_len; + for (_oid = tcp_udp46_state_g.listen_tcpoids; + _oid != listener_oid && i < tcp_udp46_state_g.listen_tcpoids_len; i++, _oid++ ) { if ( _oid->index.subs[0] == IAT_ipv6 ) { @@ -535,7 +325,7 @@ static uint32_t zero_ip4[] = { 0, 0, 0, 0 }; - if (tcp46_state_g.listen_tcpoids_len == 0) { + if (tcp_udp46_state_g.listen_tcpoids_len == 0) { /*empty list, no duplicates*/ return 0; } @@ -548,8 +338,8 @@ __func__, ntohs(tp->xt_inp.in6p_lport))); - for (_oid = tcp46_state_g.listen_tcpoids; - _oid != listener_oid && i < tcp46_state_g.listen_tcpoids_len; + for (_oid = tcp_udp46_state_g.listen_tcpoids; + _oid != listener_oid && i < tcp_udp46_state_g.listen_tcpoids_len; i++, _oid++ ) { if ( _oid->index.subs[0] == IAT_ipv4 ) { @@ -651,39 +441,39 @@ } -static int +int fetch_xfiles(void) { size_t xfilesize = 0; struct xfile *ptr = NULL; - tcp46_state_g.xfiles_total = 0; + tcp_udp46_state_g.xfiles_total = 0; /* Get the xfiles */ if (sysctlbyname("kern.file", NULL, &xfilesize, NULL, 0)) { syslog(LOG_ERR, "sysctlbyname(kern.file) failed: %m"); return (-1); } - if (xfilesize > tcp46_state_g.xfiles_len) { - if ((ptr = realloc(tcp46_state_g.xfiles, xfilesize)) == NULL) { + if (xfilesize > tcp_udp46_state_g.xfiles_len) { + if ((ptr = realloc(tcp_udp46_state_g.xfiles, xfilesize)) == NULL) { syslog(LOG_ERR, "%zu: %m", xfilesize); return (-1); } - tcp46_state_g.xfiles = ptr; - tcp46_state_g.xfiles_len = xfilesize; + tcp_udp46_state_g.xfiles = ptr; + tcp_udp46_state_g.xfiles_len = xfilesize; } - if (sysctlbyname("kern.file", tcp46_state_g.xfiles, &xfilesize, NULL, 0) < 0) { + if (sysctlbyname("kern.file", tcp_udp46_state_g.xfiles, &xfilesize, NULL, 0) < 0) { syslog(LOG_ERR, "sysctlbyname(kern.file) failed: %m"); return (-1); } - tcp46_state_g.xfiles_total = xfilesize / sizeof(struct xfile); + tcp_udp46_state_g.xfiles_total = xfilesize / sizeof(struct xfile); return 0; } -static int +int fetch_tcp(void) { size_t len; @@ -692,12 +482,12 @@ struct tcp_index *oid = NULL, *all_oid = NULL, *listen_oid = NULL; - len = sizeof(tcp46_state_g.tcpstat); - if (sysctlbyname("net.inet.tcp.stats", &tcp46_state_g.tcpstat, &len, NULL, 0) == -1) { + len = sizeof(tcp_udp46_state_g.tcpstat); + if (sysctlbyname("net.inet.tcp.stats", &tcp_udp46_state_g.tcpstat, &len, NULL, 0) == -1) { syslog(LOG_ERR, "sysctlbyname(net.inet.tcp.stats) failed: %m"); return (-1); } - if (len != sizeof(tcp46_state_g.tcpstat)) { + if (len != sizeof(tcp_udp46_state_g.tcpstat)) { syslog(LOG_ERR, "sysctlbyname(net.inet.tcp.stats) error: wrong size"); return (-1); } @@ -707,32 +497,32 @@ syslog(LOG_ERR, "sysctlbyname(net.inet.tcp.pcblist) failed: %m"); return (-1); } - if (len > tcp46_state_g.xinpgen_len) { - if ((ptr = realloc(tcp46_state_g.xinpgen, len)) == NULL) { + if (len > tcp_udp46_state_g.xinpgen_len) { + if ((ptr = realloc(tcp_udp46_state_g.xinpgen, len)) == NULL) { syslog(LOG_ERR, "%zu: %m", len); return (-1); } - tcp46_state_g.xinpgen = ptr; - tcp46_state_g.xinpgen_len = len; + tcp_udp46_state_g.xinpgen = ptr; + tcp_udp46_state_g.xinpgen_len = len; } - if (sysctlbyname("net.inet.tcp.pcblist", tcp46_state_g.xinpgen, &len, NULL, 0) == -1) { + if (sysctlbyname("net.inet.tcp.pcblist", tcp_udp46_state_g.xinpgen, &len, NULL, 0) == -1) { syslog(LOG_ERR, "sysctlbyname(net.inet.tcp.pcblist) failed: %m"); return (-1); } - tcp46_state_g.tcp_tick = get_ticks(); + tcp_udp46_state_g.tcp_tick = get_ticks(); - tcp46_state_g.tcp_estab_count = 0; - tcp46_state_g.tcp4_total = 0; - tcp46_state_g.all_tcp_total = 0; - tcp46_state_g.listen_tcp_total = 0; + tcp_udp46_state_g.tcp_estab_count = 0; + tcp_udp46_state_g.tcp4_total = 0; + tcp_udp46_state_g.all_tcp_total = 0; + tcp_udp46_state_g.listen_tcp_total = 0; if (fetch_xfiles() != 0) { TCP46_DPRINTF((stderr, "[%s] Failed to fetch the xfiles\n ", __func__ )); } /*First count the endpoints*/ - for (ptr = (struct xinpgen *)(void *)((char *)tcp46_state_g.xinpgen + tcp46_state_g.xinpgen->xig_len); + for (ptr = (struct xinpgen *)(void *)((char *)tcp_udp46_state_g.xinpgen + tcp_udp46_state_g.xinpgen->xig_len); ptr->xig_len > sizeof(struct xinpgen); ptr = (struct xinpgen *)(void *)((char *)ptr + ptr->xig_len)) { tp = (struct xtcpcb *)ptr; @@ -749,7 +539,7 @@ } /* Ignore PCBs which were freed during copyout. */ - if (tp->xt_inp.inp_gencnt > tcp46_state_g.xinpgen->xig_gen ) { + if (tp->xt_inp.inp_gencnt > tcp_udp46_state_g.xinpgen->xig_gen ) { TCP46_DPRINTF((stderr, "[%s] One tcp4 conn. ignored (freed during copyout)\n ", __func__ )); @@ -759,84 +549,84 @@ if ( (tp->xt_inp.inp_vflag & INP_IPV4) == INP_IPV4) { - tcp46_state_g.tcp4_total++; + tcp_udp46_state_g.tcp4_total++; } if ((tp->xt_inp.inp_vflag & (INP_IPV6 | INP_IPV6PROTO | INP_IPV4)) != 0 ) { /*for connection in listen state we have a separate table*/ if ( tp->xt_tp.t_state != TCPS_LISTEN ) { - tcp46_state_g.all_tcp_total++; + tcp_udp46_state_g.all_tcp_total++; } else { - tcp46_state_g.listen_tcp_total++; + tcp_udp46_state_g.listen_tcp_total++; } } if (tp->xt_tp.t_state == TCPS_ESTABLISHED || tp->xt_tp.t_state == TCPS_CLOSE_WAIT) { - tcp46_state_g.tcp_estab_count++; + tcp_udp46_state_g.tcp_estab_count++; } } TCP46_DPRINTF((stderr, "[%s] Got %d tcp4 connections, %d tcp{4,6} connections, %d tcp{4,6} listeners.\n ", __func__, - tcp46_state_g.tcp4_total, - tcp46_state_g.all_tcp_total, - tcp46_state_g.listen_tcp_total)); + tcp_udp46_state_g.tcp4_total, + tcp_udp46_state_g.all_tcp_total, + tcp_udp46_state_g.listen_tcp_total)); /*Then reallocate the SNMP holder for v4 if needed*/ - if (tcp46_state_g.tcp4oids_len < tcp46_state_g.tcp4_total) { - oid = realloc(tcp46_state_g.tcp4oids, - tcp46_state_g.tcp4_total * sizeof(tcp46_state_g.tcp4oids[0])); + if (tcp_udp46_state_g.tcp4oids_len < tcp_udp46_state_g.tcp4_total) { + oid = realloc(tcp_udp46_state_g.tcp4oids, + tcp_udp46_state_g.tcp4_total * sizeof(tcp_udp46_state_g.tcp4oids[0])); if (oid == NULL) { - free(tcp46_state_g.tcp4oids); - tcp46_state_g.tcp4oids_len = 0; + free(tcp_udp46_state_g.tcp4oids); + tcp_udp46_state_g.tcp4oids_len = 0; return (0); } - tcp46_state_g.tcp4oids = oid; - tcp46_state_g.tcp4oids_len = tcp46_state_g.tcp4_total; + tcp_udp46_state_g.tcp4oids = oid; + tcp_udp46_state_g.tcp4oids_len = tcp_udp46_state_g.tcp4_total; } /*Then reallocate the SNMP holder for v4 & v6 if needed*/ - if (tcp46_state_g.all_tcpoids_len < tcp46_state_g.all_tcp_total) { - all_oid = realloc(tcp46_state_g.all_tcpoids, - tcp46_state_g.all_tcp_total * sizeof(tcp46_state_g.all_tcpoids[0])); + if (tcp_udp46_state_g.all_tcpoids_len < tcp_udp46_state_g.all_tcp_total) { + all_oid = realloc(tcp_udp46_state_g.all_tcpoids, + tcp_udp46_state_g.all_tcp_total * sizeof(tcp_udp46_state_g.all_tcpoids[0])); if (all_oid == NULL) { - free(tcp46_state_g.all_tcpoids); - tcp46_state_g.all_tcpoids_len = 0; + free(tcp_udp46_state_g.all_tcpoids); + tcp_udp46_state_g.all_tcpoids_len = 0; return (0); } - tcp46_state_g.all_tcpoids = all_oid; - tcp46_state_g.all_tcpoids_len = tcp46_state_g.all_tcp_total; + tcp_udp46_state_g.all_tcpoids = all_oid; + tcp_udp46_state_g.all_tcpoids_len = tcp_udp46_state_g.all_tcp_total; } /*Then reallocate the SNMP holder for v4 & v6 listeners if needed*/ - if (tcp46_state_g.listen_tcpoids_len < tcp46_state_g.listen_tcp_total) { - listen_oid = realloc(tcp46_state_g.listen_tcpoids, - tcp46_state_g.listen_tcp_total * sizeof(tcp46_state_g.listen_tcpoids[0])); + if (tcp_udp46_state_g.listen_tcpoids_len < tcp_udp46_state_g.listen_tcp_total) { + listen_oid = realloc(tcp_udp46_state_g.listen_tcpoids, + tcp_udp46_state_g.listen_tcp_total * sizeof(tcp_udp46_state_g.listen_tcpoids[0])); if (listen_oid == NULL) { - free(tcp46_state_g.listen_tcpoids); - tcp46_state_g.listen_tcpoids_len = 0; + free(tcp_udp46_state_g.listen_tcpoids); + tcp_udp46_state_g.listen_tcpoids_len = 0; return (0); } - tcp46_state_g.listen_tcpoids = listen_oid; - tcp46_state_g.listen_tcpoids_len = tcp46_state_g.listen_tcp_total; + tcp_udp46_state_g.listen_tcpoids = listen_oid; + tcp_udp46_state_g.listen_tcpoids_len = tcp_udp46_state_g.listen_tcp_total; } /*Finally fill in the SNMP indexes*/ - memset(tcp46_state_g.tcp4oids, 0, - tcp46_state_g.tcp4_total * sizeof(tcp46_state_g.tcp4oids[0]) ); + memset(tcp_udp46_state_g.tcp4oids, 0, + tcp_udp46_state_g.tcp4_total * sizeof(tcp_udp46_state_g.tcp4oids[0]) ); - memset(tcp46_state_g.all_tcpoids, 0, - tcp46_state_g.all_tcp_total * sizeof(tcp46_state_g.all_tcpoids[0]) ); + memset(tcp_udp46_state_g.all_tcpoids, 0, + tcp_udp46_state_g.all_tcp_total * sizeof(tcp_udp46_state_g.all_tcpoids[0]) ); - memset(tcp46_state_g.listen_tcpoids, 0, - tcp46_state_g.listen_tcp_total * sizeof(tcp46_state_g.listen_tcpoids[0]) ); + memset(tcp_udp46_state_g.listen_tcpoids, 0, + tcp_udp46_state_g.listen_tcp_total * sizeof(tcp_udp46_state_g.listen_tcpoids[0]) ); - oid = tcp46_state_g.tcp4oids; - all_oid = tcp46_state_g.all_tcpoids; - listen_oid = tcp46_state_g.listen_tcpoids; + oid = tcp_udp46_state_g.tcp4oids; + all_oid = tcp_udp46_state_g.all_tcpoids; + listen_oid = tcp_udp46_state_g.listen_tcpoids; - for (ptr = (struct xinpgen *)(void *)((char *)tcp46_state_g.xinpgen + tcp46_state_g.xinpgen->xig_len); + for (ptr = (struct xinpgen *)(void *)((char *)tcp_udp46_state_g.xinpgen + tcp_udp46_state_g.xinpgen->xig_len); ptr->xig_len > sizeof(struct xinpgen); ptr = (struct xinpgen *)(void *)((char *)ptr + ptr->xig_len)) { tp = (struct xtcpcb *)ptr; @@ -847,7 +637,7 @@ } /* Ignore PCBs which were freed during copyout. */ - if (tp->xt_inp.inp_gencnt > tcp46_state_g.xinpgen->xig_gen ) { + if (tp->xt_inp.inp_gencnt > tcp_udp46_state_g.xinpgen->xig_gen ) { continue; } if ( (tp->xt_inp.inp_vflag & INP_IPV4) == INP_IPV4) { @@ -870,8 +660,8 @@ listen_oid++; } else { /*this was a duplicate one*/ - assert(tcp46_state_g.listen_tcp_total > 1); - tcp46_state_g.listen_tcp_total--; + assert(tcp_udp46_state_g.listen_tcp_total > 1); + tcp_udp46_state_g.listen_tcp_total--; } } @@ -890,8 +680,8 @@ listen_oid++; } else { /*this was a duplicate one*/ - assert(tcp46_state_g.listen_tcp_total > 1); - tcp46_state_g.listen_tcp_total--; + assert(tcp_udp46_state_g.listen_tcp_total > 1); + tcp_udp46_state_g.listen_tcp_total--; } } @@ -901,23 +691,23 @@ TCP46_DPRINTF((stderr, "[%s] Got %d tcp{4,6} DISTINCT listeners.\n ", __func__, - tcp46_state_g.listen_tcp_total)); + tcp_udp46_state_g.listen_tcp_total)); /*Keep the lists sorted ins SNMP index ordering*/ - qsort( tcp46_state_g.tcp4oids, - tcp46_state_g.tcp4_total, - sizeof(tcp46_state_g.tcp4oids[0]), + qsort( tcp_udp46_state_g.tcp4oids, + tcp_udp46_state_g.tcp4_total, + sizeof(tcp_udp46_state_g.tcp4oids[0]), tcp_compare); - qsort( tcp46_state_g.all_tcpoids, - tcp46_state_g.all_tcp_total, - sizeof(tcp46_state_g.all_tcpoids[0]), + qsort( tcp_udp46_state_g.all_tcpoids, + tcp_udp46_state_g.all_tcp_total, + sizeof(tcp_udp46_state_g.all_tcpoids[0]), tcp_compare); - qsort( tcp46_state_g.listen_tcpoids, - tcp46_state_g.listen_tcp_total, - sizeof(tcp46_state_g.listen_tcpoids[0]), + qsort( tcp_udp46_state_g.listen_tcpoids, + tcp_udp46_state_g.listen_tcp_total, + sizeof(tcp_udp46_state_g.listen_tcpoids[0]), tcp_compare); @@ -1166,7 +956,7 @@ } } - if (tcp46_state_g.tcp_tick < this_tick) + if (tcp_udp46_state_g.tcp_tick < this_tick) if (fetch_tcp() == -1) return (SNMP_ERR_GENERR); @@ -1176,7 +966,7 @@ value->v.integer = 4; /* Van Jacobson */ break; -#define hz (tcp46_state_g.clock_info.hz) +#define hz (tcp_udp46_state_g.clock_info.hz) case LEAF_tcpRtoMin: value->v.integer = 1000 * TCPTV_MIN / hz; @@ -1191,42 +981,42 @@ break; case LEAF_tcpActiveOpens: - value->v.uint32 = tcp46_state_g.tcpstat.tcps_connattempt; + value->v.uint32 = tcp_udp46_state_g.tcpstat.tcps_connattempt; break; case LEAF_tcpPassiveOpens: - value->v.uint32 = tcp46_state_g.tcpstat.tcps_accepts; + value->v.uint32 = tcp_udp46_state_g.tcpstat.tcps_accepts; break; case LEAF_tcpAttemptFails: - value->v.uint32 = tcp46_state_g.tcpstat.tcps_conndrops; + value->v.uint32 = tcp_udp46_state_g.tcpstat.tcps_conndrops; break; case LEAF_tcpEstabResets: - value->v.uint32 = tcp46_state_g.tcpstat.tcps_drops; + value->v.uint32 = tcp_udp46_state_g.tcpstat.tcps_drops; break; case LEAF_tcpCurrEstab: - value->v.uint32 = tcp46_state_g.tcp_estab_count; + value->v.uint32 = tcp_udp46_state_g.tcp_estab_count; break; case LEAF_tcpInSegs: - value->v.uint32 = tcp46_state_g.tcpstat.tcps_rcvtotal; + value->v.uint32 = tcp_udp46_state_g.tcpstat.tcps_rcvtotal; break; case LEAF_tcpOutSegs: - value->v.uint32 = tcp46_state_g.tcpstat.tcps_sndtotal - - tcp46_state_g.tcpstat.tcps_sndrexmitpack; + value->v.uint32 = tcp_udp46_state_g.tcpstat.tcps_sndtotal - + tcp_udp46_state_g.tcpstat.tcps_sndrexmitpack; break; case LEAF_tcpRetransSegs: - value->v.uint32 = tcp46_state_g.tcpstat.tcps_sndrexmitpack; + value->v.uint32 = tcp_udp46_state_g.tcpstat.tcps_sndrexmitpack; break; case LEAF_tcpInErrs: - value->v.uint32 = tcp46_state_g.tcpstat.tcps_rcvbadsum + - tcp46_state_g.tcpstat.tcps_rcvbadoff + - tcp46_state_g.tcpstat.tcps_rcvshort; + value->v.uint32 = tcp_udp46_state_g.tcpstat.tcps_rcvbadsum + + tcp_udp46_state_g.tcpstat.tcps_rcvbadoff + + tcp_udp46_state_g.tcpstat.tcps_rcvshort; break; case LEAF_tcpOutRsts: @@ -1234,12 +1024,12 @@ break; case LEAF_tcpHCInSegs: - value->v.counter64 = tcp46_state_g.tcpstat.tcps_rcvtotal; + value->v.counter64 = tcp_udp46_state_g.tcpstat.tcps_rcvtotal; break; case LEAF_tcpHCOutSegs: - value->v.counter64 = tcp46_state_g.tcpstat.tcps_sndtotal - - tcp46_state_g.tcpstat.tcps_sndrexmitpack; + value->v.counter64 = tcp_udp46_state_g.tcpstat.tcps_sndtotal - + tcp_udp46_state_g.tcpstat.tcps_sndrexmitpack; break; default : @@ -1260,26 +1050,26 @@ { u_int i; - if (tcp46_state_g.tcp_tick < this_tick) + if (tcp_udp46_state_g.tcp_tick < this_tick) if (fetch_tcp() == -1) return (SNMP_ERR_GENERR); switch (op) { case SNMP_OP_GETNEXT: - for (i = 0; i < tcp46_state_g.tcp4_total; i++) - if (index_compare(&value->var, sub, &tcp46_state_g.tcp4oids[i].index) < 0) + for (i = 0; i < tcp_udp46_state_g.tcp4_total; i++) + if (index_compare(&value->var, sub, &tcp_udp46_state_g.tcp4oids[i].index) < 0) break; - if (i == tcp46_state_g.tcp4_total) + if (i == tcp_udp46_state_g.tcp4_total) return (SNMP_ERR_NOSUCHNAME); - index_append(&value->var, sub, &tcp46_state_g.tcp4oids[i].index); + index_append(&value->var, sub, &tcp_udp46_state_g.tcp4oids[i].index); break; case SNMP_OP_GET: - for (i = 0; i < tcp46_state_g.tcp4_total; i++) - if (index_compare(&value->var, sub, &tcp46_state_g.tcp4oids[i].index) == 0) + for (i = 0; i < tcp_udp46_state_g.tcp4_total; i++) + if (index_compare(&value->var, sub, &tcp_udp46_state_g.tcp4oids[i].index) == 0) break; - if (i == tcp46_state_g.tcp4_total) + if (i == tcp_udp46_state_g.tcp4_total) return (SNMP_ERR_NOSUCHNAME); break; @@ -1291,15 +1081,15 @@ return (SNMP_ERR_WRONG_VALUE); } - for (i = 0; i < tcp46_state_g.tcp4_total; i++) + for (i = 0; i < tcp_udp46_state_g.tcp4_total; i++) if (index_compare(&value->var, sub, - &tcp46_state_g.tcp4oids[i].index) == 0) + &tcp_udp46_state_g.tcp4oids[i].index) == 0) break; - if (i == tcp46_state_g.tcp4_total) + if (i == tcp_udp46_state_g.tcp4_total) return (SNMP_ERR_NOSUCHNAME); - if (drop_tcp_conn(&tcp46_state_g.tcp4oids[i].index, 1) != 0) { + if (drop_tcp_conn(&tcp_udp46_state_g.tcp4oids[i].index, 1) != 0) { return (SNMP_ERR_NOSUCHNAME); } return (SNMP_ERR_NOERROR); @@ -1317,7 +1107,7 @@ switch (value->var.subs[sub - 1]) { case LEAF_tcpConnState: - switch (tcp46_state_g.tcp4oids[i].tp->xt_tp.t_state) { + switch (tcp_udp46_state_g.tcp4oids[i].tp->xt_tp.t_state) { case TCPS_CLOSED: value->v.integer = TCPS_closed; @@ -1358,28 +1148,28 @@ } break; - assert(tcp46_state_g.tcp4oids[i].index.len == 10); + assert(tcp_udp46_state_g.tcp4oids[i].index.len == 10); case LEAF_tcpConnLocalAddress: - value->v.ipaddress[0] = tcp46_state_g.tcp4oids[i].index.subs[0]; - value->v.ipaddress[1] = tcp46_state_g.tcp4oids[i].index.subs[1]; - value->v.ipaddress[2] = tcp46_state_g.tcp4oids[i].index.subs[2]; - value->v.ipaddress[3] = tcp46_state_g.tcp4oids[i].index.subs[3]; + value->v.ipaddress[0] = tcp_udp46_state_g.tcp4oids[i].index.subs[0]; + value->v.ipaddress[1] = tcp_udp46_state_g.tcp4oids[i].index.subs[1]; + value->v.ipaddress[2] = tcp_udp46_state_g.tcp4oids[i].index.subs[2]; + value->v.ipaddress[3] = tcp_udp46_state_g.tcp4oids[i].index.subs[3]; break; case LEAF_tcpConnLocalPort: - value->v.integer = tcp46_state_g.tcp4oids[i].index.subs[4]; + value->v.integer = tcp_udp46_state_g.tcp4oids[i].index.subs[4]; break; case LEAF_tcpConnRemAddress: - value->v.ipaddress[0] = tcp46_state_g.tcp4oids[i].index.subs[5]; - value->v.ipaddress[1] = tcp46_state_g.tcp4oids[i].index.subs[6]; - value->v.ipaddress[2] = tcp46_state_g.tcp4oids[i].index.subs[7]; - value->v.ipaddress[3] = tcp46_state_g.tcp4oids[i].index.subs[8]; + value->v.ipaddress[0] = tcp_udp46_state_g.tcp4oids[i].index.subs[5]; + value->v.ipaddress[1] = tcp_udp46_state_g.tcp4oids[i].index.subs[6]; + value->v.ipaddress[2] = tcp_udp46_state_g.tcp4oids[i].index.subs[7]; + value->v.ipaddress[3] = tcp_udp46_state_g.tcp4oids[i].index.subs[8]; break; case LEAF_tcpConnRemPort: - value->v.integer = tcp46_state_g.tcp4oids[i].index.subs[9]; + value->v.integer = tcp_udp46_state_g.tcp4oids[i].index.subs[9]; break; } return (SNMP_ERR_NOERROR); @@ -1395,31 +1185,31 @@ { u_int i; - if (tcp46_state_g.tcp_tick < this_tick) + if (tcp_udp46_state_g.tcp_tick < this_tick) if (fetch_tcp() == -1) return (SNMP_ERR_GENERR); switch (op) { case SNMP_OP_GETNEXT: - for (i = 0; i < tcp46_state_g.all_tcp_total; i++) + for (i = 0; i < tcp_udp46_state_g.all_tcp_total; i++) if (index_compare(&value->var, sub, - &tcp46_state_g.all_tcpoids[i].index) < 0) + &tcp_udp46_state_g.all_tcpoids[i].index) < 0) break; - if (i == tcp46_state_g.all_tcp_total) + if (i == tcp_udp46_state_g.all_tcp_total) return (SNMP_ERR_NOSUCHNAME); index_append(&value->var, sub, - &tcp46_state_g.all_tcpoids[i].index); + &tcp_udp46_state_g.all_tcpoids[i].index); break; case SNMP_OP_GET: - for (i = 0; i < tcp46_state_g.all_tcp_total; i++) + for (i = 0; i < tcp_udp46_state_g.all_tcp_total; i++) if (index_compare(&value->var, sub, - &tcp46_state_g.all_tcpoids[i].index) == 0) + &tcp_udp46_state_g.all_tcpoids[i].index) == 0) break; - if (i == tcp46_state_g.all_tcp_total) + if (i == tcp_udp46_state_g.all_tcp_total) return (SNMP_ERR_NOSUCHNAME); break; @@ -1431,15 +1221,15 @@ return (SNMP_ERR_WRONG_VALUE); } - for (i = 0; i < tcp46_state_g.all_tcp_total; i++) + for (i = 0; i < tcp_udp46_state_g.all_tcp_total; i++) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Aug 28 19:07:02 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7024E16A421; Sun, 28 Aug 2005 19:07:02 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 46D1D16A41F for ; Sun, 28 Aug 2005 19:07:02 +0000 (GMT) (envelope-from soc-polytopes@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 05DD2441DD for ; Sun, 28 Aug 2005 19:07:02 +0000 (GMT) (envelope-from soc-polytopes@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7SJ71Fk033692 for ; Sun, 28 Aug 2005 19:07:01 GMT (envelope-from soc-polytopes@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7SJ71WJ033689 for perforce@freebsd.org; Sun, 28 Aug 2005 19:07:01 GMT (envelope-from soc-polytopes@freebsd.org) Date: Sun, 28 Aug 2005 19:07:01 GMT Message-Id: <200508281907.j7SJ71WJ033689@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-polytopes@freebsd.org using -f From: soc-polytopes To: Perforce Change Reviews Cc: Subject: PERFORCE change 82722 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Aug 2005 19:07:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=82722 Change 82722 by soc-polytopes@polytopes_kafka on 2005/08/28 19:06:51 Half of the buf managment committed. Stay tuned for part 2. Affected files ... .. //depot/projects/soc2005/ufsj/src/sys/ufs/ufs/journal.h#4 edit .. //depot/projects/soc2005/ufsj/src/sys/ufs/ufs/ufs_journal.c#4 edit Differences ... ==== //depot/projects/soc2005/ufsj/src/sys/ufs/ufs/journal.h#4 (text+ko) ==== @@ -116,6 +116,8 @@ void *data; } *ufsj_thandle_t; +MALLOC_DECLARE(M_UFSJ_HEADER); + extern int ufsj_start(struct vnode *devvp, struct mount *mp, struct fs *fs, struct thread *td); extern int ufsj_stop(struct mount *mp, int flags, struct thread *td); ==== //depot/projects/soc2005/ufsj/src/sys/ufs/ufs/ufs_journal.c#4 (text+ko) ==== @@ -67,19 +67,32 @@ uma_zone_t tzone; struct mtx jmtx; struct fs *fs; + LIST_HEAD(transaction_list, ufsj_transaction_list) t_list; }; +struct ufsj_transaction_list{ + LIST_ENTRY(ufsj_transaction_list) next; + ufsj_thandle_t t; + long count; +}; + + static void ufsj_flush(struct ufs_journal *journal); static int ufsj_replay(struct ufs_journal *journal); static void tbuf_done(struct buf *arg); static void ufsbuf_done(struct buf *arg) __unused; static int ufsj_critical_full(struct fs *fs); +static void ufsj_register_transaction(ufsj_thandle_t transaction); +static void ufsj_register_block(ufsj_thandle_t transaction, struct buf *wait_buf, struct buf *pinned_buf); + #define UFSJ_ALLOCATE_HEADER(aa, bb) UFS_BALLOC((aa), 0, sizeof(struct ufsj_header), FSCRED, 0, &(bb)) /* UFSJ_CRITICAL_FREE_SPACE is in Megs, but freespace returns frags */ #define UFSJ_MEGS_TO_FRAGS(fs, megs) (1024*1024*(fs)->fs_fsize*(megs)) +MALLOC_DEFINE(M_UFSJ_HEADER, "journalheader", "A UFS Journal header."); + /* To be called when the FS is mounted */ int ufsj_start(struct vnode *devvp, struct mount *mp, struct fs *fs, struct thread *td) @@ -155,6 +168,8 @@ brelse(jbp); jbp = NULL; + LIST_INIT(&(journal->t_list)); + mtx_init(&journal->jmtx, "jmtx", "Journal lock", MTX_DEF); journal->tzone = uma_zcreate("Journal tranactions", sizeof(ufsj_thandle_t), NULL, NULL, NULL, NULL, 0, M_WAITOK); @@ -249,25 +264,32 @@ struct fs *fs; struct vnode *vp; struct ufs_journal *jnl; - ufsj_thandle_t h; + ufsj_thandle_t transaction; struct ufsj_header *hdr; int error = 0; KASSERT(u_mnt != NULL, ("ufsj_start_transaction: mountpoint is NULL.")); KASSERT(handle != NULL, ("ufsj_start_transaction: handle is NULL.")); - - /* Malloc new handle and header, do this now so that we can block before - acquiring jmtx. */ - /* When do we free these? */ - h = malloc(sizeof(struct ufsj_transaction), M_UFSMNT, M_WAITOK|M_ZERO); - hdr = malloc(sizeof(struct ufsj_header), M_UFSMNT, M_WAITOK|M_ZERO); - /* Grab the Journal from ufsmount */ jnl = u_mnt->um_journal; /* Lock the journal */ mtx_lock(&jnl->jmtx); + + /* Malloc new handle and header, do this now so that we can block before + acquiring jmtx. */ + /* This is NOT good, we don't want to sleep with the lock */ + /* What is the malloc type of a header? */ + hdr = malloc(sizeof(struct ufsj_header), M_UFSJ_HEADER, M_NOWAIT|M_ZERO); + transaction = uma_zalloc(jnl->tzone, M_NOWAIT|M_ZERO); + /* We need to spin until we get a memory lock, since we hold the journal lock! */ + if (!hdr){ + panic("FUCK!"); + } else if (!transaction){ + panic("FUCK AND FUCK AGAIN!"); + } + fs = u_mnt->um_fs; vp = jnl->jvp; @@ -288,16 +310,16 @@ hdr->j_count = 0; hdr->j_type |= type; - h->gen = jnl->gen; - h->data = bp; - h->journal = jnl; + transaction->gen = jnl->gen; + transaction->data = bp; + transaction->journal = jnl; /* Done with journal */ mtx_unlock(&jnl->jmtx); bp->b_data = (void *)hdr; - *handle = h; + *handle = transaction; end: return (error); @@ -344,7 +366,8 @@ header->j_count++; - header->sectors[header->j_count] = bpc->b_lblkno; + /* Record where the orig. block lives */ + header->sectors[header->j_count] = bp->b_lblkno; bp->b_iodone = ufsbuf_done; bpc->b_iodone = tbuf_done; @@ -353,6 +376,9 @@ /* Write the block */ bdwrite(bp); + /* Register action */ + ufsj_register_block(handle, bpc, bp); + return 0; end: brelse(bpc); @@ -407,6 +433,9 @@ /* Done with the journal, set it free */ mtx_unlock(&jnl->jmtx); + + /* Register transaction (Journal doesn't need to be locked) */ + ufsj_register_transaction(handle); return (0); end: @@ -425,10 +454,54 @@ tbuf_done(struct buf *bp) { - /* Is the transaction fully written to disk? If so then unpin the - * buffers. - */ - /* We can also free the header */ + struct mount *mp; + struct ufsmount *ump; + struct vnode *vp; + struct ufsj_transaction_list *lp; + struct ufsj_transaction_list *lp_tmp; + struct ufs_journal *jnl; + int journal_updated = 0; + + KASSERT((bp != NULL), ("tbuf_done: got null bp, strange")); + + vp = bp->b_vp; + mp = vp->v_mount; + ump = VFSTOUFS(mp); + jnl = ump->um_journal; + +/* Is the transaction fully written to disk? If so then unpin the + * buffers. + */ + mtx_lock(&jnl->jmtx); + + LIST_FOREACH_SAFE(lp, &(jnl->t_list), next, lp_tmp){ + ufsj_thandle_t handle = lp->t; + struct ufsj_header *hdr = handle->data; + int i; + for (i = 0; i < hdr->j_count; i++){ + if (bp->b_lblkno == hdr->sectors[i]){ + /* Found this block in a transaction */ + lp->count--; + if (lp->count == 0){ + /* Transaction is totally written */ + LIST_REMOVE(lp, next); + uma_zfree(jnl->tzone, handle); + free(hdr, M_UFSJ_HEADER); + free(lp, M_UFSMNT); + /* Update journal to mark transaction finished */ + journal_updated = 1; + break; + } + } + } + + } + + if (journal_updated){ + /* sync jsb and jnl */ + } + + mtx_unlock(&jnl->jmtx); } /* bufdone callback for the real buffers. */ @@ -471,5 +544,38 @@ } +static void ufsj_register_transaction(ufsj_thandle_t transaction) +{ + struct ufs_journal *jnl; + struct ufsj_transaction_list *entry; + struct ufsj_header *hdr; + + KASSERT(transaction != NULL, ("ufsj_register_transaction: mountpoint is NULL.")); + + /* Allocate entry -- FIXME: malloc type */ + entry = malloc(sizeof(struct ufsj_transaction_list), M_UFSMNT, M_WAITOK|M_ZERO); + + hdr = (struct ufsj_header *)transaction->data; + jnl = transaction->journal; + + /* Lock the journal */ + mtx_lock(&jnl->jmtx); + + entry->t = transaction; + entry->count = hdr->j_count; /* We're not counting the header and the footer, should we? */ + + LIST_INSERT_HEAD(&(jnl->t_list), entry, next); + + /* Unlock the journal */ + mtx_unlock(&jnl->jmtx); + + return; +} + +static void ufsj_register_block(ufsj_thandle_t transaction, struct buf *wait_buf, struct buf *pinned_buf) +{ + return; +} + #endif /* UFS_JOURNAL */ From owner-p4-projects@FreeBSD.ORG Sun Aug 28 22:48:29 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 95CB416A421; Sun, 28 Aug 2005 22:48:28 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 6ABE616A41F for ; Sun, 28 Aug 2005 22:48:28 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1238943D46 for ; Sun, 28 Aug 2005 22:48:28 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7SMmSDv082245 for ; Sun, 28 Aug 2005 22:48:28 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7SMmRdx082242 for perforce@freebsd.org; Sun, 28 Aug 2005 22:48:27 GMT (envelope-from soc-victor@freebsd.org) Date: Sun, 28 Aug 2005 22:48:27 GMT Message-Id: <200508282248.j7SMmRdx082242@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 82724 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Aug 2005 22:48:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=82724 Change 82724 by soc-victor@soc-victor_82.76.158.176 on 2005/08/28 22:47:35 Added the SNMP instrumentation fro UDP scalars and for the deprecated table udpTable (based on Harti's work). Also a lot of cleanup. Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/Makefile#4 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp46_snmp.c#4 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46.h#2 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46_common.c#2 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/udp46_snmp.c#2 edit Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/Makefile#4 (text+ko) ==== @@ -37,7 +37,7 @@ WARNS?= 6 #Not having NDEBUG defined will enable assertions and a lot of output on stderr -CFLAGS+= -DNDEBUG +#CFLAGS+= -DNDEBUG XSYM= tcpMIB udpMIB ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp46_snmp.c#4 (text+ko) ==== @@ -497,15 +497,15 @@ syslog(LOG_ERR, "sysctlbyname(net.inet.tcp.pcblist) failed: %m"); return (-1); } - if (len > tcp_udp46_state_g.xinpgen_len) { - if ((ptr = realloc(tcp_udp46_state_g.xinpgen, len)) == NULL) { + if (len > tcp_udp46_state_g.tcp_xinpgen_len) { + if ((ptr = realloc(tcp_udp46_state_g.tcp_xinpgen, len)) == NULL) { syslog(LOG_ERR, "%zu: %m", len); return (-1); } - tcp_udp46_state_g.xinpgen = ptr; - tcp_udp46_state_g.xinpgen_len = len; + tcp_udp46_state_g.tcp_xinpgen = ptr; + tcp_udp46_state_g.tcp_xinpgen_len = len; } - if (sysctlbyname("net.inet.tcp.pcblist", tcp_udp46_state_g.xinpgen, &len, NULL, 0) == -1) { + if (sysctlbyname("net.inet.tcp.pcblist", tcp_udp46_state_g.tcp_xinpgen, &len, NULL, 0) == -1) { syslog(LOG_ERR, "sysctlbyname(net.inet.tcp.pcblist) failed: %m"); return (-1); } @@ -522,7 +522,7 @@ } /*First count the endpoints*/ - for (ptr = (struct xinpgen *)(void *)((char *)tcp_udp46_state_g.xinpgen + tcp_udp46_state_g.xinpgen->xig_len); + for (ptr = (struct xinpgen *)(void *)((char *)tcp_udp46_state_g.tcp_xinpgen + tcp_udp46_state_g.tcp_xinpgen->xig_len); ptr->xig_len > sizeof(struct xinpgen); ptr = (struct xinpgen *)(void *)((char *)ptr + ptr->xig_len)) { tp = (struct xtcpcb *)ptr; @@ -539,7 +539,7 @@ } /* Ignore PCBs which were freed during copyout. */ - if (tp->xt_inp.inp_gencnt > tcp_udp46_state_g.xinpgen->xig_gen ) { + if (tp->xt_inp.inp_gencnt > tcp_udp46_state_g.tcp_xinpgen->xig_gen ) { TCP46_DPRINTF((stderr, "[%s] One tcp4 conn. ignored (freed during copyout)\n ", __func__ )); @@ -626,7 +626,7 @@ all_oid = tcp_udp46_state_g.all_tcpoids; listen_oid = tcp_udp46_state_g.listen_tcpoids; - for (ptr = (struct xinpgen *)(void *)((char *)tcp_udp46_state_g.xinpgen + tcp_udp46_state_g.xinpgen->xig_len); + for (ptr = (struct xinpgen *)(void *)((char *)tcp_udp46_state_g.tcp_xinpgen + tcp_udp46_state_g.tcp_xinpgen->xig_len); ptr->xig_len > sizeof(struct xinpgen); ptr = (struct xinpgen *)(void *)((char *)ptr + ptr->xig_len)) { tp = (struct xtcpcb *)ptr; @@ -637,7 +637,7 @@ } /* Ignore PCBs which were freed during copyout. */ - if (tp->xt_inp.inp_gencnt > tcp_udp46_state_g.xinpgen->xig_gen ) { + if (tp->xt_inp.inp_gencnt > tcp_udp46_state_g.tcp_xinpgen->xig_gen ) { continue; } if ( (tp->xt_inp.inp_vflag & INP_IPV4) == INP_IPV4) { ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46.h#2 (text+ko) ==== @@ -42,7 +42,11 @@ #include /*for struct xfile*/ #include /*for fprintf*/ #include /*for pid_t*/ +#include +#include +#include + /*a debug macro*/ #ifndef NDEBUG #define TCP46_DPRINTF(ARGS) do { \ @@ -63,13 +67,22 @@ pid_t so_pgid; }; +/* + * Structure used to hold info about one udp[4,6} + * endpoint + */ +struct udp_index { + struct asn_oid index; + struct xinpcb *inp; +}; + struct tcp_udp46_state { struct clockinfo clock_info; uint64_t tcp_tick; /*agent tick when this struct was last updated*/ struct tcpstat tcpstat; /*holder for tcp stats*/ - struct xinpgen *xinpgen; /*holder for data get via sysctl; malloc'd*/ - size_t xinpgen_len; /*the allocated len of the above vector */ + struct xinpgen *tcp_xinpgen; /*holder for data get via sysctl; malloc'd*/ + size_t tcp_xinpgen_len; /*the allocated len of the above vector */ u_int tcp_estab_count; /*value for the scalar named tcpCurrEstab*/ u_int tcp4_total; /*the number of tcp4 entries*/ u_int all_tcp_total; /*the number of tcp4 and tcp6 entries (without listeners)*/ @@ -84,6 +97,18 @@ struct tcp_index *listen_tcpoids; /*snmp vector for the unified v4 and v6 listners tcp table; malloc'd*/ size_t listen_tcpoids_len; /*the allocated len of the above vector */ + uint64_t udp_tick; + struct udpstat udpstat; + struct xinpgen *udp_xinpgen; + size_t udp_xinpgen_len; + u_int udp4_total; + + + struct udp_index *udp4oids; + size_t udp4oids_len; + + + struct xfile *xfiles; size_t xfiles_len; u_int xfiles_total; @@ -111,4 +136,10 @@ int fetch_xfiles(void); +/* + * Get all the UDP{4,6} info from the O/S + */ +int +fetch_udp(void); + #endif /*__TCP_UDP46_H_INCLUDED__*/ ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46_common.c#2 (text+ko) ==== @@ -91,6 +91,7 @@ */ static int tcp_udp46_fini(void) { + /*TCP zone*/ if (tcp_udp46_state_g.tcp4oids != NULL && tcp_udp46_state_g.tcp4oids_len > 0) { free(tcp_udp46_state_g.tcp4oids); tcp_udp46_state_g.tcp4oids = NULL; @@ -109,12 +110,27 @@ tcp_udp46_state_g.listen_tcpoids_len = 0; } - if (tcp_udp46_state_g.xinpgen != NULL && tcp_udp46_state_g.xinpgen_len > 0) { - free(tcp_udp46_state_g.xinpgen); - tcp_udp46_state_g.xinpgen = NULL; - tcp_udp46_state_g.xinpgen_len = 0; + if (tcp_udp46_state_g.tcp_xinpgen != NULL && tcp_udp46_state_g.tcp_xinpgen_len > 0) { + free(tcp_udp46_state_g.tcp_xinpgen); + tcp_udp46_state_g.tcp_xinpgen = NULL; + tcp_udp46_state_g.tcp_xinpgen_len = 0; + } + + /*UDP zone*/ + if (tcp_udp46_state_g.udp_xinpgen != NULL && tcp_udp46_state_g.udp_xinpgen_len > 0) { + free(tcp_udp46_state_g.udp_xinpgen); + tcp_udp46_state_g.udp_xinpgen = NULL; + tcp_udp46_state_g.udp_xinpgen_len = 0; + } + + + if (tcp_udp46_state_g.udp4oids != NULL && tcp_udp46_state_g.udp4oids_len > 0) { + free(tcp_udp46_state_g.udp4oids); + tcp_udp46_state_g.udp4oids = NULL; + tcp_udp46_state_g.udp4oids_len = 0; } + if (tcp_udp46_state_g.xfiles != NULL && tcp_udp46_state_g.xfiles_len > 0 ) { free(tcp_udp46_state_g.xfiles); tcp_udp46_state_g.xfiles = NULL; @@ -125,7 +141,11 @@ or_unregister(tcp46_registration_id); } - + if (udp46_registration_id > 0) { + or_unregister(udp46_registration_id); + } + + TCP46_DPRINTF((stderr, "[%s] done.\n", __func__)); return (0); @@ -187,7 +207,12 @@ } if (fetch_tcp() == -1) { - syslog(LOG_ERR, "Failed to fetch the TCP data in tcp46 module." ); + syslog(LOG_ERR, "Failed to fetch the TCP data in tcp_udp46 module." ); + } + + + if (fetch_udp() == -1) { + syslog(LOG_ERR, "Failed to fetch the UDP data in tcp-udp46 module." ); } TCP46_DPRINTF((stderr, "[%s] done.\n ", __func__)); ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/udp46_snmp.c#2 (text+ko) ==== @@ -29,22 +29,306 @@ * UDP-MIB implementation for SNMPd: instrumentation for RFC 4113 covering * both IPv4 and IPv6 objects */ +/* + * Copyright (c) 2001-2003 + * Fraunhofer Institute for Open Communication Systems (FhG Fokus). + * All rights reserved. + * + * Author: Harti Brandt + * + * 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. + * + * $Begemot: bsnmp/snmp_mibII/mibII_udp.c,v 1.7 2005/05/23 09:03:42 brandt_h Exp $ + * + * udp + */ + #include "tcp_udp46.h" #include "tcp_udp46.h" #include "tcp_udp46_oid.h" #include "tcp_udp46_tree.h" +#include +#include +#include +#include +#include +#include + +static int +udp_compare(const void *p1, const void *p2) +{ + int result = 0; + const struct udp_index *t1 = p1; + const struct udp_index *t2 = p2; + assert(t1 != NULL); + assert(t2 != NULL); + if (t1 == NULL || t2 == NULL) { + return 0; + } + result = asn_compare_oid(&t1->index, &t2->index); + if ( result == 0 ) { + syslog(LOG_ERR, "udp malfunction: two equal oids."); + assert(0); + } + return result; +} + +int +fetch_udp(void) +{ + size_t len = 0; + struct xinpgen *ptr = NULL; + struct xinpcb *inp = NULL; + struct udp_index *oid = NULL; + in_addr_t inaddr; + + len = sizeof(tcp_udp46_state_g.udpstat); + if (sysctlbyname("net.inet.udp.stats", &tcp_udp46_state_g.udpstat, + &len, NULL, 0) == -1) { + syslog(LOG_ERR, "net.inet.udp.stats: %m"); + return (-1); + } + if (len != sizeof(tcp_udp46_state_g.udpstat)) { + syslog(LOG_ERR, "net.inet.udp.stats: wrong size"); + return (-1); + } + + tcp_udp46_state_g.udp_tick = get_ticks(); + + len = 0; + if (sysctlbyname("net.inet.udp.pcblist", NULL, &len, NULL, 0) == -1) { + syslog(LOG_ERR, "net.inet.udp.pcblist: %m"); + return (-1); + } + + TCP46_DPRINTF((stderr, "[%s] Got %d len at net.inet.udp.pcblist .\n", __func__, len)); + + if (len > tcp_udp46_state_g.udp_xinpgen_len) { + if ((ptr = realloc(tcp_udp46_state_g.udp_xinpgen, len)) == NULL) { + syslog(LOG_ERR, "%zu: %m", len); + return (-1); + } + tcp_udp46_state_g.udp_xinpgen = ptr; + tcp_udp46_state_g.udp_xinpgen_len = len; + memset(tcp_udp46_state_g.udp_xinpgen, 0, len); + } + if (sysctlbyname("net.inet.udp.pcblist", tcp_udp46_state_g.udp_xinpgen, + &len, NULL, 0) == -1) { + syslog(LOG_ERR, "net.inet.udp.pcblist: %m"); + return (-1); + } + + tcp_udp46_state_g.udp4_total = 0; + + ptr = (struct xinpgen *)tcp_udp46_state_g.udp_xinpgen; + for (ptr = (struct xinpgen *)((char *)ptr + ptr->xig_len); + ptr->xig_len > sizeof(struct xinpgen); + ptr = (struct xinpgen *)((char *)ptr + ptr->xig_len)) { + inp = (struct xinpcb *)ptr; + + /* Ignore sockets for protocols other than the desired one. */ + if (inp->xi_socket.xso_protocol != IPPROTO_UDP) { + continue; + } + + if (inp->xi_inp.inp_gencnt > tcp_udp46_state_g.udp_xinpgen->xig_gen) { + continue; + } + + if ((inp->xi_inp.inp_vflag & INP_IPV4) == INP_IPV4 && inp->xi_inp.inp_lport != 0){ + tcp_udp46_state_g.udp4_total++; + } + } + + if (tcp_udp46_state_g.udp4oids_len < tcp_udp46_state_g.udp4_total) { + oid = realloc(tcp_udp46_state_g.udp4oids, + tcp_udp46_state_g.udp4_total * sizeof(struct udp_index)); + if (oid == NULL) { + free(tcp_udp46_state_g.udp4oids); + tcp_udp46_state_g.udp4oids_len = 0; + return (0); + } + tcp_udp46_state_g.udp4oids = oid; + tcp_udp46_state_g.udp4oids_len = tcp_udp46_state_g.udp4_total; + } + + TCP46_DPRINTF((stderr, "[%s] Got %d udp4 endpoints, %d udp{4,6} endpoints.\n ", + __func__, + tcp_udp46_state_g.udp4_total, + 0)); + + /*Finally fill in the SNMP indexes*/ + memset(tcp_udp46_state_g.udp4oids, 0, + tcp_udp46_state_g.udp4_total * sizeof(struct udp_index) ); + + oid = tcp_udp46_state_g.udp4oids; + ptr = (struct xinpgen *)tcp_udp46_state_g.udp_xinpgen; + for (ptr = (struct xinpgen *)((char *)ptr + ptr->xig_len); + ptr->xig_len > sizeof(struct xinpgen); + ptr = (struct xinpgen *)((char *)ptr + ptr->xig_len)) { + inp = (struct xinpcb *)ptr; + /* Ignore sockets for protocols other than the desired one. */ + if (inp->xi_socket.xso_protocol != IPPROTO_UDP) { + continue; + } + + if (inp->xi_inp.inp_gencnt > tcp_udp46_state_g.udp_xinpgen->xig_gen) { + continue; + } + if ((inp->xi_inp.inp_vflag & INP_IPV4) == INP_IPV4 && inp->xi_inp.inp_lport != 0) { + oid->inp = inp; + oid->index.len = 5; + inaddr = ntohl(inp->xi_inp.inp_laddr.s_addr); + oid->index.subs[0] = (inaddr >> 24) & 0xff; + oid->index.subs[1] = (inaddr >> 16) & 0xff; + oid->index.subs[2] = (inaddr >> 8) & 0xff; + oid->index.subs[3] = (inaddr >> 0) & 0xff; + oid->index.subs[4] = ntohs(inp->xi_inp.inp_lport); + oid++; + } + } + + qsort(tcp_udp46_state_g.udp4oids, + tcp_udp46_state_g.udp4_total, + sizeof(struct udp_index), udp_compare); + + return (0); +} + + int -op_udp( struct snmp_context *ctx __unused, struct snmp_value *value __unused, - u_int sub __unused, u_int iidx __unused, enum snmp_op op __unused) { - return (SNMP_ERR_NOSUCHNAME); +op_udp(struct snmp_context *ctx __unused, struct snmp_value *value, + u_int sub, u_int iidx __unused, enum snmp_op op) +{ + switch (op) { + + case SNMP_OP_GETNEXT: + abort(); + + case SNMP_OP_GET: + break; + + case SNMP_OP_SET: + return (SNMP_ERR_NOT_WRITEABLE); + + case SNMP_OP_ROLLBACK: + case SNMP_OP_COMMIT: + assert(0); + return (SNMP_ERR_GENERR); + } + + if (tcp_udp46_state_g.udp_tick < this_tick) + if (fetch_udp() == -1) + return (SNMP_ERR_GENERR); + + switch (value->var.subs[sub - 1]) { + + case LEAF_udpInDatagrams: + value->v.uint32 = tcp_udp46_state_g.udpstat.udps_ipackets; + break; + + case LEAF_udpNoPorts: + value->v.uint32 = tcp_udp46_state_g.udpstat.udps_noport + + tcp_udp46_state_g.udpstat.udps_noportbcast + + tcp_udp46_state_g.udpstat.udps_noportmcast; + break; + + case LEAF_udpInErrors: + value->v.uint32 = tcp_udp46_state_g.udpstat.udps_hdrops + + tcp_udp46_state_g.udpstat.udps_badsum + + tcp_udp46_state_g.udpstat.udps_badlen + + tcp_udp46_state_g.udpstat.udps_fullsock; + break; + + case LEAF_udpOutDatagrams: + value->v.uint32 = tcp_udp46_state_g.udpstat.udps_opackets; + break; + case LEAF_udpHCInDatagrams: + value->v.counter64 = tcp_udp46_state_g.udpstat.udps_ipackets; /*FIX ME: need 64-bit stats*/ + break; + case LEAF_udpHCOutDatagrams: + value->v.counter64 = tcp_udp46_state_g.udpstat.udps_opackets; /*FIX ME: need 64-bit stats*/ + break; + + } + return (SNMP_ERR_NOERROR); + } int -op_udpTable(struct snmp_context *ctx __unused, struct snmp_value *value __unused, - u_int sub __unused, u_int iidx __unused, enum snmp_op op __unused) { - return (SNMP_ERR_NOSUCHNAME); +op_udpTable(struct snmp_context *ctx __unused, struct snmp_value *value, + u_int sub, u_int iidx __unused, enum snmp_op op) +{ + u_int i; + + if (tcp_udp46_state_g.udp_tick < this_tick) + if (fetch_udp() == -1) + return (SNMP_ERR_GENERR); + + switch (op) { + + case SNMP_OP_GETNEXT: + for (i = 0; i < tcp_udp46_state_g.udp4_total; i++) + if (index_compare(&value->var, sub, &tcp_udp46_state_g.udp4oids[i].index) < 0) + break; + if (i == tcp_udp46_state_g.udp4_total) + return (SNMP_ERR_NOSUCHNAME); + index_append(&value->var, sub, &tcp_udp46_state_g.udp4oids[i].index); + break; + + case SNMP_OP_GET: + for (i = 0; i < tcp_udp46_state_g.udp4_total; i++) + if (index_compare(&value->var, sub, &tcp_udp46_state_g.udp4oids[i].index) == 0) + break; + if (i == tcp_udp46_state_g.udp4_total) + return (SNMP_ERR_NOSUCHNAME); + break; + + case SNMP_OP_SET: + return (SNMP_ERR_NOT_WRITEABLE); + + case SNMP_OP_ROLLBACK: + case SNMP_OP_COMMIT: + default: + abort(); + } + + switch (value->var.subs[sub - 1]) { + + case LEAF_udpLocalAddress: + value->v.ipaddress[0] = tcp_udp46_state_g.udp4oids[i].index.subs[0]; + value->v.ipaddress[1] = tcp_udp46_state_g.udp4oids[i].index.subs[1]; + value->v.ipaddress[2] = tcp_udp46_state_g.udp4oids[i].index.subs[2]; + value->v.ipaddress[3] = tcp_udp46_state_g.udp4oids[i].index.subs[3]; + break; + + case LEAF_udpLocalPort: + value->v.integer = tcp_udp46_state_g.udp4oids[i].index.subs[4]; + break; + + } + return (SNMP_ERR_NOERROR); } int From owner-p4-projects@FreeBSD.ORG Mon Aug 29 01:51:26 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7AB4E16A421; Mon, 29 Aug 2005 01:51:26 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 29E2316A41F for ; Mon, 29 Aug 2005 01:51:26 +0000 (GMT) (envelope-from murray@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EA96243D45 for ; Mon, 29 Aug 2005 01:51:25 +0000 (GMT) (envelope-from murray@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7T1pP1L097543 for ; Mon, 29 Aug 2005 01:51:25 GMT (envelope-from murray@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7T1pPEq097540 for perforce@freebsd.org; Mon, 29 Aug 2005 01:51:25 GMT (envelope-from murray@freebsd.org) Date: Mon, 29 Aug 2005 01:51:25 GMT Message-Id: <200508290151.j7T1pPEq097540@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to murray@freebsd.org using -f From: Murray Stokely To: Perforce Change Reviews Cc: Subject: PERFORCE change 82734 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Aug 2005 01:51:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=82734 Change 82734 by murray@murray_doc on 2005/08/29 01:50:24 Add tag to slidesinfo/author Affected files ... .. //depot/projects/docbook_slides/en_US.ISO8859-1/slides/freebsd-general/slides.xml#2 edit Differences ... ==== //depot/projects/docbook_slides/en_US.ISO8859-1/slides/freebsd-general/slides.xml#2 (text+ko) ==== @@ -31,7 +31,7 @@ - MurrayStokely + MurrayStokelymurray@FreeBSDXXX.org Thursday, 9 Sep 2004 2004 FreeBSD Mall, Inc. From owner-p4-projects@FreeBSD.ORG Mon Aug 29 01:53:29 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 64B0B16A421; Mon, 29 Aug 2005 01:53:29 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 3F1C316A41F for ; Mon, 29 Aug 2005 01:53:29 +0000 (GMT) (envelope-from murray@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E2D6143D45 for ; Mon, 29 Aug 2005 01:53:28 +0000 (GMT) (envelope-from murray@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7T1rSIE097595 for ; Mon, 29 Aug 2005 01:53:28 GMT (envelope-from murray@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7T1rSR1097592 for perforce@freebsd.org; Mon, 29 Aug 2005 01:53:28 GMT (envelope-from murray@freebsd.org) Date: Mon, 29 Aug 2005 01:53:28 GMT Message-Id: <200508290153.j7T1rSR1097592@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to murray@freebsd.org using -f From: Murray Stokely To: Perforce Change Reviews Cc: Subject: PERFORCE change 82735 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Aug 2005 01:53:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=82735 Change 82735 by murray@murray_doc on 2005/08/29 01:53:23 Get email field from slidesinfo/author/email and be more intelligent about numbering the slides. Affected files ... .. //depot/projects/docbook_slides/share/openoffice/BSDi.xsl#4 edit Differences ... ==== //depot/projects/docbook_slides/share/openoffice/BSDi.xsl#4 (text+ko) ==== @@ -11,7 +11,6 @@ - @@ -394,7 +393,10 @@ < -murray@freebsd.org + + + + > @@ -412,8 +414,17 @@ + + + + + + - + + + page + From owner-p4-projects@FreeBSD.ORG Mon Aug 29 05:11:29 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 52B0316A421; Mon, 29 Aug 2005 05:11:29 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 0EB2216A41F for ; Mon, 29 Aug 2005 05:11:29 +0000 (GMT) (envelope-from soc-polytopes@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BDCBC43D45 for ; Mon, 29 Aug 2005 05:11:28 +0000 (GMT) (envelope-from soc-polytopes@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7T5BS7J012741 for ; Mon, 29 Aug 2005 05:11:28 GMT (envelope-from soc-polytopes@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7T5BSNe012738 for perforce@freebsd.org; Mon, 29 Aug 2005 05:11:28 GMT (envelope-from soc-polytopes@freebsd.org) Date: Mon, 29 Aug 2005 05:11:28 GMT Message-Id: <200508290511.j7T5BSNe012738@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-polytopes@freebsd.org using -f From: soc-polytopes To: Perforce Change Reviews Cc: Subject: PERFORCE change 82740 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Aug 2005 05:11:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=82740 Change 82740 by soc-polytopes@polytopes_kafka on 2005/08/29 05:10:44 Everything but the playback is coded, but not fully debugged *mumble*lock order reversal*mumble*. Affected files ... .. //depot/projects/soc2005/ufsj/src/sys/ufs/ufs/journal.h#5 edit .. //depot/projects/soc2005/ufsj/src/sys/ufs/ufs/ufs_journal.c#5 edit Differences ... ==== //depot/projects/soc2005/ufsj/src/sys/ufs/ufs/journal.h#5 (text+ko) ==== @@ -111,11 +111,19 @@ /* typedef struct ufsj_transaction*ufsj_thandle_t; */ typedef struct ufsj_transaction{ - uint64_t gen; - struct ufs_journal *journal; - void *data; + uint64_t gen; + struct ufs_journal *journal; + int pinned_buf_count; + LIST_HEAD(buffer_list, ufsj_buffer_pair) b_list; + void *data; } *ufsj_thandle_t; +struct ufsj_buffer_pair{ + LIST_ENTRY(ufsj_buffer_pair) next; + struct buf *wait_buf; + struct buf *pinned_buf; +}; + MALLOC_DECLARE(M_UFSJ_HEADER); extern int ufsj_start(struct vnode *devvp, struct mount *mp, struct fs *fs, ==== //depot/projects/soc2005/ufsj/src/sys/ufs/ufs/ufs_journal.c#5 (text+ko) ==== @@ -76,11 +76,10 @@ long count; }; - static void ufsj_flush(struct ufs_journal *journal); static int ufsj_replay(struct ufs_journal *journal); static void tbuf_done(struct buf *arg); -static void ufsbuf_done(struct buf *arg) __unused; +static void ufsbuf_done(struct buf *arg); static int ufsj_critical_full(struct fs *fs); static void ufsj_register_transaction(ufsj_thandle_t transaction); static void ufsj_register_block(ufsj_thandle_t transaction, struct buf *wait_buf, struct buf *pinned_buf); @@ -101,9 +100,10 @@ struct ufs_journal *journal; struct ufsmount *ump; struct vnode *jvp; + struct inode *jinode; struct buf *jbp = NULL; off_t jsb_off; - int flags, error = 0; + int flags, error, vop_locked = 0; td = curthread; @@ -139,16 +139,53 @@ jsb_off = 0; printf("Reading journal superblock at offset %jd\n", jsb_off); error = bread(jvp, jsb_off, JSBLOCKSIZE, td->td_ucred, &jbp); - VOP_UNLOCK(jvp, 0, td); + vop_locked = 1; if (error) goto out; + /* We need to check to see if the super block exists! */ + /* This check is from fsdbutil.c */ + jinode = VTOI(jvp); + if ((DIP(jinode, i_mode) & IFMT) == 0){ + /* We need to put the superblock on the disk first */ + jsb = (struct ufsj_superblock *)jbp->b_data; + jsb->j_gen = 0; + jsb->j_head = 1; + jsb->j_tail = jsb->j_head; + jsb->j_flags = J_ENABLED; + jsb->j_len = 1; /* Just us */ + jsb->j_magic = UFSJ_MAGIC; + jsb->j_fsmagic = fs->fs_magic; + + printf("ufsj_start: writing initial jsb\n"); + if ((error = bwrite(jbp)) != 0) + printf("Error %d writing journal superblock!\n", error); + + /* I don't really want to block here, but we need to, otherwise the + journal is no good */ + /* + bwait(jbp); + */ + + printf("Re-reading journal superblock at offset %jd\n", jsb_off); + error = bread(jvp, jsb_off, JSBLOCKSIZE, td->td_ucred, &jbp); + } + if (vop_locked){ + VOP_UNLOCK(jvp, 0, td); + vop_locked = 0; + } + printf("Checking journal superblock\n"); jsb = (struct ufsj_superblock *)jbp->b_data; if ((jsb->j_magic != UFSJ_MAGIC) || (jsb->j_fsmagic != fs->fs_magic) || ((jsb->j_flags & J_ENABLED) == 0)) { - error = 0; /* XXX Does this really warrant an error? */ + printf("The journal is hosed, you lose:\n"); + printf(" J_MAGIC: 0x%X, j_fsmagic(0x%X) vs. fs_magic(0x%X)\n", + jsb->j_magic, jsb->j_fsmagic, fs->fs_magic); + printf(" jsb->j_flags=%b\n", jsb->j_flags, + "\10\2ENABLED\1DIRTY\n"); + error = 1; /* XXX Does this really warrant an error? */ goto out; } @@ -162,6 +199,9 @@ journal->ump = ump; journal->bsize = fs->fs_bsize; journal->fs = fs; + + printf("Setting ump->um_journal to 0x%p\n", (void *)journal); + ump->um_journal = journal; flags = jsb->j_flags; jvp->v_vflag |= VV_SYSTEM; @@ -188,6 +228,11 @@ return (0); out: + if (vop_locked){ + VOP_UNLOCK(jvp, 0, td); + vop_locked = 0; + } + if (jbp != NULL) brelse(jbp); vrele(jvp); @@ -317,8 +362,12 @@ /* Done with journal */ mtx_unlock(&jnl->jmtx); + /* What was I going to do with this? */ bp->b_data = (void *)hdr; + transaction->pinned_buf_count = 0; + LIST_INIT(&(transaction->b_list)); + *handle = transaction; end: @@ -449,9 +498,9 @@ return error; } -/* bufdone callback for transaction buffers. */ +/* bufdone callback for the real buffers. */ static void -tbuf_done(struct buf *bp) +ufsbuf_done(struct buf *bp) { struct mount *mp; @@ -469,11 +518,12 @@ ump = VFSTOUFS(mp); jnl = ump->um_journal; -/* Is the transaction fully written to disk? If so then unpin the - * buffers. - */ mtx_lock(&jnl->jmtx); + /* Are all of the real buffers on disk? If so then update the + * journalling superblock to so show that the transaction is retired. + */ + LIST_FOREACH_SAFE(lp, &(jnl->t_list), next, lp_tmp){ ufsj_thandle_t handle = lp->t; struct ufsj_header *hdr = handle->data; @@ -504,14 +554,55 @@ mtx_unlock(&jnl->jmtx); } -/* bufdone callback for the real buffers. */ +/* bufdone callback for transaction buffers. */ static void -ufsbuf_done(struct buf *bp) +tbuf_done(struct buf *bp) { - /* Are all of the real buffers on disk? If so then update the - * journalling superblock to so show that the transaction is retired. - */ - /* We can also free the transaction handle */ + struct mount *mp; + struct ufsmount *ump; + struct vnode *vp; + struct ufs_journal *jnl; + struct ufsj_buffer_pair *pair; + struct ufsj_transaction_list *lp; /* To iterate over transactions */ + + KASSERT((bp != NULL), ("tbuf_done: got null bp, strange")); + + vp = bp->b_vp; + mp = vp->v_mount; + ump = VFSTOUFS(mp); + jnl = ump->um_journal; + + mtx_lock(&jnl->jmtx); + +/* Is the transaction fully written to disk? If so then unpin the + * buffers. + */ + LIST_FOREACH(lp, &(jnl->t_list), next){ + ufsj_thandle_t handle = lp->t; + LIST_FOREACH(pair, &(handle->b_list), next){ + if (pair->wait_buf->b_lblkno == bp->b_lblkno){ + handle->pinned_buf_count--; + } + } + if (handle->pinned_buf_count == 0){ + /* No more waiting bufs, pin the real bufs */ + /* and free the transaction list */ + pair = LIST_FIRST(&(handle->b_list)); + while (pair != NULL) { + struct ufsj_buffer_pair *p2; + /* Unpin the buffer */ +#ifdef BAW_HAS_INCLUDED_THE_XFS_PINNING_CODE + bunpin(pair->pinned_buf); +#endif + p2 = LIST_NEXT(pair, next); + free(pair, M_UFSMNT); + pair = p2; + } + /* Shouldn't need this */ + LIST_INIT(&(handle->b_list)); + } + } + mtx_unlock(&jnl->jmtx); } static void @@ -555,6 +646,10 @@ /* Allocate entry -- FIXME: malloc type */ entry = malloc(sizeof(struct ufsj_transaction_list), M_UFSMNT, M_WAITOK|M_ZERO); + if (entry == NULL){ + panic("ufsj_register_transaction: We were unable to allocate a new entry."); + } + hdr = (struct ufsj_header *)transaction->data; jnl = transaction->journal; @@ -568,13 +663,24 @@ /* Unlock the journal */ mtx_unlock(&jnl->jmtx); - - return; } static void ufsj_register_block(ufsj_thandle_t transaction, struct buf *wait_buf, struct buf *pinned_buf) { - return; + struct ufsj_buffer_pair *pair; + + pair = malloc(sizeof(struct ufsj_buffer_pair), M_UFSMNT, M_WAITOK|M_ZERO); + + if (pair == NULL){ + panic("ufsj_register_block: Unable to allocate list entry."); + } + + pair->wait_buf = wait_buf; + pair->pinned_buf = pinned_buf; + + transaction->pinned_buf_count++; + + LIST_INSERT_HEAD(&(transaction->b_list), pair, next); } #endif /* UFS_JOURNAL */ From owner-p4-projects@FreeBSD.ORG Mon Aug 29 09:13:19 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B30C216A428; Mon, 29 Aug 2005 09:13:18 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 6BC2E16A41F for ; Mon, 29 Aug 2005 09:13:18 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D4A3E43D58 for ; Mon, 29 Aug 2005 09:13:17 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7T9DH0t031911 for ; Mon, 29 Aug 2005 09:13:17 GMT (envelope-from soc-cjones@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7T9DHNw031908 for perforce@freebsd.org; Mon, 29 Aug 2005 09:13:17 GMT (envelope-from soc-cjones@freebsd.org) Date: Mon, 29 Aug 2005 09:13:17 GMT Message-Id: <200508290913.j7T9DHNw031908@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-cjones@freebsd.org using -f From: soc-cjones To: Perforce Change Reviews Cc: Subject: PERFORCE change 82746 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Aug 2005 09:13:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=82746 Change 82746 by soc-cjones@soc-cjones_ishtar on 2005/08/29 09:12:16 Sync man page's view of arguments with reality, and describe commands. Affected files ... .. //depot/projects/soc2005/gvinum/src/sbin/gvinum/gvinum.8#5 edit Differences ... ==== //depot/projects/soc2005/gvinum/src/sbin/gvinum/gvinum.8#5 (text+ko) ==== @@ -41,55 +41,95 @@ .It Xo .Ic checkparity .Op Fl f -.Op Fl v .Ar plex .Xc -Check the parity blocks of a RAID-5 plex. +Check the parity blocks of a RAID-5 plex. The parity check will start at the beginning +of the plex if the +.Fl f +flag is specified, or otherwise at the location of the parity check pointer, the +first location at which plex's parity is incorrect. All subdisks in the plex must be +up for a parity check. .It Xo .Ic create -.Op Fl f -.Ar description-file +.Op Ar description-file .Xc Create a volume as described in .Ar description-file . +If no +.Ar description-file +provided, opens an editor and provides the current +.Nm +configuration for editing. +.It Xo +.Ic help +.Xc +Provides a synopsis of +.Nm +commands and arguments. .It Xo .Ic l | list +.Op Fl r +.Op Fl v +.Op Fl V .Op Ar volume | plex | subdisk .Xc -List information about specified objects. .It Xo .Ic ld -.Op Ar drive +.Op Fl r +.Op Fl v +.Op Fl V +.Op Ar drive ... .Xc -List information about drive(s). .It Xo .Ic ls -.Op Ar subdisk +.Op Fl r +.Op Fl v +.Op Fl V +.Op Ar subdisk ... .Xc -List information about subdisk(s). .It Xo .Ic lp -.Op Ar plex +.Op Fl r +.Op Fl v +.Op Fl V +.Op Ar plex ... .Xc -List information about plex(es). .It Xo .Ic lv -.Op Ar volume +.Op Fl r +.Op Fl v +.Op Fl V +.Op Ar volume ... .Xc -List information about volume(s). +List information about the relevant object(s). The +.Fl r +flag provides recursive display, showing each object's subordinate objects in proper relation. +The +.Fl v +and +.Fl V +flags provide progressively more detailed output. .It Xo .Ic mv .Fl f -.Ar drive subdisk ... +.Ar drive subdisk +.Op Ar ... .Xc -Move the subdisk(s) to the specified drive. +Move the subdisk(s) to the specified drive. The +.Fl f +flag is required, as all data on the indicated subdisk(s) will be destroyed as part of the move. +.Pp +If the subdisk(s) form part of a RAID-5 plex, the disk(s) will need to be set to the 'up' state +and the plex will require a +.Ic rebuildparity +command; if the subdisk(s) form part of a plex that is mirrored with other plexes, the plex will +require restarting and will sync once restarted. Moving more than one subdisk in a RAID-5 plex +or subdisks from both sides of a mirrored plex volume will destroy data. Note that parity +rebuilds and syncing must be started manually after a move. .It Xo .Ic printconfig -.Op Ar file .Xc -Write a copy of the current configuration to standard output or to -.Ar file -if specified. +Write a copy of the current configuration to standard output. .It Xo .Ic quit .Xc @@ -103,19 +143,31 @@ .Ar drive | subdisk | plex | volume .Ar newname .Xc -Change the name of the specified object. +Change the name of the specified object. The +.Fl r +flag will recursively rename subordinate objects. +.Pp +Note that device nodes will not be renamed until +.Nm +is restarted. .It Xo .Ic rebuildparity +.Op Fl f .Ar plex .Xc -Rebuild the parity blocks of a RAID-5 plex. +Rebuild the parity blocks of a RAID-5 plex. The parity rebuild will start at the beginning of +the plex if the +.Fl f +flag is specified, or otherwise at the location of the parity check pointer. All subdisks in +the plex must be up for a parity check. .It Xo .Ic rm -.Op Fl f .Op Fl r .Ar volume | plex | subdisk .Xc -Remove an object. +Remove an object and, if +.Fl r +is specified, its subordinate objects. .It Xo .Ic saveconfig .Xc @@ -124,11 +176,14 @@ configuration to disk after configuration failures. .It Xo .Ic setstate +.Op Fl f .Ar state .Ar volume | plex | subdisk | drive .Xc Set state without influencing other objects, for diagnostic purposes -only. +only. The +.Fl f +flag forces state changes regardless of whether they are legal. .It Xo .Ic start .Xc @@ -153,7 +208,40 @@ .Sh OPTIONS .Nm commands may be followed by an option. -TODO +.Bl -tag -width indent +.It Fl f +The +.Fl f +.Pq Dq force +option overrides safety checks. It should be used with extreme caution. This option is required in order to use the +.Ic move +command. +.It Fl r +The +.Fl r +.Pq Dq recursive +option applies the command recursively to subordinate objects. For example, in conjunction with the +.Ic lv +command, the +.Fl r +option will also show information about the plexes and subdisks belonging to the volume. +It is also used by the +.Ic rename +command to indicate that subordinate objects such as subdisks should be renamed to match the object(s) specified and by the +.Ic rm +command to delete plexes belonging to a volume and so on. +.It Fl v +The +.Fl v +.Pq Dq verbose +option provides more detailed output. +.It Fl V +The +.Fl V +.Pq Dq very verbose +option provides even more detailed output than +.Fl v . +.El .Sh FILES .Bl -tag -width /dev/gvinum/plex .It Pa /dev/gvinum @@ -204,7 +292,10 @@ until reloaded. .Pp Moving subdisks that are not part of a mirrored or RAID-5 volume will -destroy data. +destroy data. It is perhaps a bug to permit this. +.Pp +Plexes in which subdisks have been moved do not automatically sync or +rebuild parity. This may leave data unprotected and is perhaps unwise. .Pp .Xr gvinum 8 does not yet fully implement all functions found in .Xr vinum 4 . Specifically, the following commands from From owner-p4-projects@FreeBSD.ORG Mon Aug 29 09:24:33 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A06116A421; Mon, 29 Aug 2005 09:24:33 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 D564216A41F for ; Mon, 29 Aug 2005 09:24:32 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 946C243D46 for ; Mon, 29 Aug 2005 09:24:32 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7T9OWxC032388 for ; Mon, 29 Aug 2005 09:24:32 GMT (envelope-from soc-cjones@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7T9OWJr032385 for perforce@freebsd.org; Mon, 29 Aug 2005 09:24:32 GMT (envelope-from soc-cjones@freebsd.org) Date: Mon, 29 Aug 2005 09:24:32 GMT Message-Id: <200508290924.j7T9OWJr032385@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-cjones@freebsd.org using -f From: soc-cjones To: Perforce Change Reviews Cc: Subject: PERFORCE change 82748 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Aug 2005 09:24:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=82748 Change 82748 by soc-cjones@soc-cjones_ishtar on 2005/08/29 09:23:34 start -S, move. Affected files ... .. //depot/projects/soc2005/gvinum/src/sbin/gvinum/gvinum.8#6 edit Differences ... ==== //depot/projects/soc2005/gvinum/src/sbin/gvinum/gvinum.8#6 (text+ko) ==== @@ -110,7 +110,7 @@ .Fl V flags provide progressively more detailed output. .It Xo -.Ic mv +.Ic move | mv .Fl f .Ar drive subdisk .Op Ar ... @@ -190,9 +190,12 @@ Read configuration from all vinum drives. .It Xo .Ic start +.Op Fl S Ar size .Ar volume | plex | subdisk .Xc -Allow the system to access the objects. +Allow the system to access the objects. The +.Fl S +flag is currently ignored. .El .Sh DESCRIPTION The @@ -291,6 +294,16 @@ .Pa /dev/gvinum until reloaded. .Pp +The +.Fl S +initsize flag to +.Ic start +is ignored. +.Pp +The +.Ic stop +command does not work. +.Pp Moving subdisks that are not part of a mirrored or RAID-5 volume will destroy data. It is perhaps a bug to permit this. .Pp From owner-p4-projects@FreeBSD.ORG Mon Aug 29 09:24:34 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C39D516A454; Mon, 29 Aug 2005 09:24:33 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 4042216A41F for ; Mon, 29 Aug 2005 09:24:33 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 07D2943D46 for ; Mon, 29 Aug 2005 09:24:33 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7T9OWS7032394 for ; Mon, 29 Aug 2005 09:24:32 GMT (envelope-from soc-cjones@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7T9OWTQ032391 for perforce@freebsd.org; Mon, 29 Aug 2005 09:24:32 GMT (envelope-from soc-cjones@freebsd.org) Date: Mon, 29 Aug 2005 09:24:32 GMT Message-Id: <200508290924.j7T9OWTQ032391@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-cjones@freebsd.org using -f From: soc-cjones To: Perforce Change Reviews Cc: Subject: PERFORCE change 82749 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Aug 2005 09:24:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=82749 Change 82749 by soc-cjones@soc-cjones_ishtar on 2005/08/29 09:24:12 Make 'help' conform to reality, add 'mv' as alias for 'move'. Affected files ... .. //depot/projects/soc2005/gvinum/src/sbin/gvinum/gvinum.c#8 edit Differences ... ==== //depot/projects/soc2005/gvinum/src/sbin/gvinum/gvinum.c#8 (text+ko) ==== @@ -365,50 +365,40 @@ gvinum_help(void) { printf("COMMANDS\n" - "checkparity plex [-f] [-v]\n" - " Check the parity blocks of a RAID-4 or RAID-5 plex.\n" - "create [-f] description-file\n" - " Create a volume as described in description-file.\n" - "init [-S size] [-w] plex | subdisk\n" - " Initialize the contents of a subdisk or all the subdisks" - " of a\n" - " plex to all zeros.\n" - "l | list [-r] [-s] [-v] [-V] [volume | plex | subdisk]\n" + "checkparity [-f] plex\n" + " Check the parity blocks of a RAID-5 plex.\n" + "create description-file\n" + " Create as per description-file or open editor.\n" + "l | list [-r] [-v] [-V] [volume | plex | subdisk]\n" " List information about specified objects.\n" - "ld [-r] [-s] [-v] [-V] [volume]\n" + "ld [-r] [-v] [-V] [volume]\n" " List information about drives.\n" - "ls [-r] [-s] [-v] [-V] [subdisk]\n" + "ls [-r] [-v] [-V] [subdisk]\n" " List information about subdisks.\n" - "lp [-r] [-s] [-v] [-V] [plex]\n" + "lp [-r] [-v] [-V] [plex]\n" " List information about plexes.\n" - "lv [-r] [-s] [-v] [-V] [volume]\n" + "lv [-r] [-v] [-V] [volume]\n" " List information about volumes.\n" "move | mv -f drive object ...\n" " Move the object(s) to the specified drive.\n" - "printconfig [file]\n" - " Write a copy of the current configuration to file.\n" "quit Exit the vinum program when running in interactive mode." " Nor-\n" " mally this would be done by entering the EOF character.\n" "rename [-r] [drive | subdisk | plex | volume] newname\n" " Change the name of the specified object.\n" - "rebuildparity plex [-f] [-v] [-V]\n" - " Rebuild the parity blocks of a RAID-4 or RAID-5 plex.\n" - "rm [-f] [-r] volume | plex | subdisk\n" + "rebuildparity plex [-f]\n" + " Rebuild the parity blocks of a RAID-5 plex.\n" + "rm [-r] volume | plex | subdisk\n" " Remove an object.\n" "saveconfig\n" " Save vinum configuration to disk after configuration" " failures.\n" - "setstate state [volume | plex | subdisk | drive]\n" + "setstate [-f] state [volume | plex | subdisk | drive]\n" " Set state without influencing other objects, for" " diagnostic pur-\n" " poses only.\n" - "start [-i interval] [-S size] [-w] volume | plex | subdisk\n" + "start [-S size] volume | plex | subdisk\n" " Allow the system to access the objects.\n" - "stop [-f] [volume | plex | subdisk]\n" - " Terminate access to the objects, or stop vinum if no" - " parameters\n" - " are specified.\n" ); return; @@ -967,6 +957,8 @@ gvinum_list(argc, argv); else if (!strcmp(argv[0], "move")) gvinum_move(argc, argv); + else if (!strcmp(argv[0], "mv")) + gvinum_move(argc, argv); else if (!strcmp(argv[0], "printconfig")) gvinum_printconfig(argc, argv); else if (!strcmp(argv[0], "rename")) From owner-p4-projects@FreeBSD.ORG Mon Aug 29 09:28:41 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D310F16A421; Mon, 29 Aug 2005 09:28:40 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 8790C16A41F for ; Mon, 29 Aug 2005 09:28:40 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5001743D55 for ; Mon, 29 Aug 2005 09:28:40 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7T9SdZc032555 for ; Mon, 29 Aug 2005 09:28:40 GMT (envelope-from soc-cjones@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7T9Sdbe032552 for perforce@freebsd.org; Mon, 29 Aug 2005 09:28:39 GMT (envelope-from soc-cjones@freebsd.org) Date: Mon, 29 Aug 2005 09:28:39 GMT Message-Id: <200508290928.j7T9Sdbe032552@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-cjones@freebsd.org using -f From: soc-cjones To: Perforce Change Reviews Cc: Subject: PERFORCE change 82750 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Aug 2005 09:28:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=82750 Change 82750 by soc-cjones@soc-cjones_ishtar on 2005/08/29 09:28:23 Update for beta 1. Affected files ... .. //depot/projects/soc2005/gvinum/README#3 edit Differences ... ==== //depot/projects/soc2005/gvinum/README#3 (text+ko) ==== @@ -1,9 +1,9 @@ -gvinum move / rename, alpha 2 19 August 2005 +gvinum move / rename, beta 1 29 August 2005 ============================= Instructions: - * Fetch http://www.ualberta.ca/~cdjones/geom_vinum_move_rename_alpha2.tgz + * Fetch http://www.ualberta.ca/~cdjones/geom_vinum_move_rename_beta1.tgz * Unpack it somewhere safe and out of the way. @@ -28,10 +28,8 @@ * This'll spam your console with debugging output. I prefer to think of this as a feature. ;) - * syncing a volume where one plex's sd has been moved dies, because - the new sd's consumer is NULL. - * gvinum move will lose data when you have a striped (as opposed to - mirrored) configuration and you move a subdisk. + mirrored) configuration and you move a subdisk. This is intended. - * geom providers are not renamed after a gvinum rename + * device names in /dev/gvinums are not renamed after a gvinum rename. + This is a GEOM issue. From owner-p4-projects@FreeBSD.ORG Mon Aug 29 09:46:02 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 40DF216A421; Mon, 29 Aug 2005 09:46:02 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 EDFF716A41F for ; Mon, 29 Aug 2005 09:46:01 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B4C5343D49 for ; Mon, 29 Aug 2005 09:46:01 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7T9k1Y4033271 for ; Mon, 29 Aug 2005 09:46:01 GMT (envelope-from soc-cjones@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7T9k11h033268 for perforce@freebsd.org; Mon, 29 Aug 2005 09:46:01 GMT (envelope-from soc-cjones@freebsd.org) Date: Mon, 29 Aug 2005 09:46:01 GMT Message-Id: <200508290946.j7T9k11h033268@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-cjones@freebsd.org using -f From: soc-cjones To: Perforce Change Reviews Cc: Subject: PERFORCE change 82751 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Aug 2005 09:46:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=82751 Change 82751 by soc-cjones@soc-cjones_ishtar on 2005/08/29 09:46:00 Example configuration files for gvinum. Affected files ... .. //depot/projects/soc2005/gvinum/docs/examples/gvinum_lvm.txt#1 add .. //depot/projects/soc2005/gvinum/docs/examples/gvinum_raid0.txt#1 add .. //depot/projects/soc2005/gvinum/docs/examples/gvinum_raid1.txt#1 add .. //depot/projects/soc2005/gvinum/docs/examples/gvinum_raid5.txt#1 add .. //depot/projects/soc2005/gvinum/docs/handbook/chapter.sgml#2 edit .. //depot/projects/soc2005/gvinum/src/sys/geom/geom_subr.c#2 edit .. //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_init.c#2 edit .. //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_list.c#2 edit Differences ... ==== //depot/projects/soc2005/gvinum/docs/handbook/chapter.sgml#2 (text+ko) ==== ==== //depot/projects/soc2005/gvinum/src/sys/geom/geom_subr.c#2 (text+ko) ==== @@ -577,17 +577,25 @@ int error; g_topology_assert(); + printf("g_attach: asserted topology\n"); G_VALID_CONSUMER(cp); + printf("g_attach: checked cp=%x's validity\n", cp); G_VALID_PROVIDER(pp); + printf("g_attach: checked pp=%x's validity\n", pp); KASSERT(cp->provider == NULL, ("attach but attached")); cp->provider = pp; + printf("g_attach: set cp's provider\n"); LIST_INSERT_HEAD(&pp->consumers, cp, consumers); error = redo_rank(cp->geom); + printf("g_attach: inserted cp, error=%d\n", error); if (error) { LIST_REMOVE(cp, consumers); + printf("g_attach: LIST_REMOVE\n"); cp->provider = NULL; redo_rank(cp->geom); + printf("g_attach: redo_rank\n"); } + printf("g_attach: returning\n"); return (error); } ==== //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_init.c#2 (text+ko) ==== @@ -476,8 +476,12 @@ from = sync->from->consumer; to = sync->to->consumer; + printf("gv_sync_td: from=%p, to=%p)\n", from, to); + p = sync->to; + printf("gv_sync_td: plex '%s'\n", p->name); + if (p->flags & GV_PLEX_SYNCING) { printf("GEOM_VINUM: plex '%s' is already syncing.\n", p->name); g_free(sync); @@ -489,8 +493,11 @@ error = 0; + printf("gv_sync_td: locking topology\n"); g_topology_lock(); + printf("gv_sync_td: locked topology\n"); error = g_access(from, 1, 0, 0); + printf("g_access(from, 1, 0, 0) error = %d\n", error); if (error) { g_topology_unlock(); printf("GEOM_VINUM: sync from '%s' failed to access " @@ -499,6 +506,7 @@ kthread_exit(error); } error = g_access(to, 0, 1, 0); + printf("g_access(to, 0, 1, 0) error = %d\n", error); if (error) { g_access(from, -1, 0, 0); g_topology_unlock(); @@ -507,12 +515,15 @@ g_free(sync); kthread_exit(error); } + printf("gv_sync_td: unlocking topology\n"); g_topology_unlock(); + printf("gv_sync_td: unlocked topology\n"); printf("GEOM_VINUM: plex sync %s -> %s started\n", sync->from->name, sync->to->name); for (i = 0; i < p->size; i+= sync->syncsize) { /* Read some bits from the good plex. */ + printf("g_read_data(%p, %lld, %lld, --)\n", from, (long long int) i, (long long int) sync->syncsize); buf = g_read_data(from, i, sync->syncsize, &error); if (buf == NULL) { printf("GEOM_VINUM: sync read from '%s' failed at " ==== //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_list.c#2 (text+ko) ==== @@ -330,6 +330,8 @@ LIST_FOREACH(s, &p->subdisks, in_plex) gv_lsi(s, sb, flags); } + + printf("gv_lpi: plex %s size %lld\n", p->name, (long long) p->size); } /* List one or more subdisks. */ @@ -359,6 +361,8 @@ void gv_lsi(struct gv_sd *s, struct sbuf *sb, int flags) { + printf("gv_lsi: subdisk '%s', consumer %p, provider %p, size %lld\n", s->name, s->consumer, s->provider, (long long) s->size); + if (flags & GV_FLAG_V) { sbuf_printf(sb, "Subdisk %s:\n", s->name); sbuf_printf(sb, "\t\tSize: %16jd bytes (%jd MB)\n", From owner-p4-projects@FreeBSD.ORG Mon Aug 29 09:48:05 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 440E316A421; Mon, 29 Aug 2005 09:48:05 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 03CF216A41F for ; Mon, 29 Aug 2005 09:48:05 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B3AA443D45 for ; Mon, 29 Aug 2005 09:48:04 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7T9m4Ui033364 for ; Mon, 29 Aug 2005 09:48:04 GMT (envelope-from soc-cjones@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7T9m4ja033361 for perforce@freebsd.org; Mon, 29 Aug 2005 09:48:04 GMT (envelope-from soc-cjones@freebsd.org) Date: Mon, 29 Aug 2005 09:48:04 GMT Message-Id: <200508290948.j7T9m4ja033361@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-cjones@freebsd.org using -f From: soc-cjones To: Perforce Change Reviews Cc: Subject: PERFORCE change 82752 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Aug 2005 09:48:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=82752 Change 82752 by soc-cjones@soc-cjones_ishtar on 2005/08/29 09:47:22 Add pointer to examples. Affected files ... .. //depot/projects/soc2005/gvinum/README#4 edit Differences ... ==== //depot/projects/soc2005/gvinum/README#4 (text+ko) ==== @@ -21,7 +21,7 @@ * (reboot to get the kld in place if you already have geom_vinum loaded; for some reason, geom_vinum doesn't seem to want to unload.) - * Go nuts! + * Go nuts! Example configurations are under docs/examples/. Known Issues: From owner-p4-projects@FreeBSD.ORG Mon Aug 29 10:00:20 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5CDF016A421; Mon, 29 Aug 2005 10:00:20 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 2EE4316A41F for ; Mon, 29 Aug 2005 10:00:20 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DC9D043D49 for ; Mon, 29 Aug 2005 10:00:19 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7TA0Jtd033908 for ; Mon, 29 Aug 2005 10:00:19 GMT (envelope-from soc-cjones@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7TA0Jog033905 for perforce@freebsd.org; Mon, 29 Aug 2005 10:00:19 GMT (envelope-from soc-cjones@freebsd.org) Date: Mon, 29 Aug 2005 10:00:19 GMT Message-Id: <200508291000.j7TA0Jog033905@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-cjones@freebsd.org using -f From: soc-cjones To: Perforce Change Reviews Cc: Subject: PERFORCE change 82753 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Aug 2005 10:00:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=82753 Change 82753 by soc-cjones@soc-cjones_ides on 2005/08/29 09:59:42 Build manpage by default. Affected files ... .. //depot/projects/soc2005/gvinum/src/sbin/gvinum/Makefile#3 edit Differences ... ==== //depot/projects/soc2005/gvinum/src/sbin/gvinum/Makefile#3 (text+ko) ==== @@ -2,7 +2,7 @@ PROG= gvinum SRCS= gvinum.c gvinum.h geom_vinum_share.c -NOMAN= # not yet +MAN= gvinum.8 CFLAGS+= -I${.CURDIR}/../../sys From owner-p4-projects@FreeBSD.ORG Mon Aug 29 10:15:42 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CB8C016A423; Mon, 29 Aug 2005 10:15:39 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 87A5B16A422 for ; Mon, 29 Aug 2005 10:15:39 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 37FAE43D45 for ; Mon, 29 Aug 2005 10:15:39 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7TAFdG3035150 for ; Mon, 29 Aug 2005 10:15:39 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7TAFcEa035147 for perforce@freebsd.org; Mon, 29 Aug 2005 10:15:38 GMT (envelope-from soc-victor@freebsd.org) Date: Mon, 29 Aug 2005 10:15:38 GMT Message-Id: <200508291015.j7TAFcEa035147@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 82755 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Aug 2005 10:15:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=82755 Change 82755 by soc-victor@soc-victor_82.76.158.176 on 2005/08/29 10:14:42 Handling for the corner situation of "duplicate UDP endpoints": distinct UDP endpoints with the same (local_address, local_port). This is for the deprecated udpTable which can't handle this case. Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/Makefile#5 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/udp46_snmp.c#3 edit Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/Makefile#5 (text+ko) ==== @@ -37,7 +37,7 @@ WARNS?= 6 #Not having NDEBUG defined will enable assertions and a lot of output on stderr -#CFLAGS+= -DNDEBUG +CFLAGS+= -DNDEBUG XSYM= tcpMIB udpMIB ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/udp46_snmp.c#3 (text+ko) ==== @@ -92,6 +92,33 @@ return result; } +/* + * Used to check if the enpoint is already in the oid list + * (for the deprecated table - it doesn't have the capability + * to handle duplicate endpoints) + * Returns 1 if the new endpoint is alreadsy in the table, + * 0 if it is not + */ +static +int check_duplicate_endpoint4(const struct xinpcb *inp) { + struct udp_index *_oid = NULL; + u_int i = 0; + assert(inp != NULL); + for (i = 0, _oid = tcp_udp46_state_g.udp4oids; + i < tcp_udp46_state_g.udp4_total; + i++, _oid++) { + if ( _oid->inp == NULL) { + continue; + } + if ( inp->xi_inp.inp_laddr.s_addr == _oid->inp->xi_inp.inp_laddr.s_addr + && inp->xi_inp.inp_lport == _oid->inp->xi_inp.inp_lport) { + return (1); /*duplicate endpoint found*/ + } + } + return (0); + +} + int fetch_udp(void) { @@ -197,15 +224,20 @@ continue; } if ((inp->xi_inp.inp_vflag & INP_IPV4) == INP_IPV4 && inp->xi_inp.inp_lport != 0) { - oid->inp = inp; - oid->index.len = 5; - inaddr = ntohl(inp->xi_inp.inp_laddr.s_addr); - oid->index.subs[0] = (inaddr >> 24) & 0xff; - oid->index.subs[1] = (inaddr >> 16) & 0xff; - oid->index.subs[2] = (inaddr >> 8) & 0xff; - oid->index.subs[3] = (inaddr >> 0) & 0xff; - oid->index.subs[4] = ntohs(inp->xi_inp.inp_lport); - oid++; + if (check_duplicate_endpoint4(inp) == 1) { + assert(tcp_udp46_state_g.udp4_total > 1); + tcp_udp46_state_g.udp4_total--; + } else { + oid->inp = inp; + oid->index.len = 5; + inaddr = ntohl(inp->xi_inp.inp_laddr.s_addr); + oid->index.subs[0] = (inaddr >> 24) & 0xff; + oid->index.subs[1] = (inaddr >> 16) & 0xff; + oid->index.subs[2] = (inaddr >> 8) & 0xff; + oid->index.subs[3] = (inaddr >> 0) & 0xff; + oid->index.subs[4] = ntohs(inp->xi_inp.inp_lport); + oid++; + } } } From owner-p4-projects@FreeBSD.ORG Mon Aug 29 13:10:12 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2C15716A421; Mon, 29 Aug 2005 13:10:12 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 DF1C716A41F for ; Mon, 29 Aug 2005 13:10:11 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8550043D45 for ; Mon, 29 Aug 2005 13:10:11 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7TDABpW051120 for ; Mon, 29 Aug 2005 13:10:11 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7TDABRs051117 for perforce@freebsd.org; Mon, 29 Aug 2005 13:10:11 GMT (envelope-from soc-victor@freebsd.org) Date: Mon, 29 Aug 2005 13:10:11 GMT Message-Id: <200508291310.j7TDABRs051117@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 82761 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Aug 2005 13:10:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=82761 Change 82761 by soc-victor@soc-victor_82.76.158.176 on 2005/08/29 13:09:44 SNMP instrumentation (first step) for the new udpEndpointTable (combined v4 & v6). MIB semantic is not fully implemented yet. Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/Makefile#6 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp46_snmp.c#5 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46.h#3 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46_common.c#3 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/udp46_snmp.c#4 edit Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/Makefile#6 (text+ko) ==== @@ -43,6 +43,8 @@ DEFS= ${MOD}_tree.def -BMIBS= TCP-MIB.txt UDP-MIB.txt INET-ADDRESS-MIB.txt +BMIBS= TCP-MIB.txt \ + UDP-MIB.txt \ + INET-ADDRESS-MIB.txt .include ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp46_snmp.c#5 (text+ko) ==== @@ -125,14 +125,6 @@ TCPS_deleteTCB = 12 }; -enum InetAddressType { - IAT_unknown = 0, - IAT_ipv4 = 1, - IAT_ipv6 = 2, - IAT_ipv4z = 3, - IAT_ipv6z = 4, - IAT_dns = 16 -}; @@ -1360,8 +1352,7 @@ case LEAF_tcpListenerProcess: /*this is from hrSWRunTable, where the index is pid + 1 */ - /*FIX ME: this doesn't work*/ - value->v.integer = ( tcp_udp46_state_g.listen_tcpoids[i].so_pgid == 0 ? 0 : + value->v.uint32 = ( tcp_udp46_state_g.listen_tcpoids[i].so_pgid == 0 ? 0 : tcp_udp46_state_g.listen_tcpoids[i].so_pgid + 1 ); break; default: ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46.h#3 (text+ko) ==== @@ -57,8 +57,19 @@ #define TCP46_DPRINTF(ARGS) #endif /*NDEBUG*/ +enum InetAddressType { + IAT_unknown = 0, + IAT_ipv4 = 1, + IAT_ipv6 = 2, + IAT_ipv4z = 3, + IAT_ipv6z = 4, + IAT_dns = 16 +}; + + + /* - * Structure used to hold info about one tcp[4,6} connection + * Structure used to hold info about one tcp{4,6} connection * for both active and passive entries */ struct tcp_index { @@ -68,33 +79,40 @@ }; /* - * Structure used to hold info about one udp[4,6} + * Structure used to hold info about one udp{4,6} * endpoint */ struct udp_index { struct asn_oid index; struct xinpcb *inp; + pid_t so_pgid; }; struct tcp_udp46_state { struct clockinfo clock_info; - uint64_t tcp_tick; /*agent tick when this struct was last updated*/ + uint64_t tcp_tick; /*agent tick when this struct was + last updated*/ struct tcpstat tcpstat; /*holder for tcp stats*/ - struct xinpgen *tcp_xinpgen; /*holder for data get via sysctl; malloc'd*/ + struct xinpgen *tcp_xinpgen; /*holder for data get via sysctl; + malloc'd*/ size_t tcp_xinpgen_len; /*the allocated len of the above vector */ u_int tcp_estab_count; /*value for the scalar named tcpCurrEstab*/ u_int tcp4_total; /*the number of tcp4 entries*/ - u_int all_tcp_total; /*the number of tcp4 and tcp6 entries (without listeners)*/ - u_int listen_tcp_total; /*the number of tcp4 and tcp6 entries in listen state*/ + u_int all_tcp_total; /*the number of tcp4 and tcp6 + entries (without listeners)*/ + u_int listen_tcp_total; /*the number of tcp4 and tcp6 entries + in listen state*/ struct tcp_index *tcp4oids; /*snmp vector for the tcp4 table; malloc'd*/ size_t tcp4oids_len; /*the allocated len of the above vector */ - struct tcp_index *all_tcpoids; /*snmp vector for the unified v4 and v6 tcp table; malloc'd*/ + struct tcp_index *all_tcpoids; /*snmp vector for the unified v4 and v6 + tcp table; malloc'd*/ size_t all_tcpoids_len; /*the allocated len of the above vector */ - struct tcp_index *listen_tcpoids; /*snmp vector for the unified v4 and v6 listners tcp table; malloc'd*/ + struct tcp_index *listen_tcpoids; /*snmp vector for the unified v4 and v6 listners + tcp table; malloc'd*/ size_t listen_tcpoids_len; /*the allocated len of the above vector */ uint64_t udp_tick; @@ -102,11 +120,13 @@ struct xinpgen *udp_xinpgen; size_t udp_xinpgen_len; u_int udp4_total; - + u_int all_udp_total; struct udp_index *udp4oids; size_t udp4oids_len; + struct udp_index *all_udpoids; + size_t all_udpoids_len; struct xfile *xfiles; ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46_common.c#3 (text+ko) ==== @@ -130,7 +130,14 @@ tcp_udp46_state_g.udp4oids_len = 0; } + if (tcp_udp46_state_g.all_udpoids != NULL && tcp_udp46_state_g.all_udpoids_len > 0) { + free(tcp_udp46_state_g.all_udpoids); + tcp_udp46_state_g.all_udpoids = NULL; + tcp_udp46_state_g.all_udpoids_len = 0; + } + + /*XFILES zone*/ if (tcp_udp46_state_g.xfiles != NULL && tcp_udp46_state_g.xfiles_len > 0 ) { free(tcp_udp46_state_g.xfiles); tcp_udp46_state_g.xfiles = NULL; @@ -212,7 +219,7 @@ if (fetch_udp() == -1) { - syslog(LOG_ERR, "Failed to fetch the UDP data in tcp-udp46 module." ); + syslog(LOG_ERR, "Failed to fetch the UDP data in tcp_udp46 module." ); } TCP46_DPRINTF((stderr, "[%s] done.\n ", __func__)); ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/udp46_snmp.c#4 (text+ko) ==== @@ -92,6 +92,24 @@ return result; } +static +pid_t +get_endpoint_pid(const struct xinpcb *inp) { + struct xfile *xf = NULL; + u_int n = 0; + assert(inp != NULL); + + for (xf = tcp_udp46_state_g.xfiles, n = 0; n < tcp_udp46_state_g.xfiles_total; ++n, ++xf) { + if (xf->xf_data == NULL) { + continue; + } + if (xf->xf_data == (void *)inp->xi_socket.xso_so) { + return (xf->xf_pid); + } + } + return ((pid_t)0); +} + /* * Used to check if the enpoint is already in the oid list * (for the deprecated table - it doesn't have the capability @@ -103,7 +121,12 @@ int check_duplicate_endpoint4(const struct xinpcb *inp) { struct udp_index *_oid = NULL; u_int i = 0; + + assert(inp != NULL); + + + for (i = 0, _oid = tcp_udp46_state_g.udp4oids; i < tcp_udp46_state_g.udp4_total; i++, _oid++) { @@ -119,6 +142,117 @@ } +static +int +handle_new_endpoint4(struct udp_index *all_oid, const struct xinpcb *inp) { + struct udp_index *_oid = NULL; + u_int i = 0; + pid_t pid_owner = 0; + in_addr_t inaddr; + u_int instance = 1; + + assert(inp != NULL); + + pid_owner = get_endpoint_pid(inp); + + for (i = 0, _oid = tcp_udp46_state_g.all_udpoids; + i < tcp_udp46_state_g.all_udp_total; + i++, _oid++) { + if ( _oid->inp == NULL) { + continue; + } + if ( _oid->index.subs[0] == IAT_ipv4 + && inp->xi_inp.inp_laddr.s_addr == _oid->inp->xi_inp.inp_laddr.s_addr + && inp->xi_inp.inp_lport == _oid->inp->xi_inp.inp_lport + && inp->xi_inp.inp_faddr.s_addr == _oid->inp->xi_inp.inp_faddr.s_addr + && inp->xi_inp.inp_fport == _oid->inp->xi_inp.inp_fport) { + + if ( pid_owner != _oid->so_pgid ) { + instance++; + } else { + return (1); /*duplicate endpoint found*/ + } + } + } + all_oid->index.len = 13; + all_oid->index.subs[0] = IAT_ipv4; + inaddr = ntohl(inp->xi_inp.inp_laddr.s_addr); + all_oid->index.subs[1] = (inaddr >> 24) & 0xff; + all_oid->index.subs[2] = (inaddr >> 16) & 0xff; + all_oid->index.subs[3] = (inaddr >> 8) & 0xff; + all_oid->index.subs[4] = (inaddr >> 0) & 0xff; + all_oid->index.subs[5] = ntohs(inp->xi_inp.inp_lport); + all_oid->index.subs[6] = IAT_ipv4; + inaddr = ntohl(inp->xi_inp.inp_faddr.s_addr); + all_oid->index.subs[7] = (inaddr >> 24) & 0xff; + all_oid->index.subs[8] = (inaddr >> 16) & 0xff; + all_oid->index.subs[9] = (inaddr >> 8) & 0xff; + all_oid->index.subs[10] = (inaddr >> 0) & 0xff; + all_oid->index.subs[11] = ntohs(inp->xi_inp.inp_fport); + all_oid->index.subs[12] = instance; + all_oid->so_pgid = pid_owner; + + + return (0); + +} + + +static +int +handle_new_endpoint6(struct udp_index *all_oid, const struct xinpcb *inp) { + struct udp_index *_oid = NULL; + u_int i = 0; + pid_t pid_owner = 0; + u_int instance = 1; + + assert(inp != NULL); + + pid_owner = get_endpoint_pid(inp); + + for (i = 0, _oid = tcp_udp46_state_g.all_udpoids; + i < tcp_udp46_state_g.all_udp_total; + i++, _oid++) { + if ( _oid->inp == NULL) { + continue; + } + if ( _oid->index.subs[0] == IAT_ipv6 + && IN6_ARE_ADDR_EQUAL(&inp->xi_inp.in6p_laddr, + &_oid->inp->xi_inp.in6p_laddr) == 0 + && inp->xi_inp.in6p_lport == _oid->inp->xi_inp.in6p_lport + && IN6_ARE_ADDR_EQUAL(&inp->xi_inp.in6p_faddr, + &_oid->inp->xi_inp.in6p_faddr) == 0 + && inp->xi_inp.inp_fport == _oid->inp->xi_inp.inp_fport) { + + if ( pid_owner != _oid->so_pgid ) { + instance++; + } else { + return (1); /*duplicate endpoint found*/ + } + } + } + all_oid->index.len = 37; + + all_oid->index.subs[0] = IAT_ipv6; + for (i=0; i<16; i++) { + all_oid->index.subs[1+i] = inp->xi_inp.in6p_laddr.s6_addr[i]; + all_oid->index.subs[19+i] = inp->xi_inp.in6p_faddr.s6_addr[i]; + } + all_oid->index.subs[17] = ntohs(inp->xi_inp.in6p_lport); + all_oid->index.subs[18] = IAT_ipv6; + all_oid->index.subs[35] = ntohs(inp->xi_inp.in6p_fport); + all_oid->index.subs[36] = instance; + + + all_oid->so_pgid = pid_owner; + + + return (0); + +} + + + int fetch_udp(void) { @@ -126,6 +260,7 @@ struct xinpgen *ptr = NULL; struct xinpcb *inp = NULL; struct udp_index *oid = NULL; + struct udp_index *all_oid = NULL; in_addr_t inaddr; len = sizeof(tcp_udp46_state_g.udpstat); @@ -166,6 +301,13 @@ tcp_udp46_state_g.udp4_total = 0; + tcp_udp46_state_g.all_udp_total = 0; + + if (fetch_xfiles() != 0) { + TCP46_DPRINTF((stderr, "[%s] Failed to fetch the xfiles\n ", __func__ )); + } + + ptr = (struct xinpgen *)tcp_udp46_state_g.udp_xinpgen; for (ptr = (struct xinpgen *)((char *)ptr + ptr->xig_len); ptr->xig_len > sizeof(struct xinpgen); @@ -180,10 +322,19 @@ if (inp->xi_inp.inp_gencnt > tcp_udp46_state_g.udp_xinpgen->xig_gen) { continue; } + + if ( inp->xi_inp.inp_lport == 0 ) { + continue; + } + + if ((inp->xi_inp.inp_vflag & INP_IPV4) == INP_IPV4 ) { + tcp_udp46_state_g.udp4_total++; + } - if ((inp->xi_inp.inp_vflag & INP_IPV4) == INP_IPV4 && inp->xi_inp.inp_lport != 0){ - tcp_udp46_state_g.udp4_total++; + if ((inp->xi_inp.inp_vflag & (INP_IPV6 | INP_IPV6PROTO | INP_IPV4)) != 0) { + tcp_udp46_state_g.all_udp_total++; } + } if (tcp_udp46_state_g.udp4oids_len < tcp_udp46_state_g.udp4_total) { @@ -198,16 +349,36 @@ tcp_udp46_state_g.udp4oids_len = tcp_udp46_state_g.udp4_total; } - TCP46_DPRINTF((stderr, "[%s] Got %d udp4 endpoints, %d udp{4,6} endpoints.\n ", + if (tcp_udp46_state_g.all_udpoids_len < tcp_udp46_state_g.all_udp_total) { + all_oid = realloc(tcp_udp46_state_g.all_udpoids, + tcp_udp46_state_g.all_udp_total * sizeof(struct udp_index)); + if (all_oid == NULL) { + free(tcp_udp46_state_g.all_udpoids); + tcp_udp46_state_g.all_udpoids_len = 0; + return (0); + } + tcp_udp46_state_g.all_udpoids = all_oid; + tcp_udp46_state_g.all_udpoids_len = tcp_udp46_state_g.all_udp_total; + } + + + TCP46_DPRINTF((stderr, + "[%s] Got %d udp4 endpoints, %d udp{4,6} endpoints.\n", __func__, tcp_udp46_state_g.udp4_total, - 0)); + tcp_udp46_state_g.all_udp_total)); /*Finally fill in the SNMP indexes*/ memset(tcp_udp46_state_g.udp4oids, 0, tcp_udp46_state_g.udp4_total * sizeof(struct udp_index) ); + memset(tcp_udp46_state_g.all_udpoids, 0, + tcp_udp46_state_g.all_udp_total * sizeof(struct udp_index) ); + + oid = tcp_udp46_state_g.udp4oids; + all_oid = tcp_udp46_state_g.all_udpoids; + ptr = (struct xinpgen *)tcp_udp46_state_g.udp_xinpgen; for (ptr = (struct xinpgen *)((char *)ptr + ptr->xig_len); ptr->xig_len > sizeof(struct xinpgen); @@ -223,7 +394,12 @@ if (inp->xi_inp.inp_gencnt > tcp_udp46_state_g.udp_xinpgen->xig_gen) { continue; } - if ((inp->xi_inp.inp_vflag & INP_IPV4) == INP_IPV4 && inp->xi_inp.inp_lport != 0) { + + if ( inp->xi_inp.inp_lport == 0 ) { + continue; + } + + if ((inp->xi_inp.inp_vflag & INP_IPV4) == INP_IPV4 ) { if (check_duplicate_endpoint4(inp) == 1) { assert(tcp_udp46_state_g.udp4_total > 1); tcp_udp46_state_g.udp4_total--; @@ -238,13 +414,41 @@ oid->index.subs[4] = ntohs(inp->xi_inp.inp_lport); oid++; } + + if (handle_new_endpoint4(all_oid, inp) == 0){ + all_oid->inp = inp; + all_oid++; + } else { + assert(tcp_udp46_state_g.all_udp_total > 1); + tcp_udp46_state_g.all_udp_total--; + } + } + + if ((inp->xi_inp.inp_vflag & (INP_IPV6 | INP_IPV6PROTO )) != 0 ) { + if (handle_new_endpoint6(all_oid, inp) == 0){ + all_oid->inp = inp; + all_oid++; + } else { + assert(tcp_udp46_state_g.all_udp_total > 1); + tcp_udp46_state_g.all_udp_total--; + } + + } + + + } qsort(tcp_udp46_state_g.udp4oids, tcp_udp46_state_g.udp4_total, sizeof(struct udp_index), udp_compare); + qsort(tcp_udp46_state_g.all_udpoids, + tcp_udp46_state_g.all_udp_total, + sizeof(struct udp_index), udp_compare); + + return (0); } @@ -297,10 +501,12 @@ value->v.uint32 = tcp_udp46_state_g.udpstat.udps_opackets; break; case LEAF_udpHCInDatagrams: - value->v.counter64 = tcp_udp46_state_g.udpstat.udps_ipackets; /*FIX ME: need 64-bit stats*/ + /*FIX ME: need 64-bit stats*/ + value->v.counter64 = tcp_udp46_state_g.udpstat.udps_ipackets; break; case LEAF_udpHCOutDatagrams: - value->v.counter64 = tcp_udp46_state_g.udpstat.udps_opackets; /*FIX ME: need 64-bit stats*/ + /*FIX ME: need 64-bit stats*/ + value->v.counter64 = tcp_udp46_state_g.udpstat.udps_opackets; break; } @@ -322,7 +528,8 @@ case SNMP_OP_GETNEXT: for (i = 0; i < tcp_udp46_state_g.udp4_total; i++) - if (index_compare(&value->var, sub, &tcp_udp46_state_g.udp4oids[i].index) < 0) + if (index_compare(&value->var, sub, + &tcp_udp46_state_g.udp4oids[i].index) < 0) break; if (i == tcp_udp46_state_g.udp4_total) return (SNMP_ERR_NOSUCHNAME); @@ -331,7 +538,8 @@ case SNMP_OP_GET: for (i = 0; i < tcp_udp46_state_g.udp4_total; i++) - if (index_compare(&value->var, sub, &tcp_udp46_state_g.udp4oids[i].index) == 0) + if (index_compare(&value->var, sub, + &tcp_udp46_state_g.udp4oids[i].index) == 0) break; if (i == tcp_udp46_state_g.udp4_total) return (SNMP_ERR_NOSUCHNAME); @@ -364,8 +572,59 @@ } int -op_udpEndpointTable(struct snmp_context *ctx __unused, struct snmp_value *value __unused, - u_int sub __unused, u_int iidx __unused, enum snmp_op op __unused) { - return (SNMP_ERR_NOSUCHNAME); +op_udpEndpointTable(struct snmp_context *ctx __unused, struct snmp_value *value, + u_int sub, u_int iidx __unused, enum snmp_op op) +{ + u_int i; + + if (tcp_udp46_state_g.udp_tick < this_tick) + if (fetch_udp() == -1) + return (SNMP_ERR_GENERR); + + switch (op) { + + case SNMP_OP_GETNEXT: + for (i = 0; i < tcp_udp46_state_g.all_udp_total; i++) + if (index_compare(&value->var, sub, + &tcp_udp46_state_g.all_udpoids[i].index) < 0) + break; + if (i == tcp_udp46_state_g.all_udp_total) + return (SNMP_ERR_NOSUCHNAME); + index_append(&value->var, sub, &tcp_udp46_state_g.all_udpoids[i].index); + break; + + case SNMP_OP_GET: + for (i = 0; i < tcp_udp46_state_g.all_udp_total; i++) + if (index_compare(&value->var, sub, + &tcp_udp46_state_g.all_udpoids[i].index) == 0) + break; + if (i == tcp_udp46_state_g.all_udp_total) + return (SNMP_ERR_NOSUCHNAME); + break; + + case SNMP_OP_SET: + return (SNMP_ERR_NOT_WRITEABLE); + + case SNMP_OP_ROLLBACK: + case SNMP_OP_COMMIT: + default: + abort(); + } + + switch (value->var.subs[sub - 1]) { + + case LEAF_udpEndpointProcess: + /*this is from hrSWRunTable, where the index is pid + 1 */ + value->v.uint32 = (tcp_udp46_state_g.all_udpoids[i].so_pgid == 0 ? 0 : + tcp_udp46_state_g.all_udpoids[i].so_pgid + 1); + break; + + default: + return (SNMP_ERR_NOSUCHNAME); + + + } + return (SNMP_ERR_NOERROR); + } From owner-p4-projects@FreeBSD.ORG Mon Aug 29 16:14:01 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BE59416A421; Mon, 29 Aug 2005 16:14:00 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 959A216A41F for ; Mon, 29 Aug 2005 16:14:00 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7BFA143D5C for ; Mon, 29 Aug 2005 16:13:58 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7TGDwi0071972 for ; Mon, 29 Aug 2005 16:13:58 GMT (envelope-from soc-bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7TGDwGK071969 for perforce@freebsd.org; Mon, 29 Aug 2005 16:13:58 GMT (envelope-from soc-bushman@freebsd.org) Date: Mon, 29 Aug 2005 16:13:58 GMT Message-Id: <200508291613.j7TGDwGK071969@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-bushman@freebsd.org using -f From: soc-bushman To: Perforce Change Reviews Cc: Subject: PERFORCE change 82772 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Aug 2005 16:14:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=82772 Change 82772 by soc-bushman@soc-bushman_stinger on 2005/08/29 16:13:34 changes to conform style(9) guidelines Affected files ... .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/Makefile#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/cached.8#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/cached.c#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/cached.conf#4 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/cached.conf.5#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/config.c#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/config.h#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/debug.c#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/debug.h#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/log.c#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/log.h#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/mp_rs_query.c#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/mp_rs_query.h#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/mp_ws_query.c#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/mp_ws_query.h#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/parser.c#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/parser.h#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/protocol.c#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/protocol.h#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/query.c#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/query.h#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/singletons.c#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/singletons.h#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/cachelib/Makefile#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/cachelib/cachelib.c#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/cachelib/hashfuncs.c#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/cachelib/hashfuncs.h#3 delete .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/cachelib/hashtable.c#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/cachelib/hashtable.h#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/cachelib/include/cachelib.h#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/cachelib/policies.c#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/cachelib/policies.h#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/test/Makefile#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/test/debug.c#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/test/debug.h#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/test/test.c#3 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/test/test.h#3 edit .. //depot/projects/soc2005/nsswitch_cached/src/include/nscache.h#3 edit .. //depot/projects/soc2005/nsswitch_cached/src/include/nscachedcli.h#3 edit .. //depot/projects/soc2005/nsswitch_cached/src/include/nsswitch.h#8 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/gen/getgrent.c#5 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/gen/getpwent.c#6 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getaddrinfo.c#4 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/gethostnamadr.c#3 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getprotoent.c#6 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getservent.c#16 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/name6.c#3 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/nscache.c#3 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/nscachedcli.c#3 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/nsdispatch.c#6 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/nsparser.y#3 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/rpc/getrpcent.c#6 edit .. //depot/projects/soc2005/nsswitch_cached/tests/nsdispatch_test/Makefile#4 edit .. //depot/projects/soc2005/nsswitch_cached/tests/nsdispatch_test/host_marshal.c#4 edit .. //depot/projects/soc2005/nsswitch_cached/tests/nsdispatch_test/nscache.c#5 edit .. //depot/projects/soc2005/nsswitch_cached/tests/nsdispatch_test/nsdispatch.c#4 edit .. //depot/projects/soc2005/nsswitch_cached/tests/nsdispatch_test/nsdispatch_test.c#5 edit .. //depot/projects/soc2005/nsswitch_cached/tests/nsdispatch_test/nsswitch.h#3 edit Differences ... ==== //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/Makefile#3 (text+ko) ==== @@ -9,10 +9,11 @@ MANDIR?=${PREFIX}/man/man WARNS?=2 -SRCS=cached.c debug.c log.c config.c query.c mp_ws_query.c mp_rs_query.c singletons.c protocol.c parser.c -CFLAGS+= -I${.CURDIR}/../ ${PTHREAD_LIBS} -DCONFIG_PATH="\"${PREFIX}/etc/cached.conf\"" -DPADD+=${LIBM} -LDADD+=${.CURDIR}/../cachelib/libcachelib.a -lm -lc_r +SRCS=cached.c debug.c log.c config.c query.c mp_ws_query.c mp_rs_query.c\ + singletons.c protocol.c parser.c +CFLAGS+= -I${.CURDIR}/../ -DCONFIG_PATH="\"${PREFIX}/etc/cached.conf\"" +DPADD+=${LIBM} ${LIBPTHREAD} +LDADD+=${.CURDIR}/../cachelib/libcachelib.a -lm -lpthread FILESGROUPS=STARTUP @@ -23,6 +24,7 @@ REINPLACE_CMD?=/usr/bin/sed -i.bak -e afterinstall: - ${REINPLACE_CMD} 's!#cached_bindir#!${BINDIR}!g' ${PREFIX}/etc/rc.d/cached.sh + ${REINPLACE_CMD} 's!#cached_bindir#!${BINDIR}!g'\ + ${PREFIX}/etc/rc.d/cached.sh .include ==== //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/cached.8#3 (text+ko) ==== @@ -1,54 +1,103 @@ -.\" Copyright (C) 2003-2004, Michael Bushkov -.TH "cached" "8" "0.1" "Michael Bushkov" "FreeBSD System's Manual" -.SH "NAME" -.LP -\fBcached\fR \- the caching daemon -.SH "SYNTAX" -.LP -\fBcached\fR [\fB\-n\fR] [\fB-t\fR] [\fB-s\fR] -.SH "DESCRIPTION" -.LP -.br -.LP -\fBcached\fR - is the system caching daemon. It can cache almost all types of data and is basically intended to be used with \fBnsswitch\fR subsystem. \fBcached\fR supports 2 types of caching: -.br -.LP -.TP -\fBCommon caching\fR -Each cached element is the the key+value pair. This type of caching supports policies, which are applied, when maximum number of cached elements is exceeded. 3 policies are available: \fBFIFO\fR (first in - first out), \fBLRU\fR (least recently used) and \fBLFU\fR (least frequently used). This type of caching is used with get**byname-like functions. -.br -.LP -.TP -\fBMultipart caching -Each cached element is the part of the elements sequence. This type of caching is intended to be used with get**ent-like functions. -.br -.LP -You can use sample configuration file \fIcached.conf.sample\fP in your examples folder to start working with \fBcached\fR. -.SH "OPTIONS" -.LP -.TP -\fB\-n\fR -Do not daemonize. \fBcached\fR doesn't fork and doesn't disconnect itself from the terminal. -.TP -\fB\-t\fR -Trace mode. All trace messages would be written to the stdout. This mode is usually used with \fB-n\fR and \fB-s\fR flags for debugging purposes. -.TP -\fB\-s\fR -Single-threaded mode. Forces using only one thread for all processing purposes (it overrides the \fBthreads\fR parameter in the \fIcached.conf\fP file). -.SH "FILES" -.LP -\fIcached.conf\fP -.SH "SEE ALSO" -.na -.nf -cached.conf(5) -nsswitch.conf(5), -nsdispatch(3) -.SH "AUTHORS" -.LP -Michael Bushkov -.SH "BUGS" -.LP -To report bugs or suggestions on what you would like to see in the \fBcached\fR please mail me . -.br -You can also find latest news and source code snapshots at: \fIhttp://wikitest.freebsd.org/moin.cgi/MichaelBushkov\fP +.\" Copyright (c) 2005 Michael Bushkov +.\" All rights reserved. +.\" +.\" 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 THE 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 THE 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. +.\" + +.Dd August 29, 2005 +.Dt CACHED 8 +.Os +.Sh NAME +.Nm cached +.Nd caching server daemon +.Sh SYNOPSIS +.Nm +.Op Fl nst +.Sh DESCRIPTION +.Nm +- is the system caching daemon. +It can cache almost all types of data and is basically intended to be used +with +.Pa nsswitch +subsystem. +.Nm +supports 2 types of caching: +.Bl -tag -width Pair +.It Sy Type +.Sy Description +.It Common caching +Each cached element is the the key+value pair. +This type of caching supports policies, which are applied, when maximum +number of cached elements is exceeded. +3 policies are available: +.Pa FIFO +(first in - first out), +.Pa LRU +(least recently used) and +.Pa LFU +(least frequently used). +This type of caching is used with +.Fn getXXXbyname +- like functions. +.It Multipart caching +Each cached element is the part of the elements sequence. +This type of caching is intended to be used with +.Fn getXXXent +- like functions. +.El +.Pp +.Nm +recognizes the following runtime options: +.Bl -tag -width indent +.It Fl n +Do not daemonize. +.Nm +doesn't fork and doesn't disconnect itself from the terminal. +.It Fl s +Single-threaded mode. +Forces using only one thread for all processing purposes (it overrides +the +.Pa threads +parameter in the +.Xr cached.conf 5 +file). +.It Fl t +Trace mode. +All trace messages would be written to the stdout. +This mode is usually used with +.Fl n +and +.Fl s +flags for debugging purposes. +.El +.Sh FILES +.Xr cached.conf 5 +.Sh SEE ALSO +.Xr cached.conf 5 +.Xr nsswitch.conf 5 +.Xr nsdispatch 3 +.Sh "AUTHORS" +Michael Bushkov +.Aq bushman@rsu.ru +.Sh "BUGS" +To report bugs or suggestions please mail me +.Aq bushman@rsu.ru. ==== //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/cached.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2004 Michael Bushkov + * Copyright (c) 2005 Michael Bushkov * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,20 +24,22 @@ * SUCH DAMAGE. * */ - -#include + +#include #include #include #include -#include #include #include #include #include #include #include +#include #include #include + +#include #include "config.h" #include "debug.h" #include "log.h" @@ -61,34 +63,42 @@ static pthread_rwlock_t s_time_lock = PTHREAD_RWLOCK_INITIALIZER; static pthread_t s_time_thread; +static void accept_connection(struct kevent *, struct runtime_env *, + struct configuration *); +static void destroy_global_timer(void); +static void destroy_cache_(cache); +static void destroy_runtime_env(struct runtime_env *); +static cache init_cache_(struct configuration *); +static int init_global_timer(void); +static struct runtime_env *init_runtime_env(struct configuration *); +static void *get_time_thread(void *); +static void print_version_info(void); +static void processing_loop(cache, struct runtime_env *, + struct configuration *); +static void process_socket_event(struct kevent *, struct runtime_env *, + struct configuration *); +static void process_timer_event(struct kevent *, struct runtime_env *, + struct configuration *); +static void *processing_thread(void *); +static int write_pid_file(const char *); +static void usage(void); + +void get_time_func(struct timeval *); + static void * get_time_thread(void *args) { - TRACE_MSG("=> get_time_thread"); for (;;) { sleep(1); pthread_rwlock_wrlock(&s_time_lock); ++s_time.tv_sec; pthread_rwlock_unlock(&s_time_lock); } - TRACE_MSG("<= get_time_thread"); return (NULL); } -void -get_time_func(struct timeval *time) -{ - TRACE_IN(get_time_func); - pthread_rwlock_rdlock(&s_time_lock); - memcpy(time, &s_time, sizeof(struct timeval)); - TRACE_INT(s_time.tv_sec); - TRACE_INT(s_time.tv_usec); - pthread_rwlock_unlock(&s_time_lock); - TRACE_OUT(get_time_func); -} - static int -init_global_timer() +init_global_timer(void) { int res; @@ -100,7 +110,7 @@ } static void -destroy_global_timer() +destroy_global_timer(void) { TRACE_IN(destroy_global_timer); pthread_rwlock_destroy(&s_time_lock); @@ -136,38 +146,27 @@ } static void -print_usage_info(void) +usage(void) { - TRACE_IN(print_usage_info); - printf("usage: cached [-n] [-t] [-s]\n" - "\t-n: no-daemon mode - cached won't fork and daemonize itself\n" - "\t-t: trace mode - all trace messages would be written to the stdout\n" - "\t-s: forced single-threaded mode\n" - "\n\ttypical usage for debug purposes: cached -n -t -s\n"); - TRACE_OUT(print_usage_info); + fprintf(stderr,"usage: cached [-nst]\n"); + exit(1); } static cache init_cache_(struct configuration *config) { - struct cache_params params; - cache retval; + struct cache_params params; + cache retval; - struct configuration_entry *config_entry; + struct configuration_entry *config_entry; size_t size, i; TRACE_IN(init_cache_); memset(¶ms, 0, sizeof(struct cache_params)); params.get_time_func = get_time_func; -// params.num_levels = 2; retval = init_cache(¶ms); -/* memset(&entry_params, 0, sizeof(struct common_cache_entry_params)); - entry_params.entry_type = CEL_COMMON; - entry_params.entry_name = "users"; - entry_params.policy = CPT_FIFO; - register_cache_entry(retval, (struct cache_entry_params *)&entry_params);*/ size = configuration_get_entries_size(config); for (i = 0; i < size; ++i) { config_entry = configuration_get_entry(config, i); @@ -189,13 +188,13 @@ static struct runtime_env * init_runtime_env(struct configuration *config) { - int serv_addr_len; - struct sockaddr_un serv_addr; + int serv_addr_len; + struct sockaddr_un serv_addr; struct kevent eventlist; struct timespec timeout; - struct runtime_env *retval; + struct runtime_env *retval; TRACE_IN(init_runtime_env); retval = (struct runtime_env *)malloc(sizeof(struct runtime_env)); @@ -209,10 +208,13 @@ memset(&serv_addr, 0, sizeof(struct sockaddr_un)); serv_addr.sun_family = PF_LOCAL; - strncpy(serv_addr.sun_path, config->socket_path, sizeof(serv_addr.sun_path)); - serv_addr_len = sizeof(serv_addr.sun_family) + strlen(serv_addr.sun_path) + 1; + strncpy(serv_addr.sun_path, config->socket_path, + sizeof(serv_addr.sun_path)); + serv_addr_len = sizeof(serv_addr.sun_family) + + strlen(serv_addr.sun_path) + 1; - if (bind(retval->sockfd, (struct sockaddr *)&serv_addr, serv_addr_len) == -1) { + if (bind(retval->sockfd, (struct sockaddr *)&serv_addr, + serv_addr_len) == -1) { TRACE_INT(errno); close(retval->sockfd); free(retval); @@ -227,7 +229,8 @@ retval->queue = kqueue(); assert(retval->queue != -1); - EV_SET(&eventlist, retval->sockfd, EVFILT_READ, EV_ADD | EV_CLEAR, 0, 0, 0); + EV_SET(&eventlist, retval->sockfd, EVFILT_READ, EV_ADD | EV_CLEAR, + 0, 0, 0); memset(&timeout, 0, sizeof(struct timespec)); kevent(retval->queue, &eventlist, 1, NULL, 0, &timeout); @@ -315,51 +318,41 @@ return; } } - TRACE_POINT(); - qstate = (struct query_state *)event_data->udata; -/* if ((qstate->process_func == NULL) || (res != 0)) { - TRACE_INT(res); - destroy_query_state(qstate); - //shutdown(event_data->ident, SHUT_RDWR); - close(event_data->ident); - TRACE_POINT(); - TRACE_OUT(process_socket_event); - return; - } */ + qstate = (struct query_state *)event_data->udata; - TRACE_POINT(); - if ( ((qstate->use_alternate_io == 0) && (qstate->kevent_watermark <= event_data->data)) || - ((qstate->use_alternate_io != 0) && (qstate->io_buffer_watermark <= event_data->data)) ) { + if (((qstate->use_alternate_io == 0) && + (qstate->kevent_watermark <= event_data->data)) || + ((qstate->use_alternate_io != 0) && + (qstate->io_buffer_watermark <= event_data->data))) { if (qstate->use_alternate_io != 0) { TRACE_INT(qstate->use_alternate_io); switch (qstate->io_buffer_filter) { case EVFILT_READ: - io_res = query_socket_read(qstate, qstate->io_buffer_p, qstate->io_buffer_watermark); + io_res = query_socket_read(qstate, + qstate->io_buffer_p, + qstate->io_buffer_watermark); if (io_res < 0) { qstate->use_alternate_io = 0; qstate->process_func = NULL; } else { qstate->io_buffer_p += io_res; TRACE_INT(qstate->kevent_watermark); - TRACE_INT(qstate->io_buffer + qstate->io_buffer_size - qstate->io_buffer_p); + TRACE_INT(qstate->io_buffer + + qstate->io_buffer_size - + qstate->io_buffer_p); TRACE_INT(io_res); TRACE_INT(event_data->data); TRACE_INT(qstate->io_buffer_size); - if (qstate->io_buffer_p == qstate->io_buffer + qstate->io_buffer_size) { + if (qstate->io_buffer_p == + qstate->io_buffer + + qstate->io_buffer_size) { qstate->io_buffer_p = qstate->io_buffer; qstate->use_alternate_io = 0; } } break; -/* case EVFILT_WRITE: - TRACE_POINT(); - io_res = query_socket_write(qstate, qstate->io_buffer_p, qstate->io_buffer_watermark); - if (io_res < 0) { - qstate->use_alternate_io = 0; - qstate->process_func = NULL; - } else - qstate->io_buffer_p += io_res; - break;*/ + default: + break; } } @@ -375,9 +368,11 @@ } TRACE_INT(qstate->use_alternate_io); - if ((qstate->use_alternate_io != 0) && (qstate->io_buffer_filter == EVFILT_WRITE)) { + if ((qstate->use_alternate_io != 0) && + (qstate->io_buffer_filter == EVFILT_WRITE)) { TRACE_POINT(); - io_res = query_socket_write(qstate, qstate->io_buffer_p, qstate->io_buffer_watermark); + io_res = query_socket_write(qstate, qstate->io_buffer_p, + qstate->io_buffer_watermark); if (io_res < 0) { qstate->use_alternate_io = 0; qstate->process_func = NULL; @@ -393,9 +388,10 @@ TRACE_INT(event_data->data); TRACE_INT(qstate->kevent_watermark); TRACE_PTR(qstate->process_func); - if (((qstate->process_func == NULL) && (qstate->use_alternate_io == 0)) || (eof_res != 0) || (res != 0)) { + if (((qstate->process_func == NULL) && + (qstate->use_alternate_io == 0)) || + (eof_res != 0) || (res != 0)) { destroy_query_state(qstate); - //shutdown(event_data->ident, SHUT_RDWR); close(event_data->ident); TRACE_POINT(); TRACE_OUT(process_socket_event); @@ -408,9 +404,11 @@ if (query_timeout.tv_sec > qstate->timeout.tv_sec) query_timeout.tv_sec = 0; else - query_timeout.tv_sec = qstate->timeout.tv_sec - query_timeout.tv_sec; + query_timeout.tv_sec = qstate->timeout.tv_sec - + query_timeout.tv_sec; - if ((qstate->use_alternate_io != 0) && (qstate->io_buffer_p == qstate->io_buffer + qstate->io_buffer_size)) + if ((qstate->use_alternate_io != 0) && (qstate->io_buffer_p == + qstate->io_buffer + qstate->io_buffer_size)) qstate->use_alternate_io = 0; if (qstate->use_alternate_io == 0) { @@ -418,7 +416,8 @@ if (qstate->io_buffer != NULL) free(qstate->io_buffer); - qstate->io_buffer = (char *)malloc(qstate->kevent_watermark); + qstate->io_buffer = (char *)malloc( + qstate->kevent_watermark); assert(qstate->io_buffer != NULL); memset(qstate->io_buffer, 0, qstate->kevent_watermark); @@ -433,29 +432,36 @@ qstate->use_alternate_io = 1; qstate->io_buffer_watermark = MAX_SOCKET_IO_SIZE; - EV_SET(&eventlist[0], event_data->ident, qstate->kevent_filter, - EV_ADD | EV_ONESHOT, NOTE_LOWAT, MAX_SOCKET_IO_SIZE, qstate); + EV_SET(&eventlist[0], event_data->ident, + qstate->kevent_filter, EV_ADD | EV_ONESHOT, + NOTE_LOWAT, MAX_SOCKET_IO_SIZE, qstate); } else { - EV_SET(&eventlist[0], event_data->ident, qstate->kevent_filter, - EV_ADD | EV_ONESHOT, NOTE_LOWAT, qstate->kevent_watermark, qstate); + EV_SET(&eventlist[0], event_data->ident, + qstate->kevent_filter, EV_ADD | EV_ONESHOT, + NOTE_LOWAT, qstate->kevent_watermark, qstate); } } else { TRACE_POINT(); - if (qstate->io_buffer + qstate->io_buffer_size - qstate->io_buffer_p < MAX_SOCKET_IO_SIZE) { - qstate->io_buffer_watermark = qstate->io_buffer + qstate->io_buffer_size - qstate->io_buffer_p; - EV_SET(&eventlist[0], event_data->ident, qstate->io_buffer_filter, + if (qstate->io_buffer + qstate->io_buffer_size - + qstate->io_buffer_p < + MAX_SOCKET_IO_SIZE) { + qstate->io_buffer_watermark = qstate->io_buffer + + qstate->io_buffer_size - qstate->io_buffer_p; + EV_SET(&eventlist[0], event_data->ident, + qstate->io_buffer_filter, EV_ADD | EV_ONESHOT, NOTE_LOWAT, qstate->io_buffer_watermark, qstate); } else { TRACE_POINT(); qstate->io_buffer_watermark = MAX_SOCKET_IO_SIZE; - EV_SET(&eventlist[0], event_data->ident, qstate->io_buffer_filter, - EV_ADD | EV_ONESHOT, NOTE_LOWAT, MAX_SOCKET_IO_SIZE, qstate); + EV_SET(&eventlist[0], event_data->ident, + qstate->io_buffer_filter, EV_ADD | EV_ONESHOT, + NOTE_LOWAT, MAX_SOCKET_IO_SIZE, qstate); } } - EV_SET(&eventlist[1], event_data->ident, EVFILT_TIMER, EV_ADD | EV_ONESHOT, - 0, query_timeout.tv_sec * 1000, qstate); + EV_SET(&eventlist[1], event_data->ident, EVFILT_TIMER, + EV_ADD | EV_ONESHOT, 0, query_timeout.tv_sec * 1000, qstate); kevent(env->queue, eventlist, 2, NULL, 0, &kevent_timeout); TRACE_OUT(process_socket_event); @@ -470,7 +476,6 @@ TRACE_IN(process_timer_event); qstate = (struct query_state *)event_data->udata; destroy_query_state(qstate); - //shutdown(event_data->ident, SHUT_RDWR); close(event_data->ident); TRACE_OUT(process_timer_event); } @@ -489,7 +494,8 @@ memset(&eventlist, 0, sizeof(struct kevent) * eventlist_size); for (;;) { - nevents = kevent(env->queue, NULL, 0, eventlist, eventlist_size, NULL); + nevents = kevent(env->queue, NULL, 0, eventlist, + eventlist_size, NULL); if (nevents == 1) { struct kevent *event_data; @@ -501,10 +507,12 @@ switch (event_data->filter) { case EVFILT_READ: case EVFILT_WRITE: - process_socket_event(event_data, env, config); + process_socket_event(event_data, + env, config); break; case EVFILT_TIMER: - process_timer_event(event_data, env, config); + process_timer_event(event_data, + env, config); break; default: break; @@ -525,13 +533,22 @@ TRACE_MSG("=> processing_thread"); args = (struct processing_thread_args *)data; - processing_loop(args->the_cache, args->the_runtime_env, args->the_configuration); + processing_loop(args->the_cache, args->the_runtime_env, + args->the_configuration); free(args); TRACE_MSG("<= processing_thread"); return (NULL); } +void +get_time_func(struct timeval *time) +{ + pthread_rwlock_rdlock(&s_time_lock); + memcpy(time, &s_time, sizeof(struct timeval)); + pthread_rwlock_unlock(&s_time_lock); +} + int main(int argc, char *argv[]) { @@ -557,18 +574,21 @@ trace_mode_enabled = 0; force_single_threaded = 0; do_not_daemonize = 0; - if (argc > 1) { - for (i = 1; i < argc; ++i) { - if (strcmp(argv[i], "-t") == 0) - trace_mode_enabled = 1; - else if (strcmp(argv[i], "-s") == 0) - force_single_threaded = 1; - else if (strcmp(argv[i], "-n") == 0) - do_not_daemonize = 1; - else { - print_usage_info(); - return (-1); - } + while ((res = getopt(argc, argv, "nst")) != -1) { + switch (res) { + case 'n': + do_not_daemonize = 1; + break; + case 's': + force_single_threaded = 1; + break; + case 't': + trace_mode_enabled = 1; + break; + case '?': + default: + usage(); + /* NOT REACHED */ } } @@ -579,7 +599,8 @@ if (do_not_daemonize == 0) { res = daemon(1, trace_mode_enabled == 0 ? 0 : 1); if (res != 0) { - LOG_ERR_1("main", "can't daemonize myself: %s", strerror(errno)); + LOG_ERR_1("main", "can't daemonize myself: %s", + strerror(errno)); goto fin; } else LOG_MSG_1("main", "successfully daemonized"); @@ -599,19 +620,22 @@ error_str = NULL; error_line = 0; config_file = CONFIG_PATH; - res = read_configuration(config_file, s_configuration, &error_str, &error_line); + res = read_configuration(config_file, s_configuration, &error_str, + &error_line); if ((res != 0) && (error_str == NULL)) { config_file = DEFAULT_CONFIG_PATH; - res = read_configuration(config_file, s_configuration, &error_str, &error_line); + res = read_configuration(config_file, s_configuration, + &error_str, &error_line); } if (res != 0) { if (error_str != NULL) { - LOG_ERR_1("main", "error in configuration file(%s, %d): %s\n", config_file, - error_line, error_str); + LOG_ERR_1("main", "error in configuration file(%s, %d): %s\n", + config_file, error_line, error_str); } else { - LOG_ERR_1("main", "no configuration file found - was looking for %s and %s", - CONFIG_PATH, DEFAULT_CONFIG_PATH); + LOG_ERR_1("main", + "no configuration file found - was looking for %s and %s", + CONFIG_PATH, DEFAULT_CONFIG_PATH); } destroy_configuration(s_configuration); return (-1); @@ -646,16 +670,21 @@ } if (s_configuration->threads_num > 1) { - threads = (pthread_t *)malloc(sizeof(pthread_t) * s_configuration->threads_num); - memset(threads, 0, sizeof(pthread_t) * s_configuration->threads_num); + threads = (pthread_t *)malloc(sizeof(pthread_t) * + s_configuration->threads_num); + memset(threads, 0, sizeof(pthread_t) * + s_configuration->threads_num); for (i = 0; i < s_configuration->threads_num; ++i) { - thread_args = (struct processing_thread_args *)malloc(sizeof(struct processing_thread_args)); + thread_args = (struct processing_thread_args *)malloc( + sizeof(struct processing_thread_args)); thread_args->the_cache = s_cache; thread_args->the_runtime_env = s_runtime_env; thread_args->the_configuration = s_configuration; - LOG_MSG_1("main", "thread #%d was successfully created", i); - pthread_create(&threads[i], NULL, processing_thread, thread_args); + LOG_MSG_1("main", "thread #%d was successfully created", + i); + pthread_create(&threads[i], NULL, processing_thread, + thread_args); thread_args = NULL; } ==== //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/cached.conf#4 (text+ko) ==== @@ -58,14 +58,14 @@ euid = 0 } -entry "hosts" { +entry "services" { type = common policy = lru max_lifetime = 43200 max_elemsize = 1000 } -entry "hosts" { +entry "services" { type = common policy = lru max_lifetime = 43200 @@ -73,27 +73,27 @@ euid = 0 } -entry "hosts_mp" { +entry "services_mp" { type = multipart max_lifetime = 43200 timeout = 60 } -entry "hosts_mp" { +entry "services_mp" { type = multipart max_lifetime = 43200 timeout = 60 euid = 0 } -entry "services" { +entry "protocols" { type = common policy = lru max_lifetime = 43200 max_elemsize = 1000 } -entry "services" { +entry "protocols" { type = common policy = lru max_lifetime = 43200 @@ -101,27 +101,27 @@ euid = 0 } -entry "services_mp" { +entry "protocols_mp" { type = multipart max_lifetime = 43200 timeout = 60 } -entry "services_mp" { +entry "protocols_mp" { type = multipart max_lifetime = 43200 timeout = 60 euid = 0 } -entry "protocols" { +entry "rpc" { type = common policy = lru max_lifetime = 43200 max_elemsize = 1000 } -entry "protocols" { +entry "rpc" { type = common policy = lru max_lifetime = 43200 @@ -129,43 +129,30 @@ euid = 0 } -entry "protocols_mp" { +entry "rpc_mp" { type = multipart max_lifetime = 43200 timeout = 60 } -entry "protocols_mp" { +entry "rpc_mp" { type = multipart max_lifetime = 43200 timeout = 60 euid = 0 } -entry "rpc" { +entry "hosts" { type = common policy = lru max_lifetime = 43200 max_elemsize = 1000 } -entry "rpc" { +entry "hosts" { type = common policy = lru max_lifetime = 43200 max_elemsize = 1000 euid = 0 } - -entry "rpc_mp" { - type = multipart - max_lifetime = 43200 - timeout = 60 -} - -entry "rpc_mp" { - type = multipart - max_lifetime = 43200 - timeout = 60 - euid = 0 -} ==== //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/cached.conf.5#3 (text+ko) ==== @@ -1,32 +1,86 @@ -.\" Copyright (C) 2005, Michael Bushkov -.TH "cached.conf" "5" "0.1" "Michael Bushkov" "FreeBSD File Formats Manual" -.SH "NAME" -.LP -\fBcached.conf\fR \- the caching daemon (\fBcached\fR) configuration file -.SH "DESCRIPTION" -\fBcached.conf\fR consists has 2 types of elements: \fIkey=value pairs\fP and \fIgroups of such pairs\fP. Groups are used to specify needed cache entries, and "global" key=value pairs allow to change some global \fBcached\fR parameters. -.br -.SS Gobal pairs -.br -Global pairs are usually specified in the beginning of the \fIcached.conf\fP file. They have the following form: \fBkey\fR=\fIvalue\fP. -.LP -.TP -\fBsocket_path\fR=\fIstring\fP -Defines the path to the unix socket, which \fBcached\fR will use to communicate with client applications. The default is \fI/var/run/cached\fP. -.TP -\fBpidfile_path\fR=\fIstring\fP -Defines the path to the pid file, which will be used by the startup script to control \fBcached\fR execution. The default is \fI/var/run/cached.pid\fP. -.TP -\fBquery_timeout\fR=\fIpositive_integer\fP -Specifies the query timeout in seconds. When this time is expired, the \fBcached\fR will close the connection with the client. This parameter can be overriden for each cache entry. The default is \fI8\fP. -.TP -\fBthreads\fR=\fIpositive_integer_between_1_and_32\fP -Defines the number of threads, which \fBcached\fR will use to process the requests. The default is \fI8\fP. -.br -.SS Groups -.br -Each group describes one cache entry. Groups are defined using the following form: -.br +.\" Copyright (c) 2005 Michael Bushkov +.\" All rights reserved. +.\" +.\" 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 THE 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 THE 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. +.\" + +.Dd August 29, 2005 +.Dt CACHED.CONF 5 +.Os +.Sh NAME +.Nm cached.conf +.Nd "caching daemon configuration file manual page" +.Sh "DESCRIPTION" +.Nm +has 2 types of elements: +.Pa key=value pairs +and +.Pa groups of such pairs. +Groups are used to specify needed cache entries, and "global" key=value +pairs allow to change some global +.Xr cached 8 +parameters. +.Ss Gobal pairs +Global pairs are usually specified in the beginning of the +.Nm +file. +They have the following form: key=value. +.Pp +.Bl -tag -width Pair +.It Sy Pair +.Sy Description +.It socket_path = [string] +Defines the path to the unix socket, which +.Xr cached 8 +will use to +communicate with client applications. +The default is +.Pa /var/run/cached . +.It pidfile_path= [string] +Defines the path to the pid file, which will be used by the startup script +to control +.Xr cached 8 +execution. +The default is +.Pa /var/run/cached.pid . >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Aug 29 20:21:38 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D1F6516A421; Mon, 29 Aug 2005 20:21:37 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 A373716A41F for ; Mon, 29 Aug 2005 20:21:37 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1B94B43D48 for ; Mon, 29 Aug 2005 20:21:37 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7TKLbeJ094524 for ; Mon, 29 Aug 2005 20:21:37 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7TKLZII094521 for perforce@freebsd.org; Mon, 29 Aug 2005 20:21:35 GMT (envelope-from peter@freebsd.org) Date: Mon, 29 Aug 2005 20:21:35 GMT Message-Id: <200508292021.j7TKLZII094521@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 82802 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Aug 2005 20:21:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=82802 Change 82802 by peter@peter_overcee on 2005/08/29 20:20:47 IFC @82796 Affected files ... .. //depot/projects/hammer/MAINTAINERS#36 integrate .. //depot/projects/hammer/Makefile.inc1#103 integrate .. //depot/projects/hammer/ObsoleteFiles.inc#5 integrate .. //depot/projects/hammer/bin/sh/parser.c#10 integrate .. //depot/projects/hammer/bin/sh/sh.1#17 integrate .. //depot/projects/hammer/contrib/bind9/lib/dns/resolver.c#3 integrate .. //depot/projects/hammer/contrib/less/line.c#3 integrate .. //depot/projects/hammer/contrib/nvi/docs/USD.doc/vi.ref/vi.ref#2 integrate .. //depot/projects/hammer/contrib/pf/pflogd/pflogd.c#7 integrate .. //depot/projects/hammer/contrib/smbfs/lib/smb/kiconv.c#5 integrate .. //depot/projects/hammer/contrib/traceroute/traceroute.c#4 integrate .. //depot/projects/hammer/etc/Makefile#43 integrate .. //depot/projects/hammer/etc/defaults/rc.conf#59 integrate .. //depot/projects/hammer/etc/network.subr#12 integrate .. //depot/projects/hammer/etc/pccard_ether#15 integrate .. //depot/projects/hammer/etc/periodic/security/550.ipfwlimit#6 integrate .. //depot/projects/hammer/etc/periodic/security/security.functions#5 integrate .. //depot/projects/hammer/etc/rc.initdiskless#3 integrate .. //depot/projects/hammer/etc/rc.subr#24 integrate .. //depot/projects/hammer/games/fortune/datfiles/fortunes#48 integrate .. //depot/projects/hammer/games/fortune/datfiles/fortunes2-o#11 integrate .. //depot/projects/hammer/gnu/lib/libdialog/dialog.3#6 integrate .. //depot/projects/hammer/gnu/lib/libobjc/Makefile#14 integrate .. //depot/projects/hammer/gnu/lib/libsupc++/Makefile#6 integrate .. //depot/projects/hammer/gnu/usr.bin/gdb/kgdb/trgt_sparc64.c#3 integrate .. //depot/projects/hammer/include/pthread.h#10 integrate .. //depot/projects/hammer/include/string.h#8 integrate .. //depot/projects/hammer/lib/libc/gen/sem.c#3 integrate .. //depot/projects/hammer/lib/libc/net/getprotoent.c#4 integrate .. //depot/projects/hammer/lib/libc/net/getservent.c#7 integrate .. //depot/projects/hammer/lib/libc/regex/engine.c#6 integrate .. //depot/projects/hammer/lib/libc/regex/regex.3#10 integrate .. //depot/projects/hammer/lib/libc/stdio/ungetwc.c#9 integrate .. //depot/projects/hammer/lib/libc/stdio/vfwscanf.c#10 integrate .. //depot/projects/hammer/lib/libc/string/Makefile.inc#10 integrate .. //depot/projects/hammer/lib/libc/string/memchr.3#2 integrate .. //depot/projects/hammer/lib/libc/string/memmem.3#1 branch .. //depot/projects/hammer/lib/libc/string/memmem.c#1 branch .. //depot/projects/hammer/lib/libc/string/strchr.3#4 integrate .. //depot/projects/hammer/lib/libc/string/strstr.3#2 integrate .. //depot/projects/hammer/lib/libc/sys/listen.2#3 integrate .. //depot/projects/hammer/lib/libc_r/uthread/uthread_mattr_kind_np.c#3 integrate .. //depot/projects/hammer/lib/libc_r/uthread/uthread_mutex.c#4 integrate .. //depot/projects/hammer/lib/libfetch/http.c#12 integrate .. //depot/projects/hammer/lib/libkiconv/xlat16_sysctl.c#2 integrate .. //depot/projects/hammer/lib/libpthread/thread/thr_kern.c#36 integrate .. //depot/projects/hammer/lib/libpthread/thread/thr_mattr_kind_np.c#2 integrate .. //depot/projects/hammer/lib/libpthread/thread/thr_mutex.c#16 integrate .. //depot/projects/hammer/lib/libpthread/thread/thr_rtld.c#5 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_mutex.c#23 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_mutexattr.c#2 integrate .. //depot/projects/hammer/lib/libufs/Makefile#6 integrate .. //depot/projects/hammer/lib/libutil/Makefile#10 integrate .. //depot/projects/hammer/lib/libutil/libutil.h#5 integrate .. //depot/projects/hammer/lib/libutil/pidfile.3#1 branch .. //depot/projects/hammer/lib/libutil/pidfile.c#1 branch .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#79 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#104 integrate .. //depot/projects/hammer/release/doc/ja_JP.eucJP/hardware/common/dev.sgml#19 integrate .. //depot/projects/hammer/release/doc/ru_RU.KOI8-R/hardware/common/dev.sgml#13 integrate .. //depot/projects/hammer/release/doc/share/misc/dev.archlist.txt#29 integrate .. //depot/projects/hammer/release/doc/zh_CN.GB2312/hardware/common/dev.sgml#4 integrate .. //depot/projects/hammer/sbin/atacontrol/atacontrol.8#7 integrate .. //depot/projects/hammer/sbin/ccdconfig/ccdconfig.8#12 integrate .. //depot/projects/hammer/sbin/dhclient/alloc.c#2 integrate .. //depot/projects/hammer/sbin/dhclient/bpf.c#4 integrate .. //depot/projects/hammer/sbin/dhclient/clparse.c#2 integrate .. //depot/projects/hammer/sbin/dhclient/conflex.c#2 integrate .. //depot/projects/hammer/sbin/dhclient/convert.c#2 integrate .. //depot/projects/hammer/sbin/dhclient/dhclient-script#3 integrate .. //depot/projects/hammer/sbin/dhclient/dhclient.c#6 integrate .. //depot/projects/hammer/sbin/dhclient/dispatch.c#2 integrate .. //depot/projects/hammer/sbin/dhclient/errwarn.c#2 integrate .. //depot/projects/hammer/sbin/dhclient/hash.c#2 integrate .. //depot/projects/hammer/sbin/dhclient/inet.c#2 integrate .. //depot/projects/hammer/sbin/dhclient/options.c#2 integrate .. //depot/projects/hammer/sbin/dhclient/packet.c#2 integrate .. //depot/projects/hammer/sbin/dhclient/parse.c#2 integrate .. //depot/projects/hammer/sbin/dhclient/privsep.c#2 integrate .. //depot/projects/hammer/sbin/dhclient/tables.c#3 integrate .. //depot/projects/hammer/sbin/dhclient/tree.c#2 integrate .. //depot/projects/hammer/sbin/geom/class/Makefile#7 integrate .. //depot/projects/hammer/sbin/geom/class/eli/geli.8#3 integrate .. //depot/projects/hammer/sbin/geom/class/eli/geom_eli.c#3 integrate .. //depot/projects/hammer/sbin/geom/class/label/glabel.8#11 integrate .. //depot/projects/hammer/sbin/geom/class/raid3/geom_raid3.c#12 integrate .. //depot/projects/hammer/sbin/geom/misc/subr.c#4 integrate .. //depot/projects/hammer/sbin/geom/misc/subr.h#4 integrate .. //depot/projects/hammer/sbin/kldload/kldload.8#5 integrate .. //depot/projects/hammer/sbin/reboot/boot_i386.8#12 integrate .. //depot/projects/hammer/share/man/man4/Makefile#75 integrate .. //depot/projects/hammer/share/man/man4/ata.4#18 integrate .. //depot/projects/hammer/share/man/man4/bpf.4#10 integrate .. //depot/projects/hammer/share/man/man4/carp.4#6 integrate .. //depot/projects/hammer/share/man/man4/hwpmc.4#8 integrate .. //depot/projects/hammer/share/man/man4/icmp.4#7 integrate .. //depot/projects/hammer/share/man/man4/inet.4#17 integrate .. //depot/projects/hammer/share/man/man4/inet6.4#4 integrate .. //depot/projects/hammer/share/man/man4/ip.4#16 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/Makefile#30 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/acpi_ibm.4#6 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/el.4#7 delete .. //depot/projects/hammer/share/man/man4/man4.i386/ep.4#15 integrate .. //depot/projects/hammer/share/man/man4/pcm.4#13 integrate .. //depot/projects/hammer/share/man/man4/sn.4#6 integrate .. //depot/projects/hammer/share/man/man4/snd_cmi.4#5 integrate .. //depot/projects/hammer/share/man/man4/snd_csa.4#4 integrate .. //depot/projects/hammer/share/man/man4/snd_emu10k1.4#6 integrate .. //depot/projects/hammer/share/man/man4/snd_es137x.4#6 integrate .. //depot/projects/hammer/share/man/man4/snd_sbc.4#5 integrate .. //depot/projects/hammer/share/man/man4/syncache.4#2 integrate .. //depot/projects/hammer/share/man/man4/tcp.4#15 integrate .. //depot/projects/hammer/share/man/man4/ttcp.4#5 delete .. //depot/projects/hammer/share/man/man4/umodem.4#5 integrate .. //depot/projects/hammer/share/man/man4/vlan.4#12 integrate .. //depot/projects/hammer/share/man/man5/rc.conf.5#61 integrate .. //depot/projects/hammer/share/man/man7/environ.7#6 integrate .. //depot/projects/hammer/share/man/man9/VOP_LISTEXTATTR.9#7 integrate .. //depot/projects/hammer/share/man/man9/bus_dma.9#17 integrate .. //depot/projects/hammer/share/zoneinfo/africa#2 integrate .. //depot/projects/hammer/share/zoneinfo/antarctica#3 integrate .. //depot/projects/hammer/share/zoneinfo/asia#6 integrate .. //depot/projects/hammer/share/zoneinfo/australasia#5 integrate .. //depot/projects/hammer/share/zoneinfo/backward#4 integrate .. //depot/projects/hammer/share/zoneinfo/etcetera#2 integrate .. //depot/projects/hammer/share/zoneinfo/europe#6 integrate .. //depot/projects/hammer/share/zoneinfo/leapseconds#6 integrate .. //depot/projects/hammer/share/zoneinfo/northamerica#6 integrate .. //depot/projects/hammer/share/zoneinfo/southamerica#7 integrate .. //depot/projects/hammer/share/zoneinfo/yearistype.sh#2 integrate .. //depot/projects/hammer/share/zoneinfo/zone.tab#7 integrate .. //depot/projects/hammer/sys/alpha/include/_limits.h#8 integrate .. //depot/projects/hammer/sys/alpha/include/signal.h#6 integrate .. //depot/projects/hammer/sys/amd64/amd64/db_trace.c#31 integrate .. //depot/projects/hammer/sys/amd64/amd64/exception.S#44 integrate .. //depot/projects/hammer/sys/amd64/amd64/genassym.c#39 integrate .. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#105 integrate .. //depot/projects/hammer/sys/amd64/amd64/pmap.c#124 integrate .. //depot/projects/hammer/sys/amd64/amd64/trap.c#72 integrate .. //depot/projects/hammer/sys/amd64/include/_limits.h#11 integrate .. //depot/projects/hammer/sys/amd64/include/atomic.h#20 integrate .. //depot/projects/hammer/sys/amd64/include/signal.h#13 integrate .. //depot/projects/hammer/sys/arm/include/_limits.h#7 integrate .. //depot/projects/hammer/sys/arm/include/signal.h#7 integrate .. //depot/projects/hammer/sys/boot/common/loader.8#22 integrate .. //depot/projects/hammer/sys/boot/forth/loader.conf#24 integrate .. //depot/projects/hammer/sys/boot/forth/loader.conf.5#7 integrate .. //depot/projects/hammer/sys/boot/i386/boot2/boot2.c#15 integrate .. //depot/projects/hammer/sys/boot/i386/boot2/lib.h#2 integrate .. //depot/projects/hammer/sys/boot/i386/boot2/sio.S#4 integrate .. //depot/projects/hammer/sys/boot/i386/libi386/comconsole.c#4 integrate .. //depot/projects/hammer/sys/boot/sparc64/loader/metadata.c#12 integrate .. //depot/projects/hammer/sys/compat/linux/linux_ioctl.c#25 integrate .. //depot/projects/hammer/sys/conf/files#123 integrate .. //depot/projects/hammer/sys/conf/files.i386#62 integrate .. //depot/projects/hammer/sys/conf/newvers.sh#17 integrate .. //depot/projects/hammer/sys/crypto/rijndael/rijndael-alg-fst.c#6 integrate .. //depot/projects/hammer/sys/crypto/via/padlock.c#1 branch .. //depot/projects/hammer/sys/dev/acpica/acpi_thermal.c#25 integrate .. //depot/projects/hammer/sys/dev/ata/ata-all.c#52 integrate .. //depot/projects/hammer/sys/dev/ata/ata-all.h#32 integrate .. //depot/projects/hammer/sys/dev/ata/ata-chipset.c#59 integrate .. //depot/projects/hammer/sys/dev/ata/ata-disk.c#35 integrate .. //depot/projects/hammer/sys/dev/ata/ata-lowlevel.c#30 integrate .. //depot/projects/hammer/sys/dev/ata/ata-pci.h#34 integrate .. //depot/projects/hammer/sys/dev/ata/atapi-cd.c#29 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed.c#32 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed_3c503.c#3 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed_cbus.c#12 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed_hpp.c#3 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed_isa.c#10 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed_novell.c#3 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed_pccard.c#26 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed_pci.c#11 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed_sic.c#4 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed_wd80x3.c#4 integrate .. //depot/projects/hammer/sys/dev/ed/if_edvar.h#10 integrate .. //depot/projects/hammer/sys/dev/ep/if_ep_eisa.c#10 integrate .. //depot/projects/hammer/sys/dev/firewire/if_fwip.c#7 integrate .. //depot/projects/hammer/sys/dev/fxp/if_fxp.c#49 integrate .. //depot/projects/hammer/sys/dev/gem/if_gem.c#20 integrate .. //depot/projects/hammer/sys/dev/hme/if_hme.c#22 integrate .. //depot/projects/hammer/sys/dev/hwpmc/hwpmc_amd.c#7 integrate .. //depot/projects/hammer/sys/dev/hwpmc/hwpmc_mod.c#8 integrate .. //depot/projects/hammer/sys/dev/hwpmc/hwpmc_x86.c#3 integrate .. //depot/projects/hammer/sys/dev/ipw/if_ipw.c#9 integrate .. //depot/projects/hammer/sys/dev/iwi/if_iwi.c#9 integrate .. //depot/projects/hammer/sys/dev/iwi/if_iwireg.h#3 integrate .. //depot/projects/hammer/sys/dev/iwi/if_iwivar.h#5 integrate .. //depot/projects/hammer/sys/dev/md/md.c#50 integrate .. //depot/projects/hammer/sys/dev/my/if_my.c#21 integrate .. //depot/projects/hammer/sys/dev/my/if_myreg.h#5 integrate .. //depot/projects/hammer/sys/dev/pccard/pccarddevs#38 integrate .. //depot/projects/hammer/sys/dev/pci/pci_pci.c#15 integrate .. //depot/projects/hammer/sys/dev/pci/pci_user.c#11 integrate .. //depot/projects/hammer/sys/dev/ral/if_ral.c#8 integrate .. //depot/projects/hammer/sys/dev/ral/if_ral_pccard.c#3 integrate .. //depot/projects/hammer/sys/dev/re/if_re.c#30 integrate .. //depot/projects/hammer/sys/dev/sn/if_sn_pccard.c#12 integrate .. //depot/projects/hammer/sys/dev/uart/uart_cpu_sparc64.c#17 integrate .. //depot/projects/hammer/sys/dev/usb/if_ural.c#8 integrate .. //depot/projects/hammer/sys/dev/usb/uhub.c#17 integrate .. //depot/projects/hammer/sys/dev/wi/if_wi.c#41 integrate .. //depot/projects/hammer/sys/fs/devfs/devfs.h#10 integrate .. //depot/projects/hammer/sys/fs/devfs/devfs_devs.c#13 integrate .. //depot/projects/hammer/sys/fs/devfs/devfs_int.h#1 branch .. //depot/projects/hammer/sys/fs/devfs/devfs_rule.c#9 integrate .. //depot/projects/hammer/sys/fs/devfs/devfs_vfsops.c#18 integrate .. //depot/projects/hammer/sys/fs/devfs/devfs_vnops.c#38 integrate .. //depot/projects/hammer/sys/geom/eli/g_eli.c#3 integrate .. //depot/projects/hammer/sys/geom/eli/g_eli.h#3 integrate .. //depot/projects/hammer/sys/geom/eli/g_eli_ctl.c#2 integrate .. //depot/projects/hammer/sys/geom/geom_ctl.c#20 integrate .. //depot/projects/hammer/sys/geom/geom_io.c#32 integrate .. //depot/projects/hammer/sys/geom/label/g_label.c#11 integrate .. //depot/projects/hammer/sys/geom/label/g_label.h#6 integrate .. //depot/projects/hammer/sys/geom/label/g_label_ext2fs.c#2 integrate .. //depot/projects/hammer/sys/geom/label/g_label_iso9660.c#2 integrate .. //depot/projects/hammer/sys/geom/label/g_label_ntfs.c#1 branch .. //depot/projects/hammer/sys/geom/label/g_label_reiserfs.c#2 integrate .. //depot/projects/hammer/sys/geom/stripe/g_stripe.c#13 integrate .. //depot/projects/hammer/sys/geom/stripe/g_stripe.h#7 integrate .. //depot/projects/hammer/sys/geom/vinum/geom_vinum_drive.c#14 integrate .. //depot/projects/hammer/sys/geom/vinum/geom_vinum_init.c#10 integrate .. //depot/projects/hammer/sys/geom/vinum/geom_vinum_plex.c#13 integrate .. //depot/projects/hammer/sys/geom/vinum/geom_vinum_rm.c#6 integrate .. //depot/projects/hammer/sys/geom/vinum/geom_vinum_volume.c#10 integrate .. //depot/projects/hammer/sys/i386/acpica/acpi_wakeup.c#22 integrate .. //depot/projects/hammer/sys/i386/conf/NOTES#74 integrate .. //depot/projects/hammer/sys/i386/i386/mp_machdep.c#48 integrate .. //depot/projects/hammer/sys/i386/i386/pmap.c#71 integrate .. //depot/projects/hammer/sys/i386/i386/swtch.s#13 integrate .. //depot/projects/hammer/sys/i386/include/_limits.h#7 integrate .. //depot/projects/hammer/sys/i386/include/signal.h#9 integrate .. //depot/projects/hammer/sys/i386/isa/if_el.c#13 delete .. //depot/projects/hammer/sys/i386/isa/if_elreg.h#3 delete .. //depot/projects/hammer/sys/ia64/include/_limits.h#7 integrate .. //depot/projects/hammer/sys/ia64/include/signal.h#8 integrate .. //depot/projects/hammer/sys/kern/kern_conf.c#34 integrate .. //depot/projects/hammer/sys/kern/kern_cpu.c#8 integrate .. //depot/projects/hammer/sys/kern/kern_descrip.c#49 integrate .. //depot/projects/hammer/sys/kern/kern_kse.c#24 integrate .. //depot/projects/hammer/sys/kern/kern_lock.c#21 integrate .. //depot/projects/hammer/sys/kern/kern_mib.c#14 integrate .. //depot/projects/hammer/sys/kern/link_elf.c#21 integrate .. //depot/projects/hammer/sys/kern/link_elf_obj.c#48 integrate .. //depot/projects/hammer/sys/kern/sched_ule.c#65 integrate .. //depot/projects/hammer/sys/kern/subr_stack.c#2 integrate .. //depot/projects/hammer/sys/kern/subr_witness.c#45 integrate .. //depot/projects/hammer/sys/kern/sys_process.c#33 integrate .. //depot/projects/hammer/sys/kern/vfs_default.c#43 integrate .. //depot/projects/hammer/sys/kern/vfs_subr.c#91 integrate .. //depot/projects/hammer/sys/libkern/iconv.c#9 integrate .. //depot/projects/hammer/sys/modules/Makefile#84 integrate .. //depot/projects/hammer/sys/modules/de/Makefile#4 integrate .. //depot/projects/hammer/sys/modules/el/Makefile#2 delete .. //depot/projects/hammer/sys/modules/geom/geom_label/Makefile#3 integrate .. //depot/projects/hammer/sys/modules/geom/geom_vinum/Makefile#2 integrate .. //depot/projects/hammer/sys/modules/padlock/Makefile#1 branch .. //depot/projects/hammer/sys/modules/procfs/Makefile#4 integrate .. //depot/projects/hammer/sys/net/bpf.c#38 integrate .. //depot/projects/hammer/sys/net/bpf.h#14 integrate .. //depot/projects/hammer/sys/net/bpfdesc.h#12 integrate .. //depot/projects/hammer/sys/net/bridgestp.c#4 integrate .. //depot/projects/hammer/sys/net/if.c#54 integrate .. //depot/projects/hammer/sys/net/if_bridge.c#10 integrate .. //depot/projects/hammer/sys/net/if_ethersubr.c#45 integrate .. //depot/projects/hammer/sys/net/if_vlan.c#27 integrate .. //depot/projects/hammer/sys/net/rtsock.c#26 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/l2cap/ng_l2cap_misc.c#10 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/l2cap/ng_l2cap_misc.h#6 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#14 integrate .. //depot/projects/hammer/sys/netgraph/ng_base.c#34 integrate .. //depot/projects/hammer/sys/netgraph/ng_fec.c#16 integrate .. //depot/projects/hammer/sys/netgraph/ng_ksocket.c#19 integrate .. //depot/projects/hammer/sys/netgraph/ng_split.c#5 integrate .. //depot/projects/hammer/sys/netinet/if_atm.c#8 integrate .. //depot/projects/hammer/sys/netinet/if_ether.c#24 integrate .. //depot/projects/hammer/sys/netinet/in.c#17 integrate .. //depot/projects/hammer/sys/netinet/in.h#18 integrate .. //depot/projects/hammer/sys/netinet/in_pcb.h#23 integrate .. //depot/projects/hammer/sys/netinet/ip_fastfwd.c#23 integrate .. //depot/projects/hammer/sys/netinet/ip_icmp.c#24 integrate .. //depot/projects/hammer/sys/netinet/ip_output.c#50 integrate .. //depot/projects/hammer/sys/netinet/raw_ip.c#35 integrate .. //depot/projects/hammer/sys/netinet/tcp.h#13 integrate .. //depot/projects/hammer/sys/netinet/tcp_input.c#55 integrate .. //depot/projects/hammer/sys/netinet/tcp_sack.c#21 integrate .. //depot/projects/hammer/sys/netinet/tcp_syncache.c#28 integrate .. //depot/projects/hammer/sys/netinet/tcp_usrreq.c#33 integrate .. //depot/projects/hammer/sys/netinet/udp_usrreq.c#33 integrate .. //depot/projects/hammer/sys/netinet6/in6_src.c#15 integrate .. //depot/projects/hammer/sys/netinet6/raw_ip6.c#21 integrate .. //depot/projects/hammer/sys/netkey/key.c#23 integrate .. //depot/projects/hammer/sys/opencrypto/cryptodev.c#18 integrate .. //depot/projects/hammer/sys/opencrypto/xform.c#5 integrate .. //depot/projects/hammer/sys/pci/if_dc.c#48 integrate .. //depot/projects/hammer/sys/pci/if_de.c#28 integrate .. //depot/projects/hammer/sys/pci/if_devar.h#10 integrate .. //depot/projects/hammer/sys/pci/if_pcn.c#31 integrate .. //depot/projects/hammer/sys/pci/if_sf.c#33 integrate .. //depot/projects/hammer/sys/pci/if_sfreg.h#8 integrate .. //depot/projects/hammer/sys/pci/if_ste.c#36 integrate .. //depot/projects/hammer/sys/pci/if_stereg.h#10 integrate .. //depot/projects/hammer/sys/pci/if_xl.c#56 integrate .. //depot/projects/hammer/sys/pci/if_xlreg.h#15 integrate .. //depot/projects/hammer/sys/powerpc/include/_limits.h#7 integrate .. //depot/projects/hammer/sys/powerpc/include/signal.h#6 integrate .. //depot/projects/hammer/sys/powerpc/ofw/ofw_syscons.c#8 integrate .. //depot/projects/hammer/sys/sparc64/conf/GENERIC#41 integrate .. //depot/projects/hammer/sys/sparc64/include/_limits.h#6 integrate .. //depot/projects/hammer/sys/sparc64/include/signal.h#7 integrate .. //depot/projects/hammer/sys/sys/conf.h#35 integrate .. //depot/projects/hammer/sys/sys/malloc.h#12 integrate .. //depot/projects/hammer/sys/sys/param.h#66 integrate .. //depot/projects/hammer/sys/sys/signal.h#9 integrate .. //depot/projects/hammer/sys/sys/stack.h#2 integrate .. //depot/projects/hammer/sys/sys/systm.h#37 integrate .. //depot/projects/hammer/sys/ufs/ffs/ffs_softdep.c#30 integrate .. //depot/projects/hammer/sys/ufs/ffs/ffs_vfsops.c#51 integrate .. //depot/projects/hammer/sys/ufs/ufs/ufs_dirhash.c#8 integrate .. //depot/projects/hammer/tools/regression/usr.bin/pkill/pgrep-F.t#2 integrate .. //depot/projects/hammer/tools/regression/usr.bin/pkill/pgrep-LF.t#1 branch .. //depot/projects/hammer/tools/regression/usr.bin/pkill/pkill-F.t#2 integrate .. //depot/projects/hammer/tools/regression/usr.bin/pkill/pkill-LF.t#1 branch .. //depot/projects/hammer/tools/tools/bpfstat/bpfstat.c#2 integrate .. //depot/projects/hammer/tools/tools/nanobsd/nanobsd.sh#4 integrate .. //depot/projects/hammer/usr.bin/at/parsetime.c#3 integrate .. //depot/projects/hammer/usr.bin/calendar/calendars/calendar.birthday#12 integrate .. //depot/projects/hammer/usr.bin/calendar/calendars/calendar.history#11 integrate .. //depot/projects/hammer/usr.bin/calendar/calendars/calendar.holiday#8 integrate .. //depot/projects/hammer/usr.bin/cmp/Makefile#2 integrate .. //depot/projects/hammer/usr.bin/cmp/cmp.1#3 integrate .. //depot/projects/hammer/usr.bin/cmp/cmp.c#2 integrate .. //depot/projects/hammer/usr.bin/cmp/extern.h#2 integrate .. //depot/projects/hammer/usr.bin/cmp/link.c#1 branch .. //depot/projects/hammer/usr.bin/find/function.c#8 integrate .. //depot/projects/hammer/usr.bin/find/getdate.y#3 integrate .. //depot/projects/hammer/usr.bin/locate/locate/locate.rc#2 integrate .. //depot/projects/hammer/usr.bin/locate/locate/updatedb.sh#2 integrate .. //depot/projects/hammer/usr.bin/mail/USD.doc/mail0.nr#2 integrate .. //depot/projects/hammer/usr.bin/netstat/if.c#9 integrate .. //depot/projects/hammer/usr.bin/netstat/main.c#15 integrate .. //depot/projects/hammer/usr.bin/netstat/netstat.1#10 integrate .. //depot/projects/hammer/usr.bin/netstat/netstat.h#10 integrate .. //depot/projects/hammer/usr.bin/pkill/pkill.1#7 integrate .. //depot/projects/hammer/usr.bin/pkill/pkill.c#8 integrate .. //depot/projects/hammer/usr.bin/split/split.1#4 integrate .. //depot/projects/hammer/usr.bin/split/split.c#3 integrate .. //depot/projects/hammer/usr.bin/tail/forward.c#8 integrate .. //depot/projects/hammer/usr.bin/window/wwgets.c#2 integrate .. //depot/projects/hammer/usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c#4 integrate .. //depot/projects/hammer/usr.sbin/chkgrp/chkgrp.c#6 integrate .. //depot/projects/hammer/usr.sbin/cron/cron/cron.c#3 integrate .. //depot/projects/hammer/usr.sbin/cron/cron/cron.h#3 integrate .. //depot/projects/hammer/usr.sbin/cron/cron/do_command.c#4 integrate .. //depot/projects/hammer/usr.sbin/cron/lib/misc.c#3 integrate .. //depot/projects/hammer/usr.sbin/daemon/Makefile#3 integrate .. //depot/projects/hammer/usr.sbin/daemon/daemon.8#6 integrate .. //depot/projects/hammer/usr.sbin/daemon/daemon.c#4 integrate .. //depot/projects/hammer/usr.sbin/inetd/inetd.c#14 integrate .. //depot/projects/hammer/usr.sbin/jls/jls.c#3 integrate .. //depot/projects/hammer/usr.sbin/mountd/Makefile#5 integrate .. //depot/projects/hammer/usr.sbin/mountd/mountd.c#15 integrate .. //depot/projects/hammer/usr.sbin/moused/Makefile#3 integrate .. //depot/projects/hammer/usr.sbin/moused/moused.c#13 integrate .. //depot/projects/hammer/usr.sbin/pciconf/pciconf.c#7 integrate .. //depot/projects/hammer/usr.sbin/powerd/Makefile#2 integrate .. //depot/projects/hammer/usr.sbin/powerd/powerd.8#4 integrate .. //depot/projects/hammer/usr.sbin/powerd/powerd.c#5 integrate .. //depot/projects/hammer/usr.sbin/sendmail/Makefile#14 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/dist.c#22 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/label.c#14 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/menus.c#35 integrate .. //depot/projects/hammer/usr.sbin/syslogd/syslogd.c#23 integrate .. //depot/projects/hammer/usr.sbin/watchdogd/Makefile#4 integrate .. //depot/projects/hammer/usr.sbin/watchdogd/watchdogd.c#7 integrate .. //depot/projects/hammer/usr.sbin/wicontrol/wicontrol.8#13 integrate .. //depot/projects/hammer/usr.sbin/wicontrol/wicontrol.c#9 integrate Differences ... ==== //depot/projects/hammer/MAINTAINERS#36 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.124 2005/08/08 20:10:04 cperciva Exp $ +$FreeBSD: src/MAINTAINERS,v 1.125 2005/08/25 17:14:39 emax Exp $ Please note that the content of this file is strictly advisory. No locks listed here are valid. The only strict review requirements @@ -129,6 +129,11 @@ linux emul emulation Please discuss changes here. bs{diff,patch} cperciva Pre-commit review requested. portsnap cperciva Pre-commit review requested. +sys/netgraph/bluetooth emax Pre-commit review preferred. +lib/libbluetooth emax Pre-commit review preferred. +lib/libsdp emax Pre-commit review preferred. +usr.bin/bluetooth emax Pre-commit review preferred. +usr.sbin/bluetooth emax Pre-commit review preferred. Following are the entries from the Makefiles, and a few other sources. Please remove stale entries from both their origin, and this file. ==== //depot/projects/hammer/Makefile.inc1#103 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.510 2005/08/07 13:47:25 netchild Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.512 2005/08/23 07:58:55 brian Exp $ # # Make command line options: # -DNO_DYNAMICROOT do not link /bin and /sbin dynamically @@ -1087,7 +1087,7 @@ @echo ">>> Removing old files (only deletes safe to delete libs)" .for file in ${OLD_FILES} # Ask for every old file if the user really wants to remove it. -# It's anoying, but beter safe than sorry. +# It's annoying, but better safe than sorry. @[ ! -f "${DESTDIR}/${file}" ] || (rm ${RM_I} "${DESTDIR}/${file}" \ || ([ -f "${DESTDIR}/${file}" ] \ && echo "Removing schg flag on ${DESTDIR}/${file}" \ @@ -1101,7 +1101,7 @@ | sed 's:${DESTDIR}/usr/share/man/cat:${DESTDIR}/usr/share/man/man:') \ check_empty=$$(echo $${catpage} \ | sed 's:.*\*:empty:'); \ - [ $${check_empty} != empty -a ! -e $${manpage} ] \ + [ "$${check_empty}" != "empty" -a ! -e "$${manpage}" ] \ && rm ${RM_I} $${catpage} || true; \ done; \ done @@ -1119,7 +1119,7 @@ | sed 's:${DESTDIR}/usr/share/man/cat:${DESTDIR}/usr/share/man/man:'); \ check_empty=$$(echo $${catpage} \ | sed 's:.*\*:empty:'); \ - [ $${check_empty} != empty -a ! -e $${manpage} ] \ + [ "$${check_empty}" != "empty" -a ! -e "$${manpage}" ] \ && echo $${catpage} || true; \ done; \ done ==== //depot/projects/hammer/ObsoleteFiles.inc#5 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.11 2005/08/07 13:46:28 netchild Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.14 2005/08/25 13:47:41 glebius Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# T/TCP retired several months ago +OLD_FILES+=usr/share/man/man4/ttcp.4.gz # 20050805 tn3270 retired long ago OLD_FILES+=usr/share/misc/map3270 # 20050801: too old to be interesting here @@ -27,6 +29,7 @@ OLD_FILES+=usr/libexec/rexecd # 20050606: OpenBSD dhclient replaces ISC one OLD_FILES+=bin/omshell +OLD_FILES+=sbin/omshell OLD_FILES+=usr/share/man/man1/omshell.1.gz OLD_FILES+=usr/share/man/man5/dhcp-eval.5.gz # 200504XX: ipf tools moved from /usr to / @@ -53,8 +56,11 @@ # 20050203: Merged with fortunes OLD_FILES+=usr/share/games/fortune/fortunes2 OLD_FILES+=usr/share/games/fortune/fortunes2.dat +# 200501XX: +OLD_FILES+=usr/libexec/getNAME # 200411XX: gvinum replaces vinum OLD_FILES+=bin/vinum +OLD_FILES+=sbin/vinum OLD_FILES+=usr/share/man/man8/vinum.8.gz # 20041109: replaced by em(4) OLD_FILES+=usr/share/man/man4/gx.4.gz @@ -214,11 +220,19 @@ OLD_FILES+=usr/bin/gasp OLD_FILES+=usr/bin/gdbreplay OLD_FILES+=usr/share/man/man1/gasp.1.gz +OLD_FILES+=sbin/mountd +OLD_FILES+=sbin/mount_fdesc +OLD_FILES+=sbin/mount_umap +OLD_FILES+=sbin/mount_union +OLD_FILES+=sbin/mount_msdos +OLD_FILES+=sbin/mount_null +OLD_FILES+=sbin/mount_kernfs # 200405XX: arl OLD_FILES+=usr/sbin/arlconfig OLD_FILES+=usr/share/man/man8/arlconfig.8.gz # 200403XX OLD_FILES+=bin/raidctl +OLD_FILES+=sbin/raidctl OLD_FILES+=usr/bin/sasc OLD_FILES+=usr/sbin/sgsc OLD_FILES+=usr/sbin/stlload @@ -255,6 +269,7 @@ OLD_FILES+=lib/libz.so # 200312XX OLD_FILES+=bin/cxconfig +OLD_FILES+=sbin/cxconfig OLD_FILES+=usr/share/man/man8/cxconfig.8.gz # 200309XX OLD_FILES+=usr/bin/symorder @@ -284,6 +299,8 @@ OLD_FILES+=usr/lib/libskey.a OLD_FILES+=usr/lib/libskey.so OLD_FILES+=usr/lib/libskey_p.a +OLD_FILES+=usr/libexec/tradcpp0 +OLD_FILES+=usr/libexec/cpp0 # 200304XX: removal of xten OLD_FILES+=usr/sbin/xten OLD_FILES+=usr/share/man/man1/xten.1.gz @@ -410,6 +427,10 @@ OLD_FILES+=usr/share/man/man3/des_set_odd_parity.3.gz OLD_FILES+=usr/share/man/man3/des_string_to_2key.3.gz OLD_FILES+=usr/share/man/man3/des_string_to_key.3.gz +# 200212XX +OLD_FILES+=usr/sbin/kenv +OLD_FILES+=usr/bin/kenv +OLD_FILES+=usr/sbin/elf2aout # 200210XX OLD_FILES+=usr/share/man/man3/All_FreeBSD.3.gz OLD_FILES+=usr/share/man/man3/CheckRules.3.gz @@ -469,11 +490,44 @@ OLD_FILES+=usr/share/man/man6/worms.6.gz OLD_FILES+=usr/share/man/man6/wump.6.gz # 200207XX +OLD_FILES+=usr/share/man/man1aout/ar.1aout.gz +OLD_FILES+=usr/share/man/man1aout/as.1aout.gz +OLD_FILES+=usr/share/man/man1aout/ld.1aout.gz +OLD_FILES+=usr/share/man/man1aout/nm.1aout.gz +OLD_FILES+=usr/share/man/man1aout/ranlib.1aout.gz +OLD_FILES+=usr/share/man/man1aout/size.1aout.gz +OLD_FILES+=usr/share/man/man1aout/strings.1aout.gz +OLD_FILES+=usr/share/man/man1aout/strip.1aout.gz OLD_FILES+=bin/mountd OLD_FILES+=bin/nfsd # 200206XX OLD_FILES+=usr/lib/libpam_ssh.a OLD_FILES+=usr/lib/libpam_ssh_p.a +OLD_FILES+=usr/bin/help +OLD_FILES+=usr/bin/sccs +OLD_FILES+=usr/bin/gdbserver +OLD_FILES+=usr/bin/ssh-keysign +OLD_FILES+=usr/sbin/gifconfig +OLD_FILES+=usr/sbin/prefix +# 200205XX +OLD_FILES+=usr/bin/doscmd +# 200204XX +OLD_FILES+=usr/bin/a2p +OLD_FILES+=usr/bin/ptx +OLD_FILES+=usr/bin/pod2text +OLD_FILES+=usr/bin/pod2man +OLD_FILES+=usr/bin/pod2latex +OLD_FILES+=usr/bin/pod2html +OLD_FILES+=usr/bin/h2ph +OLD_FILES+=usr/bin/dprofpp +OLD_FILES+=usr/bin/c2ph +OLD_FILES+=usr/bin/h2xs +OLD_FILES+=usr/bin/pl2pm +OLD_FILES+=usr/bin/splain +OLD_FILES+=usr/bin/s2p +OLD_FILES+=usr/bin/find2perl +OLD_FILES+=usr/sbin/pkg_update +OLD_FILES+=usr/sbin/scriptdump # 200203XX OLD_FILES+=usr/lib/libss.a OLD_FILES+=usr/lib/libss_p.a @@ -482,12 +536,33 @@ OLD_FILES+=usr/lib/libusb.a OLD_FILES+=usr/lib/libusb.so OLD_FILES+=usr/lib/libusb_p.a +OLD_FILES+=usr/sbin/diskpart +# 200202XX +OLD_FILES+=usr/bin/gprof4 +# 200201XX +OLD_FILES+=usr/sbin/linux # 2001XXXX OLD_FILES+=etc/security +OLD_FILES+=usr/bin/joy +OLD_FILES+=usr/sbin/ibcs2 +OLD_FILES+=usr/sbin/svr4 +OLD_FILES+=usr/bin/chflags +OLD_FILES+=usr/sbin/uuconv +OLD_FILES+=usr/sbin/uuchk +OLD_FILES+=usr/sbin/portmap +OLD_FILES+=usr/sbin/pmap_set +OLD_FILES+=usr/sbin/pmap_dump +OLD_FILES+=usr/sbin/mcon +OLD_FILES+=usr/sbin/stlstty +OLD_FILES+=usr/sbin/ispppcontrol +OLD_FILES+=usr/sbin/rndcontrol # 200104XX OLD_FILES+=usr/lib/libdescrypt.a OLD_FILES+=usr/lib/libscrypt.a OLD_FILES+=usr/lib/libscrypt_p.a +OLD_FILES+=usr/sbin/pim6stat +OLD_FILES+=usr/sbin/pim6sd +OLD_FILES+=usr/sbin/pim6dd # 20001200 OLD_FILES+=usr/lib/libgcc_r_pic.a # 200009XX @@ -505,8 +580,51 @@ OLD_FILES+=usr/bin/miniperl # 20000810 OLD_FILES+=usr/bin/sperl +# 200001XX +OLD_FILES+=usr/sbin/apmconf +# 199911XX +OLD_FILES+=usr/sbin/ipfstat +OLD_FILES+=usr/sbin/ipmon +OLD_FILES+=usr/sbin/ipnat +OLD_FILES+=usr/sbin/bad144 +OLD_FILES+=usr/sbin/wormcontrol +OLD_FILES+=usr/sbin/named-bootconf +OLD_FILES+=usr/sbin/kvm_mkdb +OLD_FILES+=usr/sbin/keyadmin # 199909XX OLD_FILES+=usr/lib/libdesrypt_p.a +OLD_FILES+=sbin/ft +# 199903XX +OLD_FILES+=sbin/modload +OLD_FILES+=sbin/modunload +OLD_FILES+=usr/sbin/natd +# 199812XX +OLD_FILES+=sbin/dset +# 199809XX +OLD_FILES+=sbin/scsi +OLD_FILES+=sbin/scsiformat +OLD_FILES+=usr/sbin/ncrcontrol +OLD_FILES+=usr/sbin/tickadj +# 199806XX +OLD_FILES+=usr/sbin/mkdosfs +# 199801XX +OLD_FILES+=sbin/mount_lfs +OLD_FILES+=sbin/newlfs +OLD_FILES+=sbin/dumplfs +OLD_FILES+=usr/sbin/qcamcontrol +OLD_FILES+=usr/sbin/supscan +# 1997XXXX +OLD_FILES+=usr/sbin/sysctl +OLD_FILES+=usr/sbin/ctm_scan +OLD_FILES+=usr/sbin/addgroup +OLD_FILES+=usr/sbin/rmgroup +# 1996XXXX +OLD_FILES+=sbin/rdisc +OLD_FILES+=usr/sbin/cdplay +OLD_FILES+=usr/sbin/supfilesrv +OLD_FILES+=usr/sbin/routed +OLD_FILES+=usr/sbin/lsdev +OLD_FILES+=usr/sbin/yppasswdd ## unsorted # do we still support aout builds? #OLD_FILES+=usr/lib/aout/c++rt0.o ==== //depot/projects/hammer/bin/sh/parser.c#10 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/parser.c,v 1.55 2005/08/13 15:47:13 stefanf Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/parser.c,v 1.56 2005/08/15 17:49:38 stefanf Exp $"); #include #include @@ -98,12 +98,6 @@ /* XXX When 'noaliases' is set to one, no alias expansion takes place. */ static int noaliases = 0; -#define GDB_HACK 1 /* avoid local declarations which gdb can't handle */ -#ifdef GDB_HACK -static const char argvars[5] = {CTLVAR, VSNORMAL|VSQUOTE, '@', '=', '\0'}; -static const char types[] = "}-+?="; -#endif - STATIC union node *list(int); STATIC union node *andor(void); @@ -384,13 +378,12 @@ if (lasttoken != TNL && lasttoken != TSEMI) synexpect(-1); } else { -#ifndef GDB_HACK - static const char argvars[5] = {CTLVAR, VSNORMAL|VSQUOTE, - '@', '=', '\0'}; -#endif + static char argvars[5] = { + CTLVAR, VSNORMAL|VSQUOTE, '@', '=', '\0' + }; n2 = (union node *)stalloc(sizeof (struct narg)); n2->type = NARG; - n2->narg.text = (char *)argvars; + n2->narg.text = argvars; n2->narg.backquote = NULL; n2->narg.next = NULL; n1->nfor.args = n2; @@ -1186,9 +1179,7 @@ int typeloc; int flags; char *p; -#ifndef GDB_HACK static const char types[] = "}-+?="; -#endif int bracketed_name = 0; /* used to handle ${[0-9]*} variables */ c = pgetc(); ==== //depot/projects/hammer/bin/sh/sh.1#17 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 -.\" $FreeBSD: src/bin/sh/sh.1,v 1.102 2005/06/14 08:25:00 ru Exp $ +.\" $FreeBSD: src/bin/sh/sh.1,v 1.104 2005/08/29 06:47:43 jcamou Exp $ .\" -.Dd July 3, 2004 +.Dd August 17, 2005 .Dt SH 1 .Os .Sh NAME @@ -355,8 +355,9 @@ .El .Ss Quoting Quoting is used to remove the special meaning of certain characters -or words to the shell, such as operators, whitespace, or -keywords. +or words to the shell, such as operators, whitespace, keywords, +or alias names. +.Pp There are three types of quoting: matched single quotes, matched double quotes, and backslash. .Bl -tag -width indent @@ -422,6 +423,15 @@ They can also be used to create lexically obscure code. This use is discouraged. +.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 +adjacent to the alias name. This is most often done by prefixing +an alias name with a backslash to execute a function, built-in, or +normal program with the same name. +See the +.Sx Quoting +subsection. .Ss Commands The shell interprets the words it reads according to a language, the specification of which is outside the scope @@ -1352,8 +1362,7 @@ If it is not found in the .Ev PATH , it is sought in the current working directory. -.It Ic alias Op Ar name ... -.It Ic alias Op Ar name Ns = Ns Ar string ... +.It Ic alias Oo Ar name Ns Oo = Ns Ar string Oc ... Oc If .Ar name Ns = Ns Ar string is specified, the shell defines the alias @@ -1372,6 +1381,9 @@ .Ic unalias ) . Alias values are written with appropriate quoting so that they are suitable for re-input to the shell. +Also see the +.Sx Aliases +subsection. .It Ic bg Op Ar job ... Continue the specified jobs (or the current job if no jobs are given) @@ -1978,12 +1990,17 @@ .It Fl v Ar virtualmem The maximal virtual size of a process, in kilobytes. .El -.It Ic umask Op Ar mask +.It Ic umask Oo Fl S Oc Op Ar mask Set the file creation mask (see .Xr umask 2 ) -to the octal value specified by +to the octal or symbolic (see +.Xr chmod 1 ) +value specified by .Ar mask . If the argument is omitted, the current mask value is printed. +If the +.Fl S +option is specified, the output is symbolic, otherwise the output is octal. .It Ic unalias Oo Fl a Oc Op Ar name If .Ar name ==== //depot/projects/hammer/contrib/bind9/lib/dns/resolver.c#3 (text+ko) ==== @@ -2665,7 +2665,7 @@ unsigned int options, unsigned int bucketnum, fetchctx_t **fctxp) { fetchctx_t *fctx; - isc_result_t result = ISC_R_SUCCESS; + isc_result_t result; isc_result_t iresult; isc_interval_t interval; dns_fixedname_t qdomain; @@ -2687,8 +2687,10 @@ strcat(buf, "/"); /* checked */ strcat(buf, typebuf); /* checked */ fctx->info = isc_mem_strdup(res->mctx, buf); - if (fctx->info == NULL) + if (fctx->info == NULL) { + result = ISC_R_NOMEMORY; goto cleanup_fetch; + } FCTXTRACE("create"); dns_name_init(&fctx->name, NULL); result = dns_name_dup(name, res->mctx, &fctx->name); ==== //depot/projects/hammer/contrib/less/line.c#3 (text+ko) ==== @@ -1,3 +1,4 @@ +/* $FreeBSD: src/contrib/less/line.c,v 1.2 2005/08/26 10:05:59 tjr Exp $ */ /* * Copyright (C) 1984-2002 Mark Nudelman * @@ -911,8 +912,8 @@ /* * Shift the data to the end of the new linebuf. */ - for (fm = linebuf + old_size_linebuf, - to = linebuf + size_linebuf; + for (fm = linebuf + old_size_linebuf - 1, + to = linebuf + size_linebuf - 1; fm >= linebuf; fm--, to--) *to = *fm; n = size_linebuf - old_size_linebuf; ==== //depot/projects/hammer/contrib/nvi/docs/USD.doc/vi.ref/vi.ref#2 (text+ko) ==== @@ -10,6 +10,7 @@ .\" .\" @(#)vi.ref 8.88 (Berkeley) 10/19/96 .\" +.\" $FreeBSD: src/contrib/nvi/docs/USD.doc/vi.ref/vi.ref,v 1.2 2005/08/17 15:56:04 cperciva Exp $ .\" .so ref.so .tp @@ -27,7 +28,6 @@ University of California, Berkeley Berkeley, California 94720 .sp 1 -\*(td .)l .sp 3 .(l C ==== //depot/projects/hammer/contrib/pf/pflogd/pflogd.c#7 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/contrib/pf/pflogd/pflogd.c,v 1.8 2005/05/03 16:55:20 mlaier Exp $"); +__FBSDID("$FreeBSD: src/contrib/pf/pflogd/pflogd.c,v 1.9 2005/08/23 00:03:58 csjp Exp $"); #include #include @@ -216,15 +216,11 @@ cur_snaplen = snaplen = pcap_snapshot(hpcap); -#ifdef __FreeBSD__ - /* We can not lock bpf devices ... yet */ -#else /* lock */ if (ioctl(pcap_fileno(hpcap), BIOCLOCK) < 0) { logmsg(LOG_ERR, "BIOCLOCK: %s", strerror(errno)); return (-1); } -#endif return (0); } ==== //depot/projects/hammer/contrib/smbfs/lib/smb/kiconv.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * $Id: kiconv.c,v 1.3 2001/08/22 03:31:36 bp Exp $ - * $FreeBSD: src/contrib/smbfs/lib/smb/kiconv.c,v 1.3 2004/10/19 17:44:31 obrien Exp $ + * $FreeBSD: src/contrib/smbfs/lib/smb/kiconv.c,v 1.4 2005/08/24 12:38:26 imura Exp $ */ #include @@ -52,7 +52,7 @@ struct iconv_add_out dout; size_t olen; - if (strlen(from) > ICONV_CSNMAXLEN || strlen(to) > ICONV_CSNMAXLEN) + if (strlen(from) >= ICONV_CSNMAXLEN || strlen(to) >= ICONV_CSNMAXLEN) return EINVAL; din.ia_version = ICONV_ADD_VER; strcpy(din.ia_converter, "xlat"); ==== //depot/projects/hammer/contrib/traceroute/traceroute.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ "@(#)$Id: traceroute.c,v 1.68 2000/12/14 08:04:33 leres Exp $ (LBL)"; #endif static const char rcsid[] = - "$FreeBSD: src/contrib/traceroute/traceroute.c,v 1.26 2004/04/17 18:44:23 pb Exp $"; + "$FreeBSD: src/contrib/traceroute/traceroute.c,v 1.27 2005/08/26 18:08:24 andre Exp $"; #endif /* @@ -946,6 +946,7 @@ continue; if (!gotlastaddr || from->sin_addr.s_addr != lastaddr) { + if (probe > 0) printf("\n "); print(packet, cc, from); lastaddr = from->sin_addr.s_addr; ++gotlastaddr; ==== //depot/projects/hammer/etc/Makefile#43 (text+ko) ==== @@ -1,5 +1,5 @@ # from: @(#)Makefile 5.11 (Berkeley) 5/21/91 -# $FreeBSD: src/etc/Makefile,v 1.346 2005/08/08 20:10:05 cperciva Exp $ +# $FreeBSD: src/etc/Makefile,v 1.347 2005/08/26 18:54:06 imp Exp $ .if !defined(NO_SENDMAIL) SUBDIR= sendmail @@ -76,13 +76,14 @@ .include .if ${TARGET_ENDIANNESS} == "1234" -CAP_MKDB_ENDIAN= -l -PWD_MKDB_ENDIAN= -L +CAP_MKDB_ENDIAN?=-l +PWD_MKDB_ENDIAN?=-L .elif ${TARGET_ENDIANNESS} == "4321" -CAP_MKDB_ENDIAN= -b -PWD_MKDB_ENDIAN= -B +CAP_MKDB_ENDIAN?=-b +PWD_MKDB_ENDIAN?=-B .else -CAP_MKDB_ENDIAN= +CAP_MKDB_ENDIAN?= +PWD_MKDB_ENDIAN?= .endif distribution: ==== //depot/projects/hammer/etc/defaults/rc.conf#59 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.257 2005/08/14 18:02:21 pjd Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.259 2005/08/24 16:25:47 yar Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -40,14 +40,13 @@ pccard_conf="/etc/defaults/pccard.conf" # pccardd(8) config file powerd_enable="NO" # Run powerd to lower our power usage. powerd_flags="" # Flags to powerd (if enabled). -removable_interfaces="" # Removable network interfaces for /etc/pccard_ether. removable_route_flush="YES" # Flush routes when removing an interface tmpmfs="AUTO" # Set to YES to always create an mfs /tmp, NO to never tmpsize="20m" # Size of mfs /tmp if created -tmpmfs_flags="-S" # Extra mdmfs options for the mfs /tmp +tmpmfs_flags="-S -M" # Extra mdmfs options for the mfs /tmp varmfs="AUTO" # Set to YES to always create an mfs /var, NO to never varsize="32m" # Size of mfs /var if created -varmfs_flags="-S" # Extra mount options for the mfs /var +varmfs_flags="-S -M" # Extra mount options for the mfs /var populate_var="AUTO" # Set to YES to always (re)populate /var, NO to never local_startup="/usr/local/etc/rc.d /usr/X11R6/etc/rc.d" # startup script dirs. script_name_sep=" " # Change if your startup scripts' names contain spaces ==== //depot/projects/hammer/etc/network.subr#12 (text+ko) ==== @@ -22,7 +22,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/network.subr,v 1.164 2005/06/30 05:02:34 brooks Exp $ +# $FreeBSD: src/etc/network.subr,v 1.166 2005/08/26 04:06:17 brooks Exp $ # >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Aug 29 20:48:13 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BF2B116A421; Mon, 29 Aug 2005 20:48:12 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 9560416A41F for ; Mon, 29 Aug 2005 20:48:12 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 85B4543D49 for ; Mon, 29 Aug 2005 20:48:09 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7TKm9Wv002603 for ; Mon, 29 Aug 2005 20:48:09 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7TKm989002600 for perforce@freebsd.org; Mon, 29 Aug 2005 20:48:09 GMT (envelope-from soc-victor@freebsd.org) Date: Mon, 29 Aug 2005 20:48:09 GMT Message-Id: <200508292048.j7TKm989002600@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 82803 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Aug 2005 20:48:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=82803 Change 82803 by soc-victor@soc-victor_82.76.158.176 on 2005/08/29 20:47:37 Finished the UDP-MIB (RFC 4113). Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/Makefile#7 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/udp46_snmp.c#5 edit Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/Makefile#7 (text+ko) ==== @@ -43,6 +43,7 @@ DEFS= ${MOD}_tree.def +#INET-ADDRESS-MIB.txt does not belong here BMIBS= TCP-MIB.txt \ UDP-MIB.txt \ INET-ADDRESS-MIB.txt ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/udp46_snmp.c#5 (text+ko) ==== @@ -99,7 +99,8 @@ u_int n = 0; assert(inp != NULL); - for (xf = tcp_udp46_state_g.xfiles, n = 0; n < tcp_udp46_state_g.xfiles_total; ++n, ++xf) { + for (xf = tcp_udp46_state_g.xfiles, n = 0; + n < tcp_udp46_state_g.xfiles_total; ++n, ++xf) { if (xf->xf_data == NULL) { continue; } @@ -150,6 +151,8 @@ pid_t pid_owner = 0; in_addr_t inaddr; u_int instance = 1; + static + uint32_t zero_ip6[] ={ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; assert(inp != NULL); @@ -173,8 +176,40 @@ return (1); /*duplicate endpoint found*/ } } + /*check for an existent IPv6 endpoint bound to 0::0/128 */ + if ( inp->xi_inp.inp_laddr.s_addr == INADDR_ANY + && inp->xi_inp.inp_faddr.s_addr == INADDR_ANY ) { + if( _oid->index.subs[0] == IAT_ipv6 && + _oid->inp->xi_inp.in6p_lport == inp->xi_inp.inp_lport && + pid_owner == _oid->so_pgid) { + if (memcmp(&zero_ip6[0], + &_oid->index.subs[1], + sizeof(zero_ip6)) == 0 + && memcmp(&zero_ip6[0], + &_oid->index.subs[19], + sizeof(zero_ip6) ) == 0 ) { + /*got it*/ + instance = + (IN6_IS_ADDR_UNSPECIFIED(&_oid->inp->xi_inp.in6p_faddr) ? + _oid->index.subs[21] : _oid->index.subs[36] ); + + _oid->index.len = 7; + _oid->index.subs[0] = IAT_unknown; + _oid->index.subs[1] = 0; /*zero/ empty octet sting*/ + _oid->index.subs[2] = ntohs(inp->xi_inp.inp_lport); + _oid->index.subs[3] = IAT_unknown; + _oid->index.subs[4] = 0; /*zero/ empty octet sting*/ + _oid->index.subs[5] = ntohs(_oid->inp->xi_inp.in6p_fport); + /*copy instance number*/ + _oid->index.subs[6] = instance; + return 1; + } + } + + }/*end check for the same application bound to zero v4 & v6 address*/ + } - all_oid->index.len = 13; + all_oid->index.subs[0] = IAT_ipv4; inaddr = ntohl(inp->xi_inp.inp_laddr.s_addr); all_oid->index.subs[1] = (inaddr >> 24) & 0xff; @@ -182,14 +217,26 @@ all_oid->index.subs[3] = (inaddr >> 8) & 0xff; all_oid->index.subs[4] = (inaddr >> 0) & 0xff; all_oid->index.subs[5] = ntohs(inp->xi_inp.inp_lport); - all_oid->index.subs[6] = IAT_ipv4; - inaddr = ntohl(inp->xi_inp.inp_faddr.s_addr); - all_oid->index.subs[7] = (inaddr >> 24) & 0xff; - all_oid->index.subs[8] = (inaddr >> 16) & 0xff; - all_oid->index.subs[9] = (inaddr >> 8) & 0xff; - all_oid->index.subs[10] = (inaddr >> 0) & 0xff; - all_oid->index.subs[11] = ntohs(inp->xi_inp.inp_fport); - all_oid->index.subs[12] = instance; + + if(inp->xi_inp.inp_faddr.s_addr == INADDR_ANY && + inp->xi_inp.inp_fport == 0 ){ + all_oid->index.len = 10; + all_oid->index.subs[6] = IAT_unknown; + all_oid->index.subs[7] = 0; /*zero/ empty octet sting*/ + all_oid->index.subs[8] = 0; + all_oid->index.subs[9] = instance; + + } else { + all_oid->index.len = 13; + all_oid->index.subs[6] = IAT_ipv4; + inaddr = ntohl(inp->xi_inp.inp_faddr.s_addr); + all_oid->index.subs[7] = (inaddr >> 24) & 0xff; + all_oid->index.subs[8] = (inaddr >> 16) & 0xff; + all_oid->index.subs[9] = (inaddr >> 8) & 0xff; + all_oid->index.subs[10] = (inaddr >> 0) & 0xff; + all_oid->index.subs[11] = ntohs(inp->xi_inp.inp_fport); + all_oid->index.subs[12] = instance; + } all_oid->so_pgid = pid_owner; @@ -230,19 +277,64 @@ return (1); /*duplicate endpoint found*/ } } + /*check for an existent IPv4 endpoint bound to 0.0.0.0 */ + if ( IN6_IS_ADDR_UNSPECIFIED(&inp->xi_inp.in6p_laddr) + && IN6_IS_ADDR_UNSPECIFIED(&inp->xi_inp.in6p_faddr)) { + if( _oid->index.subs[0] == IAT_ipv4 && + _oid->inp->xi_inp.inp_lport == inp->xi_inp.in6p_lport && + pid_owner == _oid->so_pgid) { + if ( inp->xi_inp.inp_faddr.s_addr == INADDR_ANY && + inp->xi_inp.inp_laddr.s_addr == INADDR_ANY) { + /*got it*/ + instance = + (_oid->inp->xi_inp.inp_faddr.s_addr == INADDR_ANY ? + _oid->index.subs[9] : _oid->index.subs[12] ); + + _oid->index.len = 7; + _oid->index.subs[0] = IAT_unknown; + _oid->index.subs[1] = 0; /*zero/ empty octet sting*/ + _oid->index.subs[2] = ntohs(inp->xi_inp.inp_lport); + _oid->index.subs[3] = IAT_unknown; + _oid->index.subs[4] = 0; /*zero/ empty octet sting*/ + _oid->index.subs[5] = ntohs(_oid->inp->xi_inp.in6p_fport); + /*copy instance number*/ + _oid->index.subs[6] = instance; + return 1; + } + } + + }/*end check for the same application bound to zero v4 & v6 address*/ + + } - all_oid->index.len = 37; + + if ( IN6_IS_ADDR_UNSPECIFIED(&inp->xi_inp.in6p_faddr) && + inp->xi_inp.in6p_fport == 0 ) { + all_oid->index.len = 22; + + all_oid->index.subs[0] = IAT_ipv6; + for (i=0; i<16; i++) { + all_oid->index.subs[1+i] = inp->xi_inp.in6p_laddr.s6_addr[i]; + } + all_oid->index.subs[17] = ntohs(inp->xi_inp.in6p_lport); + all_oid->index.subs[18] = IAT_unknown; + all_oid->index.subs[19] = 0; + all_oid->index.subs[20] = 0; + all_oid->index.subs[21] = instance; + + } else { + all_oid->index.len = 37; - all_oid->index.subs[0] = IAT_ipv6; - for (i=0; i<16; i++) { - all_oid->index.subs[1+i] = inp->xi_inp.in6p_laddr.s6_addr[i]; - all_oid->index.subs[19+i] = inp->xi_inp.in6p_faddr.s6_addr[i]; - } - all_oid->index.subs[17] = ntohs(inp->xi_inp.in6p_lport); - all_oid->index.subs[18] = IAT_ipv6; - all_oid->index.subs[35] = ntohs(inp->xi_inp.in6p_fport); - all_oid->index.subs[36] = instance; - + all_oid->index.subs[0] = IAT_ipv6; + for (i=0; i<16; i++) { + all_oid->index.subs[1+i] = inp->xi_inp.in6p_laddr.s6_addr[i]; + all_oid->index.subs[19+i] = inp->xi_inp.in6p_faddr.s6_addr[i]; + } + all_oid->index.subs[17] = ntohs(inp->xi_inp.in6p_lport); + all_oid->index.subs[18] = IAT_ipv6; + all_oid->index.subs[35] = ntohs(inp->xi_inp.in6p_fport); + all_oid->index.subs[36] = instance; + } all_oid->so_pgid = pid_owner; From owner-p4-projects@FreeBSD.ORG Mon Aug 29 21:28:01 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B099E16A421; Mon, 29 Aug 2005 21:28:00 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 8787916A41F for ; Mon, 29 Aug 2005 21:28:00 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6253F43D58 for ; Mon, 29 Aug 2005 21:27:58 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7TLRwWt004012 for ; Mon, 29 Aug 2005 21:27:58 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7TLRvkm004009 for perforce@freebsd.org; Mon, 29 Aug 2005 21:27:58 GMT (envelope-from soc-victor@freebsd.org) Date: Mon, 29 Aug 2005 21:27:58 GMT Message-Id: <200508292127.j7TLRvkm004009@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 82805 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Aug 2005 21:28:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=82805 Change 82805 by soc-victor@soc-victor_82.76.158.176 on 2005/08/29 21:27:13 Renamed a macro. Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp46_snmp.c#6 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46.h#4 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46_common.c#4 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/udp46_snmp.c#6 edit Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp46_snmp.c#6 (text+ko) ==== @@ -269,11 +269,11 @@ return 0; } if ( tp->xt_inp.inp_laddr.s_addr != INADDR_ANY ) { - TCP46_DPRINTF((stderr, "V4 [%s] Skipped one listener (not an INADDR_ANY v4).\n ", + L4_DPRINTF((stderr, "V4 [%s] Skipped one listener (not an INADDR_ANY v4).\n ", __func__)); return 0; } - TCP46_DPRINTF((stderr, "V4: [%s] Adding INADDR_ANY v4 listener with port %d.\n ", + L4_DPRINTF((stderr, "V4: [%s] Adding INADDR_ANY v4 listener with port %d.\n ", __func__, ntohs(tp->xt_inp.inp_lport))); @@ -285,7 +285,7 @@ if ( _oid->index.subs[0] == IAT_ipv6 ) { if ( _oid->index.subs[17] == ntohs(tp->xt_inp.inp_lport) && listener_oid->so_pgid == _oid->so_pgid) { - TCP46_DPRINTF((stderr, "V4: [%s] Got listener with port %d.\n ", + L4_DPRINTF((stderr, "V4: [%s] Got listener with port %d.\n ", __func__, _oid->index.subs[5])); @@ -322,11 +322,11 @@ return 0; } if ( !IN6_IS_ADDR_UNSPECIFIED(&tp->xt_inp.in6p_laddr) ) { - TCP46_DPRINTF((stderr, "[%s] Skipped one listener (not an UNSPECIFIED v6).\n ", + L4_DPRINTF((stderr, "[%s] Skipped one listener (not an UNSPECIFIED v6).\n ", __func__)); return 0; } - TCP46_DPRINTF((stderr, "[%s] Adding UNSPECIFIED v6 listener with port %d.\n ", + L4_DPRINTF((stderr, "[%s] Adding UNSPECIFIED v6 listener with port %d.\n ", __func__, ntohs(tp->xt_inp.in6p_lport))); @@ -337,7 +337,7 @@ if ( _oid->index.subs[0] == IAT_ipv4 ) { if ( _oid->index.subs[5] == ntohs(tp->xt_inp.in6p_lport) && listener_oid->so_pgid == _oid->so_pgid ) { - TCP46_DPRINTF((stderr, "[%s] Got listener with port %d.\n ", + L4_DPRINTF((stderr, "[%s] Got listener with port %d.\n ", __func__, _oid->index.subs[5])); @@ -510,7 +510,7 @@ tcp_udp46_state_g.listen_tcp_total = 0; if (fetch_xfiles() != 0) { - TCP46_DPRINTF((stderr, "[%s] Failed to fetch the xfiles\n ", __func__ )); + L4_DPRINTF((stderr, "[%s] Failed to fetch the xfiles\n ", __func__ )); } /*First count the endpoints*/ @@ -522,7 +522,7 @@ /* Ignore sockets for protocols other than the desired one. */ if ((( struct xtcpcb *)ptr)->xt_socket.xso_protocol != IPPROTO_TCP) { - TCP46_DPRINTF((stderr, "[%s] One tcp4 conn. ignored (protocol missmatch: %d)\n ", + L4_DPRINTF((stderr, "[%s] One tcp4 conn. ignored (protocol missmatch: %d)\n ", __func__, ((struct xinpcb *)ptr)->xi_socket.xso_protocol )); @@ -532,7 +532,7 @@ /* Ignore PCBs which were freed during copyout. */ if (tp->xt_inp.inp_gencnt > tcp_udp46_state_g.tcp_xinpgen->xig_gen ) { - TCP46_DPRINTF((stderr, "[%s] One tcp4 conn. ignored (freed during copyout)\n ", + L4_DPRINTF((stderr, "[%s] One tcp4 conn. ignored (freed during copyout)\n ", __func__ )); @@ -558,7 +558,7 @@ } } - TCP46_DPRINTF((stderr, "[%s] Got %d tcp4 connections, %d tcp{4,6} connections, %d tcp{4,6} listeners.\n ", + L4_DPRINTF((stderr, "[%s] Got %d tcp4 connections, %d tcp{4,6} connections, %d tcp{4,6} listeners.\n ", __func__, tcp_udp46_state_g.tcp4_total, tcp_udp46_state_g.all_tcp_total, @@ -681,7 +681,7 @@ } } - TCP46_DPRINTF((stderr, "[%s] Got %d tcp{4,6} DISTINCT listeners.\n ", + L4_DPRINTF((stderr, "[%s] Got %d tcp{4,6} DISTINCT listeners.\n ", __func__, tcp_udp46_state_g.listen_tcp_total)); @@ -909,7 +909,7 @@ syslog(LOG_ERR, "%s: failed to delete the specified tcp connection: %m", __func__); return -1; } else { - TCP46_DPRINTF((stderr, "[%s] one tcp connection deleted\n ", + L4_DPRINTF((stderr, "[%s] one tcp connection deleted\n ", __func__)); syslog(LOG_INFO, "%s: one tcp connection deleted.", __func__); ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46.h#4 (text+ko) ==== @@ -49,12 +49,12 @@ /*a debug macro*/ #ifndef NDEBUG -#define TCP46_DPRINTF(ARGS) do { \ - fprintf(stderr, "TCP46_DEBUG: "); \ - fprintf ARGS; \ +#define L4_DPRINTF(ARGS) do { \ + fprintf(stderr, "TCP46_DEBUG: "); \ + fprintf ARGS; \ } while (0) #else -#define TCP46_DPRINTF(ARGS) +#define L4_DPRINTF(ARGS) #endif /*NDEBUG*/ enum InetAddressType { ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46_common.c#4 (text+ko) ==== @@ -81,7 +81,7 @@ syslog(LOG_ERR, "kern.clockrate: wrong size"); return (-1); } - TCP46_DPRINTF((stderr, "[%s] done.\n", __func__)); + L4_DPRINTF((stderr, "[%s] done.\n", __func__)); return (0); } @@ -153,7 +153,7 @@ } - TCP46_DPRINTF((stderr, "[%s] done.\n", __func__)); + L4_DPRINTF((stderr, "[%s] done.\n", __func__)); return (0); } @@ -165,7 +165,7 @@ static void tcp_udp46_dump_v(void) { /*nothing iteresting here for the time being*/ - TCP46_DPRINTF((stderr, "[%s] done.\n ", __func__)); + L4_DPRINTF((stderr, "[%s] done.\n ", __func__)); } /* @@ -175,7 +175,7 @@ static void tcp_udp46_config_v(void) { /*nothing iteresting here for the time being*/ - TCP46_DPRINTF((stderr, "[%s] done.\n ", __func__)); + L4_DPRINTF((stderr, "[%s] done.\n ", __func__)); } @@ -188,7 +188,7 @@ goto LABEL_RETURN; } LABEL_RETURN:; - TCP46_DPRINTF((stderr,"[%s] done.\n ", __func__)); + L4_DPRINTF((stderr,"[%s] done.\n ", __func__)); } @@ -222,7 +222,7 @@ syslog(LOG_ERR, "Failed to fetch the UDP data in tcp_udp46 module." ); } - TCP46_DPRINTF((stderr, "[%s] done.\n ", __func__)); + L4_DPRINTF((stderr, "[%s] done.\n ", __func__)); } /* ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/udp46_snmp.c#6 (text+ko) ==== @@ -374,7 +374,7 @@ return (-1); } - TCP46_DPRINTF((stderr, "[%s] Got %d len at net.inet.udp.pcblist .\n", __func__, len)); + L4_DPRINTF((stderr, "[%s] Got %d len at net.inet.udp.pcblist .\n", __func__, len)); if (len > tcp_udp46_state_g.udp_xinpgen_len) { if ((ptr = realloc(tcp_udp46_state_g.udp_xinpgen, len)) == NULL) { @@ -396,7 +396,7 @@ tcp_udp46_state_g.all_udp_total = 0; if (fetch_xfiles() != 0) { - TCP46_DPRINTF((stderr, "[%s] Failed to fetch the xfiles\n ", __func__ )); + L4_DPRINTF((stderr, "[%s] Failed to fetch the xfiles\n ", __func__ )); } @@ -454,7 +454,7 @@ } - TCP46_DPRINTF((stderr, + L4_DPRINTF((stderr, "[%s] Got %d udp4 endpoints, %d udp{4,6} endpoints.\n", __func__, tcp_udp46_state_g.udp4_total, From owner-p4-projects@FreeBSD.ORG Mon Aug 29 23:14:07 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E957316A421; Mon, 29 Aug 2005 23:14:06 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 BACA916A41F for ; Mon, 29 Aug 2005 23:14:06 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6EBA743D4C for ; Mon, 29 Aug 2005 23:14:06 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7TNE6oX007893 for ; Mon, 29 Aug 2005 23:14:06 GMT (envelope-from soc-saturnero@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7TNE61M007890 for perforce@freebsd.org; Mon, 29 Aug 2005 23:14:06 GMT (envelope-from soc-saturnero@freebsd.org) Date: Mon, 29 Aug 2005 23:14:06 GMT Message-Id: <200508292314.j7TNE61M007890@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-saturnero@freebsd.org using -f From: soc-saturnero To: Perforce Change Reviews Cc: Subject: PERFORCE change 82807 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Aug 2005 23:14:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=82807 Change 82807 by soc-saturnero@soc-saturnero_sberta on 2005/08/29 23:13:12 Use -o readonly in mdconfig Affected files ... .. //depot/projects/soc2005/freesbie/conf/rc.d/uzip#3 edit Differences ... ==== //depot/projects/soc2005/freesbie/conf/rc.d/uzip#3 (text+ko) ==== @@ -18,7 +18,7 @@ if [ -f ${loopfs} ]; then filename=${loopfs#/uzip/} mountpoint=/${filename%.uzip} - device=/dev/$(mdconfig -a -t vnode -f $loopfs) + device=/dev/$(mdconfig -a -t vnode -o readonly -f $loopfs) sleep 1 if [ -c ${device} ]; then mount -r ${device}.uzip ${mountpoint} From owner-p4-projects@FreeBSD.ORG Tue Aug 30 00:09:15 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0CE4816A421; Tue, 30 Aug 2005 00:09:15 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 C19EF16A41F for ; Tue, 30 Aug 2005 00:09:14 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6D06943D45 for ; Tue, 30 Aug 2005 00:09:14 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7U09Exc010076 for ; Tue, 30 Aug 2005 00:09:14 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7U09EI4010073 for perforce@freebsd.org; Tue, 30 Aug 2005 00:09:14 GMT (envelope-from peter@freebsd.org) Date: Tue, 30 Aug 2005 00:09:14 GMT Message-Id: <200508300009.j7U09EI4010073@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 82811 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Aug 2005 00:09:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=82811 Change 82811 by peter@peter_daintree on 2005/08/30 00:08:21 IFC @82810 Affected files ... .. //depot/projects/hammer/bin/sh/sh.1#18 integrate .. //depot/projects/hammer/lib/libc/string/strcspn.3#2 integrate .. //depot/projects/hammer/lib/libc/string/strspn.3#2 integrate .. //depot/projects/hammer/sys/dev/wi/if_wi.c#42 integrate .. //depot/projects/hammer/sys/kern/uipc_mbuf.c#31 integrate .. //depot/projects/hammer/sys/sys/mbuf.h#43 integrate .. //depot/projects/hammer/tools/tools/recoverdisk/README#3 integrate .. //depot/projects/hammer/tools/tools/recoverdisk/recoverdisk.c#4 integrate Differences ... ==== //depot/projects/hammer/bin/sh/sh.1#18 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 -.\" $FreeBSD: src/bin/sh/sh.1,v 1.104 2005/08/29 06:47:43 jcamou Exp $ +.\" $FreeBSD: src/bin/sh/sh.1,v 1.105 2005/08/29 21:28:12 jcamou Exp $ .\" .Dd August 17, 2005 .Dt SH 1 @@ -426,7 +426,8 @@ .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 -adjacent to the alias name. This is most often done by prefixing +adjacent to the alias name. +This is most often done by prefixing an alias name with a backslash to execute a function, built-in, or normal program with the same name. See the ==== //depot/projects/hammer/lib/libc/string/strcspn.3#2 (text+ko) ==== @@ -34,7 +34,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)strcspn.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/string/strcspn.3,v 1.7 2001/10/01 16:09:00 ru Exp $ +.\" $FreeBSD: src/lib/libc/string/strcspn.3,v 1.8 2005/08/29 20:41:58 garys Exp $ .\" .Dd June 4, 1993 .Dt STRCSPN 3 @@ -63,6 +63,13 @@ .Em complement of .Fa charset ) . +In other words, it computes the string array index in +.Fa s +of the first character of +.Fa s +which is also in +.Fa charset , +else the index of the first null character. .Sh RETURN VALUES The .Fn strcspn ==== //depot/projects/hammer/lib/libc/string/strspn.3#2 (text+ko) ==== @@ -34,7 +34,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)strspn.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/string/strspn.3,v 1.8 2001/10/01 16:09:00 ru Exp $ +.\" $FreeBSD: src/lib/libc/string/strspn.3,v 1.9 2005/08/29 20:41:58 garys Exp $ .\" .Dd June 4, 1993 .Dt STRSPN 3 @@ -56,8 +56,15 @@ .Fa s as long as the characters from .Fa s -occur in string +occur in the null-terminated string .Fa charset . +In other words, it computes the string array index in +.Fa s +of the first character of +.Fa s +which is not in +.Fa charset , +else the index of the first null character. .Sh RETURN VALUES The .Fn strspn ==== //depot/projects/hammer/sys/dev/wi/if_wi.c#42 (text+ko) ==== @@ -62,7 +62,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.188 2005/08/29 15:46:41 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.189 2005/08/29 20:06:02 scottl Exp $"); #define WI_HERMES_AUTOINC_WAR /* Work around data write autoinc bug. */ #define WI_HERMES_STATS_WAR /* Work around stats counter bug. */ @@ -2444,7 +2444,6 @@ if (i == 0) { device_printf(sc->sc_dev, "wi_cmd: busy bit won't clear.\n" ); sc->wi_gone = 1; - count--; return(ETIMEDOUT); } @@ -2468,7 +2467,6 @@ s = CSR_READ_2(sc, WI_STATUS); CSR_WRITE_2(sc, WI_EVENT_ACK, WI_EV_CMD); if (s & WI_STAT_CMD_RESULT) { - count--; return(EIO); } break; @@ -2476,7 +2474,6 @@ DELAY(WI_DELAY); } - count--; if (i == WI_TIMEOUT) { device_printf(sc->sc_dev, "timeout in wi_cmd 0x%04x; event status 0x%04x\n", cmd, s); ==== //depot/projects/hammer/sys/kern/uipc_mbuf.c#31 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_mbuf.c,v 1.149 2005/07/30 01:32:16 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_mbuf.c,v 1.152 2005/08/29 20:15:33 andre Exp $"); #include "opt_mac.h" #include "opt_param.h" @@ -270,6 +270,125 @@ } /* + * Clean up mbuf (chain) from any tags and packet headers. + * If "all" is set then the first mbuf in the chain will be + * cleaned too. + */ +void +m_demote(struct mbuf *m0, int all) +{ + struct mbuf *m; + + for (m = all ? m0 : m0->m_next; m != NULL; m = m->m_next) { + if (m->m_flags & M_PKTHDR) { + m_tag_delete_chain(m, NULL); + m->m_flags &= ~M_PKTHDR; + bzero(&m->m_pkthdr, sizeof(struct pkthdr)); + } + if (m->m_type & MT_HEADER) + m->m_type = MT_DATA; + if (m != m0 && m->m_nextpkt) + m->m_nextpkt = NULL; + m->m_flags = m->m_flags & (M_EXT|M_EOR|M_RDONLY|M_FREELIST); + } +} + +/* + * Sanity checks on mbuf (chain). + * Returns 0 bad, 1 good, panic worse. + * sanitize, 0 run M_SANITY_ACTION, 1 garble things so they blow up later. + */ +int +m_sanity(struct mbuf *m0, int sanitize) +{ + struct mbuf *m; + caddr_t a, b; + int pktlen = 0; + +#define M_SANITY_ACTION(s) return (0) +/* #define M_SANITY_ACTION(s) panic("mbuf %p: " s, m) */ + + m = m0; + while (m) { + /* + * Basic pointer checks. If any of these fails then some + * unrelated kernel memory before or after us is trashed. + * No way to recover from that. + */ + a = (m->m_flags & M_EXT ? m->m_ext.ext_buf : + (m->m_flags & M_PKTHDR ? (caddr_t)(&m->m_pktdat) : + (caddr_t)(&m->m_dat)) ); + b = (caddr_t)(a + (m->m_flags & M_EXT ? m->m_ext.ext_size : + (m->m_flags & M_PKTHDR ? MHLEN : MLEN))); + if ((caddr_t)m->m_data < a) + M_SANITY_ACTION("m_data outside mbuf data range left"); + if ((caddr_t)m->m_data > b) + M_SANITY_ACTION("m_data outside mbuf data range right"); + if ((caddr_t)m->m_data + m->m_len > b) + M_SANITY_ACTION("m_data + m_len exeeds mbuf space"); + if (m->m_flags & M_PKTHDR && m->m_pkthdr.header) { + if ((caddr_t)m->m_pkthdr.header < a || + (caddr_t)m->m_pkthdr.header > b) + M_SANITY_ACTION("m_pkthdr.header outside mbuf data range"); + } + + /* m->m_nextpkt may only be set on first mbuf in chain. */ + if (m != m0 && m->m_nextpkt) { + if (sanitize) { + m_freem(m->m_nextpkt); + m->m_nextpkt = (struct mbuf *)0xDEADC0DE; + } else + M_SANITY_ACTION("m->m_nextpkt on in-chain mbuf"); + } + + /* correct type correlations. */ + if (m->m_type == MT_HEADER && !(m->m_flags & M_PKTHDR)) { + if (sanitize) + m->m_type = MT_DATA; + else + M_SANITY_ACTION("MT_HEADER set but not M_PKTHDR"); + } + + /* packet length (not mbuf length!) calculation */ + if (m0->m_flags & M_PKTHDR) + pktlen += m->m_len; + + /* m_tags may only be attached to first mbuf in chain. */ + if (m != m0 && m->m_flags & M_PKTHDR && + !SLIST_EMPTY(&m->m_pkthdr.tags)) { + if (sanitize) { + m_tag_delete_chain(m, NULL); + /* put in 0xDEADC0DE perhaps? */ + } + else + M_SANITY_ACTION("m_tags on in-chain mbuf"); + } + + /* M_PKTHDR may only be set on first mbuf in chain */ + if (m != m0 && m->m_flags & M_PKTHDR) { + if (sanitize) { + bzero(&m->m_pkthdr, sizeof(m->m_pkthdr)); + m->m_flags &= ~M_PKTHDR; + /* put in 0xDEADCODE and leave hdr flag in */ + } else + M_SANITY_ACTION("M_PKTHDR on in-chain mbuf"); + } + + m = m->m_next; + } + if (pktlen && pktlen != m0->m_pkthdr.len) { + if (sanitize) + m0->m_pkthdr.len = 0; + else + M_SANITY_ACTION("m_pkthdr.len != mbuf chain length"); + } +#undef M_SANITY_ACTION + + return 1; +} + + +/* * "Move" mbuf pkthdr from "from" to "to". * "from" must have M_PKTHDR set, and "to" must be empty. */ @@ -439,6 +558,151 @@ } /* + * Returns mbuf chain with new head for the prepending case. + * Copies from mbuf (chain) n from off for len to mbuf (chain) m + * either prepending or appending the data. + * The resulting mbuf (chain) m is fully writeable. + * m is destination (is made writeable) + * n is source, off is offset in source, len is len from offset + * dir, 0 append, 1 prepend + * how, wait or nowait + */ + +static int +m_bcopyxxx(void *s, void *t, u_int len) +{ + bcopy(s, t, (size_t)len); + return 0; +} + +struct mbuf * +m_copymdata(struct mbuf *m, struct mbuf *n, int off, int len, + int prep, int how) +{ + struct mbuf *mm, *x, *z; + caddr_t p; + int i, mlen, nlen = 0; + caddr_t buf[MLEN]; + + KASSERT(m != NULL && n != NULL, ("m_copymdata, no target or source")); + KASSERT(off >= 0, ("m_copymdata, negative off %d", off)); + KASSERT(len >= 0, ("m_copymdata, negative len %d", len)); + KASSERT(prep == 0 || prep == 1, ("m_copymdata, unknown direction %d", prep)); + + /* Make sure environment is sane. */ + for (z = m; z != NULL; z = z->m_next) { + mlen += z->m_len; + if (!M_WRITABLE(z)) { + /* Make clusters writeable. */ + if (z->m_flags & M_RDONLY) + return NULL; /* Can't handle ext ref. */ + x = m_getcl(how, MT_DATA, 0); + if (!x) + return NULL; + bcopy(z->m_ext.ext_buf, x->m_ext.ext_buf, x->m_ext.ext_size); + p = x->m_ext.ext_buf + (z->m_data - z->m_ext.ext_buf); + MEXT_REM_REF(z); /* XXX */ + z->m_data = p; + x->m_flags &= ~M_EXT; + (void)m_free(x); + } + } + mm = prep ? m : z; + for (z = n; z != NULL; z = z->m_next) + nlen += z->m_len; + if (len == M_COPYALL) + len = nlen - off; + if (off + len > nlen || len < 1) + return NULL; + + /* + * Append/prepend the data. Allocating mbufs as necessary. + */ + /* Shortcut if enough free space in first/last mbuf. */ + if (!prep && M_TRAILINGSPACE(mm) >= len) { + m_apply(n, off, len, m_bcopyxxx, mtod(mm, caddr_t) + + mm->m_len); + mm->m_len += len; + mm->m_pkthdr.len += len; + return m; + } + if (prep && M_LEADINGSPACE(mm) >= len) { + mm->m_data = mtod(mm, caddr_t) - len; + m_apply(n, off, len, m_bcopyxxx, mtod(mm, caddr_t)); + mm->m_len += len; + mm->m_pkthdr.len += len; + return mm; + } + + /* Expand first/last mbuf to cluster if possible. */ + if (!prep && !(mm->m_flags & M_EXT) && len > M_TRAILINGSPACE(mm)) { + bcopy(mm->m_data, &buf, mm->m_len); + m_clget(mm, how); + if (!(mm->m_flags & M_EXT)) + return NULL; + bcopy(&buf, mm->m_ext.ext_buf, mm->m_len); + mm->m_data = mm->m_ext.ext_buf; + mm->m_pkthdr.header = NULL; + } + if (prep && !(mm->m_flags & M_EXT) && len > M_LEADINGSPACE(mm)) { + bcopy(mm->m_data, &buf, mm->m_len); + m_clget(mm, how); + if (!(mm->m_flags & M_EXT)) + return NULL; + bcopy(&buf, (caddr_t *)mm->m_ext.ext_buf + + mm->m_ext.ext_size - mm->m_len, mm->m_len); + mm->m_data = (caddr_t)mm->m_ext.ext_buf + + mm->m_ext.ext_size - mm->m_len; + mm->m_pkthdr.header = NULL; + } + + /* Append/prepend as many mbuf (clusters) as necessary to fit len. */ + if (!prep && len > M_TRAILINGSPACE(mm)) { + if (!m_getm(mm, len - M_TRAILINGSPACE(mm), how, MT_DATA)) + return NULL; + } + if (prep && len > M_LEADINGSPACE(mm)) { + if (!(z = m_getm(NULL, len - M_LEADINGSPACE(mm), how, MT_DATA))) + return NULL; + i = 0; + for (x = z; x != NULL; x = x->m_next) { + i += x->m_flags & M_EXT ? x->m_ext.ext_size : + (x->m_flags & M_PKTHDR ? MHLEN : MLEN); + if (!x->m_next) + break; + } + z->m_data += i - len; + m_move_pkthdr(mm, z); + x->m_next = mm; + mm = z; + } + + /* Seek to start position in source mbuf. Optimization for long chains. */ + while (off > 0) { + if (off < n->m_len) + break; + off -= n->m_len; + n = n->m_next; + } + + /* Copy data into target mbuf. */ + z = mm; + while (len > 0) { + KASSERT(z != NULL, ("m_copymdata, falling off target edge")); + i = M_TRAILINGSPACE(z); + m_apply(n, off, i, m_bcopyxxx, mtod(z, caddr_t) + z->m_len); + z->m_len += i; + /* fixup pkthdr.len if necessary */ + if ((prep ? mm : m)->m_flags & M_PKTHDR) + (prep ? mm : m)->m_pkthdr.len += i; + off += i; + len -= i; + z = z->m_next; + } + return (prep ? mm : m); +} + +/* * Copy an entire packet, including header (which must be present). * An optimization of the common case `m_copym(m, 0, M_COPYALL, how)'. * Note that the copy is read-only, because clusters are not copied, ==== //depot/projects/hammer/sys/sys/mbuf.h#43 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)mbuf.h 8.5 (Berkeley) 2/19/95 - * $FreeBSD: src/sys/sys/mbuf.h,v 1.172 2005/07/30 01:32:16 sam Exp $ + * $FreeBSD: src/sys/sys/mbuf.h,v 1.175 2005/08/29 20:15:33 andre Exp $ */ #ifndef _SYS_MBUF_H_ @@ -573,10 +573,13 @@ void m_copyback(struct mbuf *, int, int, c_caddr_t); void m_copydata(const struct mbuf *, int, int, caddr_t); struct mbuf *m_copym(struct mbuf *, int, int, int); +struct mbuf *m_copymdata(struct mbuf *, struct mbuf *, + int, int, int, int); struct mbuf *m_copypacket(struct mbuf *, int); void m_copy_pkthdr(struct mbuf *, struct mbuf *); struct mbuf *m_copyup(struct mbuf *n, int len, int dstoff); struct mbuf *m_defrag(struct mbuf *, int); +void m_demote(struct mbuf *, int); struct mbuf *m_devget(char *, int, int, struct ifnet *, void (*)(char *, caddr_t, u_int)); struct mbuf *m_dup(struct mbuf *, int); @@ -592,6 +595,7 @@ void m_print(const struct mbuf *, int); struct mbuf *m_pulldown(struct mbuf *, int, int, int *); struct mbuf *m_pullup(struct mbuf *, int); +int m_sanity(struct mbuf *, int); struct mbuf *m_split(struct mbuf *, int, int); struct mbuf *m_uiotombuf(struct uio *, int, int, int); ==== //depot/projects/hammer/tools/tools/recoverdisk/README#3 (text+ko) ==== @@ -1,7 +1,7 @@ -$FreeBSD: src/tools/tools/recoverdisk/README,v 1.2 2005/02/07 11:26:53 obrien Exp $ +$FreeBSD: src/tools/tools/recoverdisk/README,v 1.3 2005/08/29 23:08:01 sobomax Exp $ -This is a small tool which will read an entire disk(partition) using -1M blocks and optionally write the read data to a file or disk. +This is a small tool which will read an entire disk(partition) or file +using 1M blocks and optionally write the read data to a file or disk. If a read error happens, the 1M block gets put on the end of the worklist and will be retried with 64k blocksize. @@ -20,3 +20,6 @@ touch myfloppy.flp recoverdisk /dev/fd0 myfloppy.flp +or recover a single file from the unreadable media: + + recoverdisk /cdrom/file.avi file.avi ==== //depot/projects/hammer/tools/tools/recoverdisk/recoverdisk.c#4 (text+ko) ==== @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $FreeBSD: src/tools/tools/recoverdisk/recoverdisk.c,v 1.4 2004/10/23 15:58:50 des Exp $ + * $FreeBSD: src/tools/tools/recoverdisk/recoverdisk.c,v 1.5 2005/08/29 23:08:01 sobomax Exp $ */ #include #include @@ -18,9 +18,11 @@ #include #include #include +#include #define BIGSIZE (1024 * 1024) #define MEDIUMSIZE (64 * 1024) +#define MINSIZE (512) struct lump { off_t start; @@ -53,10 +55,11 @@ struct lump *lp; off_t t, d; size_t i, j; - int error; + int error, flags; u_char *buf; - u_int sectorsize; + u_int sectorsize, minsize; time_t t1, t2; + struct stat sb; if (argc < 2) @@ -68,22 +71,35 @@ fdr = open(argv[1], O_RDONLY); if (fdr < 0) err(1, "Cannot open read descriptor %s", argv[1]); + + error = fstat(fdr, &sb); + if (error < 0) + err(1, "fstat failed"); + flags = O_WRONLY; + if (S_ISBLK(sb.st_mode) || S_ISCHR(sb.st_mode)) { + error = ioctl(fdr, DIOCGSECTORSIZE, §orsize); + if (error < 0) + err(1, "DIOCGSECTORSIZE failed"); + minsize = sectorsize; + + error = ioctl(fdr, DIOCGMEDIASIZE, &t); + if (error < 0) + err(1, "DIOCGMEDIASIZE failed"); + } else { + sectorsize = 1; + t = sb.st_size; + minsize = MINSIZE; + flags |= O_CREAT | O_TRUNC; + } + if (argc > 2) { - fdw = open(argv[2], O_WRONLY); + fdw = open(argv[2], flags, DEFFILEMODE); if (fdw < 0) err(1, "Cannot open write descriptor %s", argv[2]); } else { fdw = -1; } - error = ioctl(fdr, DIOCGSECTORSIZE, §orsize); - if (error < 0) - err(1, "DIOCGSECTORSIZE failed"); - - error = ioctl(fdr, DIOCGMEDIASIZE, &t); - if (error < 0) - err(1, "DIOCGMEDIASIZE failed"); - new_lump(0, t, 0); d = 0; @@ -100,7 +116,7 @@ if (lp->state == 1) i = MEDIUMSIZE; if (lp->state > 1) - i = sectorsize; + i = minsize; time(&t2); if (t1 != t2 || lp->len < BIGSIZE) { printf("\r%13jd %7zu %13jd %3d %13jd %13jd %.8f", From owner-p4-projects@FreeBSD.ORG Tue Aug 30 01:04:21 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5727116A421; Tue, 30 Aug 2005 01:04:21 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 1311616A41F for ; Tue, 30 Aug 2005 01:04:21 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D7A5B43D45 for ; Tue, 30 Aug 2005 01:04:20 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7U14KLP018987 for ; Tue, 30 Aug 2005 01:04:20 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7U14K2A018984 for perforce@freebsd.org; Tue, 30 Aug 2005 01:04:20 GMT (envelope-from peter@freebsd.org) Date: Tue, 30 Aug 2005 01:04:20 GMT Message-Id: <200508300104.j7U14K2A018984@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 82812 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Aug 2005 01:04:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=82812 Change 82812 by peter@peter_melody on 2005/08/30 01:03:19 Revert missed ABI change Affected files ... .. //depot/projects/hammer/lib/libc/net/getnetnamadr.c#6 edit Differences ... ==== //depot/projects/hammer/lib/libc/net/getnetnamadr.c#6 (text+ko) ==== @@ -165,13 +165,17 @@ } struct netent * +#if __LONG_BIT == 64 +getnetbyaddr(u_long addr, int af) /* ABI compatibility */ +#else getnetbyaddr(uint32_t addr, int af) +#endif { struct netdata *nd; if ((nd = __netdata_init()) == NULL) return NULL; - if (getnetbyaddr_r(addr, af, &nd->net, &nd->data) != 0) + if (getnetbyaddr_r((uint32_t)addr, af, &nd->net, &nd->data) != 0) return NULL; return &nd->net; } From owner-p4-projects@FreeBSD.ORG Tue Aug 30 02:47:26 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 16CAE16A422; Tue, 30 Aug 2005 02:47:26 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 92EC116A41F for ; Tue, 30 Aug 2005 02:47:25 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3AE5A43D46 for ; Tue, 30 Aug 2005 02:47:25 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7U2lPGS023029 for ; Tue, 30 Aug 2005 02:47:25 GMT (envelope-from soc-tyler@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7U2lO2s023026 for perforce@freebsd.org; Tue, 30 Aug 2005 02:47:24 GMT (envelope-from soc-tyler@freebsd.org) Date: Tue, 30 Aug 2005 02:47:24 GMT Message-Id: <200508300247.j7U2lO2s023026@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-tyler@freebsd.org using -f From: soc-tyler To: Perforce Change Reviews Cc: Subject: PERFORCE change 82813 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Aug 2005 02:47:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=82813 Change 82813 by soc-tyler@soc-tyler_launchd on 2005/08/30 02:46:50 Merge zarzycki@'s developmental changes (i.e. experiemental code from Cupertino) to take advantage of some of the features "im bau." Affected files ... .. //depot/projects/soc2005/launchd/launchctl/launchctl.c#12 edit .. //depot/projects/soc2005/launchd/launchd.c#16 edit Differences ... ==== //depot/projects/soc2005/launchd/launchctl/launchctl.c#12 (text+ko) ==== @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -81,16 +82,17 @@ static void distill_config_file(launch_data_t); static void sock_dict_cb(launch_data_t what, const char *key, void *context); static void sock_dict_edit_entry(launch_data_t tmp, const char *key, launch_data_t fdarray, launch_data_t thejob); -static void readpath(const char *, launch_data_t, launch_data_t, bool editondisk, bool load); +static void readpath(const char *, launch_data_t, launch_data_t, bool editondisk, bool load, bool forceload); static int _fd(int); static int demux_cmd(int argc, char *const argv[]); static void submit_job_pass(launch_data_t jobs); +static void do_mgroup_join(int fd, int family, int socktype, int protocol, const char *mgroup); // Mac OS X/Darwin related functions (for backwards compat.) #ifdef _BUILD_DARWIN_ static launch_data_t CF2launch_data(const void *); static launch_data_t read_plist_file(const char *file, bool editondisk, bool load); -static const void *CreateMyPropertyListFromFile(const char *); +static CFPropertyListRef CreateMyPropertyListFromFile(const char *); static void WriteMyPropertyListToFile(CFPropertyListRef, const char *); static launch_data_t do_rendezvous_magic(const struct addrinfo *res, const char *serv); #endif @@ -102,7 +104,8 @@ static int load_and_unload_cmd(int argc, char *const argv[]); //static int reload_cmd(int argc, char *const argv[]); -static int start_and_stop_cmd(int argc, char *const argv[]); +static int start_stop_remove_cmd(int argc, char *const argv[]); +static int submit_cmd(int argc, char *const argv[]); static int list_cmd(int argc, char *const argv[]); static int setenv_cmd(int argc, char *const argv[]); @@ -127,8 +130,10 @@ { "load", load_and_unload_cmd, "Load configuration files and/or directories" }, { "unload", load_and_unload_cmd, "Unload configuration files and/or directories" }, // { "reload", reload_cmd, "Reload configuration files and/or directories" }, - { "start", start_and_stop_cmd, "Start specified jobs" }, - { "stop", start_and_stop_cmd, "Stop specified jobs" }, + { "start", start_stop_remove_cmd, "Start specified job" }, + { "stop", start_stop_remove_cmd, "Stop specified job" }, + { "submit", submit_cmd, "Submit a job from the command line" }, + { "remove", start_stop_remove_cmd, "Remove specified job" }, { "list", list_cmd, "List jobs and information about jobs" }, { "setenv", setenv_cmd, "Set an environmental variable in launchd" }, { "unsetenv", unsetenv_cmd, "Unset an environmental variable in launchd" }, @@ -144,22 +149,25 @@ { "umask", umask_cmd, "Change launchd's umask" }, { "help", help_cmd, "This help output" }, {"exit", exit_cmd, "Exit launchctl" }, + {"quit", exit_cmd, "Quit launchctl"}, }; -int main(int argc, char *const argv[]) -{ - bool istty = isatty(STDIN_FILENO); +static bool istty = false; + +int main(int argc, char *const argv[]) { char *l; if (argc > 1) exit(demux_cmd(argc - 1, argv + 1)); + istty = isatty(STDIN_FILENO); + if (NULL == readline) { fprintf(stderr, "missing library: readline\n"); exit(EXIT_FAILURE); } - while ((l = readline(istty ? "launchctl% " : NULL))) { + while ((l = readline(istty ? "launchd% " : NULL))) { char *inputstring = l, *argv2[100], **ap = argv2; int i = 0; @@ -415,31 +423,75 @@ return res; } -static void readfile(const char *what, launch_data_t pass1, launch_data_t pass2, bool editondisk, bool load) +static void readfile(const char *what, launch_data_t pass1, launch_data_t pass2, bool editondisk, bool load, bool forceload) { - launch_data_t tmpd, thejob; + char ourhostname[1024]; + launch_data_t tmpd, thejob, tmpa; bool job_disabled = false; + size_t i, c; + gethostname(ourhostname, sizeof(ourhostname)); +#ifndef _BUILD_DARWIN_ if (NULL == (thejob = read_conf_file(what, editondisk, load))) { - fprintf(stderr, "%s: no plist was returned for: %s\n", getprogname(), what); + fprintf(stderr, "%s: no config file was returned for: %s\n", getprogname(), what); return; } +#endif +#ifdef _BUILD_DARWIN_ + if (NULL == (thejob = read_plist_file(what, editondisk, load))) { + fprintf(stderr, "%s: no plist was returned for: %s\n", getprogname(), what); + return; + } +#endif - if ((tmpd = launch_data_dict_lookup(thejob, LAUNCH_JOBKEY_DISABLED))) - job_disabled = launch_data_get_bool(tmpd); + if (NULL == launch_data_dict_lookup(thejob, LAUNCH_JOBKEY_LABEL)) { + fprintf(stderr, "%s: missing the Label key: %s\n", getprogname(), what); + goto out_bad; + } + + if (NULL != (tmpa = launch_data_dict_lookup(thejob, LAUNCH_JOBKEY_LIMITLOADFROMHOSTS))) { + c = launch_data_array_get_count(tmpa); + + for (i = 0; i < c; i++) { + launch_data_t oai = launch_data_array_get_index(tmpa, i); + if (!strcasecmp(ourhostname, launch_data_get_string(oai))) + goto out_bad; + } + } + + if (NULL != (tmpa = launch_data_dict_lookup(thejob, LAUNCH_JOBKEY_LIMITLOADTOHOSTS))) { + c = launch_data_array_get_count(tmpa); + + for (i = 0; i < c; i++) { + launch_data_t oai = launch_data_array_get_index(tmpa, i); + if (!strcasecmp(ourhostname, launch_data_get_string(oai))) + break; + } + + if (i == c) + goto out_bad; + } + + if ((tmpd = launch_data_dict_lookup(thejob, LAUNCH_JOBKEY_DISABLED))) + job_disabled = launch_data_get_bool(tmpd); + + if (forceload) + job_disabled = false; + + if (job_disabled && load) + goto out_bad; - if (job_disabled && load) { - launch_data_free(thejob); - return; - } + if (delay_to_second_pass(thejob)) + launch_data_array_append(pass2, thejob); + else + launch_data_array_append(pass1, thejob); - if (delay_to_second_pass(thejob)) - launch_data_array_append(pass2, thejob); - else - launch_data_array_append(pass1, thejob); + return; +out_bad: + launch_data_free(thejob); } -static void readpath(const char *what, launch_data_t pass1, launch_data_t pass2, bool editondisk, bool load) +static void readpath(const char *what, launch_data_t pass1, launch_data_t pass2, bool editondisk, bool load, bool forceload) { char buf[MAXPATHLEN]; struct stat sb; @@ -450,7 +502,7 @@ return; if (S_ISREG(sb.st_mode) && !(sb.st_mode & S_IWOTH)) { - readfile(what, pass1, pass2, editondisk, load); + readfile(what, pass1, pass2, editondisk, load, forceload); } else { if ((d = opendir(what)) == NULL) { fprintf(stderr, "%s: opendir() failed to open the directory\n", getprogname()); @@ -462,7 +514,7 @@ continue; snprintf(buf, sizeof(buf), "%s/%s", what, de->d_name); - readfile(buf, pass1, pass2, editondisk, load); + readfile(buf, pass1, pass2, editondisk, load, forceload); } closedir(d); } @@ -578,7 +630,7 @@ launch_data_array_append(fdarray, val); } else { launch_data_t rnames = NULL; - const char *node = NULL, *serv = NULL; + const char *node = NULL, *serv = NULL, *mgroup = NULL; char servnbuf[50]; struct addrinfo hints, *res0, *res; int gerr, sock_opt = 1; @@ -592,6 +644,8 @@ if ((val = launch_data_dict_lookup(tmp, LAUNCH_JOBSOCKETKEY_NODENAME))) node = launch_data_get_string(val); + if ((val = launch_data_dict_lookup(tmp, LAUNCH_JOBSOCKETKEY_MULTICASTGROUP))) + mgroup = launch_data_get_string(val); if ((val = launch_data_dict_lookup(tmp, LAUNCH_JOBSOCKETKEY_SERVICENAME))) { if (LAUNCH_DATA_INTEGER == launch_data_get_type(val)) { sprintf(servnbuf, "%lld", launch_data_get_integer(val)); @@ -635,14 +689,24 @@ fprintf(stderr, "setsockopt(IPV6_V6ONLY): %m"); return; } - if (setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, (void *)&sock_opt, sizeof(sock_opt)) == -1) { - fprintf(stderr, "socket(): %s\n", strerror(errno)); - return; - } + if (mgroup) { + if (setsockopt(sfd, SOL_SOCKET, SO_REUSEPORT, (void *)&sock_opt, sizeof(sock_opt)) == -1) { + fprintf(stderr, "setsockopt(SO_REUSEPORT): %s\n", strerror(errno)); + return; + } + } else { + if (setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, (void *)&sock_opt, sizeof(sock_opt)) == -1) { + fprintf(stderr, "setsockopt(SO_REUSEADDR): %s\n", strerror(errno)); + return; + } + } if (bind(sfd, res->ai_addr, res->ai_addrlen) == -1) { fprintf(stderr, "bind(): %s\n", strerror(errno)); return; } + if (mgroup) { + do_mgroup_join(sfd, res->ai_family, res->ai_socktype, res->ai_protocol, mgroup); + } if ((res->ai_socktype == SOCK_STREAM || res->ai_socktype == SOCK_SEQPACKET) && listen(sfd, SOMAXCONN) == -1) { fprintf(stderr, "listen(): %s\n", strerror(errno)); @@ -698,6 +762,45 @@ } } +static void do_mgroup_join(int fd, int family, int socktype, int protocol, const char *mgroup) { + struct addrinfo hints, *res0, *res; + struct ip_mreq mreq; + struct ipv6_mreq m6req; int gerr; + + memset(&hints, 0, sizeof(hints)); + + hints.ai_flags |= AI_PASSIVE; + hints.ai_family = family; + hints.ai_socktype = socktype; + hints.ai_protocol = protocol; + if ((gerr = getaddrinfo(mgroup, NULL, &hints, &res0)) != 0) { + fprintf(stderr, "getaddrinfo(): %s\n", gai_strerror(gerr)); + return; + } + + for (res = res0; res; res = res->ai_next) { + if (AF_INET == family) { memset(&mreq, 0, sizeof(mreq)); + mreq.imr_multiaddr = ((struct sockaddr_in *)res->ai_addr)->sin_addr; + if (setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq, sizeof(mreq)) == -1) { fprintf(stderr, "setsockopt(IP_ADD_MEMBERSHIP): %s\n", strerror(errno)); + continue; + } break; + } else if (AF_INET6 == family) { + memset(&m6req, 0, sizeof(m6req)); + m6req.ipv6mr_multiaddr = ((struct sockaddr_in6 *)res->ai_addr)->sin6_addr; + if (setsockopt(fd, IPPROTO_IPV6, IPV6_JOIN_GROUP, &m6req, sizeof(m6req)) == -1) { + fprintf(stderr, "setsockopt(IPV6_JOIN_GROUP): %s\n", strerror(errno)); + continue; + } + break; + } else { + fprintf(stderr, "unknown family during multicast group bind!\n"); + break; + } } + + freeaddrinfo(res0); +} + + #ifdef _BUILD_DARWIN_ static launch_data_t do_rendezvous_magic(const struct addrinfo *res, const char *serv) { @@ -730,7 +833,7 @@ return NULL; } -static const void *CreateMyPropertyListFromFile(const char *posixfile) +static CFPropertyListRef CreateMyPropertyListFromFile(const char *posixfile) { CFPropertyListRef propertyList; CFStringRef errorString; @@ -738,7 +841,7 @@ SInt32 errorCode; CFURLRef fileURL; - fileURL = CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault, posixfile, strlen(posixfile), false); + fileURL = CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault, (const UInt8 *)posixfile, strlen(posixfile), false); if (!fileURL) fprintf(stderr, "%s: CFURLCreateFromFileSystemRepresentation(%s) failed\n", getprogname(), posixfile); if (!CFURLCreateDataAndPropertiesFromResource(kCFAllocatorDefault, fileURL, &resourceData, NULL, NULL, &errorCode)) @@ -756,7 +859,7 @@ CFURLRef fileURL; SInt32 errorCode; - fileURL = CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault, posixfile, strlen(posixfile), false); + fileURL = CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault, (const UInt8 *)posixfile, strlen(posixfile), false); if (!fileURL) fprintf(stderr, "%s: CFURLCreateFromFileSystemRepresentation(%s) failed\n", getprogname(), posixfile); resourceData = CFPropertyListCreateXMLData(kCFAllocatorDefault, plist); @@ -777,7 +880,7 @@ launch_data_free(ik); } -static launch_data_t CF2launch_data(const void *cfr) +static launch_data_t CF2launch_data(CFTypeRef cfr) { launch_data_t r; CFTypeID cft = CFGetTypeID(cfr); @@ -794,7 +897,7 @@ CFIndex i, ac = CFArrayGetCount(cfr); r = launch_data_alloc(LAUNCH_DATA_ARRAY); for (i = 0; i < ac; i++) { - const void *v = CFArrayGetValueAtIndex(cfr, i); + CFTypeRef v = CFArrayGetValueAtIndex(cfr, i); if (v) { launch_data_t iv = CF2launch_data(v); launch_data_array_set_index(r, iv, i); @@ -811,7 +914,6 @@ double d; CFNumberType cfnt = CFNumberGetType(cfr); switch (cfnt) { - case kCFNumberSInt8Type: case kCFNumberSInt16Type: case kCFNumberSInt32Type: case kCFNumberSInt64Type: @@ -853,18 +955,24 @@ where = stderr; fprintf(where, "usage: %s \n", getprogname()); + for (i = 0; i < (sizeof cmds / sizeof cmds[0]); i++) { - l = strlen(cmds[i].name); - if (l > cmdwidth) - cmdwidth = l; - } - for (i = 0; i < (sizeof cmds / sizeof cmds[0]); i++) - fprintf(where, "\t%-*s\t%s\n", cmdwidth, cmds[i].name, cmds[i].desc); + l = strlen(cmds[i].name); + if (l > cmdwidth) + cmdwidth = l; + } + + for (i = 0; i < (sizeof cmds / sizeof cmds[0]); i++) { + if (cmds[i].func == exit_cmd && istty == false) + continue; + fprintf(where, "\t%-*s\t%s\n", cmdwidth, cmds[i].name, cmds[i].desc); + } return 0; } -static int exit_cmd(int argc, char *const argv[]) { +static int exit_cmd(int argc __attribute__((unused)), char *const argv[] __attribute__((unused))) +{ exit(EXIT_SUCCESS); return 0; // god help us if we get here ;) @@ -883,22 +991,22 @@ int i, ch; bool wflag = false; bool lflag = false; + bool Fflag = false; if (!strcmp(argv[0], "load")) lflag = true; - while ((ch = getopt(argc, argv, "w")) != -1) { - switch (ch) { - case 'w': - wflag = true; - break; - default: - fprintf(stderr, "usage: %s load [-w] paths...\n", getprogname()); - return 1; - } - } - argc -= optind; - argv += optind; + while ((ch = getopt(argc, argv, "wF")) != -1) { + switch (ch) { + case 'w': wflag = true; break; + case 'F': Fflag = true; break; + default: + fprintf(stderr, "usage: %s load [-wF] paths...\n", getprogname()); + return 1; + } + } + argc -= optind; + argv += optind; if (argc == 0) { fprintf(stderr, "usage: %s load [-w] paths...\n", getprogname()); @@ -917,7 +1025,7 @@ pass2 = launch_data_alloc(LAUNCH_DATA_ARRAY); for (i = 0; i < argc; i++) - readpath(argv[i], pass1, pass2, wflag, lflag); + readpath(argv[i], pass1, pass2, wflag, lflag, Fflag); if (0 == launch_data_array_get_count(pass1) && 0 == launch_data_array_get_count(pass2)) { fprintf(stderr, "nothing found to %s\n", lflag ? "load" : "unload"); @@ -998,15 +1106,18 @@ launch_data_free(msg); } -static int start_and_stop_cmd(int argc, char *const argv[]) +static int start_stop_remove_cmd(int argc, char *const argv[]) { launch_data_t resp, msg; const char *lmsgcmd = LAUNCH_KEY_STOPJOB; int e, r = 0; - if (!strcmp(argv[0], "start")) + if (0 == strcmp(argv[0], "start")) lmsgcmd = LAUNCH_KEY_STARTJOB; + if (0 == strcmp(argv[0], "remove")) + lmsgcmd = LAUNCH_KEY_REMOVEJOB; + if (argc != 2) { fprintf(stderr, "usage: %s %s \n", getprogname(), argv[0]); return 1; @@ -1037,48 +1148,65 @@ static void print_jobs(launch_data_t j __attribute__((unused)), const char *label, void *context __attribute__((unused))) { - fprintf(stdout, "%s\n", label); + launch_data_t pido = launch_data_dict_lookup(j, LAUNCH_JOBKEY_PID); + launch_data_t stato = launch_data_dict_lookup(j, LAUNCH_JOBKEY_LASTEXITSTATUS); + + if (pido) { + fprintf(stdout, "%lld\t-\t%s\n", launch_data_get_integer(pido), label); + } else if (stato) { + int wstatus = (int)launch_data_get_integer(stato); + if (WIFEXITED(wstatus)) { + fprintf(stdout, "-\t%d\t%s\n", WEXITSTATUS(wstatus), label); + } else if (WIFSIGNALED(wstatus)) { + fprintf(stdout, "-\t-%d\t%s\n", WTERMSIG(wstatus), label); + } else { + fprintf(stdout, "-\t???\t%s\n", label); + } + } else { + fprintf(stdout, "-\t-\t%s\n", label); + } } static int list_cmd(int argc, char *const argv[]) { launch_data_t resp, msg; - int ch, r = 0; - bool vflag = false; + int ch, r = 0; + bool vflag = false; - while ((ch = getopt(argc, argv, "v")) != -1) { - switch (ch) { - case 'v': - vflag = true; - break; - default: - fprintf(stderr, "usage: %s list [-v]\n", getprogname()); - return 1; - } - } + while ((ch = getopt(argc, argv, "v")) != -1) { + switch (ch) { + case 'v': + vflag = true; + break; + default: + fprintf(stderr, "usage: %s list [-v]\n", getprogname()); + return 1; + } + } - if (vflag) { - fprintf(stderr, "usage: %s list: \"-v\" flag not implemented yet\n", getprogname()); - return 1; - } + if (vflag) { + fprintf(stderr, "usage: %s list: \"-v\" flag not implemented yet\n", getprogname()); + return 1; + } - msg = launch_data_new_string(LAUNCH_KEY_GETJOBS); - resp = launch_msg(msg); - launch_data_free(msg); + msg = launch_data_new_string(LAUNCH_KEY_GETJOBS); + resp = launch_msg(msg); + launch_data_free(msg); - if (resp == NULL) { - fprintf(stderr, "launch_msg(): %s\n", strerror(errno)); - return 1; - } else if (launch_data_get_type(resp) == LAUNCH_DATA_DICTIONARY) { - launch_data_dict_iterate(resp, print_jobs, NULL); - } else { - fprintf(stderr, "%s %s returned unknown response\n", getprogname(), argv[0]); - r = 1; - } + if (resp == NULL) { + fprintf(stderr, "launch_msg(): %s\n", strerror(errno)); + return 1; + } else if (launch_data_get_type(resp) == LAUNCH_DATA_DICTIONARY) { + fprintf(stdout, "PID\tStatus\tLabel\n"); + launch_data_dict_iterate(resp, print_jobs, NULL); + } else { + fprintf(stderr, "%s %s returned unknown response\n", getprogname(), argv[0]); + r = 1; + } - launch_data_free(resp); + launch_data_free(resp); - return r; + return r; } static int stdio_cmd(int argc, char *const argv[]) @@ -1420,48 +1548,108 @@ static int umask_cmd(int argc, char *const argv[]) { launch_data_t resp, msg; - bool badargs = false; - char *endptr; - long m = 0; - int r = 0; + bool badargs = false; + char *endptr; + long m = 0; + int r = 0; + + if (argc == 2) { + m = strtol(argv[1], &endptr, 8); + if (*endptr != '\0' || m > 0777) + badargs = true; + } + + if (argc > 2 || badargs) { + fprintf(stderr, "usage: %s %s \n", getprogname(), argv[0]); + return 1; + } + + + if (argc == 1) { + msg = launch_data_new_string(LAUNCH_KEY_GETUMASK); + } else { + msg = launch_data_alloc(LAUNCH_DATA_DICTIONARY); + launch_data_dict_insert(msg, launch_data_new_integer(m), LAUNCH_KEY_SETUMASK); + } + resp = launch_msg(msg); + launch_data_free(msg); + + if (resp == NULL) { + fprintf(stderr, "launch_msg(): %s\n", strerror(errno)); + return 1; + } else if (launch_data_get_type(resp) == LAUNCH_DATA_STRING) { + fprintf(stderr, "%s %s error: %s\n", getprogname(), argv[0], launch_data_get_string(resp)); + r = 1; + } else if (launch_data_get_type(resp) != LAUNCH_DATA_INTEGER) { + fprintf(stderr, "%s %s returned unknown response\n", getprogname(), argv[0]); + r = 1; + } else if (argc == 1) { + fprintf(stdout, "%o\n", (unsigned int)launch_data_get_integer(resp)); + } + + launch_data_free(resp); + + return r; +} + +static int submit_cmd(int argc, char *const argv[]) +{ + launch_data_t msg = launch_data_alloc(LAUNCH_DATA_DICTIONARY); + launch_data_t job = launch_data_alloc(LAUNCH_DATA_DICTIONARY); + launch_data_t resp, largv = launch_data_alloc(LAUNCH_DATA_ARRAY); + int ch, i, r = 0; + + launch_data_dict_insert(job, launch_data_new_bool(false), LAUNCH_JOBKEY_ONDEMAND); + + while ((ch = getopt(argc, argv, "l:p:o:e:")) != -1) { + switch (ch) { + case 'l': + launch_data_dict_insert(job, launch_data_new_string(optarg), LAUNCH_JOBKEY_LABEL); + break; + case 'p': + launch_data_dict_insert(job, launch_data_new_string(optarg), LAUNCH_JOBKEY_PROGRAM); + break; + case 'o': + launch_data_dict_insert(job, launch_data_new_string(optarg), LAUNCH_JOBKEY_STANDARDOUTPATH); + break; + case 'e': + launch_data_dict_insert(job, launch_data_new_string(optarg), LAUNCH_JOBKEY_STANDARDERRORPATH); + break; + default: + fprintf(stderr, "usage: %s submit ...\n", getprogname()); + return 1; + } + } + argc -= optind; + argv += optind; - if (argc == 2) { - m = strtol(argv[1], &endptr, 8); - if (*endptr != '\0' || m > 0777) - badargs = true; - } + for (i = 0; argv[i]; i++) { + launch_data_array_append(largv, launch_data_new_string(argv[i])); + } - if (argc > 2 || badargs) { - fprintf(stderr, "usage: %s %s \n", getprogname(), argv[0]); - return 1; - } + launch_data_dict_insert(job, largv, LAUNCH_JOBKEY_PROGRAMARGUMENTS); + launch_data_dict_insert(msg, job, LAUNCH_KEY_SUBMITJOB); - if (argc == 1) { - msg = launch_data_new_string(LAUNCH_KEY_GETUMASK); - } else { - msg = launch_data_alloc(LAUNCH_DATA_DICTIONARY); - launch_data_dict_insert(msg, launch_data_new_integer(m), LAUNCH_KEY_SETUMASK); - } - resp = launch_msg(msg); - launch_data_free(msg); + resp = launch_msg(msg); + launch_data_free(msg); - if (resp == NULL) { - fprintf(stderr, "launch_msg(): %s\n", strerror(errno)); - return 1; - } else if (launch_data_get_type(resp) == LAUNCH_DATA_STRING) { - fprintf(stderr, "%s %s error: %s\n", getprogname(), argv[0], launch_data_get_string(resp)); - r = 1; - } else if (launch_data_get_type(resp) != LAUNCH_DATA_INTEGER) { - fprintf(stderr, "%s %s returned unknown response\n", getprogname(), argv[0]); - r = 1; - } else if (argc == 1) { - fprintf(stdout, "%o\n", (unsigned int)launch_data_get_integer(resp)); - } + if (resp == NULL) { + fprintf(stderr, "launch_msg(): %s\n", strerror(errno)); + return 1; + } else if (launch_data_get_type(resp) == LAUNCH_DATA_ERRNO) { + errno = launch_data_get_errno(resp); + if (errno) { + fprintf(stderr, "%s %s error: %s\n", getprogname(), argv[0], strerror(errno)); + r = 1; + } + } else { + fprintf(stderr, "%s %s error: %s\n", getprogname(), argv[0], "unknown response"); + } - launch_data_free(resp); + launch_data_free(resp); - return r; + return r; } static int getrusage_cmd(int argc, char *const argv[]) ==== //depot/projects/soc2005/launchd/launchd.c#16 (text+ko) ==== @@ -110,6 +110,7 @@ TAILQ_ENTRY(jobcb) tqe; launch_data_t ldj; pid_t p; + int last_exit_status; int execfd; time_t start_time; size_t failed_exits; @@ -167,6 +168,7 @@ static void job_reap(struct jobcb *j); static void job_remove(struct jobcb *j); static void job_set_alarm(struct jobcb *j); +static launch_data_t job_export(struct jobcb *j); static void job_callback(void *obj, struct kevent *kev); static void job_log(struct jobcb *j, int pri, const char *msg, ...) __attribute__((format(printf, 3, 4))); static void job_log_error(struct jobcb *j, int pri, const char *msg, ...) __attribute__((format(printf, 3, 4))); @@ -347,7 +349,7 @@ init_pre_kevent(); } else { if (TAILQ_EMPTY(&jobs) && TAILQ_EMPTY(&connections)) { - /* launched on demand */ + /* liblaunch will restart launchd if we're needed again */ timeoutp = &timeout; } else if (shutdown_in_progress && total_children == 0) { exit(EXIT_SUCCESS); @@ -885,6 +887,24 @@ kill(j->p, SIGTERM); } +static launch_data_t job_export(struct jobcb *j) +{ + launch_data_t tmp, r = launch_data_copy(j->ldj); + + if (r) { + tmp = launch_data_new_integer(j->last_exit_status); + if (tmp) + launch_data_dict_insert(r, tmp, LAUNCH_JOBKEY_LASTEXITSTATUS); + if (j->p) { + tmp = launch_data_new_integer(j->p); + if (tmp) + launch_data_dict_insert(r, tmp, LAUNCH_JOBKEY_PID); + } + } + + return r; +} + static void job_remove(struct jobcb *j) { launch_data_t tmp; @@ -1263,7 +1283,7 @@ if (which) { TAILQ_FOREACH(j, &jobs, tqe) { if (!strcmp(which, j->label)) - resp = launch_data_copy(j->ldj); + resp = job_export(j); } if (resp == NULL) resp = launch_data_new_errno(ESRCH); @@ -1271,7 +1291,7 @@ resp = launch_data_alloc(LAUNCH_DATA_DICTIONARY); TAILQ_FOREACH(j, &jobs, tqe) { - tmp = launch_data_copy(j->ldj); + tmp = job_export(j); launch_data_dict_insert(resp, tmp, j->label); } } @@ -1483,6 +1503,7 @@ } total_children--; + j->last_exit_status = status; j->p = 0; } @@ -1539,8 +1560,8 @@ startnow = false; } } - } else if (kev->filter == EVFILT_TIMER && kev->fflags & NOTE_ABSOLUTE) { - job_set_alarm(j); + } else if (kev->filter == EVFILT_TIMER && (void *)kev->ident == j->start_cal_interval) { + job_set_alarm(j); } else if (kev->filter == EVFILT_VNODE) { size_t i; const char *thepath = NULL; @@ -1606,6 +1627,7 @@ } } + static void job_start(struct jobcb *j) { int spair[2]; @@ -2416,43 +2438,48 @@ * 1 5 4 4 * 5 1 -4 7 + -4 */ - if (delta > 0) - otherlatertm.tm_mday += delta; - else if (delta < 0) - otherlatertm.tm_mday += 7 + delta; - else if (-1 != j->start_cal_interval->tm_hour && otherlatertm.tm_hour <= nowtm->tm_hour) - otherlatertm.tm_mday += 7; - else if (-1 != j->start_cal_interval->tm_min && otherlatertm.tm_min <= nowtm->tm_min) - otherlatertm.tm_hour++; - else - otherlatertm.tm_min++; + if (delta > 0) { + otherlatertm.tm_mday += delta; + } else if (delta < 0) { + otherlatertm.tm_mday += 7 + delta; + } else if (-1 != j->start_cal_interval->tm_hour && otherlatertm.tm_hour <= nowtm->tm_hour) { + otherlatertm.tm_mday += 7; + } else if (-1 != j->start_cal_interval->tm_min && otherlatertm.tm_min <= nowtm->tm_min) { + otherlatertm.tm_hour++; + } else { + otherlatertm.tm_min++; + } - otherlater = mktime(&otherlatertm); + otherlater = mktime(&otherlatertm); } - if (-1 != j->start_cal_interval->tm_mon && latertm.tm_mon <= nowtm->tm_mon) { - latertm.tm_year++; - } else if (-1 != j->start_cal_interval->tm_mday && latertm.tm_mday <= nowtm->tm_mday) { - latertm.tm_mon++; - } else if (-1 != j->start_cal_interval->tm_hour && latertm.tm_hour <= nowtm->tm_hour) { - latertm.tm_mday++; - } else if (-1 != j->start_cal_interval->tm_min && latertm.tm_min <= nowtm->tm_min) { - latertm.tm_hour++; - } else { - latertm.tm_min++; - } + if (-1 != j->start_cal_interval->tm_mon && latertm.tm_mon <= nowtm->tm_mon) { + latertm.tm_year++; + } else if (-1 != j->start_cal_interval->tm_mday && latertm.tm_mday <= nowtm->tm_mday) { + latertm.tm_mon++; + } else if (-1 != j->start_cal_interval->tm_hour && latertm.tm_hour <= nowtm->tm_hour) { + latertm.tm_mday++; + } else if (-1 != j->start_cal_interval->tm_min && latertm.tm_min <= nowtm->tm_min) { + latertm.tm_hour++; + } else { + latertm.tm_min++; + } + + later = mktime(&latertm); - later = mktime(&latertm); + if (otherlater) { + if (-1 != j->start_cal_interval->tm_mday) + later = later < otherlater ? later : otherlater; + else + later = otherlater; + } - if (otherlater) { - if (-1 != j->start_cal_interval->tm_mday) - later = later < otherlater ? later : otherlater; - else - later = otherlater; - } + if (-1 == kevent_mod((uintptr_t)j->start_cal_interval, EVFILT_TIMER, EV_ADD, NOTE_ABSOLUTE|NOTE_SECONDS, later, &j->kqjob_callback)) { + job_log_error(j, LOG_ERR, "adding kevent alarm"); + } else { + job_log(j, LOG_INFO, "scheduled to run again at %s", ctime(&later)); + } - if (-1 == kevent_mod((uintptr_t)j->start_cal_interval, EVFILT_TIMER, EV_ADD, NOTE_ABSOLUTE|NOTE_SECONDS, later, &j->kqjob_callback)) - job_log_error(j, LOG_ERR, "adding kevent alarm"); } static void job_log_error(struct jobcb *j, int pri, const char *msg, ...) From owner-p4-projects@FreeBSD.ORG Tue Aug 30 03:51:43 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 783AE16A421; Tue, 30 Aug 2005 03:51:43 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 341F416A41F for ; Tue, 30 Aug 2005 03:51:43 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E6BEE43D46 for ; Tue, 30 Aug 2005 03:51:42 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7U3pgZO028247 for ; Tue, 30 Aug 2005 03:51:42 GMT (envelope-from soc-andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7U3pgol028244 for perforce@freebsd.org; Tue, 30 Aug 2005 03:51:42 GMT (envelope-from soc-andrew@freebsd.org) Date: Tue, 30 Aug 2005 03:51:42 GMT Message-Id: <200508300351.j7U3pgol028244@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-andrew@freebsd.org using -f From: soc-andrew To: Perforce Change Reviews Cc: Subject: PERFORCE change 82814 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Aug 2005 03:51:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=82814 Change 82814 by soc-andrew@soc-andrew_serv on 2005/08/30 03:51:36 Add a basic package installation menu. There is no dependency handling yet. Affected files ... .. //depot/projects/soc2005/bsdinstaller/src/contrib/bsdinstaller/backend/installer/fn_configure.c#3 edit .. //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/fn_install_freebsd.c#8 edit Differences ... ==== //depot/projects/soc2005/bsdinstaller/src/contrib/bsdinstaller/backend/installer/fn_configure.c#3 (text+ko) ==== @@ -354,6 +354,7 @@ commands_free(cmds); } +#if 0 void fn_install_packages(struct i_fn_args *a) { @@ -444,6 +445,7 @@ dfui_form_free(f); dfui_response_free(r); } +#endif void fn_remove_packages(struct i_fn_args *a) ==== //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/fn_install_freebsd.c#8 (text+ko) ==== @@ -43,8 +43,11 @@ * It is based on the DragonFlyBSD version of fn_install_os */ +#include +#include #include +#include #include #include @@ -92,7 +95,8 @@ static int pre_install(struct i_fn_args *); static int do_install(struct i_fn_args *); static int post_install(struct i_fn_args *); -void fn_install_os(struct i_fn_args *a); +void fn_install_os(struct i_fn_args *); +void fn_select_packages(struct i_fn_args*, struct aura_dict*, char*); static int pre_install(struct i_fn_args *a) @@ -245,7 +249,6 @@ } if (install_ports == 1) { dist_set_location("/mnt/usr"); - printf("%d\n", dist_extract(a->c, "ports")); } i_log(a, ">>> Done"); @@ -453,3 +456,218 @@ post_install(a); } +/* + * Lists all packages and installs selected ones + */ +void +fn_install_packages(struct i_fn_args *a) +{ + struct dfui_field *fi; + struct dfui_form *f; + struct dfui_response *r; + DIR *d; + struct dirent *de; + struct aura_dict *packages; + int done = 0; + + f = dfui_form_create( + "install_packages", + _("Install Packages"), + _("Select optional software packages that you want " + "installed on this system. This form lists only the " + "software packages available from the LiveCD. Thousands " + "more are available via the internet once FreeBSD " + "is installed."), + "", + + "p", "special", "fbsdinstaller_install_packages", + + NULL + ); + + d = opendir("/usr/packages/"); + if (d == NULL) { + inform(a->c, _("Could not find the package directory.")); + dfui_form_free(f); + return; + } + + while ((de = readdir(d)) != NULL) { + /* I tried to use de->d_type == DT_DIR but d_type was always 0 */ + struct stat sb; + char file[PATH_MAX]; + + if (de->d_name[0] == '.') + continue; + + snprintf(file, PATH_MAX, "/usr/packages/%s", de->d_name); + stat(file, &sb); + + if (!S_ISDIR(sb.st_mode)) + continue; + + dfui_form_action_add(f, de->d_name, + dfui_info_new(de->d_name, "", "")); + } + + closedir(d); + + dfui_form_action_add(f, "ok", + dfui_info_new(_("Accept and Install"), "", "")); + dfui_form_action_add(f, "cancel", + dfui_info_new(_("Cancel"), "", "")); + + packages = aura_dict_new(13, AURA_DICT_LIST); + + while (done == 0) + { + if (!dfui_be_present(a->c, f, &r)) + abort_backend(); + + if (strcmp(dfui_response_get_action_id(r), "cancel") == 0) { + done = 1; + } else if (strcmp(dfui_response_get_action_id(r), "ok") == 0) { + /* Install the packages */ + char *key; + int key_len; + + aura_dict_rewind(packages); + while (!aura_dict_eof(packages)) { + struct commands *cmds; + + /* Set dist_name */ + aura_dict_get_current_key(packages, (void*)&key, + &key_len); + key[key_len] = '\0'; + + cmds = commands_new(); + + command_add(cmds, + "cp /usr/packages/All/%s.tbz /mnt/tmp", + key); + command_add(cmds, + "pkg_add -C /mnt /tmp/%s.tbz", key); + command_add(cmds, "rm /mnt/tmp/%s.tbz", key); + + commands_execute(a, cmds); + commands_free(cmds); + + aura_dict_next(packages); + } + + done = 1; + } else { + /* move to the next level window */ + fn_select_packages(a, packages, + (char*)dfui_response_get_action_id(r)); + } + } + + aura_dict_free(packages); + + dfui_response_free(r); + dfui_form_free(f); +} + +void +fn_select_packages(struct i_fn_args *a, struct aura_dict *packages, char *dir) +{ + struct dfui_field *fi; + struct dfui_form *f; + struct dfui_response *r; + struct dfui_dataset *ds; + DIR *d; + struct dirent *de; + char dir_name[PATH_MAX]; + + f = dfui_form_create( + "install_packages", + _("Install Packages"), + _("Select optional software packages that you want " + "installed on this system. This form lists only the " + "software packages installed on the LiveCD; thousands " + "more are available via the internet once FreeBSD " + "is installed."), + "", + + "p", "special", "fbsdinstaller_install_packages", + + "f", "install", "Install?", + "Install this Package", "", + "p", "control", "checkbox", + + "f", "package", "Package name", + "The name of the Package to install", "", + "p", "editable", "false", + + "a", "ok", "Back", "", "", + + NULL + ); + + dfui_form_set_multiple(f, 1); + + snprintf(dir_name, PATH_MAX, "/usr/packages/%s", dir); + + d = opendir(dir_name); + if (d == NULL) { + inform(a->c, _("Could not find the package directory.")); + dfui_form_free(f); + return; + } + + while ((de = readdir(d)) != NULL) { + /* I tried to use de->d_type == DT_DIR but d_type was always 0 */ + struct stat sb; + char file[PATH_MAX]; + char *extension; + + if (de->d_name[0] == '.') + continue; + + snprintf(file, PATH_MAX, "/usr/packages/%s/%s", dir, de->d_name); + stat(file, &sb); + + if (!S_ISREG(sb.st_mode)) + continue; + + extension = strstr(de->d_name, ".tbz"); + if (extension != NULL) + extension[0] = '\0'; + + ds = dfui_dataset_new(); + dfui_dataset_celldata_add(ds, "install", "N"); + dfui_dataset_celldata_add(ds, "package", de->d_name); + dfui_form_dataset_add(f, ds); + } + + closedir(d); + + if (!dfui_be_present(a->c, f, &r)) + abort_backend(); + + if (strcmp(dfui_response_get_action_id(r), "ok") == 0) { + /* Add the packages and dependencies to the dictonary */ + for (ds = dfui_response_dataset_get_first(r); ds != NULL; + ds = dfui_dataset_get_next(ds)) { + char install[2]; + + /* Copy the value of the install field to install */ + strncpy(install, dfui_dataset_get_value(ds, "install"), 2); + + if (strncasecmp(install, "Y", 2) == 0) { + /* Select this dist for installation */ + char *package; + int len; + + package = (char*)dfui_dataset_get_value(ds, "package"); + len = strlen(package); + aura_dict_store(packages, package, len, + package, len); + } + } + } + + dfui_response_free(r); + dfui_form_free(f); +} From owner-p4-projects@FreeBSD.ORG Tue Aug 30 07:56:46 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1A2A816A421; Tue, 30 Aug 2005 07:56:46 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 D86F516A41F for ; Tue, 30 Aug 2005 07:56:45 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9BD5643D4C for ; Tue, 30 Aug 2005 07:56:45 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7U7ujF1044749 for ; Tue, 30 Aug 2005 07:56:45 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7U7ujPF044745 for perforce@freebsd.org; Tue, 30 Aug 2005 07:56:45 GMT (envelope-from soc-victor@freebsd.org) Date: Tue, 30 Aug 2005 07:56:45 GMT Message-Id: <200508300756.j7U7ujPF044745@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 82826 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Aug 2005 07:56:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=82826 Change 82826 by soc-victor@soc-victor_82.76.158.176 on 2005/08/30 07:55:46 Removed the old UDP code (for the obsoleted UDP-MIB/ RFC 2013). Affected files ... .. //depot/projects/soc2005/bsnmp/contrib/bsnmp/snmp_mibII/mibII.c#6 edit .. //depot/projects/soc2005/bsnmp/contrib/bsnmp/snmp_mibII/mibII_tree.def#5 edit .. //depot/projects/soc2005/bsnmp/contrib/bsnmp/snmp_mibII/mibII_udp.c#2 delete .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46.h#5 edit Differences ... ==== //depot/projects/soc2005/bsnmp/contrib/bsnmp/snmp_mibII/mibII.c#6 (text+ko) ==== @@ -58,9 +58,6 @@ static u_int ifmib_reg; static u_int ipmib_reg; -#if 0 -static u_int udpmib_reg; -#endif /*0*/ static u_int ipForward_reg; @@ -115,9 +112,6 @@ static const struct asn_oid oid_ifMIB = OIDX_ifMIB; static const struct asn_oid oid_ipMIB = OIDX_ipMIB; -#if 0 -static const struct asn_oid oid_udpMIB = OIDX_udpMIB; -#endif /*0*/ static const struct asn_oid oid_ipForward = OIDX_ipForward; static const struct asn_oid oid_linkDown = OIDX_linkDown; static const struct asn_oid oid_linkUp = OIDX_linkUp; @@ -1446,10 +1440,6 @@ "The MIB module for managing IP and ICMP implementations, but " "excluding their management of IP routes.", module); -#if 0 - udpmib_reg = or_register(&oid_udpMIB, - "The MIB module for managing UDP implementations.", module); -#endif /*0*/ ipForward_reg = or_register(&oid_ipForward, "The MIB module for the display of CIDR multipath IP Routes.", @@ -1507,9 +1497,6 @@ /* XXX free memory */ or_unregister(ipForward_reg); -#if 0 - or_unregister(udpmib_reg); -#endif or_unregister(ipmib_reg); or_unregister(ifmib_reg); ==== //depot/projects/soc2005/bsnmp/contrib/bsnmp/snmp_mibII/mibII_tree.def#5 (text+ko) ==== @@ -148,17 +148,6 @@ (25 icmpOutAddrMasks COUNTER op_icmpstat GET) (26 icmpOutAddrMaskReps COUNTER op_icmpstat GET) ) -# (7 udp -# (1 udpInDatagrams COUNTER op_udp GET) -# (2 udpNoPorts COUNTER op_udp GET) -# (3 udpInErrors COUNTER op_udp GET) -# (4 udpOutDatagrams COUNTER op_udp GET) -# (5 udpTable -# (1 udpEntry : IPADDRESS INTEGER op_udptable -# (1 udpLocalAddress IPADDRESS GET) -# (2 udpLocalPort INTEGER GET) -# )) -# ) (31 ifMIB (1 ifMIBObjects (1 ifXTable @@ -201,8 +190,6 @@ ) (48 ipMIB ) -# (50 udpMIB -# ) )) (6 snmpV2 (3 snmpModules ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46.h#5 (text+ko) ==== @@ -50,7 +50,7 @@ /*a debug macro*/ #ifndef NDEBUG #define L4_DPRINTF(ARGS) do { \ - fprintf(stderr, "TCP46_DEBUG: "); \ + fprintf(stderr, "L4_DEBUG: "); \ fprintf ARGS; \ } while (0) #else @@ -73,9 +73,9 @@ * for both active and passive entries */ struct tcp_index { - struct asn_oid index; - struct xtcpcb *tp; - pid_t so_pgid; + struct asn_oid index; /* SNMP index; ecoded from tcp_index::tp*/ + struct xtcpcb *tp; /* pointer to the TCP control block */ + pid_t so_pgid; /* the PID of owner for this TCP endpoint*/ }; /* @@ -83,18 +83,18 @@ * endpoint */ struct udp_index { - struct asn_oid index; - struct xinpcb *inp; - pid_t so_pgid; + struct asn_oid index; /* SNMP index; ecoded from tcp_index::inp*/ + struct xinpcb *inp; /* pointer to the IN(udp) control block */ + pid_t so_pgid; /* the PID of owner for this UDP endpoint*/ }; struct tcp_udp46_state { struct clockinfo clock_info; - uint64_t tcp_tick; /*agent tick when this struct was + uint64_t tcp_tick; /*agent tick when TCP data was last updated*/ - struct tcpstat tcpstat; /*holder for tcp stats*/ - struct xinpgen *tcp_xinpgen; /*holder for data get via sysctl; + struct tcpstat tcpstat; /*holder for UDP stats (v4 & v6)*/ + struct xinpgen *tcp_xinpgen; /*holder for TCP data obtained via sysctl; malloc'd*/ size_t tcp_xinpgen_len; /*the allocated len of the above vector */ u_int tcp_estab_count; /*value for the scalar named tcpCurrEstab*/ @@ -115,21 +115,23 @@ tcp table; malloc'd*/ size_t listen_tcpoids_len; /*the allocated len of the above vector */ - uint64_t udp_tick; - struct udpstat udpstat; - struct xinpgen *udp_xinpgen; - size_t udp_xinpgen_len; - u_int udp4_total; - u_int all_udp_total; + uint64_t udp_tick; /*agent tick when UDP data was updated*/ + struct udpstat udpstat; /*holder to UDP stats (v4 & v6)*/ + struct xinpgen *udp_xinpgen; /*holder for UDP data obtained via sysctl; + malloc'd*/ + size_t udp_xinpgen_len; /*the allocated len of the above vector */ + u_int udp4_total; /*the number of UDP v4 entries*/ + u_int all_udp_total; /*the number of UDP v4 & v6 entries*/ - struct udp_index *udp4oids; - size_t udp4oids_len; + struct udp_index *udp4oids; /*snmp vector for the udp4 table; malloc'd*/ + size_t udp4oids_len; /*the allocated len of the above vector */ - struct udp_index *all_udpoids; - size_t all_udpoids_len; + struct udp_index *all_udpoids; /*snmp vector for the unified v4 and v6 + udp table; malloc'd*/ + size_t all_udpoids_len; /*the allocated len of the above vector */ - struct xfile *xfiles; + struct xfile *xfiles; /*holder for xfiles; malloc'd*/ size_t xfiles_len; u_int xfiles_total; @@ -138,7 +140,7 @@ /* * Global variable used to hold all the data - * related to this SNMP module + * internal to this SNMP module */ extern struct tcp_udp46_state tcp_udp46_state_g; From owner-p4-projects@FreeBSD.ORG Tue Aug 30 12:23:21 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1FBA516A421; Tue, 30 Aug 2005 12:23:21 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 B62C616A41F for ; Tue, 30 Aug 2005 12:23:20 +0000 (GMT) (envelope-from bz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 46D6443D45 for ; Tue, 30 Aug 2005 12:23:20 +0000 (GMT) (envelope-from bz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7UCNKUc063559 for ; Tue, 30 Aug 2005 12:23:20 GMT (envelope-from bz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7UCKlga063477 for perforce@freebsd.org; Tue, 30 Aug 2005 12:20:47 GMT (envelope-from bz@freebsd.org) Date: Tue, 30 Aug 2005 12:20:47 GMT Message-Id: <200508301220.j7UCKlga063477@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bz@freebsd.org using -f From: "Bjoern A. Zeeb" To: Perforce Change Reviews Cc: Subject: PERFORCE change 82841 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Aug 2005 12:23:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=82841 Change 82841 by bz@bz_amd64 on 2005/08/30 12:14:48 IFC Update from 5.2-CURRENT to 7.0-CURRENT. With this submit the branch will be unusable for some time. Considering the branch was 0xdead for more than 1.5 years it shouldn't matter. I hope I'll get things compiling and booting again... Affected files ... .. //depot/projects/s390/COPYRIGHT#2 integrate .. //depot/projects/s390/LOCKS#1 branch .. //depot/projects/s390/MAINTAINERS#12 integrate .. //depot/projects/s390/Makefile#11 integrate .. //depot/projects/s390/Makefile.inc1#20 integrate .. //depot/projects/s390/ObsoleteFiles.inc#1 branch .. //depot/projects/s390/UPDATING#13 integrate .. //depot/projects/s390/bin/Makefile#5 integrate .. //depot/projects/s390/bin/Makefile.inc#3 integrate .. //depot/projects/s390/bin/cat/cat.1#2 integrate .. //depot/projects/s390/bin/cat/cat.c#5 integrate .. //depot/projects/s390/bin/chflags/Makefile#2 integrate .. //depot/projects/s390/bin/chflags/chflags.1#4 integrate .. //depot/projects/s390/bin/chflags/chflags.c#3 integrate .. //depot/projects/s390/bin/chio/Makefile#2 integrate .. //depot/projects/s390/bin/chio/chio.1#4 integrate .. //depot/projects/s390/bin/chio/chio.c#3 integrate .. //depot/projects/s390/bin/chio/defs.h#2 integrate .. //depot/projects/s390/bin/chio/pathnames.h#2 integrate .. //depot/projects/s390/bin/chmod/chmod.1#4 integrate .. //depot/projects/s390/bin/chmod/chmod.c#5 integrate .. //depot/projects/s390/bin/cp/cp.1#5 integrate .. //depot/projects/s390/bin/cp/cp.c#7 integrate .. //depot/projects/s390/bin/cp/extern.h#5 integrate .. //depot/projects/s390/bin/cp/utils.c#6 integrate .. //depot/projects/s390/bin/csh/Makefile#5 integrate .. //depot/projects/s390/bin/csh/USD.doc/csh.1#3 integrate .. //depot/projects/s390/bin/csh/USD.doc/csh.2#2 integrate .. //depot/projects/s390/bin/csh/USD.doc/csh.3#2 integrate .. //depot/projects/s390/bin/csh/USD.doc/csh.4#2 integrate .. //depot/projects/s390/bin/csh/USD.doc/csh.a#2 integrate .. //depot/projects/s390/bin/csh/USD.doc/csh.g#4 integrate .. //depot/projects/s390/bin/csh/USD.doc/tabs#2 integrate .. //depot/projects/s390/bin/csh/config.h#2 integrate .. //depot/projects/s390/bin/csh/config_p.h#1 branch .. //depot/projects/s390/bin/csh/host.defs#2 integrate .. //depot/projects/s390/bin/date/date.1#5 integrate .. //depot/projects/s390/bin/date/date.c#4 integrate .. //depot/projects/s390/bin/date/extern.h#2 integrate .. //depot/projects/s390/bin/date/netdate.c#3 integrate .. //depot/projects/s390/bin/date/vary.c#2 integrate .. //depot/projects/s390/bin/dd/Makefile#4 integrate .. //depot/projects/s390/bin/dd/args.c#4 integrate .. //depot/projects/s390/bin/dd/conv.c#3 integrate .. //depot/projects/s390/bin/dd/conv_tab.c#2 integrate .. //depot/projects/s390/bin/dd/dd.1#3 integrate .. //depot/projects/s390/bin/dd/dd.c#5 integrate .. //depot/projects/s390/bin/dd/dd.h#3 integrate .. //depot/projects/s390/bin/dd/extern.h#3 integrate .. //depot/projects/s390/bin/dd/gen.c#1 branch .. //depot/projects/s390/bin/dd/misc.c#3 integrate .. //depot/projects/s390/bin/dd/position.c#3 integrate .. //depot/projects/s390/bin/dd/ref.ascii#1 branch .. //depot/projects/s390/bin/dd/ref.ebcdic#1 branch .. //depot/projects/s390/bin/dd/ref.ibm#1 branch .. //depot/projects/s390/bin/dd/ref.lcase#1 branch .. //depot/projects/s390/bin/dd/ref.oldascii#1 branch .. //depot/projects/s390/bin/dd/ref.oldebcdic#1 branch .. //depot/projects/s390/bin/dd/ref.oldibm#1 branch .. //depot/projects/s390/bin/dd/ref.pareven#1 branch .. //depot/projects/s390/bin/dd/ref.parnone#1 branch .. //depot/projects/s390/bin/dd/ref.parodd#1 branch .. //depot/projects/s390/bin/dd/ref.parset#1 branch .. //depot/projects/s390/bin/dd/ref.swab#1 branch .. //depot/projects/s390/bin/dd/ref.ucase#1 branch .. //depot/projects/s390/bin/df/Makefile#3 integrate .. //depot/projects/s390/bin/df/df.1#5 integrate .. //depot/projects/s390/bin/df/df.c#8 integrate .. //depot/projects/s390/bin/domainname/domainname.1#2 integrate .. //depot/projects/s390/bin/domainname/domainname.c#3 integrate .. //depot/projects/s390/bin/echo/echo.1#4 integrate .. //depot/projects/s390/bin/echo/echo.c#4 integrate .. //depot/projects/s390/bin/ed/Makefile#4 integrate .. //depot/projects/s390/bin/ed/cbc.c#4 integrate .. //depot/projects/s390/bin/ed/ed.1#3 integrate .. //depot/projects/s390/bin/ed/ed.h#4 integrate .. //depot/projects/s390/bin/ed/main.c#4 integrate .. //depot/projects/s390/bin/expr/expr.1#3 integrate .. //depot/projects/s390/bin/expr/expr.y#3 integrate .. //depot/projects/s390/bin/getfacl/getfacl.1#5 integrate .. //depot/projects/s390/bin/getfacl/getfacl.c#4 integrate .. //depot/projects/s390/bin/hostname/hostname.1#2 integrate .. //depot/projects/s390/bin/hostname/hostname.c#3 integrate .. //depot/projects/s390/bin/kenv/kenv.1#3 integrate .. //depot/projects/s390/bin/kenv/kenv.c#3 integrate .. //depot/projects/s390/bin/kill/kill.1#2 integrate .. //depot/projects/s390/bin/kill/kill.c#3 integrate .. //depot/projects/s390/bin/ln/ln.1#3 integrate .. //depot/projects/s390/bin/ln/ln.c#4 integrate .. //depot/projects/s390/bin/ln/symlink.7#3 integrate .. //depot/projects/s390/bin/ls/Makefile#4 integrate .. //depot/projects/s390/bin/ls/cmp.c#3 integrate .. //depot/projects/s390/bin/ls/extern.h#4 integrate .. //depot/projects/s390/bin/ls/ls.1#6 integrate .. //depot/projects/s390/bin/ls/ls.c#7 integrate .. //depot/projects/s390/bin/ls/ls.h#4 integrate .. //depot/projects/s390/bin/ls/print.c#7 integrate .. //depot/projects/s390/bin/ls/util.c#3 integrate .. //depot/projects/s390/bin/mkdir/Makefile#2 integrate .. //depot/projects/s390/bin/mkdir/mkdir.1#2 integrate .. //depot/projects/s390/bin/mkdir/mkdir.c#3 integrate .. //depot/projects/s390/bin/mv/mv.1#3 integrate .. //depot/projects/s390/bin/mv/mv.c#3 integrate .. //depot/projects/s390/bin/pax/Makefile#4 integrate .. //depot/projects/s390/bin/pax/ar_io.c#5 integrate .. //depot/projects/s390/bin/pax/ar_subs.c#4 integrate .. //depot/projects/s390/bin/pax/buf_subs.c#4 integrate .. //depot/projects/s390/bin/pax/cache.c#4 integrate .. //depot/projects/s390/bin/pax/cache.h#3 integrate .. //depot/projects/s390/bin/pax/cpio.1#2 integrate .. //depot/projects/s390/bin/pax/cpio.c#5 integrate .. //depot/projects/s390/bin/pax/cpio.h#2 integrate .. //depot/projects/s390/bin/pax/extern.h#3 integrate .. //depot/projects/s390/bin/pax/file_subs.c#3 integrate .. //depot/projects/s390/bin/pax/ftree.c#4 integrate .. //depot/projects/s390/bin/pax/ftree.h#2 integrate .. //depot/projects/s390/bin/pax/gen_subs.c#4 integrate .. //depot/projects/s390/bin/pax/getoldopt.c#3 integrate .. //depot/projects/s390/bin/pax/options.c#5 integrate .. //depot/projects/s390/bin/pax/options.h#2 integrate .. //depot/projects/s390/bin/pax/pat_rep.c#5 integrate .. //depot/projects/s390/bin/pax/pat_rep.h#2 integrate .. //depot/projects/s390/bin/pax/pax.1#4 integrate .. //depot/projects/s390/bin/pax/pax.c#4 integrate .. //depot/projects/s390/bin/pax/pax.h#5 integrate .. //depot/projects/s390/bin/pax/sel_subs.c#3 integrate .. //depot/projects/s390/bin/pax/sel_subs.h#2 integrate .. //depot/projects/s390/bin/pax/tables.c#3 integrate .. //depot/projects/s390/bin/pax/tables.h#3 integrate .. //depot/projects/s390/bin/pax/tar.1#4 integrate .. //depot/projects/s390/bin/pax/tar.c#4 integrate .. //depot/projects/s390/bin/pax/tar.h#2 integrate .. //depot/projects/s390/bin/pax/tty_subs.c#3 integrate .. //depot/projects/s390/bin/ps/Makefile#5 integrate .. //depot/projects/s390/bin/ps/extern.h#6 integrate .. //depot/projects/s390/bin/ps/fmt.c#4 integrate .. //depot/projects/s390/bin/ps/keyword.c#8 integrate .. //depot/projects/s390/bin/ps/nlist.c#4 integrate .. //depot/projects/s390/bin/ps/print.c#8 integrate .. //depot/projects/s390/bin/ps/ps.1#8 integrate .. //depot/projects/s390/bin/ps/ps.c#7 integrate .. //depot/projects/s390/bin/ps/ps.h#5 integrate .. //depot/projects/s390/bin/pwd/pwd.1#4 integrate .. //depot/projects/s390/bin/pwd/pwd.c#4 integrate .. //depot/projects/s390/bin/rcp/Makefile#4 integrate .. //depot/projects/s390/bin/rcp/extern.h#2 integrate .. //depot/projects/s390/bin/rcp/rcp.1#3 integrate .. //depot/projects/s390/bin/rcp/rcp.c#5 integrate .. //depot/projects/s390/bin/rcp/util.c#4 integrate .. //depot/projects/s390/bin/realpath/realpath.1#2 integrate .. //depot/projects/s390/bin/realpath/realpath.c#4 integrate .. //depot/projects/s390/bin/rm/Makefile#3 integrate .. //depot/projects/s390/bin/rm/rm.1#4 integrate .. //depot/projects/s390/bin/rm/rm.c#4 integrate .. //depot/projects/s390/bin/rmail/Makefile#3 integrate .. //depot/projects/s390/bin/rmdir/rmdir.1#2 integrate .. //depot/projects/s390/bin/rmdir/rmdir.c#3 integrate .. //depot/projects/s390/bin/setfacl/Makefile#2 integrate .. //depot/projects/s390/bin/setfacl/file.c#2 integrate .. //depot/projects/s390/bin/setfacl/mask.c#2 integrate .. //depot/projects/s390/bin/setfacl/merge.c#2 integrate .. //depot/projects/s390/bin/setfacl/remove.c#2 integrate .. //depot/projects/s390/bin/setfacl/setfacl.1#4 integrate .. //depot/projects/s390/bin/setfacl/setfacl.c#4 integrate .. //depot/projects/s390/bin/setfacl/setfacl.h#3 integrate .. //depot/projects/s390/bin/setfacl/util.c#2 integrate .. //depot/projects/s390/bin/sh/Makefile#4 integrate .. //depot/projects/s390/bin/sh/alias.c#3 integrate .. //depot/projects/s390/bin/sh/alias.h#2 integrate .. //depot/projects/s390/bin/sh/arith.h#4 integrate .. //depot/projects/s390/bin/sh/arith.y#5 integrate .. //depot/projects/s390/bin/sh/arith_lex.l#5 integrate .. //depot/projects/s390/bin/sh/bltin/bltin.h#2 integrate .. //depot/projects/s390/bin/sh/bltin/echo.1#3 integrate .. //depot/projects/s390/bin/sh/bltin/echo.c#4 integrate .. //depot/projects/s390/bin/sh/builtins.def#4 integrate .. //depot/projects/s390/bin/sh/cd.c#4 integrate .. //depot/projects/s390/bin/sh/cd.h#2 integrate .. //depot/projects/s390/bin/sh/error.c#3 integrate .. //depot/projects/s390/bin/sh/error.h#3 integrate .. //depot/projects/s390/bin/sh/eval.c#4 integrate .. //depot/projects/s390/bin/sh/eval.h#3 integrate .. //depot/projects/s390/bin/sh/exec.c#4 integrate .. //depot/projects/s390/bin/sh/exec.h#3 integrate .. //depot/projects/s390/bin/sh/expand.c#7 integrate .. //depot/projects/s390/bin/sh/expand.h#3 integrate .. //depot/projects/s390/bin/sh/funcs/cmv#2 integrate .. //depot/projects/s390/bin/sh/funcs/dirs#2 integrate .. //depot/projects/s390/bin/sh/funcs/kill#2 integrate .. //depot/projects/s390/bin/sh/funcs/login#2 integrate .. //depot/projects/s390/bin/sh/funcs/newgrp#2 integrate .. //depot/projects/s390/bin/sh/funcs/popd#2 integrate .. //depot/projects/s390/bin/sh/funcs/pushd#2 integrate .. //depot/projects/s390/bin/sh/funcs/suspend#2 integrate .. //depot/projects/s390/bin/sh/histedit.c#4 integrate .. //depot/projects/s390/bin/sh/init.h#2 integrate .. //depot/projects/s390/bin/sh/input.c#4 integrate .. //depot/projects/s390/bin/sh/input.h#2 integrate .. //depot/projects/s390/bin/sh/jobs.c#7 integrate .. //depot/projects/s390/bin/sh/jobs.h#3 integrate .. //depot/projects/s390/bin/sh/mail.c#2 integrate .. //depot/projects/s390/bin/sh/mail.h#2 integrate .. //depot/projects/s390/bin/sh/main.c#3 integrate .. //depot/projects/s390/bin/sh/main.h#2 integrate .. //depot/projects/s390/bin/sh/memalloc.c#6 integrate .. //depot/projects/s390/bin/sh/memalloc.h#2 integrate .. //depot/projects/s390/bin/sh/miscbltin.c#3 integrate .. //depot/projects/s390/bin/sh/mkbuiltins#4 integrate .. //depot/projects/s390/bin/sh/mkinit.c#2 integrate .. //depot/projects/s390/bin/sh/mknodes.c#3 integrate .. //depot/projects/s390/bin/sh/mksyntax.c#4 integrate .. //depot/projects/s390/bin/sh/mktokens#2 integrate .. //depot/projects/s390/bin/sh/myhistedit.h#3 integrate .. //depot/projects/s390/bin/sh/mystring.c#2 integrate .. //depot/projects/s390/bin/sh/mystring.h#2 integrate .. //depot/projects/s390/bin/sh/nodes.c.pat#6 integrate .. //depot/projects/s390/bin/sh/nodetypes#2 integrate .. //depot/projects/s390/bin/sh/options.c#2 integrate .. //depot/projects/s390/bin/sh/options.h#3 integrate .. //depot/projects/s390/bin/sh/output.c#4 integrate .. //depot/projects/s390/bin/sh/output.h#2 integrate .. //depot/projects/s390/bin/sh/parser.c#4 integrate .. //depot/projects/s390/bin/sh/parser.h#2 integrate .. //depot/projects/s390/bin/sh/redir.c#4 integrate .. //depot/projects/s390/bin/sh/redir.h#2 integrate .. //depot/projects/s390/bin/sh/sh.1#9 integrate .. //depot/projects/s390/bin/sh/shell.h#5 integrate .. //depot/projects/s390/bin/sh/show.c#4 integrate .. //depot/projects/s390/bin/sh/show.h#2 integrate .. //depot/projects/s390/bin/sh/trap.c#3 integrate .. //depot/projects/s390/bin/sh/trap.h#3 integrate .. //depot/projects/s390/bin/sh/var.c#5 integrate .. //depot/projects/s390/bin/sh/var.h#3 integrate .. //depot/projects/s390/bin/sleep/sleep.1#2 integrate .. //depot/projects/s390/bin/sleep/sleep.c#4 integrate .. //depot/projects/s390/bin/stty/cchar.c#2 integrate .. //depot/projects/s390/bin/stty/extern.h#2 integrate .. //depot/projects/s390/bin/stty/gfmt.c#3 integrate .. //depot/projects/s390/bin/stty/key.c#2 integrate .. //depot/projects/s390/bin/stty/modes.c#2 integrate .. //depot/projects/s390/bin/stty/print.c#2 integrate .. //depot/projects/s390/bin/stty/stty.1#2 integrate .. //depot/projects/s390/bin/stty/stty.c#3 integrate .. //depot/projects/s390/bin/stty/stty.h#2 integrate .. //depot/projects/s390/bin/stty/util.c#2 integrate .. //depot/projects/s390/bin/sync/sync.8#2 integrate .. //depot/projects/s390/bin/sync/sync.c#3 integrate .. //depot/projects/s390/bin/test/TEST.README#2 integrate .. //depot/projects/s390/bin/test/TEST.sh#2 integrate .. //depot/projects/s390/bin/test/test.1#2 integrate .. //depot/projects/s390/bin/test/test.c#3 integrate .. //depot/projects/s390/contrib/amd/AUTHORS#3 integrate .. //depot/projects/s390/contrib/amd/BUGS#3 integrate .. //depot/projects/s390/contrib/amd/COPYING#3 integrate .. //depot/projects/s390/contrib/amd/ChangeLog#3 integrate .. //depot/projects/s390/contrib/amd/FREEBSD-Xlist#2 integrate .. //depot/projects/s390/contrib/amd/FREEBSD-upgrade#3 integrate .. //depot/projects/s390/contrib/amd/INSTALL#3 integrate .. //depot/projects/s390/contrib/amd/MIRRORS#3 delete .. //depot/projects/s390/contrib/amd/MIRRORS.html#1 branch .. //depot/projects/s390/contrib/amd/MIRRORS.txt#1 branch .. //depot/projects/s390/contrib/amd/NEWS#3 integrate .. //depot/projects/s390/contrib/amd/README#3 integrate .. //depot/projects/s390/contrib/amd/README.y2k#2 integrate .. //depot/projects/s390/contrib/amd/amd/am_ops.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/amd.8#4 integrate .. //depot/projects/s390/contrib/amd/amd/amd.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/amd.h#3 integrate .. //depot/projects/s390/contrib/amd/amd/amfs_auto.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/amfs_direct.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/amfs_error.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/amfs_host.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/amfs_inherit.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/amfs_link.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/amfs_linkx.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/amfs_nfsl.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/amfs_nfsx.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/amfs_program.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/amfs_root.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/amfs_toplvl.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/amfs_union.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/amq_subr.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/amq_svc.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/autil.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/clock.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/conf.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/conf_parse.y#3 integrate .. //depot/projects/s390/contrib/amd/amd/conf_tok.l#3 integrate .. //depot/projects/s390/contrib/amd/amd/get_args.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/info_file.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/info_hesiod.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/info_ldap.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/info_ndbm.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/info_nis.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/info_nisplus.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/info_passwd.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/info_union.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/map.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/mapc.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/mntfs.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/nfs_prot_svc.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/nfs_start.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/nfs_subr.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/ops_TEMPLATE.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/ops_cachefs.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/ops_cdfs.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/ops_efs.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/ops_lofs.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/ops_mfs.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/ops_nfs.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/ops_nfs3.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/ops_nullfs.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/ops_pcfs.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/ops_tfs.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/ops_tmpfs.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/ops_ufs.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/ops_umapfs.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/ops_unionfs.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/ops_xfs.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/opts.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/restart.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/rpc_fwd.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/sched.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/srvr_amfs_auto.c#3 integrate .. //depot/projects/s390/contrib/amd/amd/srvr_nfs.c#3 integrate .. //depot/projects/s390/contrib/amd/amq/amq.8#4 integrate .. //depot/projects/s390/contrib/amd/amq/amq.c#3 integrate .. //depot/projects/s390/contrib/amd/amq/amq.h#3 integrate .. //depot/projects/s390/contrib/amd/amq/amq_clnt.c#3 integrate .. //depot/projects/s390/contrib/amd/amq/amq_xdr.c#3 integrate .. //depot/projects/s390/contrib/amd/amq/pawd.1#3 integrate .. //depot/projects/s390/contrib/amd/amq/pawd.c#3 integrate .. //depot/projects/s390/contrib/amd/bootstrap#2 integrate .. //depot/projects/s390/contrib/amd/commit#2 delete .. //depot/projects/s390/contrib/amd/conf/checkmount/checkmount_bsd44.c#3 integrate .. //depot/projects/s390/contrib/amd/conf/hn_dref/hn_dref_default.h#2 delete .. //depot/projects/s390/contrib/amd/conf/mount/mount_default.c#2 delete .. //depot/projects/s390/contrib/amd/conf/mtab/mtab_bsd.c#3 integrate .. //depot/projects/s390/contrib/amd/conf/nfs_prot/nfs_prot_aix5_1.h#2 delete .. //depot/projects/s390/contrib/amd/conf/nfs_prot/nfs_prot_darwin.h#3 delete .. //depot/projects/s390/contrib/amd/conf/nfs_prot/nfs_prot_freebsd2.h#3 integrate .. //depot/projects/s390/contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h#3 integrate .. //depot/projects/s390/contrib/amd/conf/nfs_prot/nfs_prot_osf5.h#2 delete .. //depot/projects/s390/contrib/amd/conf/nfs_prot/nfs_prot_sunos5_8.h#2 delete .. //depot/projects/s390/contrib/amd/conf/transp/transp_sockets.c#4 integrate .. //depot/projects/s390/contrib/amd/conf/umount/umount_bsd44.c#3 integrate .. //depot/projects/s390/contrib/amd/config.guess#2 delete .. //depot/projects/s390/contrib/amd/config.guess.long#2 delete .. //depot/projects/s390/contrib/amd/config.sub#2 delete .. //depot/projects/s390/contrib/amd/configure.in#2 delete .. //depot/projects/s390/contrib/amd/cvs-server.txt#2 delete .. //depot/projects/s390/contrib/amd/depcomp#2 delete .. //depot/projects/s390/contrib/amd/doc/am-utils.texi#3 integrate .. //depot/projects/s390/contrib/amd/doc/mdate-sh#2 delete .. //depot/projects/s390/contrib/amd/fixmount/fixmount.8#4 integrate .. //depot/projects/s390/contrib/amd/fixmount/fixmount.c#3 integrate .. //depot/projects/s390/contrib/amd/fsinfo/fsi_analyze.c#3 integrate .. //depot/projects/s390/contrib/amd/fsinfo/fsi_data.h#3 integrate .. //depot/projects/s390/contrib/amd/fsinfo/fsi_dict.c#3 integrate .. //depot/projects/s390/contrib/amd/fsinfo/fsi_gram.y#3 integrate .. //depot/projects/s390/contrib/amd/fsinfo/fsi_lex.l#3 integrate .. //depot/projects/s390/contrib/amd/fsinfo/fsi_util.c#3 integrate .. //depot/projects/s390/contrib/amd/fsinfo/fsinfo.8#4 integrate .. //depot/projects/s390/contrib/amd/fsinfo/fsinfo.c#3 integrate .. //depot/projects/s390/contrib/amd/fsinfo/fsinfo.h#3 integrate .. //depot/projects/s390/contrib/amd/fsinfo/wr_atab.c#3 integrate .. //depot/projects/s390/contrib/amd/fsinfo/wr_bparam.c#3 integrate .. //depot/projects/s390/contrib/amd/fsinfo/wr_dumpset.c#3 integrate .. //depot/projects/s390/contrib/amd/fsinfo/wr_exportfs.c#3 integrate .. //depot/projects/s390/contrib/amd/fsinfo/wr_fstab.c#3 integrate .. //depot/projects/s390/contrib/amd/hlfsd/hlfsd.8#4 integrate .. //depot/projects/s390/contrib/amd/hlfsd/hlfsd.c#3 integrate .. //depot/projects/s390/contrib/amd/hlfsd/hlfsd.h#3 integrate .. //depot/projects/s390/contrib/amd/hlfsd/homedir.c#3 integrate .. //depot/projects/s390/contrib/amd/hlfsd/nfs_prot_svc.c#3 integrate .. //depot/projects/s390/contrib/amd/hlfsd/stubs.c#3 integrate .. //depot/projects/s390/contrib/amd/include/am_defs.h#3 integrate .. //depot/projects/s390/contrib/amd/include/am_utils.h#3 integrate .. //depot/projects/s390/contrib/amd/include/am_xdr_func.h#3 integrate .. //depot/projects/s390/contrib/amd/include/amq_defs.h#3 integrate .. //depot/projects/s390/contrib/amd/install-sh#2 delete .. //depot/projects/s390/contrib/amd/libamu/amu.h#3 integrate .. //depot/projects/s390/contrib/amd/libamu/hasmntopt.c#3 integrate .. //depot/projects/s390/contrib/amd/libamu/misc_rpc.c#3 integrate .. //depot/projects/s390/contrib/amd/libamu/mount_fs.c#3 integrate .. //depot/projects/s390/contrib/amd/libamu/mtab.c#3 integrate .. //depot/projects/s390/contrib/amd/libamu/nfs_prot_xdr.c#3 integrate .. //depot/projects/s390/contrib/amd/libamu/strerror.c#2 integrate .. //depot/projects/s390/contrib/amd/libamu/util.c#3 integrate .. //depot/projects/s390/contrib/amd/libamu/wire.c#3 integrate .. //depot/projects/s390/contrib/amd/libamu/xdr_func.c#3 integrate .. //depot/projects/s390/contrib/amd/libamu/xutil.c#3 integrate .. //depot/projects/s390/contrib/amd/ltmain.sh#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/c_void_p.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/cache_check_dynamic.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_amu_fs.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_checkmount_style.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_extern.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_fhandle.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_field.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_fs_headers.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_fs_mntent.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_gnu_getopt.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_hide_mount_type.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_lib2.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_map_funcs.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_mnt2_cdfs_opt.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_mnt2_gen_opt.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_mnt2_nfs_opt.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_mnttab_file_name.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_mnttab_location.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_mnttab_opt.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_mnttab_style.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_mnttab_type.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_mount_style.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_mount_trap.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_mount_type.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_mtype_printf_type.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_mtype_type.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_network_transport_type.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_nfs_fh_dref.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_nfs_hn_dref.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_nfs_prot_headers.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_nfs_sa_dref.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_nfs_socket_connection.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_os_libs.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_restartable_signal_handler.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_umount_style.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_unmount_args.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/check_unmount_call.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/expand_cpp_hex.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/expand_cpp_int.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/expand_cpp_string.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/expand_run_string.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/extern_optarg.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/extern_sys_errlist.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/field_mntent_t_mnt_time_string.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/func_bad_memcmp.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/func_bad_yp_all.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/header_templates.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/host_macros.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/linux_headers.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/localconfig.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/mount_headers.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/name_package.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/name_version.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/opt_amu_cflags.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/opt_cppflags.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/opt_debug.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/opt_ldflags.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/opt_libs.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/os_cflags.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/os_cppflags.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/os_ldflags.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/package_bugreport.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/package_name.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/package_version.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/save_state.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/struct_field_nfs_fh.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/struct_mntent.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/struct_mnttab.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/struct_nfs_args.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/struct_nfs_fh.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/struct_nfs_fh3.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/struct_nfs_gfs_mount.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/try_compile_anyfs.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/try_compile_nfs.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/try_compile_rpc.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/type_auth_create_gidlist.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/type_cachefs_args.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/type_cdfs_args.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/type_efs_args.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/type_lofs_args.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/type_mfs_args.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/type_pcfs_args.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/type_recvfrom_fromlen.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/type_rfs_args.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/type_svc_in_arg.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/type_time_t.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/type_tmpfs_args.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/type_ufs_args.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/type_xdrproc_t.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/type_xfs_args.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/type_yp_order_outorder.m4#2 delete .. //depot/projects/s390/contrib/amd/m4/macros/with_addon.m4#2 delete .. //depot/projects/s390/contrib/amd/missing#2 delete .. //depot/projects/s390/contrib/amd/mk-amd-map/mk-amd-map.8#3 integrate .. //depot/projects/s390/contrib/amd/mk-amd-map/mk-amd-map.c#3 integrate .. //depot/projects/s390/contrib/amd/mkinstalldirs#2 delete .. //depot/projects/s390/contrib/amd/scripts/amd.conf-sample#3 integrate .. //depot/projects/s390/contrib/amd/scripts/amd.conf.5#4 integrate .. //depot/projects/s390/contrib/amd/scripts/automount2amd.8#3 integrate .. //depot/projects/s390/contrib/amd/scripts/expn.1#3 integrate .. //depot/projects/s390/contrib/amd/scripts/expn.in#3 integrate .. //depot/projects/s390/contrib/amd/scripts/lostaltmail.conf-sample#2 delete .. //depot/projects/s390/contrib/amd/scripts/lostaltmail.in#3 delete .. //depot/projects/s390/contrib/amd/tasks#3 integrate .. //depot/projects/s390/contrib/amd/wire-test/wire-test.8#3 integrate .. //depot/projects/s390/contrib/amd/wire-test/wire-test.c#3 integrate .. //depot/projects/s390/contrib/bc/FREEBSD-upgrade#2 integrate .. //depot/projects/s390/contrib/bc/bc/main.c#2 integrate .. //depot/projects/s390/contrib/bc/h/getopt.h#2 delete .. //depot/projects/s390/contrib/bc/lib/getopt.c#2 delete .. //depot/projects/s390/contrib/bc/lib/getopt1.c#2 delete .. //depot/projects/s390/contrib/bind/CHANGES#5 delete .. //depot/projects/s390/contrib/bind/DNSSEC#2 delete .. //depot/projects/s390/contrib/bind/FREEBSD-Upgrade#3 delete .. //depot/projects/s390/contrib/bind/FREEBSD-Xlist#2 delete .. //depot/projects/s390/contrib/bind/INSTALL#2 delete .. //depot/projects/s390/contrib/bind/LICENSE#2 delete .. //depot/projects/s390/contrib/bind/Makefile#2 delete .. //depot/projects/s390/contrib/bind/README#4 delete .. //depot/projects/s390/contrib/bind/SUPPORT#2 delete .. //depot/projects/s390/contrib/bind/TODO#2 delete .. //depot/projects/s390/contrib/bind/Version#4 delete .. //depot/projects/s390/contrib/bind/bin/Makefile#2 delete .. //depot/projects/s390/contrib/bind/bin/addr/Makefile#2 delete .. //depot/projects/s390/contrib/bind/bin/addr/addr.c#2 delete .. //depot/projects/s390/contrib/bind/bin/dig/Makefile#2 delete .. //depot/projects/s390/contrib/bind/bin/dig/dig.c#3 delete .. //depot/projects/s390/contrib/bind/bin/dnskeygen/Makefile#2 delete .. //depot/projects/s390/contrib/bind/bin/dnskeygen/dnskeygen.c#2 delete .. //depot/projects/s390/contrib/bind/bin/dnsquery/Makefile#2 delete .. //depot/projects/s390/contrib/bind/bin/dnsquery/dnsquery.c#3 delete .. //depot/projects/s390/contrib/bind/bin/host/Makefile#2 delete .. //depot/projects/s390/contrib/bind/bin/host/host.c#3 delete .. //depot/projects/s390/contrib/bind/bin/irpd/Makefile#2 delete .. //depot/projects/s390/contrib/bind/bin/irpd/irpd.c#2 delete .. //depot/projects/s390/contrib/bind/bin/irpd/irs-irpd.conf#2 delete .. //depot/projects/s390/contrib/bind/bin/irpd/version.c#2 delete .. //depot/projects/s390/contrib/bind/bin/mkservdb/Makefile#2 delete .. //depot/projects/s390/contrib/bind/bin/mkservdb/mkservdb.c#2 delete .. //depot/projects/s390/contrib/bind/bin/named-bootconf/Grot/named-bootconf.pl#2 delete .. //depot/projects/s390/contrib/bind/bin/named-bootconf/Makefile#2 delete .. //depot/projects/s390/contrib/bind/bin/named-bootconf/named-bootconf.sh#2 delete .. //depot/projects/s390/contrib/bind/bin/named-bootconf/test.boot#2 delete .. //depot/projects/s390/contrib/bind/bin/named-xfer/Makefile#2 delete .. //depot/projects/s390/contrib/bind/bin/named-xfer/named-xfer.c#3 delete .. //depot/projects/s390/contrib/bind/bin/named/Makefile#2 delete .. //depot/projects/s390/contrib/bind/bin/named/db_defs.h#5 delete .. //depot/projects/s390/contrib/bind/bin/named/db_dump.c#2 delete .. //depot/projects/s390/contrib/bind/bin/named/db_func.h#2 delete .. //depot/projects/s390/contrib/bind/bin/named/db_glob.h#2 delete .. //depot/projects/s390/contrib/bind/bin/named/db_glue.c#2 delete .. //depot/projects/s390/contrib/bind/bin/named/db_ixfr.c#3 delete .. //depot/projects/s390/contrib/bind/bin/named/db_load.c#3 delete .. //depot/projects/s390/contrib/bind/bin/named/db_lookup.c#2 delete .. //depot/projects/s390/contrib/bind/bin/named/db_save.c#2 delete .. //depot/projects/s390/contrib/bind/bin/named/db_sec.c#5 delete .. //depot/projects/s390/contrib/bind/bin/named/db_tsig.c#2 delete .. //depot/projects/s390/contrib/bind/bin/named/db_update.c#2 delete .. //depot/projects/s390/contrib/bind/bin/named/named.conf#2 delete .. //depot/projects/s390/contrib/bind/bin/named/named.h#2 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_config.c#3 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_ctl.c#3 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_defs.h#5 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_forw.c#3 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_func.h#3 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_glob.h#3 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_glue.c#2 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_init.c#3 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_ixfr.c#3 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_lexer.c#3 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_lexer.h#2 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_main.c#3 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_maint.c#3 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_ncache.c#5 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_notify.c#2 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_parser.y#3 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_parseutil.c#2 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_parseutil.h#2 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_req.c#5 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_resp.c#5 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_signal.c#2 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_sort.c#2 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_stats.c#2 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_udp.c#2 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_update.c#3 delete .. //depot/projects/s390/contrib/bind/bin/named/ns_xfr.c#2 delete .. //depot/projects/s390/contrib/bind/bin/named/pathtemplate.h#2 delete .. //depot/projects/s390/contrib/bind/bin/named/test/127.0.0.zone#2 delete .. //depot/projects/s390/contrib/bind/bin/named/test/localhost.zone#2 delete .. //depot/projects/s390/contrib/bind/bin/named/test/named.conf#2 delete .. //depot/projects/s390/contrib/bind/bin/named/test/root.hint#2 delete .. //depot/projects/s390/contrib/bind/bin/named/version.c#2 delete .. //depot/projects/s390/contrib/bind/bin/ndc/Makefile#2 delete .. //depot/projects/s390/contrib/bind/bin/ndc/ndc.c#3 delete .. //depot/projects/s390/contrib/bind/bin/nslookup/Makefile#2 delete .. //depot/projects/s390/contrib/bind/bin/nslookup/commands.l#2 delete .. //depot/projects/s390/contrib/bind/bin/nslookup/debug.c#2 delete .. //depot/projects/s390/contrib/bind/bin/nslookup/getinfo.c#3 delete .. //depot/projects/s390/contrib/bind/bin/nslookup/list.c#2 delete .. //depot/projects/s390/contrib/bind/bin/nslookup/main.c#3 delete .. //depot/projects/s390/contrib/bind/bin/nslookup/nslookup.help#2 delete .. //depot/projects/s390/contrib/bind/bin/nslookup/pathnames.h#2 delete .. //depot/projects/s390/contrib/bind/bin/nslookup/res.h#2 delete .. //depot/projects/s390/contrib/bind/bin/nslookup/send.c#3 delete .. //depot/projects/s390/contrib/bind/bin/nslookup/skip.c#2 delete .. //depot/projects/s390/contrib/bind/bin/nslookup/subr.c#2 delete .. //depot/projects/s390/contrib/bind/bin/nsupdate/Makefile#2 delete .. //depot/projects/s390/contrib/bind/bin/nsupdate/nsupdate.c#3 delete .. //depot/projects/s390/contrib/bind/doc/html/acl.html#2 delete .. //depot/projects/s390/contrib/bind/doc/html/address_list.html#2 delete .. //depot/projects/s390/contrib/bind/doc/html/comments.html#2 delete .. //depot/projects/s390/contrib/bind/doc/html/config.html#2 delete .. //depot/projects/s390/contrib/bind/doc/html/controls.html#2 delete .. //depot/projects/s390/contrib/bind/doc/html/docdef.html#2 delete .. //depot/projects/s390/contrib/bind/doc/html/example.html#2 delete .. //depot/projects/s390/contrib/bind/doc/html/include.html#2 delete .. //depot/projects/s390/contrib/bind/doc/html/index.html#2 delete .. //depot/projects/s390/contrib/bind/doc/html/key.html#2 delete .. //depot/projects/s390/contrib/bind/doc/html/logging.html#3 delete .. //depot/projects/s390/contrib/bind/doc/html/master.html#2 delete .. //depot/projects/s390/contrib/bind/doc/html/options.html#4 delete .. //depot/projects/s390/contrib/bind/doc/html/server.html#2 delete .. //depot/projects/s390/contrib/bind/doc/html/trusted-keys.html#2 delete .. //depot/projects/s390/contrib/bind/doc/html/zone.html#2 delete .. //depot/projects/s390/contrib/bind/doc/man/Makefile#2 delete .. //depot/projects/s390/contrib/bind/doc/man/dig.1#3 delete .. //depot/projects/s390/contrib/bind/doc/man/dnskeygen.1#2 delete .. //depot/projects/s390/contrib/bind/doc/man/dnsquery.1#2 delete .. //depot/projects/s390/contrib/bind/doc/man/getaddrinfo.3#2 delete .. //depot/projects/s390/contrib/bind/doc/man/gethostbyname.3#2 delete .. //depot/projects/s390/contrib/bind/doc/man/getipnodebyname.3#2 delete .. //depot/projects/s390/contrib/bind/doc/man/getnameinfo.3#2 delete .. //depot/projects/s390/contrib/bind/doc/man/getnetent.3#2 delete .. //depot/projects/s390/contrib/bind/doc/man/hesiod.3#2 delete .. //depot/projects/s390/contrib/bind/doc/man/host.1#2 delete .. //depot/projects/s390/contrib/bind/doc/man/hostname.7#2 delete .. //depot/projects/s390/contrib/bind/doc/man/inet_cidr.3#2 delete .. //depot/projects/s390/contrib/bind/doc/man/irs.conf.5#2 delete .. //depot/projects/s390/contrib/bind/doc/man/mailaddr.7#2 delete .. //depot/projects/s390/contrib/bind/doc/man/mkdep.1#2 delete .. //depot/projects/s390/contrib/bind/doc/man/named-bootconf.8#2 delete .. //depot/projects/s390/contrib/bind/doc/man/named-xfer.8#3 delete .. //depot/projects/s390/contrib/bind/doc/man/named.8#3 delete .. //depot/projects/s390/contrib/bind/doc/man/named.conf.5#4 delete .. //depot/projects/s390/contrib/bind/doc/man/ndc.8#2 delete .. //depot/projects/s390/contrib/bind/doc/man/nslookup.8#2 delete .. //depot/projects/s390/contrib/bind/doc/man/nsupdate.8#2 delete .. //depot/projects/s390/contrib/bind/doc/man/resolver.3#4 delete .. //depot/projects/s390/contrib/bind/doc/man/resolver.5#2 delete .. //depot/projects/s390/contrib/bind/doc/man/tsig.3#2 delete .. //depot/projects/s390/contrib/bind/doc/misc/DynamicUpdate#2 delete .. //depot/projects/s390/contrib/bind/doc/misc/FAQ.1of2#2 delete .. //depot/projects/s390/contrib/bind/doc/misc/FAQ.2of2#2 delete .. //depot/projects/s390/contrib/bind/doc/misc/rfc2317-notes.txt#2 delete .. //depot/projects/s390/contrib/bind/doc/misc/style.txt#2 delete .. //depot/projects/s390/contrib/bind/include/Makefile#2 delete .. //depot/projects/s390/contrib/bind/include/arpa/Makefile#2 delete .. //depot/projects/s390/contrib/bind/include/arpa/inet.h#2 delete .. //depot/projects/s390/contrib/bind/include/arpa/nameser.h#3 delete .. //depot/projects/s390/contrib/bind/include/arpa/nameser_compat.h#3 delete .. //depot/projects/s390/contrib/bind/include/fd_setsize.h#2 delete .. //depot/projects/s390/contrib/bind/include/hesiod.h#3 delete .. //depot/projects/s390/contrib/bind/include/irp.h#3 delete .. //depot/projects/s390/contrib/bind/include/irs.h#3 delete .. //depot/projects/s390/contrib/bind/include/isc/Makefile#2 delete .. //depot/projects/s390/contrib/bind/include/isc/assertions.h#2 delete .. //depot/projects/s390/contrib/bind/include/isc/ctl.h#3 delete .. //depot/projects/s390/contrib/bind/include/isc/dst.h#3 delete .. //depot/projects/s390/contrib/bind/include/isc/eventlib.h#3 delete .. //depot/projects/s390/contrib/bind/include/isc/heap.h#2 delete .. //depot/projects/s390/contrib/bind/include/isc/irpmarshall.h#3 delete .. //depot/projects/s390/contrib/bind/include/isc/list.h#2 delete .. //depot/projects/s390/contrib/bind/include/isc/logging.h#3 delete .. //depot/projects/s390/contrib/bind/include/isc/memcluster.h#2 delete .. //depot/projects/s390/contrib/bind/include/isc/misc.h#3 delete .. //depot/projects/s390/contrib/bind/include/isc/tree.h#3 delete .. //depot/projects/s390/contrib/bind/include/netdb.h#2 delete .. //depot/projects/s390/contrib/bind/include/netgroup.h#3 delete .. //depot/projects/s390/contrib/bind/include/res_update.h#2 delete .. //depot/projects/s390/contrib/bind/include/resolv.h#3 delete .. //depot/projects/s390/contrib/bind/lib/Makefile#2 delete .. //depot/projects/s390/contrib/bind/lib/dst/Makefile#2 delete .. //depot/projects/s390/contrib/bind/lib/dst/README#2 delete .. //depot/projects/s390/contrib/bind/lib/dst/bsafe_link.c#3 delete .. //depot/projects/s390/contrib/bind/lib/dst/cylink_link.c#3 delete .. //depot/projects/s390/contrib/bind/lib/dst/dst_api.c#3 delete .. //depot/projects/s390/contrib/bind/lib/dst/dst_internal.h#2 delete .. //depot/projects/s390/contrib/bind/lib/dst/eay_dss_link.c#2 delete .. //depot/projects/s390/contrib/bind/lib/dst/hmac_link.c#3 delete .. //depot/projects/s390/contrib/bind/lib/dst/md5.h#2 delete .. //depot/projects/s390/contrib/bind/lib/dst/md5_dgst.c#2 delete .. //depot/projects/s390/contrib/bind/lib/dst/md5_locl.h#2 delete .. //depot/projects/s390/contrib/bind/lib/dst/prandom.c#2 delete .. //depot/projects/s390/contrib/bind/lib/dst/rsaref_link.c#2 delete .. //depot/projects/s390/contrib/bind/lib/dst/support.c#2 delete .. //depot/projects/s390/contrib/bind/lib/inet/Makefile#2 delete .. //depot/projects/s390/contrib/bind/lib/inet/inet_addr.c#2 delete .. //depot/projects/s390/contrib/bind/lib/inet/inet_cidr_ntop.c#2 delete .. //depot/projects/s390/contrib/bind/lib/inet/inet_cidr_pton.c#2 delete .. //depot/projects/s390/contrib/bind/lib/inet/inet_data.c#2 delete .. //depot/projects/s390/contrib/bind/lib/inet/inet_lnaof.c#2 delete .. //depot/projects/s390/contrib/bind/lib/inet/inet_makeaddr.c#2 delete .. //depot/projects/s390/contrib/bind/lib/inet/inet_net_ntop.c#2 delete .. //depot/projects/s390/contrib/bind/lib/inet/inet_net_pton.c#2 delete .. //depot/projects/s390/contrib/bind/lib/inet/inet_neta.c#2 delete .. //depot/projects/s390/contrib/bind/lib/inet/inet_netof.c#2 delete .. //depot/projects/s390/contrib/bind/lib/inet/inet_network.c#2 delete .. //depot/projects/s390/contrib/bind/lib/inet/inet_ntoa.c#2 delete .. //depot/projects/s390/contrib/bind/lib/inet/inet_ntop.c#2 delete .. //depot/projects/s390/contrib/bind/lib/inet/inet_pton.c#2 delete .. //depot/projects/s390/contrib/bind/lib/inet/nsap_addr.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/Makefile#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/Makefile.BSD#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/README#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/dns.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/dns_gr.c#3 delete .. //depot/projects/s390/contrib/bind/lib/irs/dns_ho.c#3 delete .. //depot/projects/s390/contrib/bind/lib/irs/dns_nw.c#3 delete .. //depot/projects/s390/contrib/bind/lib/irs/dns_p.h#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/dns_pr.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/dns_pw.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/dns_sv.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/gai_strerror.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/gen.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/gen_gr.c#3 delete .. //depot/projects/s390/contrib/bind/lib/irs/gen_ho.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/gen_ng.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/gen_nw.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/gen_p.h#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/gen_pr.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/gen_pw.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/gen_sv.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/getaddrinfo.c#3 delete .. //depot/projects/s390/contrib/bind/lib/irs/getgrent.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/getgrent_r.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/gethostent.c#3 delete .. //depot/projects/s390/contrib/bind/lib/irs/gethostent_r.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/getnameinfo.c#3 delete .. //depot/projects/s390/contrib/bind/lib/irs/getnetent.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/getnetent_r.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/getnetgrent.c#3 delete .. //depot/projects/s390/contrib/bind/lib/irs/getnetgrent_r.c#3 delete .. //depot/projects/s390/contrib/bind/lib/irs/getprotoent.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/getprotoent_r.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/getpwent.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/getpwent_r.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/getservent.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/getservent_r.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/hesiod.c#3 delete .. //depot/projects/s390/contrib/bind/lib/irs/hesiod_p.h#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/irp.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/irp_gr.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/irp_ho.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/irp_ng.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/irp_nw.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/irp_p.h#3 delete .. //depot/projects/s390/contrib/bind/lib/irs/irp_pr.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/irp_pw.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/irp_sv.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/irpmarshall.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/irs_data.c#3 delete .. //depot/projects/s390/contrib/bind/lib/irs/irs_data.h#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/irs_p.h#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/lcl.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/lcl_gr.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/lcl_ho.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/lcl_ng.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/lcl_nw.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/lcl_p.h#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/lcl_pr.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/lcl_pw.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/lcl_sv.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/nis.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/nis_gr.c#3 delete .. //depot/projects/s390/contrib/bind/lib/irs/nis_ho.c#3 delete .. //depot/projects/s390/contrib/bind/lib/irs/nis_ng.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/nis_nw.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/nis_p.h#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/nis_pr.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/nis_pw.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/nis_sv.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/nul_ng.c#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/pathnames.h#2 delete .. //depot/projects/s390/contrib/bind/lib/irs/util.c#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/Makefile#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/assertions.c#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/assertions.mdoc#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/base64.c#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/bitncmp.c#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/bitncmp.mdoc#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/ctl_clnt.c#3 delete .. //depot/projects/s390/contrib/bind/lib/isc/ctl_p.c#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/ctl_p.h#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/ctl_srvr.c#3 delete .. //depot/projects/s390/contrib/bind/lib/isc/ev_connects.c#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/ev_files.c#3 delete .. //depot/projects/s390/contrib/bind/lib/isc/ev_streams.c#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/ev_timers.c#3 delete .. //depot/projects/s390/contrib/bind/lib/isc/ev_waits.c#3 delete .. //depot/projects/s390/contrib/bind/lib/isc/eventlib.c#3 delete .. //depot/projects/s390/contrib/bind/lib/isc/eventlib.mdoc#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/eventlib_p.h#3 delete .. //depot/projects/s390/contrib/bind/lib/isc/heap.c#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/heap.mdoc#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/hex.c#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/logging.c#3 delete .. //depot/projects/s390/contrib/bind/lib/isc/logging.mdoc#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/logging_p.h#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/memcluster.c#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/memcluster.mdoc#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/movefile.c#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/tree.c#2 delete .. //depot/projects/s390/contrib/bind/lib/isc/tree.mdoc#2 delete .. //depot/projects/s390/contrib/bind/lib/nameser/Makefile#2 delete .. //depot/projects/s390/contrib/bind/lib/nameser/ns_date.c#2 delete .. //depot/projects/s390/contrib/bind/lib/nameser/ns_name.c#5 delete .. //depot/projects/s390/contrib/bind/lib/nameser/ns_netint.c#2 delete .. //depot/projects/s390/contrib/bind/lib/nameser/ns_parse.c#3 delete .. //depot/projects/s390/contrib/bind/lib/nameser/ns_print.c#3 delete .. //depot/projects/s390/contrib/bind/lib/nameser/ns_samedomain.c#5 delete .. //depot/projects/s390/contrib/bind/lib/nameser/ns_sign.c#3 delete .. //depot/projects/s390/contrib/bind/lib/nameser/ns_ttl.c#2 delete .. //depot/projects/s390/contrib/bind/lib/nameser/ns_verify.c#2 delete .. //depot/projects/s390/contrib/bind/lib/resolv/Makefile#2 delete .. //depot/projects/s390/contrib/bind/lib/resolv/herror.c#2 delete .. //depot/projects/s390/contrib/bind/lib/resolv/res_comp.c#3 delete .. //depot/projects/s390/contrib/bind/lib/resolv/res_data.c#2 delete .. //depot/projects/s390/contrib/bind/lib/resolv/res_debug.c#3 delete .. //depot/projects/s390/contrib/bind/lib/resolv/res_debug.h#2 delete .. //depot/projects/s390/contrib/bind/lib/resolv/res_findzonecut.c#3 delete .. //depot/projects/s390/contrib/bind/lib/resolv/res_init.c#3 delete .. //depot/projects/s390/contrib/bind/lib/resolv/res_mkquery.c#3 delete .. //depot/projects/s390/contrib/bind/lib/resolv/res_mkupdate.c#3 delete .. //depot/projects/s390/contrib/bind/lib/resolv/res_mkupdate.h#2 delete .. //depot/projects/s390/contrib/bind/lib/resolv/res_private.h#3 delete .. //depot/projects/s390/contrib/bind/lib/resolv/res_query.c#3 delete .. //depot/projects/s390/contrib/bind/lib/resolv/res_send.c#3 delete .. //depot/projects/s390/contrib/bind/lib/resolv/res_sendsigned.c#2 delete .. //depot/projects/s390/contrib/bind/lib/resolv/res_update.c#3 delete .. //depot/projects/s390/contrib/bind/port/Makefile#2 delete .. //depot/projects/s390/contrib/bind/port/README#2 delete .. //depot/projects/s390/contrib/bind/port/freebsd/Makefile#2 delete .. //depot/projects/s390/contrib/bind/port/freebsd/Makefile.set#2 delete .. //depot/projects/s390/contrib/bind/port/freebsd/bin/probe_ipv6#3 delete .. //depot/projects/s390/contrib/bind/port/freebsd/include/Makefile#2 delete .. //depot/projects/s390/contrib/bind/port/freebsd/include/port_after.h#4 delete .. //depot/projects/s390/contrib/bind/port/freebsd/include/port_before.h#2 delete .. //depot/projects/s390/contrib/bind/port/freebsd/include/prand_conf.h#2 delete .. //depot/projects/s390/contrib/bind/port/freebsd/include/sys/Makefile#2 delete .. //depot/projects/s390/contrib/bind/port/freebsd/include/sys/bitypes.h#2 delete .. //depot/projects/s390/contrib/bind/port/freebsd/noop.c#2 delete .. //depot/projects/s390/contrib/bind/port/freebsd/probe#2 delete .. //depot/projects/s390/contrib/bind/port/prand_conf/Makefile#2 delete .. //depot/projects/s390/contrib/bind/port/prand_conf/README#2 delete .. //depot/projects/s390/contrib/bind/port/prand_conf/prand_conf.c#2 delete .. //depot/projects/s390/contrib/bind/port/settings#2 delete .. //depot/projects/s390/contrib/bind/port/systype#2 delete .. //depot/projects/s390/contrib/bind/tests/irs_testclient.c#2 delete .. //depot/projects/s390/contrib/bind/tests/irs_testirpd.c#2 delete .. //depot/projects/s390/contrib/bind/tests/irs_testserver.c#2 delete .. //depot/projects/s390/contrib/bind/tests/test_cidr.c#2 delete .. //depot/projects/s390/contrib/bind/tests/test_getaddr.c#2 delete .. //depot/projects/s390/contrib/bind9/CHANGES#1 branch .. //depot/projects/s390/contrib/bind9/COPYRIGHT#1 branch .. //depot/projects/s390/contrib/bind9/FAQ#1 branch .. //depot/projects/s390/contrib/bind9/FREEBSD-Upgrade#1 branch .. //depot/projects/s390/contrib/bind9/FREEBSD-Xlist#1 branch .. //depot/projects/s390/contrib/bind9/Makefile.in#1 branch .. //depot/projects/s390/contrib/bind9/README#1 branch .. //depot/projects/s390/contrib/bind9/acconfig.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/Makefile.in#1 branch .. //depot/projects/s390/contrib/bind9/bin/check/Makefile.in#1 branch .. //depot/projects/s390/contrib/bind9/bin/check/check-tool.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/check/check-tool.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/check/named-checkconf.8#1 branch .. //depot/projects/s390/contrib/bind9/bin/check/named-checkconf.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/check/named-checkconf.docbook#1 branch .. //depot/projects/s390/contrib/bind9/bin/check/named-checkconf.html#1 branch .. //depot/projects/s390/contrib/bind9/bin/check/named-checkzone.8#1 branch .. //depot/projects/s390/contrib/bind9/bin/check/named-checkzone.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/check/named-checkzone.docbook#1 branch .. //depot/projects/s390/contrib/bind9/bin/check/named-checkzone.html#1 branch .. //depot/projects/s390/contrib/bind9/bin/dig/Makefile.in#1 branch .. //depot/projects/s390/contrib/bind9/bin/dig/dig.1#1 branch .. //depot/projects/s390/contrib/bind9/bin/dig/dig.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/dig/dig.docbook#1 branch .. //depot/projects/s390/contrib/bind9/bin/dig/dig.html#1 branch .. //depot/projects/s390/contrib/bind9/bin/dig/dighost.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/dig/host.1#1 branch .. //depot/projects/s390/contrib/bind9/bin/dig/host.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/dig/host.docbook#1 branch .. //depot/projects/s390/contrib/bind9/bin/dig/host.html#1 branch .. //depot/projects/s390/contrib/bind9/bin/dig/include/dig/dig.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/dig/nslookup.1#1 branch .. //depot/projects/s390/contrib/bind9/bin/dig/nslookup.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/dig/nslookup.docbook#1 branch .. //depot/projects/s390/contrib/bind9/bin/dig/nslookup.html#1 branch .. //depot/projects/s390/contrib/bind9/bin/dnssec/Makefile.in#1 branch .. //depot/projects/s390/contrib/bind9/bin/dnssec/dnssec-keygen.8#1 branch .. //depot/projects/s390/contrib/bind9/bin/dnssec/dnssec-keygen.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/dnssec/dnssec-keygen.docbook#1 branch .. //depot/projects/s390/contrib/bind9/bin/dnssec/dnssec-keygen.html#1 branch .. //depot/projects/s390/contrib/bind9/bin/dnssec/dnssec-makekeyset.8#1 branch .. //depot/projects/s390/contrib/bind9/bin/dnssec/dnssec-makekeyset.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/dnssec/dnssec-makekeyset.docbook#1 branch .. //depot/projects/s390/contrib/bind9/bin/dnssec/dnssec-makekeyset.html#1 branch .. //depot/projects/s390/contrib/bind9/bin/dnssec/dnssec-signkey.8#1 branch .. //depot/projects/s390/contrib/bind9/bin/dnssec/dnssec-signkey.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/dnssec/dnssec-signkey.docbook#1 branch .. //depot/projects/s390/contrib/bind9/bin/dnssec/dnssec-signkey.html#1 branch .. //depot/projects/s390/contrib/bind9/bin/dnssec/dnssec-signzone.8#1 branch .. //depot/projects/s390/contrib/bind9/bin/dnssec/dnssec-signzone.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#1 branch .. //depot/projects/s390/contrib/bind9/bin/dnssec/dnssec-signzone.html#1 branch .. //depot/projects/s390/contrib/bind9/bin/dnssec/dnssectool.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/dnssec/dnssectool.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/Makefile.in#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/aclconf.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/builtin.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/client.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/config.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/control.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/controlconf.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/aclconf.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/builtin.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/client.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/config.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/control.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/globals.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/interfacemgr.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/listenlist.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/log.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/logconf.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/lwaddr.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/lwdclient.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/lwresd.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/lwsearch.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/main.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/notify.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/query.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/server.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/sortlist.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/tkeyconf.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/tsigconf.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/types.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/update.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/xfrout.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/include/named/zoneconf.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/interfacemgr.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/listenlist.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/log.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/logconf.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/lwaddr.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/lwdclient.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/lwderror.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/lwdgabn.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/lwdgnba.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/lwdgrbn.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/lwdnoop.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/lwresd.8#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/lwresd.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/lwresd.docbook#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/lwresd.html#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/lwsearch.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/main.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/named.8#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/named.conf.5#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/named.conf.docbook#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/named.conf.html#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/named.docbook#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/named.html#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/notify.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/query.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/server.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/sortlist.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/tkeyconf.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/tsigconf.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/unix/Makefile.in#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/unix/include/named/os.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/unix/os.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/update.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/xfrout.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/named/zoneconf.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/nsupdate/Makefile.in#1 branch .. //depot/projects/s390/contrib/bind9/bin/nsupdate/nsupdate.8#1 branch .. //depot/projects/s390/contrib/bind9/bin/nsupdate/nsupdate.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/nsupdate/nsupdate.docbook#1 branch .. //depot/projects/s390/contrib/bind9/bin/nsupdate/nsupdate.html#1 branch .. //depot/projects/s390/contrib/bind9/bin/rndc/Makefile.in#1 branch .. //depot/projects/s390/contrib/bind9/bin/rndc/include/rndc/os.h#1 branch .. //depot/projects/s390/contrib/bind9/bin/rndc/rndc-confgen.8#1 branch .. //depot/projects/s390/contrib/bind9/bin/rndc/rndc-confgen.c#1 branch .. //depot/projects/s390/contrib/bind9/bin/rndc/rndc-confgen.docbook#1 branch .. //depot/projects/s390/contrib/bind9/bin/rndc/rndc-confgen.html#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Aug 30 16:49:47 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 90C6116A421; Tue, 30 Aug 2005 16:49:46 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 6899216A41F for ; Tue, 30 Aug 2005 16:49:46 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5196043D48 for ; Tue, 30 Aug 2005 16:49:45 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7UGnjmj095518 for ; Tue, 30 Aug 2005 16:49:45 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7UGnjUM095513 for perforce@freebsd.org; Tue, 30 Aug 2005 16:49:45 GMT (envelope-from soc-victor@freebsd.org) Date: Tue, 30 Aug 2005 16:49:45 GMT Message-Id: <200508301649.j7UGnjUM095513@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 82853 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Aug 2005 16:49:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=82853 Change 82853 by soc-victor@soc-victor_82.76.158.176 on 2005/08/30 16:49:28 Various fixes for TCP-MIB & UDP-MIB instrumentations Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp46_snmp.c#7 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46.h#6 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46_common.c#5 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/udp46_snmp.c#7 edit Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp46_snmp.c#7 (text+ko) ==== @@ -88,23 +88,15 @@ #include "tcp_udp46.h" #include "tcp_udp46_oid.h" #include "tcp_udp46_tree.h" -#include #include -#include -#include -#include -#include #include #include -#include -#include #include #include #include #include -#include #include -#include + @@ -206,14 +198,14 @@ /*next is the encoding for the SNMP table index*/ all_oid->index.len = 12; - all_oid->index.subs[0] = IAT_ipv4; + all_oid->index.subs[0] = (uint32_t)IAT_ipv4; inaddr = ntohl(tp->xt_inp.inp_laddr.s_addr); all_oid->index.subs[1] = (inaddr >> 24) & 0xff; all_oid->index.subs[2] = (inaddr >> 16) & 0xff; all_oid->index.subs[3] = (inaddr >> 8) & 0xff; all_oid->index.subs[4] = (inaddr >> 0) & 0xff; all_oid->index.subs[5] = ntohs(tp->xt_inp.inp_lport); - all_oid->index.subs[6] = IAT_ipv4; + all_oid->index.subs[6] = (uint32_t)IAT_ipv4; inaddr = ntohl(tp->xt_inp.inp_faddr.s_addr); all_oid->index.subs[7] = (inaddr >> 24) & 0xff; all_oid->index.subs[8] = (inaddr >> 16) & 0xff; @@ -237,13 +229,13 @@ assert(tp != NULL); /*next is the encoding for the SNMP table index*/ all_oid->index.len = 36; - all_oid->index.subs[0] = IAT_ipv6; + all_oid->index.subs[0] = (uint32_t)IAT_ipv6; for (i=0; i<16; i++) { all_oid->index.subs[1+i] = tp->xt_inp.in6p_laddr.s6_addr[i]; all_oid->index.subs[19+i] = tp->xt_inp.in6p_faddr.s6_addr[i]; } all_oid->index.subs[17] = ntohs(tp->xt_inp.in6p_lport); - all_oid->index.subs[18] = IAT_ipv6; + all_oid->index.subs[18] = (uint32_t)IAT_ipv6; all_oid->index.subs[35] = ntohs(tp->xt_inp.in6p_fport); @@ -282,7 +274,7 @@ _oid != listener_oid && i < tcp_udp46_state_g.listen_tcpoids_len; i++, _oid++ ) { - if ( _oid->index.subs[0] == IAT_ipv6 ) { + if ( _oid->index.subs[0] == (uint32_t)IAT_ipv6 ) { if ( _oid->index.subs[17] == ntohs(tp->xt_inp.inp_lport) && listener_oid->so_pgid == _oid->so_pgid) { L4_DPRINTF((stderr, "V4: [%s] Got listener with port %d.\n ", @@ -294,7 +286,7 @@ sizeof(zero_ip6)) == 0) { /*got it*/ _oid->index.len = 3; - _oid->index.subs[0] = IAT_unknown; + _oid->index.subs[0] = (uint32_t)IAT_unknown; _oid->index.subs[1] = 0; /*zero/ empty octet sting*/ _oid->index.subs[2] = ntohs(tp->xt_inp.inp_lport); return 1; @@ -334,7 +326,7 @@ _oid != listener_oid && i < tcp_udp46_state_g.listen_tcpoids_len; i++, _oid++ ) { - if ( _oid->index.subs[0] == IAT_ipv4 ) { + if ( _oid->index.subs[0] == (uint32_t)IAT_ipv4 ) { if ( _oid->index.subs[5] == ntohs(tp->xt_inp.in6p_lport) && listener_oid->so_pgid == _oid->so_pgid ) { L4_DPRINTF((stderr, "[%s] Got listener with port %d.\n ", @@ -346,7 +338,7 @@ sizeof(zero_ip4)) == 0) { /*got it*/ _oid->index.len = 3; - _oid->index.subs[0] = IAT_unknown; + _oid->index.subs[0] = (uint32_t)IAT_unknown; _oid->index.subs[1] = 0; /*zero/ empty octet sting*/ _oid->index.subs[2] = ntohs(tp->xt_inp.in6p_lport); return 1; @@ -382,7 +374,7 @@ } /*next is the encoding for the SNMP table index*/ listener_oid->index.len = 6; - listener_oid->index.subs[0] = IAT_ipv4; + listener_oid->index.subs[0] = (uint32_t)IAT_ipv4; inaddr = ntohl(tp->xt_inp.inp_laddr.s_addr); listener_oid->index.subs[1] = (inaddr >> 24) & 0xff; listener_oid->index.subs[2] = (inaddr >> 16) & 0xff; @@ -421,7 +413,7 @@ /*next is the encoding for the SNMP table index*/ listener_oid->index.len = 18; - listener_oid->index.subs[0] = IAT_ipv6; + listener_oid->index.subs[0] = (uint32_t)IAT_ipv6; for (i=0; i<16; i++) { listener_oid->index.subs[1+i] = tp->xt_inp.in6p_laddr.s6_addr[i]; } @@ -725,7 +717,7 @@ if (_deprecated == 0 ){ - if (conn->subs[0] == IAT_ipv4) { + if (conn->subs[0] == (uint32_t)IAT_ipv4) { struct sockaddr_in *sinl, *sinr; assert(conn->len == 12); @@ -736,7 +728,7 @@ return -1; } - if (conn->subs[6] != IAT_ipv4 ) { + if (conn->subs[6] != (uint32_t)IAT_ipv4 ) { syslog(LOG_ERR, "%s: malformed SNMP index (remote not a v4) when deleting a connection", __func__); @@ -757,7 +749,7 @@ sinl->sin_port = htons(conn->subs[5]); addrs[1].ss_family = AF_INET; - inet_ntop(AF_INET, &sinl->sin_addr, local, 64); + (void)inet_ntop(AF_INET, &sinl->sin_addr, local, 64); @@ -774,7 +766,7 @@ sinr->sin_port = htons(conn->subs[11]); addrs[0].ss_family = AF_INET; - inet_ntop(AF_INET, &sinr->sin_addr, remote, 64); + (void)inet_ntop(AF_INET, &sinr->sin_addr, remote, 64); syslog(LOG_INFO, "[%s] attempt to delete a tcp4 connection : local: %s:%d - remote: %s:%d \n ", __func__, @@ -784,7 +776,7 @@ conn->subs[11]); - } else if (conn->subs[0] == IAT_ipv6) { + } else if (conn->subs[0] == (uint32_t)IAT_ipv6) { struct sockaddr_in6 *sin6l, *sin6r; int i = 0; assert(conn->len == 36); @@ -795,7 +787,7 @@ return -1; } - if (conn->subs[18] != IAT_ipv6 ) { + if (conn->subs[18] != (uint32_t)IAT_ipv6 ) { syslog(LOG_ERR, "%s: malformed SNMP index (remote not a v6) when deleting a connection", __func__); @@ -815,7 +807,7 @@ sin6l->sin6_len = sizeof(struct sockaddr_in6); #endif /* SIN6_LEN */ addrs[1].ss_family = AF_INET6; - inet_ntop(AF_INET6, &sin6l->sin6_addr, local, 64); + (void)inet_ntop(AF_INET6, &sin6l->sin6_addr, local, 64); memset(&addrs[0], 0, sizeof(addrs[0])); sin6r = (struct sockaddr_in6 *)&addrs[0]; @@ -830,7 +822,7 @@ #endif /* SIN6_LEN */ addrs[0].ss_family = AF_INET6; - inet_ntop(AF_INET6, &sin6r->sin6_addr, remote, 64); + (void)inet_ntop(AF_INET6, &sin6r->sin6_addr, remote, 64); syslog(LOG_INFO, "[%s] attempt to delete a tcp6 connection: local: %s:%d - remote: %s:%d \n ", @@ -875,7 +867,7 @@ sinl->sin_port = htons(conn->subs[4]); addrs[1].ss_family = AF_INET; - inet_ntop(AF_INET, &sinl->sin_addr, local, 64); + (void)inet_ntop(AF_INET, &sinl->sin_addr, local, 64); @@ -892,20 +884,20 @@ sinr->sin_port = htons(conn->subs[9]); addrs[0].ss_family = AF_INET; - inet_ntop(AF_INET, &sinr->sin_addr, remote, 64); + (void)inet_ntop(AF_INET, &sinr->sin_addr, remote, 64); syslog(LOG_INFO, - "[%s] attempt to delete a tcp4 connection : local: %s:%d - remote: %s:%d \n ", - __func__, - local, - conn->subs[4], - remote, - conn->subs[9]); + "[%s] attempt to delete a tcp4 connection : local: %s:%d - remote: %s:%d \n ", + __func__, + local, + conn->subs[4], + remote, + conn->subs[9]); } if (sysctl(mib, sizeof (mib) / sizeof (int), NULL, - NULL, &addrs, sizeof(addrs)) == -1) { + NULL, &addrs[0], sizeof(addrs)) == -1) { syslog(LOG_ERR, "%s: failed to delete the specified tcp connection: %m", __func__); return -1; } else { @@ -916,7 +908,7 @@ return 0; } - return 0; + /*Unreachable*/ } @@ -1069,7 +1061,7 @@ if (value->var.subs[sub - 1] != LEAF_tcpConnState) { return (SNMP_ERR_NOT_WRITEABLE); } - if (value->v.integer != TCPS_deleteTCB) { + if (value->v.integer != (int)TCPS_deleteTCB) { return (SNMP_ERR_WRONG_VALUE); } @@ -1095,6 +1087,8 @@ default: abort(); } + + assert(tcp_udp46_state_g.tcp4oids[i].index.len == 10); switch (value->var.subs[sub - 1]) { @@ -1102,37 +1096,37 @@ switch (tcp_udp46_state_g.tcp4oids[i].tp->xt_tp.t_state) { case TCPS_CLOSED: - value->v.integer = TCPS_closed; + value->v.integer = (int32_t)TCPS_closed; break; case TCPS_LISTEN: - value->v.integer = TCPS_listen; + value->v.integer = (int32_t)TCPS_listen; break; case TCPS_SYN_SENT: - value->v.integer = TCPS_synSent; + value->v.integer = (int32_t)TCPS_synSent; break; case TCPS_SYN_RECEIVED: - value->v.integer = TCPS_synReceived; + value->v.integer = (int32_t)TCPS_synReceived; break; case TCPS_ESTABLISHED: - value->v.integer = TCPS_established; + value->v.integer = (int32_t)TCPS_established; break; case TCPS_CLOSE_WAIT: - value->v.integer = TCPS_closeWait; + value->v.integer = (int32_t)TCPS_closeWait; break; case TCPS_FIN_WAIT_1: - value->v.integer = TCPS_finWait1; + value->v.integer = (int32_t)TCPS_finWait1; break; case TCPS_CLOSING: - value->v.integer = TCPS_closing; + value->v.integer = (int32_t)TCPS_closing; break; case TCPS_LAST_ACK: - value->v.integer = TCPS_lastAck; + value->v.integer = (int32_t)TCPS_lastAck; break; case TCPS_FIN_WAIT_2: - value->v.integer = TCPS_finWait2; + value->v.integer = (int32_t)TCPS_finWait2; break; case TCPS_TIME_WAIT: - value->v.integer = TCPS_timeWait; + value->v.integer = (int32_t)TCPS_timeWait; break; default: value->v.integer = 0; @@ -1140,7 +1134,6 @@ } break; - assert(tcp_udp46_state_g.tcp4oids[i].index.len == 10); case LEAF_tcpConnLocalAddress: value->v.ipaddress[0] = tcp_udp46_state_g.tcp4oids[i].index.subs[0]; @@ -1161,7 +1154,7 @@ break; case LEAF_tcpConnRemPort: - value->v.integer = tcp_udp46_state_g.tcp4oids[i].index.subs[9]; + value->v.uint32 = tcp_udp46_state_g.tcp4oids[i].index.subs[9]; break; } return (SNMP_ERR_NOERROR); @@ -1209,7 +1202,7 @@ if (value->var.subs[sub - 1] != LEAF_tcpConnectionState) { return (SNMP_ERR_NOT_WRITEABLE); } - if (value->v.integer != TCPS_deleteTCB) { + if (value->v.integer != (int32_t)TCPS_deleteTCB) { return (SNMP_ERR_WRONG_VALUE); } @@ -1246,38 +1239,38 @@ switch (tcp_udp46_state_g.all_tcpoids[i].tp->xt_tp.t_state) { case TCPS_CLOSED: - value->v.integer = TCPS_closed; + value->v.integer = (int32_t)TCPS_closed; break; case TCPS_LISTEN: - value->v.integer = TCPS_listen; + value->v.integer = (int32_t)TCPS_listen; assert(0); break; case TCPS_SYN_SENT: - value->v.integer = TCPS_synSent; + value->v.integer = (int32_t)TCPS_synSent; break; case TCPS_SYN_RECEIVED: - value->v.integer = TCPS_synReceived; + value->v.integer = (int32_t)TCPS_synReceived; break; case TCPS_ESTABLISHED: - value->v.integer = TCPS_established; + value->v.integer = (int32_t)TCPS_established; break; case TCPS_CLOSE_WAIT: - value->v.integer = TCPS_closeWait; + value->v.integer = (int32_t)TCPS_closeWait; break; case TCPS_FIN_WAIT_1: - value->v.integer = TCPS_finWait1; + value->v.integer = (int32_t)TCPS_finWait1; break; case TCPS_CLOSING: - value->v.integer = TCPS_closing; + value->v.integer = (int32_t)TCPS_closing; break; case TCPS_LAST_ACK: - value->v.integer = TCPS_lastAck; + value->v.integer = (int32_t)TCPS_lastAck; break; case TCPS_FIN_WAIT_2: - value->v.integer = TCPS_finWait2; + value->v.integer = (int32_t)TCPS_finWait2; break; case TCPS_TIME_WAIT: - value->v.integer = TCPS_timeWait; + value->v.integer = (int32_t)TCPS_timeWait; break; default: value->v.integer = 0; @@ -1289,7 +1282,6 @@ case LEAF_tcpConnectionProcess: /*this is from hrSWRunTable, where the index is pid + 1 */ - /*FIX ME: this doesn't work*/ value->v.integer = ( tcp_udp46_state_g.all_tcpoids[i].so_pgid == 0 ? 0 : tcp_udp46_state_g.all_tcpoids[i].so_pgid + 1 ); break; ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46.h#6 (text+ko) ==== @@ -34,14 +34,12 @@ #include "asn1.h" #include "snmp.h" #include "snmpmod.h" -#include /*for struct clockinfo*/ #include #include /*for struct xinpgen*/ #include #include /*for struct tcpstat*/ #include /*for struct xfile*/ #include /*for fprintf*/ -#include /*for pid_t*/ #include #include #include ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/tcp_udp46_common.c#5 (text+ko) ==== @@ -68,8 +68,11 @@ */ static int tcp_udp46_init(struct lmodule * mod, int argc __unused, char *argv[] __unused) { + + size_t len = 0; + tcp_udp46_module = mod; - int len = 0; + memset(&tcp_udp46_state_g, 0, sizeof(struct tcp_udp46_state)); len = sizeof(tcp_udp46_state_g.clock_info); ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_tcp_udp46/udp46_snmp.c#7 (text+ko) ==== @@ -63,13 +63,11 @@ */ #include "tcp_udp46.h" -#include "tcp_udp46.h" #include "tcp_udp46_oid.h" #include "tcp_udp46_tree.h" #include #include #include -#include #include #include @@ -164,7 +162,7 @@ if ( _oid->inp == NULL) { continue; } - if ( _oid->index.subs[0] == IAT_ipv4 + if ( _oid->index.subs[0] == (uint32_t)IAT_ipv4 && inp->xi_inp.inp_laddr.s_addr == _oid->inp->xi_inp.inp_laddr.s_addr && inp->xi_inp.inp_lport == _oid->inp->xi_inp.inp_lport && inp->xi_inp.inp_faddr.s_addr == _oid->inp->xi_inp.inp_faddr.s_addr @@ -179,7 +177,7 @@ /*check for an existent IPv6 endpoint bound to 0::0/128 */ if ( inp->xi_inp.inp_laddr.s_addr == INADDR_ANY && inp->xi_inp.inp_faddr.s_addr == INADDR_ANY ) { - if( _oid->index.subs[0] == IAT_ipv6 && + if( _oid->index.subs[0] == (uint32_t)IAT_ipv6 && _oid->inp->xi_inp.in6p_lport == inp->xi_inp.inp_lport && pid_owner == _oid->so_pgid) { if (memcmp(&zero_ip6[0], @@ -194,10 +192,10 @@ _oid->index.subs[21] : _oid->index.subs[36] ); _oid->index.len = 7; - _oid->index.subs[0] = IAT_unknown; + _oid->index.subs[0] = (uint32_t)IAT_unknown; _oid->index.subs[1] = 0; /*zero/ empty octet sting*/ _oid->index.subs[2] = ntohs(inp->xi_inp.inp_lport); - _oid->index.subs[3] = IAT_unknown; + _oid->index.subs[3] = (uint32_t)IAT_unknown; _oid->index.subs[4] = 0; /*zero/ empty octet sting*/ _oid->index.subs[5] = ntohs(_oid->inp->xi_inp.in6p_fport); /*copy instance number*/ @@ -210,7 +208,7 @@ } - all_oid->index.subs[0] = IAT_ipv4; + all_oid->index.subs[0] = (uint32_t)IAT_ipv4; inaddr = ntohl(inp->xi_inp.inp_laddr.s_addr); all_oid->index.subs[1] = (inaddr >> 24) & 0xff; all_oid->index.subs[2] = (inaddr >> 16) & 0xff; @@ -221,14 +219,14 @@ if(inp->xi_inp.inp_faddr.s_addr == INADDR_ANY && inp->xi_inp.inp_fport == 0 ){ all_oid->index.len = 10; - all_oid->index.subs[6] = IAT_unknown; + all_oid->index.subs[6] = (uint32_t)IAT_unknown; all_oid->index.subs[7] = 0; /*zero/ empty octet sting*/ all_oid->index.subs[8] = 0; all_oid->index.subs[9] = instance; } else { all_oid->index.len = 13; - all_oid->index.subs[6] = IAT_ipv4; + all_oid->index.subs[6] = (uint32_t)IAT_ipv4; inaddr = ntohl(inp->xi_inp.inp_faddr.s_addr); all_oid->index.subs[7] = (inaddr >> 24) & 0xff; all_oid->index.subs[8] = (inaddr >> 16) & 0xff; @@ -263,7 +261,7 @@ if ( _oid->inp == NULL) { continue; } - if ( _oid->index.subs[0] == IAT_ipv6 + if ( _oid->index.subs[0] == (uint32_t)IAT_ipv6 && IN6_ARE_ADDR_EQUAL(&inp->xi_inp.in6p_laddr, &_oid->inp->xi_inp.in6p_laddr) == 0 && inp->xi_inp.in6p_lport == _oid->inp->xi_inp.in6p_lport @@ -280,7 +278,7 @@ /*check for an existent IPv4 endpoint bound to 0.0.0.0 */ if ( IN6_IS_ADDR_UNSPECIFIED(&inp->xi_inp.in6p_laddr) && IN6_IS_ADDR_UNSPECIFIED(&inp->xi_inp.in6p_faddr)) { - if( _oid->index.subs[0] == IAT_ipv4 && + if( _oid->index.subs[0] == (uint32_t)IAT_ipv4 && _oid->inp->xi_inp.inp_lport == inp->xi_inp.in6p_lport && pid_owner == _oid->so_pgid) { if ( inp->xi_inp.inp_faddr.s_addr == INADDR_ANY && @@ -291,10 +289,10 @@ _oid->index.subs[9] : _oid->index.subs[12] ); _oid->index.len = 7; - _oid->index.subs[0] = IAT_unknown; + _oid->index.subs[0] = (uint32_t)IAT_unknown; _oid->index.subs[1] = 0; /*zero/ empty octet sting*/ _oid->index.subs[2] = ntohs(inp->xi_inp.inp_lport); - _oid->index.subs[3] = IAT_unknown; + _oid->index.subs[3] = (uint32_t)IAT_unknown; _oid->index.subs[4] = 0; /*zero/ empty octet sting*/ _oid->index.subs[5] = ntohs(_oid->inp->xi_inp.in6p_fport); /*copy instance number*/ @@ -312,12 +310,12 @@ inp->xi_inp.in6p_fport == 0 ) { all_oid->index.len = 22; - all_oid->index.subs[0] = IAT_ipv6; + all_oid->index.subs[0] = (uint32_t)IAT_ipv6; for (i=0; i<16; i++) { all_oid->index.subs[1+i] = inp->xi_inp.in6p_laddr.s6_addr[i]; } all_oid->index.subs[17] = ntohs(inp->xi_inp.in6p_lport); - all_oid->index.subs[18] = IAT_unknown; + all_oid->index.subs[18] = (uint32_t)IAT_unknown; all_oid->index.subs[19] = 0; all_oid->index.subs[20] = 0; all_oid->index.subs[21] = instance; @@ -325,13 +323,13 @@ } else { all_oid->index.len = 37; - all_oid->index.subs[0] = IAT_ipv6; + all_oid->index.subs[0] = (uint32_t)IAT_ipv6; for (i=0; i<16; i++) { all_oid->index.subs[1+i] = inp->xi_inp.in6p_laddr.s6_addr[i]; all_oid->index.subs[19+i] = inp->xi_inp.in6p_faddr.s6_addr[i]; } all_oid->index.subs[17] = ntohs(inp->xi_inp.in6p_lport); - all_oid->index.subs[18] = IAT_ipv6; + all_oid->index.subs[18] = (uint32_t)IAT_ipv6; all_oid->index.subs[35] = ntohs(inp->xi_inp.in6p_fport); all_oid->index.subs[36] = instance; } From owner-p4-projects@FreeBSD.ORG Tue Aug 30 17:13:15 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 328CE16A423; Tue, 30 Aug 2005 17:13:15 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 056EC16A420 for ; Tue, 30 Aug 2005 17:13:15 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9E0F143D48 for ; Tue, 30 Aug 2005 17:13:14 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7UHDE8D096504 for ; Tue, 30 Aug 2005 17:13:14 GMT (envelope-from soc-saturnero@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7UHDE9V096501 for perforce@freebsd.org; Tue, 30 Aug 2005 17:13:14 GMT (envelope-from soc-saturnero@freebsd.org) Date: Tue, 30 Aug 2005 17:13:14 GMT Message-Id: <200508301713.j7UHDE9V096501@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-saturnero@freebsd.org using -f From: soc-saturnero To: Perforce Change Reviews Cc: Subject: PERFORCE change 82855 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Aug 2005 17:13:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=82855 Change 82855 by soc-saturnero@soc-saturnero_sberta on 2005/08/30 17:13:06 Explicitly add set -e -u on top of every script Suggested by: Marco Molteni Affected files ... .. //depot/projects/soc2005/freesbie/scripts/buildkernel.sh#4 edit .. //depot/projects/soc2005/freesbie/scripts/buildworld.sh#5 edit .. //depot/projects/soc2005/freesbie/scripts/cleandir.sh#2 edit .. //depot/projects/soc2005/freesbie/scripts/clonefs.sh#4 edit .. //depot/projects/soc2005/freesbie/scripts/extra.sh#2 edit .. //depot/projects/soc2005/freesbie/scripts/flash.sh#3 edit .. //depot/projects/soc2005/freesbie/scripts/img.sh#5 edit .. //depot/projects/soc2005/freesbie/scripts/installkernel.sh#3 edit .. //depot/projects/soc2005/freesbie/scripts/installworld.sh#2 edit .. //depot/projects/soc2005/freesbie/scripts/iso.sh#3 edit .. //depot/projects/soc2005/freesbie/scripts/pkginstall.sh#3 edit .. //depot/projects/soc2005/freesbie/scripts/pkgselect.sh#3 edit Differences ... ==== //depot/projects/soc2005/freesbie/scripts/buildkernel.sh#4 (text+ko) ==== @@ -6,6 +6,8 @@ # # $FreeBSD$ +set -e -u + if [ -z "${LOGFILE:-}" ]; then echo "This script can't run standalone." echo "Please use launch.sh to execute it." ==== //depot/projects/soc2005/freesbie/scripts/buildworld.sh#5 (text+ko) ==== @@ -6,6 +6,8 @@ # # $FreeBSD$ +set -e -u + if [ -z "${LOGFILE:-}" ]; then echo "This script can't run standalone." echo "Please use launch.sh to execute it." ==== //depot/projects/soc2005/freesbie/scripts/cleandir.sh#2 (text+ko) ==== @@ -6,6 +6,8 @@ # # $FreeBSD$ +set -e -u + if [ -z "${LOGFILE:-}" ]; then echo "This script can't run standalone." echo "Please use launch.sh to execute it." @@ -22,4 +24,4 @@ if [ -d "${CLONEDIR}" ]; then chflags -R noschg ${CLONEDIR} rm -rf ${CLONEDIR} -fi+fi ==== //depot/projects/soc2005/freesbie/scripts/clonefs.sh#4 (text+ko) ==== @@ -6,6 +6,8 @@ # # $FreeBSD$ +set -e -u + if [ -z "${LOGFILE:-}" ]; then echo "This script can't run standalone." echo "Please use launch.sh to execute it." @@ -170,4 +172,4 @@ clone_system -cd ${LOCALDIR}+cd ${LOCALDIR} ==== //depot/projects/soc2005/freesbie/scripts/extra.sh#2 (text+ko) ==== @@ -6,6 +6,8 @@ # # $FreeBSD$ +set -e -u + if [ -z "${LOGFILE:-}" ]; then echo "This script can't run standalone." echo "Please use launch.sh to execute it." ==== //depot/projects/soc2005/freesbie/scripts/flash.sh#3 (text+ko) ==== @@ -6,6 +6,8 @@ # # $FreeBSD$ +set -e -u + if [ -z "${LOGFILE:-}" ]; then echo "This script can't run standalone." echo "Please use launch.sh to execute it." ==== //depot/projects/soc2005/freesbie/scripts/img.sh#5 (text+ko) ==== @@ -6,6 +6,8 @@ # # $FreeBSD$ +set -e -u + if [ -z "${LOGFILE:-}" ]; then echo "This script can't run standalone." echo "Please use launch.sh to execute it." ==== //depot/projects/soc2005/freesbie/scripts/installkernel.sh#3 (text+ko) ==== @@ -6,6 +6,8 @@ # # $FreeBSD$ +set -e -u + if [ -z "${LOGFILE:-}" ]; then echo "This script can't run standalone." echo "Please use launch.sh to execute it." ==== //depot/projects/soc2005/freesbie/scripts/installworld.sh#2 (text+ko) ==== @@ -6,6 +6,8 @@ # # $FreeBSD$ +set -e -u + if [ -z "${LOGFILE:-}" ]; then echo "This script can't run standalone." echo "Please use launch.sh to execute it." @@ -33,4 +35,4 @@ (script -aq $LOGFILE make ${MAKEOPT:-} distribution __MAKE_CONF=${MAKE_CONF} TARGET_ARCH=${ARCH} DESTDIR=${BASEDIR} || print_error;) | grep '^>>>' -cd $LOCALDIR+cd $LOCALDIR ==== //depot/projects/soc2005/freesbie/scripts/iso.sh#3 (text+ko) ==== @@ -6,6 +6,8 @@ # # $FreeBSD$ +set -e -u + if [ -z "${LOGFILE:-}" ]; then echo "This script can't run standalone." echo "Please use launch.sh to execute it." @@ -44,7 +46,7 @@ echo "Running mkisofs..." -mkisofs -b boot/cdboot -no-emul-boot -r -ldots -l -L -V ${LABEL} -p FreeSBIE -o $ISOPATH . >> ${LOGFILE} 2>&1 +mkisofs -b boot/cdboot -no-emul-boot -J -r -ldots -l -L -V ${LABEL} -p FreeSBIE -o $ISOPATH . >> ${LOGFILE} 2>&1 echo "ISO created:" ==== //depot/projects/soc2005/freesbie/scripts/pkginstall.sh#3 (text+ko) ==== @@ -6,6 +6,8 @@ # # $FreeBSD$ +set -e -u + if [ -z "${LOGFILE:-}" ]; then echo "This script can't run standalone." echo "Please use launch.sh to execute it." ==== //depot/projects/soc2005/freesbie/scripts/pkgselect.sh#3 (text+ko) ==== @@ -6,6 +6,8 @@ # # $FreeBSD$ +set -e -u + if [ -z "${LOGFILE:-}" ]; then echo "This script can't run standalone." echo "Please use launch.sh to execute it." From owner-p4-projects@FreeBSD.ORG Tue Aug 30 17:38:41 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BF96716A421; Tue, 30 Aug 2005 17:38:40 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 7BE4A16A41F for ; Tue, 30 Aug 2005 17:38:40 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2AD2743D48 for ; Tue, 30 Aug 2005 17:38:40 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7UHceen097819 for ; Tue, 30 Aug 2005 17:38:40 GMT (envelope-from soc-bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7UHcd7u097816 for perforce@freebsd.org; Tue, 30 Aug 2005 17:38:39 GMT (envelope-from soc-bushman@freebsd.org) Date: Tue, 30 Aug 2005 17:38:39 GMT Message-Id: <200508301738.j7UHcd7u097816@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-bushman@freebsd.org using -f From: soc-bushman To: Perforce Change Reviews Cc: Subject: PERFORCE change 82857 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Aug 2005 17:38:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=82857 Change 82857 by soc-bushman@soc-bushman_stinger on 2005/08/30 17:37:48 final release, I hope Affected files ... .. //depot/projects/soc2005/nsswitch_cached/patches/nsswitch_cached.diff#1 add .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/Makefile#2 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/Makefile#4 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/cached.8#4 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/cached.c#4 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/cached.conf#5 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/cached.conf.5#4 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/config.c#4 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/config.h#4 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/mp_rs_query.c#4 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/mp_rs_query.h#4 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/mp_ws_query.c#4 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/mp_ws_query.h#4 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/query.c#4 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/query.h#4 edit .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/samples/Makefile#2 delete .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/samples/cached.conf.sample#2 delete .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/startup/cached#1 add .. //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/startup/cached.sh#2 delete .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/name6.c#4 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/rpc/getrpcent.c#7 edit .. //depot/projects/soc2005/nsswitch_cached/tests/nsdispatch_test/Makefile#5 edit .. //depot/projects/soc2005/nsswitch_cached/tests/nsdispatch_test/nscache.c#6 edit .. //depot/projects/soc2005/nsswitch_cached/tests/nsdispatch_test/nsdispatch.c#5 edit .. //depot/projects/soc2005/nsswitch_cached/tests/nsdispatch_test/nsdispatch_test.c#6 edit Differences ... ==== //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ # $FreeBSD$ -SUBDIR+="test" "cachelib" "bin" "samples" +SUBDIR+="test" "cachelib" "bin" .include ==== //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/Makefile#4 (text+ko) ==== @@ -4,27 +4,21 @@ PROGNAME=cached MAN=cached.conf.5 cached.8 -PREFIX?=/usr/local -BINDIR?=${PREFIX}/sbin -MANDIR?=${PREFIX}/man/man - WARNS?=2 SRCS=cached.c debug.c log.c config.c query.c mp_ws_query.c mp_rs_query.c\ singletons.c protocol.c parser.c CFLAGS+= -I${.CURDIR}/../ -DCONFIG_PATH="\"${PREFIX}/etc/cached.conf\"" DPADD+=${LIBM} ${LIBPTHREAD} -LDADD+=${.CURDIR}/../cachelib/libcachelib.a -lm -lpthread +LDADD+=${.OBJDIR}/../cachelib/libcachelib.a -lm -lpthread -FILESGROUPS=STARTUP +FILESGROUPS=STARTUP CONF STARTUPDIR?=${PREFIX}/etc/rc.d STARTUPMODE=${BINMODE} -STARTUP+=${.CURDIR}/../startup/cached.sh +STARTUP+=${.CURDIR}/../startup/cached -REINPLACE_CMD?=/usr/bin/sed -i.bak -e - -afterinstall: - ${REINPLACE_CMD} 's!#cached_bindir#!${BINDIR}!g'\ - ${PREFIX}/etc/rc.d/cached.sh +CONFDIR=${PREFIX}/etc +CONFMODE=${SHAREMODE} +CONF+=${.CURDIR}/cached.conf .include ==== //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/cached.8#4 (text+ko) ==== @@ -39,6 +39,8 @@ with .Pa nsswitch subsystem. +The cache is actually per-user. It means that each user can work only with the +cached data, that were cached by him and can't poison the cache of other users. .Nm supports 2 types of caching: .Bl -tag -width Pair ==== //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/cached.c#4 (text+ko) ==== @@ -61,7 +61,7 @@ static struct timeval s_time; static pthread_rwlock_t s_time_lock = PTHREAD_RWLOCK_INITIALIZER; -static pthread_t s_time_thread; +static pthread_t s_time_thread; static void accept_connection(struct kevent *, struct runtime_env *, struct configuration *); @@ -170,7 +170,12 @@ size = configuration_get_entries_size(config); for (i = 0; i < size; ++i) { config_entry = configuration_get_entry(config, i); - register_cache_entry(retval, config_entry->c_params); + /* + * we should register common entries now - multipart entries + * would be registered automatically during the queries + */ + if (config_entry->c_params->entry_type == CET_COMMON) + register_cache_entry(retval, config_entry->c_params); } TRACE_OUT(init_cache_); @@ -346,7 +351,8 @@ if (qstate->io_buffer_p == qstate->io_buffer + qstate->io_buffer_size) { - qstate->io_buffer_p = qstate->io_buffer; + qstate->io_buffer_p = + qstate->io_buffer; qstate->use_alternate_io = 0; } } @@ -552,17 +558,17 @@ int main(int argc, char *argv[]) { - char const *config_file; - char const *error_str; - int error_line; - int i, res; + char const *config_file; + char const *error_str; + int error_line; + int i, res; - int trace_mode_enabled; - int force_single_threaded; - int do_not_daemonize; + int trace_mode_enabled; + int force_single_threaded; + int do_not_daemonize; - struct processing_thread_args *thread_args; - pthread_t *threads; + struct processing_thread_args *thread_args; + pthread_t *threads; /* by default all debug messages are omitted */ TRACE_OFF(); @@ -597,7 +603,7 @@ /* daemonization */ if (do_not_daemonize == 0) { - res = daemon(1, trace_mode_enabled == 0 ? 0 : 1); + res = daemon(0, trace_mode_enabled == 0 ? 0 : 1); if (res != 0) { LOG_ERR_1("main", "can't daemonize myself: %s", strerror(errno)); @@ -633,8 +639,8 @@ LOG_ERR_1("main", "error in configuration file(%s, %d): %s\n", config_file, error_line, error_str); } else { - LOG_ERR_1("main", - "no configuration file found - was looking for %s and %s", + LOG_ERR_1("main", "no configuration file found " + "- was looking for %s and %s", CONFIG_PATH, DEFAULT_CONFIG_PATH); } destroy_configuration(s_configuration); ==== //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/cached.conf#5 (text+ko) ==== @@ -6,26 +6,28 @@ type = common policy = lru max_lifetime = 43200 - max_elemsize = 1000 + max_elemsize = 10000 } entry "passwd" { type = common policy = lru max_lifetime = 43200 - max_elemsize = 1000 + max_elemsize = 10000 euid = 0 } entry "passwd_mp" { type = multipart max_lifetime = 43200 + max_elemsize = 5000 timeout = 60 } entry "passwd_mp" { type = multipart max_lifetime = 43200 + max_elemsize = 5000 timeout = 60 euid = 0 } @@ -34,26 +36,28 @@ type = common policy = lru max_lifetime = 43200 - max_elemsize = 1000 + max_elemsize = 10000 } entry "group" { type = common policy = lru max_lifetime = 43200 - max_elemsize = 1000 + max_elemsize = 10000 euid = 0 } entry "group_mp" { type = multipart max_lifetime = 43200 + max_elemsize = 5000 timeout = 60 } entry "group_mp" { type = multipart max_lifetime = 43200 + max_elemsize = 5000 timeout = 60 euid = 0 } @@ -62,26 +66,28 @@ type = common policy = lru max_lifetime = 43200 - max_elemsize = 1000 + max_elemsize = 10000 } entry "services" { type = common policy = lru max_lifetime = 43200 - max_elemsize = 1000 + max_elemsize = 10000 euid = 0 } entry "services_mp" { type = multipart max_lifetime = 43200 + max_elemsize = 5000 timeout = 60 } entry "services_mp" { type = multipart max_lifetime = 43200 + max_elemsize = 5000 timeout = 60 euid = 0 } @@ -90,26 +96,28 @@ type = common policy = lru max_lifetime = 43200 - max_elemsize = 1000 + max_elemsize = 10000 } entry "protocols" { type = common policy = lru max_lifetime = 43200 - max_elemsize = 1000 + max_elemsize = 10000 euid = 0 } entry "protocols_mp" { type = multipart max_lifetime = 43200 + max_elemsize = 5000 timeout = 60 } entry "protocols_mp" { type = multipart max_lifetime = 43200 + max_elemsize = 5000 timeout = 60 euid = 0 } @@ -118,26 +126,28 @@ type = common policy = lru max_lifetime = 43200 - max_elemsize = 1000 + max_elemsize = 10000 } entry "rpc" { type = common policy = lru max_lifetime = 43200 - max_elemsize = 1000 + max_elemsize = 10000 euid = 0 } entry "rpc_mp" { type = multipart max_lifetime = 43200 + max_elemsize = 5000 timeout = 60 } entry "rpc_mp" { type = multipart max_lifetime = 43200 + max_elemsize = 5000 timeout = 60 euid = 0 } @@ -146,13 +156,13 @@ type = common policy = lru max_lifetime = 43200 - max_elemsize = 1000 + max_elemsize = 10000 } entry "hosts" { type = common policy = lru max_lifetime = 43200 - max_elemsize = 1000 + max_elemsize = 10000 euid = 0 } ==== //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/cached.conf.5#4 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/config.c#4 (text+ko) ==== @@ -522,6 +522,30 @@ } void +configuration_lock_rdlock(struct configuration *config) +{ + TRACE_IN(configuration_lock_rdlock); + pthread_rwlock_rdlock(&config->rwlock); + TRACE_OUT(configuration_lock_rdlock); +} + +void +configuration_lock_wrlock(struct configuration *config) +{ + TRACE_IN(configuration_lock_wrlock); + pthread_rwlock_wrlock(&config->rwlock); + TRACE_OUT(configuration_lock_wrlock); +} + +void +configuration_unlock(struct configuration *config) +{ + TRACE_IN(configuration_unlock); + pthread_rwlock_unlock(&config->rwlock); + TRACE_OUT(configuration_unlock); +} + +void configuration_lock_entry(struct configuration_entry *entry) { TRACE_IN(configuration_lock_entry); @@ -542,7 +566,7 @@ struct configuration * init_configuration(void) { - struct configuration *retval; + struct configuration *retval; TRACE_IN(init_configuration); retval = (struct configuration *)malloc(sizeof(struct configuration)); @@ -555,7 +579,9 @@ retval->entries_capacity); assert(retval->entries != NULL); memset(retval->entries, 0, sizeof(struct configuration_entry *) * - retval->entries_capacity); + retval->entries_capacity); + + pthread_rwlock_init(&retval->rwlock, NULL); TRACE_OUT(init_configuration); return (retval); @@ -666,6 +692,7 @@ destroy_configuration_entry(config->entries[i]); free(config->entries); + pthread_rwlock_destroy(&config->rwlock); free(config); TRACE_OUT(destroy_configuration); } ==== //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/config.h#4 (text+ko) ==== @@ -55,12 +55,13 @@ size_t entries_capacity; size_t entries_size; + pthread_rwlock_t rwlock; + mode_t socket_mode; int force_unlink; int query_timeout; int threads_num; - }; extern struct configuration *init_configuration(void); @@ -74,7 +75,11 @@ struct configuration *, size_t); extern struct configuration_entry *configuration_find_entry( struct configuration *, struct configuration_entry const *); - + +extern void configuration_lock_rdlock(struct configuration *config); +extern void configuration_lock_wrlock(struct configuration *config); +extern void configuration_unlock(struct configuration *config); + extern void configuration_lock_entry(struct configuration_entry *); extern void configuration_unlock_entry(struct configuration_entry *); ==== //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/mp_rs_query.c#4 (text+ko) ==== @@ -32,6 +32,7 @@ #include #include #include +#include #include #include "config.h" @@ -140,6 +141,7 @@ struct cache_mp_read_session_response *c_mp_rs_response; cache_mp_read_session rs; cache_entry c_entry; + char *dec_cache_entry_name; TRACE_IN(on_mp_read_session_request_process); init_comm_element(&qstate->response, CET_MP_READ_SESSION_RESPONSE); @@ -156,8 +158,15 @@ return (-1); } - c_entry = find_cache_entry_by_config_entry(s_cache, - qstate->config_entry); + asprintf(&dec_cache_entry_name, "%s%s", qstate->euid_str, + qstate->config_entry->c_params->entry_name); + assert(dec_cache_entry_name != NULL); + + configuration_lock_rdlock(s_configuration); + c_entry = find_cache_entry(s_cache, dec_cache_entry_name); + configuration_unlock(s_configuration); + free(dec_cache_entry_name); + if (c_entry != INVALID_CACHE_ENTRY) { configuration_lock_entry(qstate->config_entry); rs = open_cache_mp_read_session(c_entry); ==== //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/mp_rs_query.h#4 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/mp_ws_query.c#4 (text+ko) ==== @@ -32,6 +32,7 @@ #include #include #include +#include #include #include "config.h" @@ -143,6 +144,7 @@ struct cache_mp_write_session_response *c_mp_ws_response; cache_mp_write_session ws; cache_entry c_entry; + char *dec_cache_entry_name, *en_bkp; TRACE_IN(on_mp_write_session_request_process); init_comm_element(&qstate->response, CET_MP_WRITE_SESSION_RESPONSE); @@ -159,26 +161,48 @@ return (-1); } - c_entry = find_cache_entry_by_config_entry(s_cache, - qstate->config_entry); - if (c_entry != INVALID_CACHE_ENTRY) { - configuration_lock_entry(qstate->config_entry); - ws = open_cache_mp_write_session(c_entry); - if (ws == INVALID_CACHE_MP_WRITE_SESSION) - c_mp_ws_response->error_code = -1; - else { - qstate->mdata = ws; - qstate->destroy_func = on_mp_write_session_destroy; + asprintf(&dec_cache_entry_name, "%s%s", qstate->euid_str, + qstate->config_entry->c_params->entry_name); + assert(dec_cache_entry_name != NULL); + + configuration_lock_rdlock(s_configuration); + c_entry = find_cache_entry(s_cache, + dec_cache_entry_name); + configuration_unlock(s_configuration); + if (c_entry == INVALID_CACHE_ENTRY) { + configuration_lock_wrlock(s_configuration); + configuration_lock_entry(qstate->config_entry); + en_bkp = qstate->config_entry->c_params->entry_name; + qstate->config_entry->c_params->entry_name = + dec_cache_entry_name; + register_cache_entry(s_cache, qstate->config_entry->c_params); + qstate->config_entry->c_params->entry_name = en_bkp; + configuration_unlock_entry(qstate->config_entry); + configuration_unlock(s_configuration); + + configuration_lock_rdlock(s_configuration); + c_entry = find_cache_entry(s_cache, + dec_cache_entry_name); + configuration_unlock(s_configuration); + } + free(dec_cache_entry_name); + + assert(c_entry != NULL); + configuration_lock_entry(qstate->config_entry); + ws = open_cache_mp_write_session(c_entry); + if (ws == INVALID_CACHE_MP_WRITE_SESSION) + c_mp_ws_response->error_code = -1; + else { + qstate->mdata = ws; + qstate->destroy_func = on_mp_write_session_destroy; - if ((qstate->config_entry->query_timeout.tv_sec != 0) || - (qstate->config_entry->query_timeout.tv_usec != 0)) - memcpy(&qstate->timeout, - &qstate->config_entry->query_timeout, - sizeof(struct timeval)); - } - configuration_unlock_entry(qstate->config_entry); - } else - c_mp_ws_response->error_code = -1; + if ((qstate->config_entry->query_timeout.tv_sec != 0) || + (qstate->config_entry->query_timeout.tv_usec != 0)) + memcpy(&qstate->timeout, + &qstate->config_entry->query_timeout, + sizeof(struct timeval)); + } + configuration_unlock_entry(qstate->config_entry); qstate->process_func = on_mp_write_session_response_write1; qstate->kevent_watermark = sizeof(int); ==== //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/mp_ws_query.h#4 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/query.c#4 (text+ko) ==== @@ -67,7 +67,7 @@ { struct msghdr cred_hdr; struct iovec iov; - int elem_type; + int elem_type; struct { struct cmsghdr hdr; @@ -104,6 +104,12 @@ qstate->euid = cmsg.creds.cmcred_euid; qstate->pid = cmsg.creds.cmcred_pid; + if (asprintf(&qstate->euid_str, "%d_", qstate->euid) == -1) { + TRACE_OUT(on_query_startup); + return (-1); + } + qstate->euid_str_length = strlen(qstate->euid_str); + TRACE_INT(qstate->uid); TRACE_INT(qstate->euid); TRACE_INT(qstate->pid); @@ -218,9 +224,12 @@ memset(write_request->entry, 0, write_request->entry_length + 1); write_request->cache_key = (char *)malloc( - write_request->cache_key_length + 1); + write_request->cache_key_length + + qstate->euid_str_length + 1); assert(write_request->cache_key != NULL); - memset(write_request->cache_key, 0, + memcpy(write_request->cache_key, qstate->euid_str, + qstate->euid_str_length); + memset(write_request->cache_key + qstate->euid_str_length, 0, write_request->cache_key_length + 1); write_request->data = (char *)malloc(write_request->data_size); @@ -248,8 +257,8 @@ result = qstate->read_func(qstate, write_request->entry, write_request->entry_length); - result += qstate->read_func(qstate, write_request->cache_key, - write_request->cache_key_length); + result += qstate->read_func(qstate, write_request->cache_key + + qstate->euid_str_length, write_request->cache_key_length); result += qstate->read_func(qstate, write_request->data, write_request->data_size); @@ -292,8 +301,10 @@ return (-1); } - c_entry = find_cache_entry_by_config_entry(s_cache, - qstate->config_entry); + configuration_lock_rdlock(s_configuration); + c_entry = find_cache_entry(s_cache, + qstate->config_entry->c_params->entry_name); + configuration_unlock(s_configuration); if (c_entry != NULL) { TRACE_STR(write_request->cache_key); configuration_lock_entry(qstate->config_entry); @@ -380,13 +391,16 @@ read_request->entry_length + 1); assert(read_request->entry != NULL); memset(read_request->entry, 0, read_request->entry_length + 1); - + read_request->cache_key = (char *)malloc( - read_request->cache_key_length + 1); + read_request->cache_key_length + + qstate->euid_str_length + 1); assert(read_request->cache_key != NULL); - memset(read_request->cache_key, 0, + memcpy(read_request->cache_key, qstate->euid_str, + qstate->euid_str_length); + memset(read_request->cache_key + qstate->euid_str_length, 0, read_request->cache_key_length + 1); - + qstate->kevent_watermark = read_request->entry_length + read_request->cache_key_length; qstate->process_func = on_read_request_read2; @@ -407,7 +421,8 @@ result = qstate->read_func(qstate, read_request->entry, read_request->entry_length); - result += qstate->read_func(qstate, read_request->cache_key, + result += qstate->read_func(qstate, + read_request->cache_key + qstate->euid_str_length, read_request->cache_key_length); if (result != qstate->kevent_watermark) { @@ -449,8 +464,10 @@ return (-1); } - c_entry = find_cache_entry_by_config_entry(s_cache, - qstate->config_entry); + configuration_lock_rdlock(s_configuration); + c_entry = find_cache_entry(s_cache, + qstate->config_entry->c_params->entry_name); + configuration_unlock(s_configuration); if (c_entry != NULL) { TRACE_POINT(); TRACE_STR(read_request->cache_key); @@ -594,18 +611,6 @@ return (config_lookup_result); } -cache_entry -find_cache_entry_by_config_entry(cache the_cache, - struct configuration_entry *config_entry) -{ - cache_entry c_entry; - TRACE_IN(find_cache_entry_by_config_entry); - c_entry = find_cache_entry(the_cache, - config_entry->c_params->entry_name); - TRACE_OUT(finc_cache_entry_by_config_entry); - return (c_entry); -} - ssize_t query_io_buffer_read(struct query_state *qstate, void *buf, size_t nbytes) { @@ -738,7 +743,10 @@ void destroy_query_state(struct query_state *qstate) { - TRACE_IN(destroy_query_state); + TRACE_IN(destroy_query_state); + if (qstate->euid_str != NULL) + free(qstate->euid_str); + if (qstate->io_buffer != NULL) free(qstate->io_buffer); ==== //depot/projects/soc2005/nsswitch_cached/release/cached-0.1/bin/query.h#4 (text+ko) ==== @@ -64,7 +64,10 @@ query_write_func write_func; /* data write function */ query_read_func read_func; /* data read function */ - uid_t euid; /* euid of the caller, recevied via credentials */ + char *euid_str; /* string version of the euid */ + size_t euid_str_length; + + uid_t euid; /* euid of the caller, recevied via credentials */ uid_t uid; /* uid of the caller, recevied via credentials */ pid_t pid; /* pid of the caller, recevied via credentials */ @@ -93,7 +96,5 @@ extern struct configuration_entry *find_config_entry_by_name_and_euid( struct configuration *, char *, uid_t); -extern cache_entry find_cache_entry_by_config_entry(cache, - struct configuration_entry *); #endif ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/name6.c#4 (text+ko) ==== @@ -594,7 +594,7 @@ #ifdef ICMPNL { NSSRC_ICMP, _icmp_ghbyaddr, NULL }, #endif -#ifdef +#ifdef NS_CACHING NS_CACHE_CB(&cache_info) #endif { 0 } ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/rpc/getrpcent.c#7 (text+ko) ==== @@ -524,7 +524,7 @@ } /* - * rpcent_unpack expects lines terminated with \n -- make it happy */ + * rpcent_unpack expects lines terminated with \n -- make it happy */ memcpy(buffer, resultbuf, resultbuflen); buffer[resultbuflen] = '\n'; ==== //depot/projects/soc2005/nsswitch_cached/tests/nsdispatch_test/Makefile#5 (text+ko) ==== @@ -4,7 +4,10 @@ PROGNAME=nsdispatch_test MAN= -SRCS=nsdispatch_test.c nsdispatch.c getservent.c nscache.c nscachedcli.c getrpcent.c getprotoent.c getpwent.c getgrent.c name6.c gethostnamadr.c gethostbynis.c gethostbyht.c gethostbydns.c getaddrinfo.c +SRCS=nsdispatch_test.c nsdispatch.c getservent.c nscache.c nscachedcli.c\ +getrpcent.c getprotoent.c getpwent.c getgrent.c +#gethostnamadr.c +#gethostbynis.c gethostbyht.c gethostbydns.c getaddrinfo.c WARNS?=2 LDADD+=${.CURDIR}/../common/libtest.a CFLAGS+= -DNS_CACHING ==== //depot/projects/soc2005/nsswitch_cached/tests/nsdispatch_test/nscache.c#6 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/nsdispatch_test/nsdispatch.c#5 (text+ko) ==== ==== //depot/projects/soc2005/nsswitch_cached/tests/nsdispatch_test/nsdispatch_test.c#6 (text+ko) ==== @@ -251,7 +251,7 @@ return T_PASSED; } -#include +/*#include int DECORATED(getaddrinfo)(const char *, const char *, const struct addrinfo *, struct addrinfo **); struct hostent * @@ -359,7 +359,7 @@ struct hostent *hp; char **p; - /* argv[1] can be a pointer to a hostname or literal IP address */ + // argv[1] can be a pointer to a hostname or literal IP address hp = DECORATED(getipnodebyname)(sname, AF_INET6, AI_ALL | AI_ADDRCONFIG | AI_V4MAPPED, &error_num); if (hp == NULL) { @@ -397,7 +397,7 @@ test_getipnodebyname("rsu.ru"); return T_PASSED; -} +}*/ int main(int argc, char *argv[]) @@ -415,9 +415,9 @@ assert(tinfo != NULL); __register_test_info(tsystem, tinfo);*/ -/* tinfo = __create_test_info("getpwnam_test", getpwnam_test, 1); + tinfo = __create_test_info("getpwnam_test", getpwnam_test, 1); assert(tinfo != NULL); - __register_test_info(tsystem, tinfo);*/ + __register_test_info(tsystem, tinfo); /* tinfo = __create_test_info("getgrnam_test", getgrnam_test, 1); assert(tinfo != NULL); @@ -431,9 +431,9 @@ assert(tinfo != NULL); __register_test_info(tsystem, tinfo);*/ - tinfo = __create_test_info("getipnodebyname_test", getipnodebyname_test, 1); +/* tinfo = __create_test_info("getipnodebyname_test", getipnodebyname_test, 1); assert(tinfo != NULL); - __register_test_info(tsystem, tinfo); + __register_test_info(tsystem, tinfo); */ /* tinfo = __create_test_info("getprotoent_test", getprotoent_test, 1); assert(tinfo != NULL); From owner-p4-projects@FreeBSD.ORG Tue Aug 30 19:00:21 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 04F5216A421; Tue, 30 Aug 2005 19:00:21 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 9D9A916A41F for ; Tue, 30 Aug 2005 19:00:20 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5416543D48 for ; Tue, 30 Aug 2005 19:00:20 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7UJ0Kcx003807 for ; Tue, 30 Aug 2005 19:00:20 GMT (envelope-from soc-anders@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7UJ0Jla003804 for perforce@freebsd.org; Tue, 30 Aug 2005 19:00:19 GMT (envelope-from soc-anders@freebsd.org) Date: Tue, 30 Aug 2005 19:00:19 GMT Message-Id: <200508301900.j7UJ0Jla003804@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-anders@freebsd.org using -f From: soc-anders To: Perforce Change Reviews Cc: Subject: PERFORCE change 82861 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Aug 2005 19:00:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=82861 Change 82861 by soc-anders@soc-anders_gimli on 2005/08/30 19:00:04 Created external version of the netgraph pcb structure and made it accessible via sysctl (net.graph.pcblist) and modified netstat to obtain socket info using the new sysctl mib rather than kvm. Minor modifictions to libnetgraph to account for new dependencies. Affected files ... .. //depot/projects/soc2005/ifcleanup/src/src/lib/libnetgraph/debug.c#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/lib/libnetgraph/msg.c#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/lib/libnetgraph/sock.c#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/sys/netgraph/ng_socket.c#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/sys/netgraph/ng_socket.h#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/netgraph.c#3 edit Differences ... ==== //depot/projects/soc2005/ifcleanup/src/src/lib/libnetgraph/debug.c#2 (text+ko) ==== @@ -52,6 +52,7 @@ #include #include +#include /* for xsocket */ #include #include "netgraph.h" ==== //depot/projects/soc2005/ifcleanup/src/src/lib/libnetgraph/msg.c#2 (text+ko) ==== @@ -44,6 +44,7 @@ #include #include #include +#include /* for xsocket */ #include #include "netgraph.h" ==== //depot/projects/soc2005/ifcleanup/src/src/lib/libnetgraph/sock.c#2 (text+ko) ==== @@ -44,6 +44,7 @@ #include #include #include +#include #include #include "netgraph.h" ==== //depot/projects/soc2005/ifcleanup/src/src/sys/netgraph/ng_socket.c#2 (text+ko) ==== @@ -67,6 +67,7 @@ #include #include #include +#include #ifdef NOTYET #include #endif @@ -157,6 +158,9 @@ /* List of all sockets */ static LIST_HEAD(, ngpcb) ngsocklist; +static int get_ngpcblist(SYSCTL_HANDLER_ARGS); +SYSCTL_PROC(_net_graph, OID_AUTO, pcblist, CTLFLAG_RD, 0, 0, + get_ngpcblist, "S,xngpcb", "List of netgraph sockets"); static struct mtx ngsocketlist_mtx; @@ -1029,6 +1033,38 @@ { return (0); } + +static int +get_ngpcblist(SYSCTL_HANDLER_ARGS) +{ + struct ngpcb *ngp; + size_t xngsz = 0; + int error = 0; + + mtx_lock(&ngsocketlist_mtx); + LIST_FOREACH(ngp, &ngsocklist, socks) { + struct xngpcb xng; + xngsz += sizeof(xng); + + if (req->oldptr == NULL || + cr_canseesocket(req->td->td_ucred, ngp->ng_socket) != 0) + continue; + + bzero(&xng, sizeof(xng)); + xng.xng_type = ngp->type; + sotoxsocket(ngp->ng_socket, &xng.xng_socket); + if (ngp->sockdata) + xng.xng_node_ID = ngp->sockdata->node->nd_ID; + + error = SYSCTL_OUT(req, &xng, sizeof(xng)); + } + mtx_unlock(&ngsocketlist_mtx); + + if (req->oldptr == NULL) + req->oldlen = xngsz; + return error; +} + /* * Control and data socket type descriptors */ ==== //depot/projects/soc2005/ifcleanup/src/src/sys/netgraph/ng_socket.h#2 (text+ko) ==== @@ -44,6 +44,9 @@ #ifndef _NETGRAPH_NG_SOCKET_H_ #define _NETGRAPH_NG_SOCKET_H_ +#include /* XXX: temp. cludge */ +#include + /* Netgraph node type name and cookie */ #define NG_SOCKET_NODE_TYPE "socket" #define NGM_SOCKET_COOKIE 851601233 @@ -67,5 +70,13 @@ char sg_data[14]; /* actually longer; address value */ }; +/* External version of ngpcb for sysctl */ +struct xngpcb { + struct xsocket xng_socket; /* the socket */ + int xng_type; /* NG_CONTROL or NG_DATA */ + ng_ID_t xng_node_ID; /* node associated with socket */ +}; + + #endif /* _NETGRAPH_NG_SOCKET_H_ */ ==== //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/netgraph.c#3 (text+ko) ==== @@ -41,17 +41,17 @@ #include #include #include +#include #include #include #include #include -#include -#include #include #include +#include #include #include #include @@ -63,83 +63,39 @@ void netgraphprotopr(u_long off, const char *name, int af1 __unused) { -#ifdef IFCLEANUP - struct ngpcb *this, *next; - struct ngpcb ngpcb; - struct ngsock info; - struct socket sockb; - int debug = 1; + struct xngpcb *xng; + struct xsocket *sockb; + size_t len = 0; + char *buf; + int i; - /* If symbol not found, try looking in the KLD module */ - if (off == 0) { - const char *const modname = "ng_socket.ko"; -/* XXX We should get "mpath" from "sysctl kern.module_path" */ - const char *mpath[] = { "/", "/boot/", "/modules/", NULL }; - struct nlist sym[] = { { "_ngsocklist" }, { NULL } }; - const char **pre; - struct kld_file_stat ks; - int fileid; - - /* See if module is loaded */ - if ((fileid = kldfind(modname)) < 0) { - if (debug) - warn("kldfind(%s)", modname); - return; - } - - /* Get module info */ - memset(&ks, 0, sizeof(ks)); - ks.version = sizeof(struct kld_file_stat); - if (kldstat(fileid, &ks) < 0) { - if (debug) - warn("kldstat(%d)", fileid); - return; - } - - /* Get symbol table from module file */ - for (pre = mpath; *pre; pre++) { - char path[MAXPATHLEN]; - - snprintf(path, sizeof(path), "%s%s", *pre, modname); - if (nlist(path, sym) == 0) - break; - } - - /* Did we find it? */ - if (sym[0].n_value == 0) { - if (debug) - warnx("%s not found", modname); - return; - } - - /* Symbol found at load address plus symbol offset */ - off = (u_long) ks.address + sym[0].n_value; + /* Get pcb list */ + if (sysctlbyname("net.graph.pcblist", NULL, &len, NULL, 0) < 0) + return; + if ((buf = malloc(len)) == NULL) + err(1, "malloc"); + if (sysctlbyname("net.graph.pcblist", buf, &len, NULL, 0) < 0) { + free(buf); + return; } - - /* Get pointer to first socket */ - kread(off, (char *)&this, sizeof(this)); - /* Get my own socket node */ if (csock == -1) NgMkSockNode(NULL, &csock, NULL); - for (; this != NULL; this = next) { + len = len/sizeof(*xng); + for (i = 0,xng = (struct xngpcb *)buf; i < len; ++i, ++xng) { u_char rbuf[sizeof(struct ng_mesg) + sizeof(struct nodeinfo)]; struct ng_mesg *resp = (struct ng_mesg *) rbuf; struct nodeinfo *ni = (struct nodeinfo *) resp->data; char path[64]; - /* Read in ngpcb structure */ - kread((u_long)this, (char *)&ngpcb, sizeof(ngpcb)); - next = LIST_NEXT(&ngpcb, socks); - /* Read in socket structure */ - kread((u_long)ngpcb.ng_socket, (char *)&sockb, sizeof(sockb)); + sockb = &xng->xng_socket; /* Check type of socket */ - if (strcmp(name, "ctrl") == 0 && ngpcb.type != NG_CONTROL) + if (strcmp(name, "ctrl") == 0 && xng->xng_type != NG_CONTROL) continue; - if (strcmp(name, "data") == 0 && ngpcb.type != NG_DATA) + if (strcmp(name, "data") == 0 && xng->xng_type != NG_DATA) continue; /* Do headline */ @@ -155,19 +111,18 @@ /* Show socket */ if (Aflag) - printf("%8lx ", (u_long) this); + printf("%8lx ", (u_long) sockb->xso_so); printf("%-5.5s %6u %6u ", - name, sockb.so_rcv.sb_cc, sockb.so_snd.sb_cc); + name, sockb->so_rcv.sb_cc, sockb->so_snd.sb_cc); /* Get ngsock structure */ - if (ngpcb.sockdata == 0) /* unconnected data socket */ + if (xng->xng_node_ID == 0) /* unconnected data socket */ goto finish; - kread((u_long)ngpcb.sockdata, (char *)&info, sizeof(info)); /* Get info on associated node */ - if (info.node == 0 || csock == -1) + if (csock == -1) goto finish; - snprintf(path, sizeof(path), "[%lx]:", (u_long) info.node); + snprintf(path, sizeof(path), "[%lx]:", (u_long)xng->xng_node_ID); if (NgSendMsg(csock, path, NGM_GENERIC_COOKIE, NGM_NODEINFO, NULL, 0) < 0) goto finish; @@ -181,6 +136,7 @@ finish: putchar('\n'); } -#endif /* IFCLEANUP */ + if (buf) + free(buf); } From owner-p4-projects@FreeBSD.ORG Tue Aug 30 19:15:41 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0B9FD16A421; Tue, 30 Aug 2005 19:15:41 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 BDB5216A41F for ; Tue, 30 Aug 2005 19:15:40 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 76DF643D45 for ; Tue, 30 Aug 2005 19:15:40 +0000 (GMT) (envelope-from soc-anders@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7UJFeZq004609 for ; Tue, 30 Aug 2005 19:15:40 GMT (envelope-from soc-anders@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7UJFebc004606 for perforce@freebsd.org; Tue, 30 Aug 2005 19:15:40 GMT (envelope-from soc-anders@freebsd.org) Date: Tue, 30 Aug 2005 19:15:40 GMT Message-Id: <200508301915.j7UJFebc004606@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-anders@freebsd.org using -f From: soc-anders To: Perforce Change Reviews Cc: Subject: PERFORCE change 82865 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Aug 2005 19:15:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=82865 Change 82865 by soc-anders@soc-anders_gimli on 2005/08/30 19:14:54 Created external versions of the multicast interface structs (vif/mif) and mcast route cache. The new structures are accessible via sysctl (net.inet.ip.xviftable/xmfctable and net.inet6.ip6.xmif6table/xmf6ctable). Modified netstat to access mcast routing info via sysctl rather than kvm. Affected files ... .. //depot/projects/soc2005/ifcleanup/src/src/sys/netinet/ip_mroute.c#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/sys/netinet/ip_mroute.h#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/sys/netinet6/ip6_mroute.c#3 edit .. //depot/projects/soc2005/ifcleanup/src/src/sys/netinet6/ip6_mroute.h#2 edit .. //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/if.c#6 edit .. //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/mroute.c#3 edit .. //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/mroute6.c#3 edit Differences ... ==== //depot/projects/soc2005/ifcleanup/src/src/sys/netinet/ip_mroute.c#2 (text+ko) ==== @@ -135,6 +135,11 @@ &mfctable, sizeof(mfctable), "S,*mfc[MFCTBLSIZ]", "Multicast Forwarding Table (struct *mfc[MFCTBLSIZ], netinet/ip_mroute.h)"); +static int get_mfctable(SYSCTL_HANDLER_ARGS); +SYSCTL_PROC(_net_inet_ip, OID_AUTO, xmfctable, CTLFLAG_RD, 0, 0, + get_mfctable, "S,xmfc", ""); + + static struct mtx mfc_mtx; #define MFC_LOCK() mtx_lock(&mfc_mtx) #define MFC_UNLOCK() mtx_unlock(&mfc_mtx) @@ -150,6 +155,10 @@ &viftable, sizeof(viftable), "S,vif[MAXVIFS]", "Multicast Virtual Interfaces (struct vif[MAXVIFS], netinet/ip_mroute.h)"); +static int get_viftable(SYSCTL_HANDLER_ARGS); +SYSCTL_PROC(_net_inet_ip, OID_AUTO, xviftable, CTLFLAG_RD, 0, 0, + get_viftable, "S,xvif", ""); + static struct mtx vif_mtx; #define VIF_LOCK() mtx_lock(&vif_mtx) #define VIF_UNLOCK() mtx_unlock(&vif_mtx) @@ -3461,6 +3470,134 @@ return 0; } +static int +get_mfctable(SYSCTL_HANDLER_ARGS) +{ + struct mfc *rt; + struct xmfc *xrt = NULL; + struct bw_meter *bm; + struct xbw_meter *xbm; + int i; + size_t mfcsz = 0; + char *buf = req->oldptr; + size_t bufsz = req->oldlen; + + MFC_LOCK(); + /* + * The following is rather inefficient. Since two subsequent calls to this + * function is likely to occur, maybe there should be some caching. + */ + for (i = 0; i < MFCTBLSIZ; i++) { + for (rt = mfctable[i]; rt != NULL; rt = rt->mfc_next) { + mfcsz += sizeof(*xrt); + + if (buf) { + if (mfcsz > bufsz) + return ENOMEM; + xrt = (struct xmfc *)buf; + bzero(xrt, sizeof(*xrt)); + +#define MFC_CP(x) bcopy(&rt->x, &xrt->x, sizeof(xrt->x)) +#define MFC_XCP(x,s) bcopy(rt->x, xrt->x, (s)) +#define MFC_ASSI(x) xrt->x = rt->x + MFC_CP(mfc_origin); + MFC_CP(mfc_mcastgrp); + MFC_ASSI(mfc_parent); + MFC_XCP(mfc_ttls, MAXVIFS); + MFC_ASSI(mfc_pkt_cnt); + MFC_ASSI(mfc_byte_cnt); + MFC_ASSI(mfc_wrong_if); + MFC_ASSI(mfc_expire); + MFC_CP(mfc_last_assert); + struct rtdetq *rtq; + for (rtq = rt->mfc_stall; rtq != NULL; + rtq = rtq->next) + xrt->xmfc_stall_cnt++; + MFC_XCP(mfc_flags, MAXVIFS); + MFC_CP(mfc_rp); +#undef MFC_CP +#undef MFC_XCP +#undef MFC_ASSI + buf += sizeof(*xrt); + } + + for (bm = rt->mfc_bw_meter; bm != NULL; + bm = bm->bm_mfc_next) { + + mfcsz += sizeof(*xbm); + if (!buf) + continue; + if (mfcsz > bufsz) + return ENOMEM; + + xrt->xmfc_xbw_meter_cnt++; + xbm = (struct xbw_meter *)buf; + bzero(xbm, sizeof(*xbm)); + xbm->bm_flags = bm->bm_flags; +#define BM_CP(x) bcopy(&bm->x, &xbm->x, sizeof(xbm->x)) + BM_CP(bm_threshold); + BM_CP(bm_measured); + BM_CP(bm_start_time); +#undef BM_CP + buf += sizeof(*xbm); + } + } + } + MFC_UNLOCK(); + + req->oldlen = mfcsz; + return 0; +} + +static int +get_viftable(SYSCTL_HANDLER_ARGS) +{ + struct xvif *xv; + int vifi; + size_t vifsz = 0; + char *buf = req->oldptr; + size_t bufsz = req->oldlen; + + VIF_LOCK(); + for (vifi = 0; vifi < MAXVIFS; vifi++) { + if (viftable[vifi].v_lcl_addr.s_addr == 0) + continue; + + vifsz += sizeof(*xv); + if (!buf) + continue; + + if (vifsz > bufsz) + return ENOMEM; + + xv = (struct xvif *)buf; + buf += sizeof(*xv); +#define XV_ASSI(p) xv->p = viftable[vifi].p; +#define XV_CP(p) bcopy(&viftable[vifi].p, &xv->p, sizeof(viftable[vifi].p)) + + xv->xv_vifi = vifi; + XV_ASSI(v_flags); + XV_ASSI(v_threshold); + XV_ASSI(v_rate_limit); + XV_CP(v_lcl_addr); + XV_CP(v_rmt_addr); + xv->xv_if_index = viftable[vifi].v_ifp->if_index; + XV_ASSI(v_pkt_in); + XV_ASSI(v_pkt_out); + XV_ASSI(v_bytes_in); + XV_ASSI(v_bytes_out); + XV_CP(v_route); + XV_ASSI(v_rsvp_on); +#undef XV_ASSI +#undef XV_CP + } + + VIF_UNLOCK(); + + req->oldlen = vifsz; + return 0; +} + static moduledata_t ip_mroutemod = { "ip_mroute", ip_mroute_modevent, ==== //depot/projects/soc2005/ifcleanup/src/src/sys/netinet/ip_mroute.h#2 (text+ko) ==== @@ -267,6 +267,22 @@ struct socket *v_rsvpd; /* RSVP daemon socket */ }; +/* External sysctl structure */ +struct xvif { + vifi_t xv_vifi; /* location in viftable */ + u_char v_flags; /* VIFF_ flags defined above */ + u_char v_threshold; /* min ttl required to forward on vif*/ + u_int v_rate_limit; /* max rate */ + struct in_addr v_lcl_addr; /* local interface address */ + struct in_addr v_rmt_addr; /* remote address (tunnels only) */ + u_short xv_if_index; /* interface index */ + u_long v_pkt_in; /* # pkts in on interface */ + u_long v_pkt_out; /* # pkts out on interface */ + u_long v_bytes_in; /* # bytes in on interface */ + u_long v_bytes_out; /* # bytes out on interface */ + struct route v_route; /* cached route if this is a tunnel */ + u_int v_rsvp_on; /* RSVP listening on this vif */ +}; /* * The kernel's multicast forwarding cache entry structure * (A field for the type of service (mfc_tos) is to be added @@ -289,6 +305,24 @@ struct bw_meter *mfc_bw_meter; /* list of bandwidth meters */ }; +/* External sysctl structure */ +struct xmfc { + struct in_addr mfc_origin; /* IP origin of mcasts */ + struct in_addr mfc_mcastgrp; /* multicast group associated*/ + vifi_t mfc_parent; /* incoming vif */ + u_char mfc_ttls[MAXVIFS]; /* forwarding ttls on vifs */ + u_long mfc_pkt_cnt; /* pkt count for src-grp */ + u_long mfc_byte_cnt; /* byte count for src-grp */ + u_long mfc_wrong_if; /* wrong if for src-grp */ + int mfc_expire; /* time to clean entry up */ + struct timeval mfc_last_assert; /* last time I sent an assert*/ + u_short xmfc_stall_cnt; /* # of packets awaiting mfc */ + uint8_t mfc_flags[MAXVIFS]; /* the MRT_MFC_FLAGS_* flags */ + struct in_addr mfc_rp; /* the RP address */ + u_short xmfc_xbw_meter_cnt; /* number of bandwidth meters + following the struct */ +}; + /* * Struct used to communicate from kernel to multicast router * note the convenient similarity to an IP packet @@ -371,6 +405,14 @@ struct timeval bm_start_time; /* abs. time */ }; +/* External sysctl structure */ +struct xbw_meter { + uint32_t bm_flags; + struct bw_data bm_threshold; + struct bw_data bm_measured; + struct timeval bm_start_time; +}; + #ifdef _KERNEL struct sockopt; ==== //depot/projects/soc2005/ifcleanup/src/src/sys/netinet6/ip6_mroute.c#3 (text+ko) ==== @@ -137,14 +137,27 @@ struct socket *ip6_mrouter = NULL; int ip6_mrouter_ver = 0; int ip6_mrtproto = IPPROTO_PIM; /* for netstat only */ +SYSCTL_DECL(_net_inet6_ip6); struct mrt6stat mrt6stat; +SYSCTL_STRUCT(_net_inet6_ip6, OID_AUTO, mrt6stat, CTLFLAG_RD, + &mrt6stat, mrt6stat, + "Multicast Routing Statistics (struct mrt6stat, netinet6/ip6_mroute.h)"); #define NO_RTE_FOUND 0x1 #define RTE_FOUND 0x2 struct mf6c *mf6ctable[MF6CTBLSIZ]; +static int get_xmf6ctable(SYSCTL_HANDLER_ARGS); +SYSCTL_PROC(_net_inet6_ip6, OID_AUTO, xmf6ctable, CTLFLAG_RD, 0, 0, + get_xmf6ctable, "S,xmf6c", ""); + u_char n6expire[MF6CTBLSIZ]; + static struct mif6 mif6table[MAXMIFS]; +static int get_xmif6table(SYSCTL_HANDLER_ARGS); +SYSCTL_PROC(_net_inet6_ip6, OID_AUTO, xmif6table, CTLFLAG_RD, 0, 0, + get_xmif6table, "S,xmif", ""); + #ifdef MRT6DEBUG u_int mrt6debug = 0; /* debug level */ #define DEBUG_MFC 0x02 @@ -1874,3 +1887,96 @@ rip6_input(&m, offp, proto); return (IPPROTO_DONE); } + +static int +get_xmif6table(SYSCTL_HANDLER_ARGS) +{ + struct xmif6 *xmif; + struct mif6 *mif; + int mifi; + size_t xmifsz = 0; + size_t bufsz = req->oldlen; + char *buf = req->oldptr; + + for (mifi = 0, mif = mif6table; mifi < MAXMIFS; mifi++, mif++) { + if (mif->m6_ifp == NULL) + continue; + + xmifsz += sizeof(*xmif); + if (!buf) + continue; + + if (xmifsz > bufsz) + return ENOMEM; + + xmif = (struct xmif6 *)buf; + buf += sizeof(*xmif); + +#define XMIF_CP(x) bcopy(&mif->x, &xmif->x, sizeof(mif->x)) +#define XMIF_ASSI(x) xmif->x = mif->x + xmif->xm6_mifi = mifi; + XMIF_ASSI(m6_flags); + XMIF_ASSI(m6_rate_limit); + XMIF_CP(m6_lcl_addr); + xmif->xm6_if_index = mif->m6_ifp->if_index; + XMIF_ASSI(m6_pkt_in); + XMIF_ASSI(m6_pkt_out); + XMIF_ASSI(m6_bytes_in); + XMIF_ASSI(m6_bytes_out); + XMIF_CP(m6_route); +#undef XMIF_CP +#undef XMIF_ASSI + + } + req->oldlen = xmifsz; + return 0; +} + +static int +get_xmf6ctable(SYSCTL_HANDLER_ARGS) +{ + struct xmf6c *xmf; + struct mf6c *mf; + struct rtdetq *rt; + char *buf = req->oldptr; + size_t bufsz = req->oldlen; + size_t xmfsz = 0; + int i; + + for (i = 0; i < MF6CTBLSIZ; i++) { + mf = mf6ctable[i]; + while (mf) { + xmfsz += sizeof(*xmf); + + if (buf) { + if (xmfsz > bufsz) + return ENOMEM; + xmf = (struct xmf6c *)buf; + buf += sizeof(*xmf); + +#define XMF_CP(x) bcopy(&mf->x, &xmf->x, sizeof(mf->x)) +#define XMF_ASSI(x) xmf->x = mf->x + XMF_CP(mf6c_origin); + XMF_CP(mf6c_mcastgrp); + XMF_ASSI(mf6c_parent); + XMF_CP(mf6c_ifset); + XMF_ASSI(mf6c_pkt_cnt); + XMF_ASSI(mf6c_byte_cnt); + XMF_ASSI(mf6c_wrong_if); + XMF_ASSI(mf6c_expire); + XMF_CP(mf6c_last_assert); + xmf->xmf6c_stall_cnt = 0; + + for (rt = mf->mf6c_stall; rt != NULL; rt = rt->next) + xmf->xmf6c_stall_cnt++; +#undef XMF_ASSI +#undef XMF_CP + + } + mf = mf->mf6c_next; + } + } + + req->oldlen = xmfsz; + return 0; +} ==== //depot/projects/soc2005/ifcleanup/src/src/sys/netinet6/ip6_mroute.h#2 (text+ko) ==== @@ -225,6 +225,20 @@ #endif }; +/* External sysctl structure */ +struct xmif6 { + mifi_t xm6_mifi; /* location in mif6table */ + u_char m6_flags; /* MIFF_ flags defined above */ + u_int m6_rate_limit; /* max rate */ + struct in6_addr m6_lcl_addr; /* local interface address */ + u_short xm6_if_index; /* interface index */ + u_quad_t m6_pkt_in; /* # pkts in on interface */ + u_quad_t m6_pkt_out; /* # pkts out on interface */ + u_quad_t m6_bytes_in; /* # bytes in on interface */ + u_quad_t m6_bytes_out; /* # bytes out on interface */ + struct route_in6 m6_route;/* cached route if this is a tunnel */ +}; + /* * The kernel's multicast forwarding cache entry structure */ @@ -243,6 +257,21 @@ struct mf6c *mf6c_next; /* hash table linkage */ }; +/* External sysctl structure */ +struct xmf6c { + struct sockaddr_in6 mf6c_origin; /* IPv6 origin of mcasts */ + struct sockaddr_in6 mf6c_mcastgrp; /* multicast group associated*/ + mifi_t mf6c_parent; /* incoming IF */ + struct if_set mf6c_ifset; /* set of outgoing IFs */ + + u_quad_t mf6c_pkt_cnt; /* pkt count for src-grp */ + u_quad_t mf6c_byte_cnt; /* byte count for src-grp */ + u_quad_t mf6c_wrong_if; /* wrong if for src-grp */ + int mf6c_expire; /* time to clean entry up */ + struct timeval mf6c_last_assert; /* last time I sent an assert*/ + long int xmf6c_stall_cnt; /* # pkts waiting for route */ +}; + #define MF6C_INCOMPLETE_PARENT ((mifi_t)-1) /* ==== //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/if.c#6 (text+ko) ==== @@ -62,12 +62,8 @@ #include #include -#define IFCLEANUP - -#ifdef IFCLEANUP #include #include -#endif #include "netstat.h" ==== //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/mroute.c#3 (text+ko) ==== @@ -66,42 +66,41 @@ #include #include "netstat.h" -static void print_bw_meter(struct bw_meter *bw_meter, int *banner_printed); +static void print_xbw_meter(struct xbw_meter *xbw_meter, int *banner_printed); void mroutepr(u_long mfcaddr, u_long vifaddr) { -#ifdef IFCLEANUP - struct mfc *mfctable[MFCTBLSIZ]; - struct vif viftable[MAXVIFS]; - struct mfc mfc, *m; - struct vif *v; - vifi_t vifi; + struct xmfc *xmfc; + struct xvif *xv; int i; int banner_printed; int saved_numeric_addr; vifi_t maxvif = 0; size_t len; + char *buf, *cur, *end; - len = sizeof(viftable); - if (sysctlbyname("net.inet.ip.viftable", viftable, &len, NULL, 0) < 0) { + len = 0; + if (sysctlbyname("net.inet.ip.xviftable", NULL, &len, NULL, 0) < 0) { printf("No IPv4 multicast routing compiled into this system.\n"); } - - len = sizeof(mfctable); - if (sysctlbyname("net.inet.ip.mfctable", mfctable, &len, NULL, 0) < 0) { - printf("No IPv4 multicast routing compiled into this system.\n"); + if (len > 0) { + if ((buf = malloc(len)) == NULL) + err(1, "malloc"); + if (sysctlbyname("net.inet.ip.xviftable", buf, &len, NULL, 0) < 0) { + free(buf); + return; + } } - saved_numeric_addr = numeric_addr; numeric_addr = 1; banner_printed = 0; - for (vifi = 0, v = viftable; vifi < MAXVIFS; ++vifi, ++v) { - if (v->v_lcl_addr.s_addr == 0) - continue; + + len = len/sizeof(*xv); + for (i = 0, xv = (struct xvif *)buf; i < len; ++i, ++xv) { - maxvif = vifi; + maxvif = xv->xv_vifi; if (!banner_printed) { printf("\nVirtual Interface Table\n" " Vif Thresh Rate Local-Address " @@ -111,72 +110,82 @@ printf(" %2u %6u %4d %-15.15s", /* opposite math of add_vif() */ - vifi, v->v_threshold, v->v_rate_limit * 1000 / 1024, - routename(v->v_lcl_addr.s_addr)); - printf(" %-15.15s", (v->v_flags & VIFF_TUNNEL) ? - routename(v->v_rmt_addr.s_addr) : ""); + xv->xv_vifi, xv->v_threshold, xv->v_rate_limit * 1000 / 1024, + routename(xv->v_lcl_addr.s_addr)); + printf(" %-15.15s", (xv->v_flags & VIFF_TUNNEL) ? + routename(xv->v_rmt_addr.s_addr) : ""); - printf(" %9lu %9lu\n", v->v_pkt_in, v->v_pkt_out); + printf(" %9lu %9lu\n", xv->v_pkt_in, xv->v_pkt_out); } if (!banner_printed) printf("\nVirtual Interface Table is empty\n"); + else + free(buf); + banner_printed = 0; - banner_printed = 0; - for (i = 0; i < MFCTBLSIZ; ++i) { - m = mfctable[i]; - while(m) { - kread((u_long)m, (char *)&mfc, sizeof mfc); + len = 0; + if (sysctlbyname("net.inet.ip.xmfctable", NULL, &len, NULL, 0) < 0) { + printf("No IPv4 multicast routing compiled into this system.\n"); + } + if (len > 0) { + if ((buf = malloc(len)) == NULL) + err(1, "malloc"); + if (sysctlbyname("net.inet.ip.xmfctable", buf, &len, NULL, 0) < 0) { + free(buf); + return; + } + } + + cur = buf; + end = cur + len; + while (cur < end) { + xmfc = (struct xmfc *)cur; + cur += sizeof(*xmfc); - if (!banner_printed) { - printf("\nIPv4 Multicast Forwarding Cache\n" - " Origin Group " - " Packets In-Vif Out-Vifs:Ttls\n"); - banner_printed = 1; - } + if (!banner_printed) { + printf("\nIPv4 Multicast Forwarding Cache\n" + " Origin Group " + " Packets In-Vif Out-Vifs:Ttls\n"); + banner_printed = 1; + } - printf(" %-15.15s", routename(mfc.mfc_origin.s_addr)); - printf(" %-15.15s", routename(mfc.mfc_mcastgrp.s_addr)); - printf(" %9lu", mfc.mfc_pkt_cnt); - printf(" %3d ", mfc.mfc_parent); - for (vifi = 0; vifi <= maxvif; vifi++) { - if (mfc.mfc_ttls[vifi] > 0) - printf(" %u:%u", vifi, - mfc.mfc_ttls[vifi]); - } - printf("\n"); + printf(" %-15.15s", routename(xmfc->mfc_origin.s_addr)); + printf(" %-15.15s", routename(xmfc->mfc_mcastgrp.s_addr)); + printf(" %9lu", xmfc->mfc_pkt_cnt); + printf(" %3d ", xmfc->mfc_parent); + for (i = 0; i <= maxvif; i++) { + if (xmfc->mfc_ttls[i] > 0) + printf(" %u:%u", i, + xmfc->mfc_ttls[i]); + } + printf("\n"); - /* Print the bw meter information */ - { - struct bw_meter bw_meter, *bwm; - int banner_printed2 = 0; - - bwm = mfc.mfc_bw_meter; - while (bwm) { - kread((u_long)bwm, (char *)&bw_meter, - sizeof bw_meter); - print_bw_meter(&bw_meter, - &banner_printed2); - bwm = bw_meter.bm_mfc_next; - } + /* Print the bw meter information */ + for (i = 0; i < xmfc->xmfc_xbw_meter_cnt; i++) { + struct xbw_meter *xbwm = (struct xbw_meter *)cur; + int banner_printed2 = 0; + cur += sizeof(*xbwm); + + print_xbw_meter(xbwm, + &banner_printed2); + } #if 0 /* Don't ever print it? */ - if (! banner_printed2) - printf("\n No Bandwidth Meters\n"); + if (! banner_printed2) + printf("\n No Bandwidth Meters\n"); #endif - } + } - m = mfc.mfc_next; - } - } if (!banner_printed) printf("\nMulticast Routing Table is empty\n"); + else + free(buf); printf("\n"); numeric_addr = saved_numeric_addr; -#endif /* IFCLEANUP */ } static void -print_bw_meter(struct bw_meter *bw_meter, int *banner_printed) +print_xbw_meter(struct xbw_meter *xbw_meter, int *banner_printed) { char s0[256], s1[256], s2[256], s3[256]; struct timeval now, end, delta; @@ -194,46 +203,46 @@ } /* The measured values */ - if (bw_meter->bm_flags & BW_METER_UNIT_PACKETS) - sprintf(s1, "%llu", bw_meter->bm_measured.b_packets); + if (xbw_meter->bm_flags & BW_METER_UNIT_PACKETS) + sprintf(s1, "%llu", xbw_meter->bm_measured.b_packets); else sprintf(s1, "?"); - if (bw_meter->bm_flags & BW_METER_UNIT_BYTES) - sprintf(s2, "%llu", bw_meter->bm_measured.b_bytes); + if (xbw_meter->bm_flags & BW_METER_UNIT_BYTES) + sprintf(s2, "%llu", xbw_meter->bm_measured.b_bytes); else sprintf(s2, "?"); sprintf(s0, "%lu.%lu|%s|%s", - bw_meter->bm_start_time.tv_sec, - bw_meter->bm_start_time.tv_usec, + xbw_meter->bm_start_time.tv_sec, + xbw_meter->bm_start_time.tv_usec, s1, s2); printf(" %-30s", s0); /* The type of entry */ sprintf(s0, "%s", "?"); - if (bw_meter->bm_flags & BW_METER_GEQ) + if (xbw_meter->bm_flags & BW_METER_GEQ) sprintf(s0, "%s", ">="); - else if (bw_meter->bm_flags & BW_METER_LEQ) + else if (xbw_meter->bm_flags & BW_METER_LEQ) sprintf(s0, "%s", "<="); printf(" %-3s", s0); /* The threshold values */ - if (bw_meter->bm_flags & BW_METER_UNIT_PACKETS) - sprintf(s1, "%llu", bw_meter->bm_threshold.b_packets); + if (xbw_meter->bm_flags & BW_METER_UNIT_PACKETS) + sprintf(s1, "%llu", xbw_meter->bm_threshold.b_packets); else sprintf(s1, "?"); - if (bw_meter->bm_flags & BW_METER_UNIT_BYTES) - sprintf(s2, "%llu", bw_meter->bm_threshold.b_bytes); + if (xbw_meter->bm_flags & BW_METER_UNIT_BYTES) + sprintf(s2, "%llu", xbw_meter->bm_threshold.b_bytes); else sprintf(s2, "?"); sprintf(s0, "%lu.%lu|%s|%s", - bw_meter->bm_threshold.b_time.tv_sec, - bw_meter->bm_threshold.b_time.tv_usec, + xbw_meter->bm_threshold.b_time.tv_sec, + xbw_meter->bm_threshold.b_time.tv_usec, s1, s2); printf(" %-30s", s0); /* Remaining time */ - timeradd(&bw_meter->bm_start_time, - &bw_meter->bm_threshold.b_time, &end); + timeradd(&xbw_meter->bm_start_time, + &xbw_meter->bm_threshold.b_time, &end); if (timercmp(&now, &end, <=)) { timersub(&end, &now, &delta); sprintf(s3, "%lu.%lu", delta.tv_sec, delta.tv_usec); ==== //depot/projects/soc2005/ifcleanup/src/src/usr.bin/netstat/mroute6.c#3 (text+ko) ==== @@ -75,7 +75,10 @@ #include #include #include +#include +#include + #include #include #include @@ -83,6 +86,9 @@ #include #include +#include +#include + #define KERNEL 1 #include @@ -96,39 +102,38 @@ void mroute6pr(u_long mfcaddr, u_long mifaddr) { -#ifdef IFCLEANUP - struct mf6c *mf6ctable[MF6CTBLSIZ], *mfcp; - struct mif6 mif6table[MAXMIFS]; - struct mf6c mfc; - struct rtdetq rte, *rtep; - struct mif6 *mifp; + char *buf; + struct xmif6 *xmifp; + struct xmf6c *xmfc; mifi_t mifi; int i; int banner_printed; int saved_numeric_addr; mifi_t maxmif = 0; - long int waitings; + size_t len = 0; - if (mfcaddr == 0 || mifaddr == 0) { + if (sysctlbyname("net.inet6.ip6.xmif6table", 0, &len, NULL, 0) < 0) { printf("No IPv6 multicast routing compiled into this" " system.\n"); return; } + if (len > 0) { + if ((buf = malloc(len)) == NULL) + err(1, "malloc"); + if (sysctlbyname("net.inet6.ip6.xmif6table", buf, + &len, NULL, 0) < 0) + return; + } saved_numeric_addr = numeric_addr; numeric_addr = 1; - kread(mifaddr, (char *)&mif6table, sizeof(mif6table)); banner_printed = 0; - for (mifi = 0, mifp = mif6table; mifi < MAXMIFS; ++mifi, ++mifp) { - struct ifnet ifnet; + len = len/sizeof(*xmifp); + for (i = 0, xmifp = (struct xmif6 *)buf; i < len; ++i, ++xmifp) { char ifname[IFNAMSIZ]; - if (mifp->m6_ifp == NULL) - continue; - - kread((u_long)mifp->m6_ifp, (char *)&ifnet, sizeof(ifnet)); - maxmif = mifi; + maxmif = xmifp->xm6_mifi; if (!banner_printed) { printf("\nIPv6 Multicast Interface Table\n" " Mif Rate PhyIF " @@ -137,78 +142,77 @@ } printf(" %2u %4d", - mifi, mifp->m6_rate_limit); - printf(" %5s", (mifp->m6_flags & MIFF_REGISTER) ? - "reg0" : if_indextoname(ifnet.if_index, ifname)); + xmifp->xm6_mifi, xmifp->m6_rate_limit); + printf(" %5s", (xmifp->m6_flags & MIFF_REGISTER) ? + "reg0" : if_indextoname(xmifp->xm6_if_index, ifname)); - printf(" %9llu %9llu\n", (unsigned long long)mifp->m6_pkt_in, - (unsigned long long)mifp->m6_pkt_out); + printf(" %9llu %9llu\n", (unsigned long long)xmifp->m6_pkt_in, + (unsigned long long)xmifp->m6_pkt_out); } if (!banner_printed) printf("\nIPv6 Multicast Interface Table is empty\n"); + else + free(buf); - kread(mfcaddr, (char *)&mf6ctable, sizeof(mf6ctable)); + if (sysctlbyname("net.inet6.ip6.xmf6ctable", NULL, &len, NULL, 0) < 0) + return; + if (len > 0) { + if ((buf = malloc(len)) == NULL) + err(1, "malloc"); + if (sysctlbyname("net.inet6.ip6.xmf6ctable", buf, &len, NULL, 0) < 0) + return; + } banner_printed = 0; - for (i = 0; i < MF6CTBLSIZ; ++i) { - mfcp = mf6ctable[i]; - while(mfcp) { - kread((u_long)mfcp, (char *)&mfc, sizeof(mfc)); - if (!banner_printed) { - printf ("\nIPv6 Multicast Forwarding Cache\n"); - printf(" %-*.*s %-*.*s %s", - WID_ORG, WID_ORG, "Origin", - WID_GRP, WID_GRP, "Group", - " Packets Waits In-Mif Out-Mifs\n"); - banner_printed = 1; - } + len = len/sizeof(*xmfc); + for (i = 0, xmfc = (struct xmf6c *)buf; i < len; ++i, ++xmfc) { + if (!banner_printed) { + printf ("\nIPv6 Multicast Forwarding Cache\n"); + printf(" %-*.*s %-*.*s %s", + WID_ORG, WID_ORG, "Origin", + WID_GRP, WID_GRP, "Group", + " Packets Waits In-Mif Out-Mifs\n"); + banner_printed = 1; + } - printf(" %-*.*s", WID_ORG, WID_ORG, - routename6(&mfc.mf6c_origin)); - printf(" %-*.*s", WID_GRP, WID_GRP, - routename6(&mfc.mf6c_mcastgrp)); - printf(" %9llu", (unsigned long long)mfc.mf6c_pkt_cnt); + printf(" %-*.*s", WID_ORG, WID_ORG, + routename6(&xmfc->mf6c_origin)); + printf(" %-*.*s", WID_GRP, WID_GRP, + routename6(&xmfc->mf6c_mcastgrp)); + printf(" %9llu", (unsigned long long)xmfc->mf6c_pkt_cnt); - for (waitings = 0, rtep = mfc.mf6c_stall; rtep; ) { - waitings++; - kread((u_long)rtep, (char *)&rte, sizeof(rte)); - rtep = rte.next; - } - printf(" %3ld", waitings); + printf(" %3ld", xmfc->xmf6c_stall_cnt); - if (mfc.mf6c_parent == MF6C_INCOMPLETE_PARENT) - printf(" --- "); - else - printf(" %3d ", mfc.mf6c_parent); - for (mifi = 0; mifi <= maxmif; mifi++) { - if (IF_ISSET(mifi, &mfc.mf6c_ifset)) - printf(" %u", mifi); - } - printf("\n"); - - mfcp = mfc.mf6c_next; + if (xmfc->mf6c_parent == MF6C_INCOMPLETE_PARENT) + printf(" --- "); + else + printf(" %3d ", xmfc->mf6c_parent); + for (mifi = 0; mifi <= maxmif; mifi++) { + if (IF_ISSET(mifi, &xmfc->mf6c_ifset)) + printf(" %u", mifi); } + printf("\n"); } if (!banner_printed) printf("\nIPv6 Multicast Routing Table is empty\n"); + else + free(buf); printf("\n"); numeric_addr = saved_numeric_addr; -#endif /* IFCLEANUP */ } void mrt6_stats(u_long mstaddr) { -#ifdef IFCLEANUP struct mrt6stat mrtstat; + size_t len = sizeof(mrtstat); - if (mstaddr == 0) { + if (sysctlbyname("net.inet6.ip6.mrt6stat", &mrtstat, &len, NULL, 0) < 0) { printf("No IPv6 multicast routing compiled into this" " system.\n"); return; } - kread(mstaddr, (char *)&mrtstat, sizeof(mrtstat)); printf("IPv6 multicast forwarding:\n"); #define p(f, m) if (mrtstat.f || sflag <= 1) \ @@ -234,6 +238,5 @@ #undef p2 #undef p -#endif /* IFCLEANUP */ } #endif /*INET6*/ From owner-p4-projects@FreeBSD.ORG Tue Aug 30 19:35:06 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CC36E16A421; Tue, 30 Aug 2005 19:35:05 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 A513116A41F for ; Tue, 30 Aug 2005 19:35:05 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 58F5B43D48 for ; Tue, 30 Aug 2005 19:35:05 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7UJZ5EK005336 for ; Tue, 30 Aug 2005 19:35:05 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7UJZ5OC005333 for perforce@freebsd.org; Tue, 30 Aug 2005 19:35:05 GMT (envelope-from soc-victor@freebsd.org) Date: Tue, 30 Aug 2005 19:35:05 GMT Message-Id: <200508301935.j7UJZ5OC005333@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 82868 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Aug 2005 19:35:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=82868 Change 82868 by soc-victor@soc-victor_82.76.158.176 on 2005/08/30 19:34:38 Some cleanup for HR-MIB Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_device_tbl.c#10 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c#10 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h#27 edit Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_device_tbl.c#10 (text+ko) ==== @@ -36,8 +36,6 @@ #include #include #include -#include -#include #include #include #include @@ -80,8 +78,11 @@ STAILQ_FOREACH(map, &hrState_g.device_name_map, link) - if (strcmp(map->name_key, dev_p->dd_name) == 0 && - strcmp(map->location_key, dev_p->dd_location) == 0) { + if (strcmp((const char *)map->name_key, + (const char *)dev_p->dd_name) == 0 && + strcmp((const char *)map->location_key, + (const char *)dev_p->dd_location) == 0) { + entry->index = map->hrIndex; map->entry_p = entry; break; @@ -102,10 +103,15 @@ map->hrIndex = hrState_g.next_hrDevice_index ++; memset(&map->name_key[0], 0, sizeof(map->name_key)); - strncpy(map->name_key, dev_p->dd_name, sizeof(map->name_key) - 1); + + strncpy( (char*)map->name_key, + (const char *)dev_p->dd_name, + sizeof(map->name_key) - 1); memset(&map->location_key[0], 0, sizeof(map->location_key)); - strncpy(map->location_key, dev_p->dd_location, sizeof(map->location_key) - 1); + strncpy((char*)map->location_key, + dev_p->dd_location, + sizeof(map->location_key) - 1); map->entry_p = entry; STAILQ_INSERT_TAIL(&hrState_g.device_name_map, map, link); @@ -121,10 +127,14 @@ entry->index = map->hrIndex; memset(&entry->name[0], 0, sizeof(entry->name)); - strncpy(entry->name, dev_p->dd_name, sizeof(entry->name) - 1); + strncpy((char*)entry->name, + dev_p->dd_name, + sizeof(entry->name) - 1); memset(&entry->location[0], 0, sizeof(entry->location)); - strncpy(entry->location, dev_p->dd_location, sizeof(entry->location) - 1); + strncpy((char*)entry->location, + dev_p->dd_location, + sizeof(entry->location) - 1); INSERT_OBJECT_INT(entry, &hrState_g.hr_device_tbl); @@ -157,8 +167,11 @@ STAILQ_FOREACH(map, &hrState_g.device_name_map, link) - if (strcmp(map->name_key, dev_p->dd_name) == 0 && - strcmp(map->location_key, dev_p->dd_location) == 0) { + if (strcmp((const char*)map->name_key, + (const char*)dev_p->dd_name) == 0 && + strcmp((const char*)map->location_key, + (const char*)dev_p->dd_location) == 0) { + return (map->entry_p); } return (NULL); @@ -178,6 +191,7 @@ static void hrDevice_getType_v(struct devinfo_dev *dev_p, struct asn_oid *out_type_p) { + assert(dev_p != NULL); assert(out_type_p != NULL); if(dev_p == NULL) @@ -185,9 +199,10 @@ if (strncmp(dev_p->dd_name, "cpu", strlen("cpu")) == 0 && strstr(dev_p->dd_location, ".CPU") != NULL) { - *out_type_p = (struct asn_oid)OIDX_hrDeviceProcessor; + *out_type_p = (struct asn_oid)OIDX_hrDeviceProcessor; return; } + *out_type_p = (struct asn_oid)OIDX_hrDeviceOther; /*FIX ME*/ } @@ -228,17 +243,19 @@ memset(entry->descr, 0, sizeof(entry->descr)); if (dev->dd_name[0] != '\0') { - snprintf(entry->descr, sizeof(entry->descr) - 1,"%s: %s", + (void)snprintf((char*)entry->descr, + sizeof(entry->descr) - 1,"%s: %s", dev->dd_name, dev->dd_desc); } else { - snprintf(entry->descr, sizeof(entry->descr) - 1,"unknown at %s", - dev->dd_location); + (void)snprintf((char*)entry->descr, + sizeof(entry->descr) - 1,"unknown at %s", + dev->dd_location); } entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ - entry->status = hrDevice_getStatus(dev); + entry->status = (u_int)hrDevice_getStatus(dev); entry->errors = 0; /*FIX ME*/ } @@ -374,7 +391,10 @@ } devd_addr.sun_family = PF_LOCAL; - strlcpy(devd_addr.sun_path, devd_pipe_name, sizeof(devd_addr.sun_path) - 1); + + (void)strlcpy(devd_addr.sun_path, + devd_pipe_name, + sizeof(devd_addr.sun_path) - 1); if (connect(d_sock, (struct sockaddr *)&devd_addr, sizeof(struct sockaddr_un)) == -1) { @@ -472,7 +492,8 @@ return (SNMP_ERR_NOSUCHNAME); } - if ((entry = hrDeviceTblEntry_find_by_index(value->var.subs[sub])) == NULL) { + if ((entry = hrDeviceTblEntry_find_by_index(value->var.subs[sub])) + == NULL) { return (SNMP_ERR_NOSUCHNAME); } break; ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c#10 (text+ko) ==== @@ -38,7 +38,6 @@ #include #include #include -#include #include #include #include @@ -146,7 +145,7 @@ STAILQ_FOREACH(map, &hrState_g.device_name_map, link) - if (strcmp(map->name_key, dev_name) == 0) { + if (strcmp((const char*)map->name_key, dev_name) == 0) { entry->index = map->hrIndex; map->entry_p = entry; break; @@ -167,10 +166,12 @@ map->hrIndex = hrState_g.next_hrDevice_index ++; memset(&map->name_key[0], 0, sizeof(map->name_key)); - strncpy(map->name_key, dev_name, sizeof(map->name_key) - 1); + strncpy((char*)map->name_key, dev_name, sizeof(map->name_key) - 1); memset(&map->location_key[0], 0, sizeof(map->location_key)); - snprintf(map->location_key, sizeof(map->location_key) - 1, "%s%s", _PATH_DEV, dev_name); + (void)snprintf((char *)map->location_key, + sizeof(map->location_key) - 1, + "%s%s", _PATH_DEV, dev_name); map->entry_p = entry; @@ -187,10 +188,12 @@ entry->index = map->hrIndex; memset(&entry->name[0], 0, sizeof(entry->name)); - strncpy(entry->name, dev_name, sizeof(entry->name) - 1); + strncpy((char *)entry->name, dev_name, sizeof(entry->name) - 1); memset(&entry->location[0], 0, sizeof(entry->location)); - snprintf(entry->location, sizeof(entry->location) - 1, "%s%s", _PATH_DEV, dev_name); + (void)snprintf((char *)entry->location, + sizeof(entry->location) - 1, + "%s%s", _PATH_DEV, dev_name); INSERT_OBJECT_INT(entry, &hrState_g.hr_device_tbl); @@ -207,7 +210,7 @@ STAILQ_FOREACH(map, &hrState_g.device_name_map, link) - if (strcmp(map->name_key, dev_name) == 0 ) { + if (strcmp((char *)map->name_key, dev_name) == 0 ) { return (map->entry_p); } return (NULL); @@ -224,7 +227,8 @@ if( entry->dev_name[0] == '\0' ) { return; } - snprintf(dev_path, sizeof(dev_path) - 1, "%s%s", _PATH_DEV, entry->dev_name); + (void)snprintf(dev_path, sizeof(dev_path) - 1, + "%s%s", _PATH_DEV, entry->dev_name); entry->capacity = 0; HR_DPRINTF((stderr,"OPENING device %s\n",dev_path)); fd = open(dev_path, O_RDONLY|O_NONBLOCK); @@ -245,10 +249,10 @@ } mediasize = mediasize / 1024; entry->capacity = (mediasize > (off_t)INT_MAX ? INT_MAX : mediasize); - if (entry->media == DSM_HARDDISK) { + if (entry->media == (int32_t)DSM_HARDDISK) { /*this silly libdisk crashes if a empty cdrom device is oppened*/ - handleDiskStorage(entry->index, entry->dev_name); + handleDiskStorage(entry->index, (const char* )entry->dev_name); } } QUERY_DONE: @@ -313,9 +317,9 @@ entry->type = (struct asn_oid)OIDX_hrDeviceDiskStorage; entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ - entry->status = DS_RUNNING; + entry->status = (int32_t)DS_RUNNING; entry->errors = 0; /*FIX ME*/ - snprintf(entry->descr, sizeof(entry->descr) - 1, + (void)snprintf((char *)entry->descr, sizeof(entry->descr) - 1, "%s: <%s, ser. %s> ", u_iocmd.u.param.name[i], u_iocmd.u.param.params[i].model, @@ -337,28 +341,38 @@ if (disk_entry == NULL) { continue; } - disk_entry->access = DS_READ_WRITE; - memset(&disk_entry->dev_name[0], 0, sizeof(disk_entry->dev_name)); - strncpy(disk_entry->dev_name, u_iocmd.u.param.name[i], sizeof(disk_entry->dev_name)-1); + disk_entry->access = (int32_t)DS_READ_WRITE; + + memset(&disk_entry->dev_name[0], 0, + sizeof(disk_entry->dev_name)); + + strncpy((char*)disk_entry->dev_name, + u_iocmd.u.param.name[i], + sizeof(disk_entry->dev_name)-1); - if (strncmp(disk_entry->dev_name, "ad", strlen("ad")) == 0) { - disk_entry->media = DSM_HARDDISK; - disk_entry->removable = SNMP_FALSE; - } else if (strncmp(disk_entry->dev_name, "ar", strlen("ar")) == 0) { - disk_entry->media = DSM_OTHER; - disk_entry->removable = SNMP_FALSE; - } else if (strncmp(disk_entry->dev_name, "acd", strlen("acd")) == 0) { - disk_entry->media = DSM_OPTICALDISKROM; - disk_entry->removable = SNMP_TRUE; - } else if (strncmp(disk_entry->dev_name, "afd", strlen("afd")) == 0) { - disk_entry->media = DSM_FLOPPYDISK; - disk_entry->removable = SNMP_TRUE; - } else if (strncmp(disk_entry->dev_name, "ast", strlen("ast")) == 0) { - disk_entry->media = DSM_OTHER; - disk_entry->removable = SNMP_TRUE; + if (strncmp((const char*)disk_entry->dev_name, + "ad", strlen("ad")) == 0) { + disk_entry->media = (int32_t)DSM_HARDDISK; + disk_entry->removable = (int32_t)SNMP_FALSE; + } else if (strncmp((const char*)disk_entry->dev_name, + "ar", strlen("ar")) == 0) { + disk_entry->media = (int32_t)DSM_OTHER; + disk_entry->removable = (int32_t)SNMP_FALSE; + } else if (strncmp((const char*)disk_entry->dev_name, + "acd", strlen("acd")) == 0) { + disk_entry->media = (int32_t)DSM_OPTICALDISKROM; + disk_entry->removable = (int32_t)SNMP_TRUE; + } else if (strncmp((const char*)disk_entry->dev_name, + "afd", strlen("afd")) == 0) { + disk_entry->media = (int32_t)DSM_FLOPPYDISK; + disk_entry->removable = (int32_t)SNMP_TRUE; + } else if (strncmp((const char*)disk_entry->dev_name, + "ast", strlen("ast")) == 0) { + disk_entry->media = (int32_t)DSM_OTHER; + disk_entry->removable = (int32_t)SNMP_TRUE; } else { - disk_entry->media = DSM_UNKNOWN; - disk_entry->removable = SNMP_FALSE; + disk_entry->media = (int32_t)DSM_UNKNOWN; + disk_entry->removable = (int32_t)SNMP_FALSE; } } @@ -505,7 +519,8 @@ } for (unit = 0; unit < mdio.md_pad[0] && unit < MDNPAD - 1; unit++) { char mddev[64] = ""; - snprintf(mddev, sizeof(mddev) - 1, "%s%d", MD_NAME, mdio.md_pad[unit + 1]); + (void)snprintf(mddev, sizeof(mddev) - 1, "%s%d", + MD_NAME, mdio.md_pad[unit + 1]); struct md_ioctl u_mdio; memset(&u_mdio, 0, sizeof(u_mdio)); @@ -532,9 +547,9 @@ entry->type = (struct asn_oid)OIDX_hrDeviceDiskStorage; entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ - entry->status = DS_RUNNING; + entry->status = (int32_t)DS_RUNNING; entry->errors = 0; /*FIX ME*/ - snprintf(entry->descr, sizeof(entry->descr) - 1, + (void)snprintf((char*)entry->descr, sizeof(entry->descr) - 1, "%s: Memory Disk ", mddev); @@ -555,15 +570,17 @@ continue; } if ((u_mdio.md_options & MD_READONLY) == MD_READONLY) { - disk_entry->access = DS_READ_ONLY; + disk_entry->access = (int32_t)DS_READ_ONLY; } else { - disk_entry->access = DS_READ_WRITE; + disk_entry->access = (int32_t)DS_READ_WRITE; } - memset(&disk_entry->dev_name[0], 0, sizeof(disk_entry->dev_name)); - strncpy(disk_entry->dev_name, mddev, sizeof(disk_entry->dev_name)-1); + memset(&disk_entry->dev_name[0], + 0, sizeof(disk_entry->dev_name)); + strncpy((char *)disk_entry->dev_name, + mddev, sizeof(disk_entry->dev_name)-1); - disk_entry->media = DSM_RAMDISK; - disk_entry->removable = SNMP_FALSE; + disk_entry->media = (int32_t)DSM_RAMDISK; + disk_entry->removable = (int32_t)SNMP_FALSE; } @@ -625,7 +642,9 @@ disk = strsep(&hrState_g.disk_list, " "); if (disk == NULL) break; - snprintf(disk_device, sizeof(disk_device) - 1, "%s%s", _PATH_DEV, disk); + + (void)snprintf(disk_device, sizeof(disk_device) - 1, + "%s%s", _PATH_DEV, disk); /* First check if the disk is in the hrDeviceTable. If not,add it. @@ -640,9 +659,9 @@ entry->flags |= HR_DEVICE_IMMUTABLE; entry->type = (struct asn_oid)OIDX_hrDeviceDiskStorage; entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ - entry->status = DS_RUNNING; + entry->status = (int32_t)DS_RUNNING; entry->errors = 0; /*FIX ME*/ - snprintf(entry->descr, sizeof(entry->descr) - 1, + (void)snprintf((char *)entry->descr, sizeof(entry->descr) - 1, "%s: Disk Storage", disk); }else{ @@ -662,28 +681,34 @@ if ((disk_entry->flags & HR_DISKSTORAGE_ATA) == HR_DISKSTORAGE_ATA || (disk_entry->flags & HR_DISKSTORAGE_MD) == HR_DISKSTORAGE_MD) { - /*ATA detection is running before this one, so don't waste the time here */ + /*ATA detection is running before this one, + so don't waste the time here */ continue; } - disk_entry->access = DS_READ_WRITE; - disk_entry->media = DSM_UNKNOWN; - disk_entry->removable = SNMP_FALSE; + disk_entry->access = (int32_t)DS_READ_WRITE; + disk_entry->media = (int32_t)DSM_UNKNOWN; + disk_entry->removable = (int32_t)SNMP_FALSE; - if (strncmp(disk_entry->dev_name, "da", strlen("da")) == 0) { - disk_entry->media = DSM_HARDDISK; - disk_entry->removable = SNMP_FALSE; - } else if (strncmp(disk_entry->dev_name, "cd", strlen("cd")) == 0) { - disk_entry->media = DSM_OPTICALDISKROM; - disk_entry->removable = SNMP_TRUE; + if (strncmp((const char*)disk_entry->dev_name, + "da", strlen("da")) == 0) { + disk_entry->media = (int32_t)DSM_HARDDISK; + disk_entry->removable = (int32_t)SNMP_FALSE; + } else if (strncmp((const char*)disk_entry->dev_name, + "cd", strlen("cd")) == 0) { + disk_entry->media = (int32_t)DSM_OPTICALDISKROM; + disk_entry->removable = (int32_t)SNMP_TRUE; } else { - disk_entry->media = DSM_UNKNOWN; - disk_entry->removable = SNMP_FALSE; + disk_entry->media = (int32_t)DSM_UNKNOWN; + disk_entry->removable = (int32_t)SNMP_FALSE; } - memset(&disk_entry->dev_name[0], 0, sizeof(disk_entry->dev_name)); - strncpy(disk_entry->dev_name, disk, sizeof(disk_entry->dev_name)-1); + memset(&disk_entry->dev_name[0], 0, + sizeof(disk_entry->dev_name)); + + strncpy((char *)disk_entry->dev_name, disk, + sizeof(disk_entry->dev_name)-1); hrDiskStorage_queryDisk(disk_entry); disk_entry->r_tick = this_tick; ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.h#27 (text+ko) ==== @@ -37,7 +37,6 @@ #include /*for FILE */ #include /*for kvm_open & friends*/ #include -#include /*for struct timeval*/ #include /*for SLIST, TAILQ & friends*/ #include /*for getfsstat*/ @@ -46,7 +45,7 @@ #include #include -#include + /*a debug macro*/ #ifndef NDEBUG From owner-p4-projects@FreeBSD.ORG Tue Aug 30 23:51:20 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2AA2D16A41F; Tue, 30 Aug 2005 23:51:19 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 AB32E16A41F for ; Tue, 30 Aug 2005 23:51:19 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1E06643D45 for ; Tue, 30 Aug 2005 23:51:19 +0000 (GMT) (envelope-from soc-victor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7UNpJnh023785 for ; Tue, 30 Aug 2005 23:51:19 GMT (envelope-from soc-victor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7UNpIpc023782 for perforce@freebsd.org; Tue, 30 Aug 2005 23:51:18 GMT (envelope-from soc-victor@freebsd.org) Date: Tue, 30 Aug 2005 23:51:18 GMT Message-Id: <200508302351.j7UNpIpc023782@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-victor@freebsd.org using -f From: Victor Cruceru To: Perforce Change Reviews Cc: Subject: PERFORCE change 82880 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Aug 2005 23:51:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=82880 Change 82880 by soc-victor@soc-victor_82.76.158.176 on 2005/08/30 23:51:05 More cleanup for HR-MIB. Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c#11 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_fs_tbl.c#6 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_network_tbl.c#5 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_partition_tbl.c#5 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_printer_tbl.c#5 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_processor_tbl.c#4 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_scalars.c#11 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.c#22 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_storage_tbl.c#10 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_swinstalled_tbl.c#3 edit Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_diskstorage_tbl.c#11 (text+ko) ==== @@ -518,10 +518,12 @@ return; } for (unit = 0; unit < mdio.md_pad[0] && unit < MDNPAD - 1; unit++) { + struct md_ioctl u_mdio; char mddev[64] = ""; + (void)snprintf(mddev, sizeof(mddev) - 1, "%s%d", MD_NAME, mdio.md_pad[unit + 1]); - struct md_ioctl u_mdio; + memset(&u_mdio, 0, sizeof(u_mdio)); u_mdio.md_version = MDIOVERSION; ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_fs_tbl.c#6 (text+ko) ==== @@ -32,8 +32,6 @@ #include "hostres_snmp.h" #include "hostres_oid.h" #include "hostres_tree.h" - -#include #include #include #include @@ -57,10 +55,15 @@ return (NULL); } memset(entry, 0, sizeof(*entry)); - strncpy(entry->mountPoint, name, sizeof(entry->mountPoint)-1); + + strncpy((char *)entry->mountPoint, name, + sizeof(entry->mountPoint)-1); STAILQ_FOREACH(map, &hrState_g.fs_name_map, link) - if (strncmp(map->a_name, entry->mountPoint, sizeof(map->a_name) - 1) == 0) { + if (strncmp((const char*)map->a_name, + (const char*)entry->mountPoint, + sizeof(map->a_name) - 1) == 0) { + entry->index = map->hrIndex; map->entry_p = entry; break; @@ -80,7 +83,9 @@ } map->hrIndex = hrState_g.next_hrFS_index ++; map->a_name[sizeof(map->a_name)-1]='\0'; - strncpy(map->a_name, entry->mountPoint, sizeof(map->a_name)-1); + strncpy((char*)map->a_name, + (const char*)entry->mountPoint, + sizeof(map->a_name) - 1); map->entry_p = entry; STAILQ_INSERT_TAIL(&hrState_g.fs_name_map, map, link); HR_DPRINTF((stderr, "%s added into hrFSMap at index=%d\n ", @@ -120,7 +125,9 @@ struct hrFSTblEntry *entry = NULL; TAILQ_FOREACH(entry, &hrState_g.hr_fs_tbl, link) - if (strncmp(entry->mountPoint, name, sizeof(entry->mountPoint) - 1) == 0) + if (strncmp((const char*)entry->mountPoint, + name, + sizeof(entry->mountPoint) - 1) == 0) return (entry); return (NULL); } @@ -289,13 +296,14 @@ entry->flags |= HR_FS_FOUND; entry->mountPoint[0]='\0'; - strncpy(&entry->mountPoint[0], &fs_p->f_mntonname[0], + strncpy((char *)&entry->mountPoint[0], &fs_p->f_mntonname[0], sizeof(entry->mountPoint) - 1 ); if( !(fs_p->f_flags & MNT_LOCAL) ) { /*this remote mount*/ - strncpy(&entry->remoteMountPoint[0], &fs_p->f_mntfromname[0], + strncpy((char*)&entry->remoteMountPoint[0], + &fs_p->f_mntfromname[0], sizeof(entry->remoteMountPoint)-1); } else { entry->remoteMountPoint[0]='\0'; @@ -304,16 +312,16 @@ get_FS_type_v(fs_p, &entry->type); if( (fs_p->f_flags & MNT_RDONLY) == MNT_RDONLY ) { - entry->access = FS_READ_ONLY; + entry->access = (int32_t)FS_READ_ONLY; } else { - entry->access = FS_READ_WRITE; + entry->access = (int32_t)FS_READ_WRITE; } /*FIX ME - bootable fs ?! */ if( ( fs_p->f_flags & MNT_ROOTFS ) == MNT_ROOTFS ) { - entry->bootable = SNMP_TRUE; + entry->bootable = (int32_t)SNMP_TRUE; } else { - entry->bootable = SNMP_FALSE; + entry->bootable = (int32_t)SNMP_FALSE; } entry->storageIndex = storage_idx; @@ -337,13 +345,13 @@ memset(&entry->mountPoint[0], '\0', sizeof(entry->mountPoint)); - strncpy(&entry->mountPoint[0], &fs_p->f_mntonname[0], + strncpy((char *)&entry->mountPoint[0], &fs_p->f_mntonname[0], sizeof(entry->mountPoint) - 1 ); if( !(fs_p->f_flags & MNT_LOCAL) ) { /*this remote mount*/ - strncpy(&entry->remoteMountPoint[0], &fs_p->f_mntfromname[0], + strncpy((char *)&entry->remoteMountPoint[0], &fs_p->f_mntfromname[0], sizeof(entry->remoteMountPoint)-1); } else { entry->remoteMountPoint[0]='\0'; @@ -352,16 +360,16 @@ get_FS_type_v(fs_p, &entry->type); if( ( fs_p->f_flags & MNT_RDONLY ) == MNT_RDONLY ) { - entry->access = FS_READ_ONLY; + entry->access = (int32_t)FS_READ_ONLY; } else { - entry->access = FS_READ_WRITE; + entry->access = (int32_t)FS_READ_WRITE; } /*FIX ME - bootable fs ?! */ if( ( fs_p->f_flags & MNT_ROOTFS ) == MNT_ROOTFS ) { - entry->bootable = SNMP_TRUE; + entry->bootable = (int32_t)SNMP_TRUE; } else { - entry->bootable = SNMP_FALSE; + entry->bootable = (int32_t)SNMP_FALSE; } ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_network_tbl.c#5 (text+ko) ==== @@ -76,19 +76,13 @@ #include #include #include -#include #include #include #include -#include -#include #include #include -#include -#include #include #include -#include #include #include #include @@ -183,7 +177,7 @@ STAILQ_FOREACH(map, &hrState_g.device_name_map, link) - if (strcmp(map->name_key, dev_name) == 0) { + if (strcmp((const char*)map->name_key, dev_name) == 0) { entry->index = map->hrIndex; map->entry_p = entry; break; @@ -204,10 +198,15 @@ map->hrIndex = hrState_g.next_hrDevice_index ++; memset(&map->name_key[0], 0, sizeof(map->name_key)); - strncpy(map->name_key, dev_name, sizeof(map->name_key) - 1); + + strncpy((char *)map->name_key, + dev_name, + sizeof(map->name_key) - 1); memset(&map->location_key[0], 0, sizeof(map->location_key)); - snprintf(map->location_key, sizeof(map->location_key) - 1, "net_device:%s", dev_name); + (void)snprintf((char*)map->location_key, + sizeof(map->location_key) - 1, + "net_device:%s", dev_name); map->entry_p = entry; @@ -224,10 +223,13 @@ entry->index = map->hrIndex; memset(&entry->name[0], 0, sizeof(entry->name)); - strncpy(entry->name, dev_name, sizeof(entry->name) - 1); + strncpy((char *)entry->name, dev_name, + sizeof(entry->name) - 1); memset(&entry->location[0], 0, sizeof(entry->location)); - snprintf(entry->location, sizeof(entry->location) - 1, "net_device:%s", dev_name); + (void)snprintf((char *)entry->location, + sizeof(entry->location) - 1, + "net_device:%s", dev_name); INSERT_OBJECT_INT(entry, &hrState_g.hr_device_tbl); @@ -323,9 +325,10 @@ dev_entry->flags |= HR_DEVICE_IMMUTABLE; dev_entry->type = (struct asn_oid)OIDX_hrDeviceNetwork; dev_entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ - dev_entry->status = DS_RUNNING; + dev_entry->status = (int32_t)DS_RUNNING; dev_entry->errors = 0; /*FIX ME*/ - snprintf(dev_entry->descr, sizeof(dev_entry->descr) - 1, + (void)snprintf((char *)dev_entry->descr, + sizeof(dev_entry->descr) - 1, "%s: Network device", ifptr->ifr_name); }else{ ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_partition_tbl.c#5 (text+ko) ==== @@ -31,7 +31,6 @@ #include "hostres_snmp.h" #include "hostres_oid.h" #include "hostres_tree.h" -#include #include #include #include @@ -80,7 +79,7 @@ STAILQ_FOREACH(map, &hrState_g.partition_name_map, link) - if (strcmp(map->id, curr_chunk->name) == 0 ) { + if (strcmp((const char*)map->id, curr_chunk->name) == 0 ) { map->entry_p = entry; break; } @@ -100,7 +99,7 @@ map->index = hrState_g.next_hrPartition_index ++; memset(&map->id[0], 0, sizeof(map->id)); - strncpy(map->id, curr_chunk->name, sizeof(map->id) - 1); + strncpy((char *)map->id, curr_chunk->name, sizeof(map->id) - 1); map->entry_p = entry; @@ -119,7 +118,7 @@ entry->index.subs[1] = map->index; memset(&entry->id[0], 0, sizeof(entry->id)); - strncpy(entry->id, curr_chunk->name, sizeof(entry->id) - 1); + strncpy((char*)entry->id, curr_chunk->name, sizeof(entry->id) - 1); INSERT_OBJECT_OID_LINK_INDEX(entry, &hrState_g.hr_partition_tbl, link, index); @@ -150,7 +149,7 @@ struct hrPartitionTblEntry *entry = NULL; TAILQ_FOREACH(entry, &hrState_g.hr_partition_tbl, link) - if (strncmp(entry->id, name, sizeof(entry->id) - 1) == 0) + if (strncmp((const char *)entry->id, name, sizeof(entry->id) - 1) == 0) return (entry); return (NULL); } @@ -161,7 +160,7 @@ struct hrPartitionTblEntry *entry = NULL; TAILQ_FOREACH(entry, &hrState_g.hr_partition_tbl, link) - if (strncmp(entry->label, name, sizeof(entry->label) - 1) == 0) + if (strncmp((const char *)entry->label, name, sizeof(entry->label) - 1) == 0) return (entry); return (NULL); } @@ -169,6 +168,8 @@ static void handleChunk(int32_t ds_index, const struct chunk* chunk_p) { struct hrPartitionTblEntry* entry = NULL; + daddr_t k_size; + assert(chunk_p != NULL); if (chunk_p == NULL) return; @@ -184,8 +185,10 @@ } assert(entry != NULL); entry->flags |= HR_PARTITION_FOUND; - snprintf(entry->label, sizeof(entry->label) - 1, "%s%s", _PATH_DEV, chunk_p->name ); - daddr_t k_size= chunk_p->size/2; + (void)snprintf((char* )entry->label, + sizeof(entry->label) - 1, "%s%s", + _PATH_DEV, chunk_p->name ); + k_size = chunk_p->size/2; /*may overflow the SNMP type*/ entry->size = ( k_size > (daddr_t)INT_MAX ? INT_MAX : k_size ); } ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_printer_tbl.c#5 (text+ko) ==== @@ -71,7 +71,6 @@ #include "hostres_oid.h" #include "hostres_tree.h" #include -#include #include #include #include @@ -169,9 +168,9 @@ len = MAXPATHLEN; if (pp->status_file[0] == '/') - strlcpy(buf, pp->status_file, len); + (void)strlcpy(buf, pp->status_file, len); else - snprintf(buf, len, "%s/%s", pp->spool_dir, pp->status_file); + (void)snprintf(buf, len, "%s/%s", pp->spool_dir, pp->status_file); return buf; } @@ -188,9 +187,9 @@ len = MAXPATHLEN; if (pp->lock_file[0] == '/') - strlcpy(buf, pp->lock_file, len); + (void)strlcpy(buf, pp->lock_file, len); else - snprintf(buf, len, "%s/%s", pp->spool_dir, pp->lock_file); + (void)snprintf(buf, len, "%s/%s", pp->spool_dir, pp->lock_file); return buf; } @@ -301,7 +300,9 @@ void lastprinter(void) { - cgetclose(); + if (cgetclose() != 0) { + syslog(LOG_ERR, "cgetclose() failed: %m"); + } } @@ -577,7 +578,7 @@ STAILQ_FOREACH(map, &hrState_g.device_name_map, link) { - if (strcmp(map->name_key, dev_name) == 0) { + if (strcmp((const char*)map->name_key, dev_name) == 0) { entry->index = map->hrIndex; map->entry_p = entry; break; @@ -599,10 +600,12 @@ map->hrIndex = hrState_g.next_hrDevice_index ++; memset(&map->name_key[0], 0, sizeof(map->name_key)); - strncpy(map->name_key, dev_name, sizeof(map->name_key) - 1); + strncpy((char *)map->name_key, dev_name, sizeof(map->name_key) - 1); memset(&map->location_key[0], 0, sizeof(map->location_key)); - snprintf(map->location_key, sizeof(map->location_key) - 1, "printer:%s", dev_name); + (void)snprintf((char *)map->location_key, + sizeof(map->location_key) - 1, + "printer:%s", dev_name); map->entry_p = entry; @@ -619,10 +622,12 @@ entry->index = map->hrIndex; memset(&entry->name[0], 0, sizeof(entry->name)); - strncpy(entry->name, dev_name, sizeof(entry->name) - 1); + strncpy((char *)entry->name, dev_name, sizeof(entry->name) - 1); memset(&entry->location[0], 0, sizeof(entry->location)); - snprintf(entry->location, sizeof(entry->location) - 1, "printer:%s", dev_name); + (void)snprintf((char *)entry->location, + sizeof(entry->location) - 1, + "printer:%s", dev_name); INSERT_OBJECT_INT(entry, &hrState_g.hr_device_tbl); @@ -641,7 +646,7 @@ FILE* f = NULL; enum PrinterStatus ps = PS_UNKNOWN; - lock_file_name(pp, lockfile, sizeof lockfile); + (void)lock_file_name(pp, lockfile, sizeof lockfile); fd = open(lockfile, O_RDONLY); if (fd < 0 || flock(fd, LOCK_SH|LOCK_NB) == 0) { (void) close(fd); /* unlocks as well */ @@ -651,10 +656,11 @@ } - status_file_name(pp, statfile, sizeof(statfile)); + (void)status_file_name(pp, statfile, sizeof(statfile)); f = fopen(statfile, "r"); if (f == NULL) { - syslog(LOG_ERR, "cannot open status file: %s\n", strerror(errno)); + syslog(LOG_ERR, "cannot open status file: %s\n", + strerror(errno)); ps = PS_UNKNOWN; goto LABEL_DONE; } @@ -712,7 +718,8 @@ } memset(&dev_only[0], '\0', sizeof(dev_only)); - snprintf(dev_only, sizeof(dev_only) - 1, "%s", pp->lp + strlen(_PATH_DEV)); + (void)snprintf(dev_only, sizeof(dev_only) - 1, + "%s", pp->lp + strlen(_PATH_DEV)); HR_DPRINTF((stderr, "hrPrinterTable: printer %s has device %s\n", @@ -748,9 +755,10 @@ dev_entry->flags |= HR_DEVICE_IMMUTABLE; dev_entry->type = (struct asn_oid)OIDX_hrDevicePrinter; dev_entry->id = oid_zeroDotZero; /*unknown id - FIX ME*/ - dev_entry->status = DS_RUNNING; + dev_entry->status = (int32_t)DS_RUNNING; dev_entry->errors = 0; /*FIX ME*/ - snprintf(dev_entry->descr, sizeof(dev_entry->descr) - 1, + (void)snprintf((char *)dev_entry->descr, + sizeof(dev_entry->descr) - 1, "printer %s: %s ", pp->printer , pp->lp); @@ -769,8 +777,9 @@ } assert(printer_entry != NULL); printer_entry->flags |= HR_PRINTER_FOUND; - printer_entry->status = getPrinterSatus(pp); - memset(printer_entry->detectedErrorState, 0, sizeof(printer_entry->detectedErrorState)); + printer_entry->status = (int32_t)getPrinterSatus(pp); + memset(printer_entry->detectedErrorState, 0, + sizeof(printer_entry->detectedErrorState)); } ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_processor_tbl.c#4 (text+ko) ==== @@ -36,10 +36,7 @@ #include #include #include -#include #include -#include -#include #include #include @@ -51,9 +48,7 @@ for( i = 0; i < MAX_CPU_SAMPLES; i++ ){ sum += entry->samples[i]; } - return floor((double)sum/(double)MAX_CPU_SAMPLES); - - + return ((int)floor((double)sum/(double)MAX_CPU_SAMPLES)); } @@ -147,7 +142,7 @@ entry->samples[entry->cur_sample_idx] = (double)100.0 - hrProcessor_getpcpu(plist); /*this is fisrt time, thus no previous samples*/ - entry->load = floor(entry->samples[entry->cur_sample_idx]); + entry->load = (int)floor(entry->samples[entry->cur_sample_idx]); entry->cur_sample_idx = (entry->cur_sample_idx + 1) % MAX_CPU_SAMPLES; } @@ -173,38 +168,38 @@ * If not, no entries will be present in the hrProcessor Table */ STAILQ_FOREACH(map, &hrState_g.device_name_map, link) { - if (strncmp(map->name_key, "cpu", strlen("cpu")) == 0 && - strstr(map->location_key, ".CPU") != NULL) { - if (sscanf(map->name_key,"cpu%d", &cpu_no) != 1) { - syslog(LOG_ERR, - "hrProcessorTable: Failed to get cpu no. from device named \"%s\"", - map->name_key); - continue; - } - - entry = (struct hrProcessorTblEntry *)malloc(sizeof(*entry)); - if (entry == NULL) { - syslog(LOG_ERR, - "hrProcessorTable: %s malloc failed: %m", __func__); - continue; /*next time?*/ - } - memset(entry, 0, sizeof(*entry)); - - entry->index = map->hrIndex; - entry->load = 0; - entry->cpu_no = (u_char)cpu_no; - entry->idle_pid = 0; - entry->frwId = oid_zeroDotZero; /*unknown id - FIX ME*/ + if (strncmp((const char*)map->name_key, "cpu", strlen("cpu")) == 0 && + strstr((const char*)map->location_key, ".CPU") != NULL) { + if (sscanf((const char*)map->name_key,"cpu%d", &cpu_no) != 1) { + syslog(LOG_ERR, + "hrProcessorTable: Failed to get cpu no. from device named \"%s\"", + map->name_key); + continue; + } + + entry = (struct hrProcessorTblEntry *)malloc(sizeof(*entry)); + if (entry == NULL) { + syslog(LOG_ERR, + "hrProcessorTable: %s malloc failed: %m", __func__); + continue; /*next time?*/ + } + memset(entry, 0, sizeof(*entry)); + + entry->index = map->hrIndex; + entry->load = 0; + entry->cpu_no = (u_char)cpu_no; + entry->idle_pid = 0; + entry->frwId = oid_zeroDotZero; /*unknown id - FIX ME*/ - INSERT_OBJECT_INT(entry, &hrState_g.hr_processor_tbl); - - hrState_g.detected_processor_count++; - - HR_DPRINTF((stderr, "CPU %d added with SNMP index=%d\n ", - entry->cpu_no, - entry->index)); - - } + INSERT_OBJECT_INT(entry, &hrState_g.hr_processor_tbl); + + hrState_g.detected_processor_count++; + + HR_DPRINTF((stderr, "CPU %d added with SNMP index=%d\n ", + entry->cpu_no, + entry->index)); + + } } HR_DPRINTF((stderr, "%s: %d CPUs detected\n", __func__, hrState_g.detected_processor_count)); @@ -238,7 +233,7 @@ static void hrProcessor_refill_tbl(void) { if(hrState_g.hw_ncpu <= 0){ - int size = sizeof(hrState_g.hw_ncpu); + size_t size = sizeof(hrState_g.hw_ncpu); if (sysctlbyname("hw.ncpu", &hrState_g.hw_ncpu, &size, NULL, 0) < 0 || size != sizeof(hrState_g.hw_ncpu)) { syslog(LOG_ERR, "hrProcessorTable: sysctl(hw.ncpu) failed"); ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_scalars.c#11 (text+ko) ==== @@ -33,7 +33,6 @@ #include #include #include -#include #include #include #include @@ -433,9 +432,14 @@ size_t buf_len = 0; - sysctl(mib, 2, NULL, &buf_len, NULL, 0); /*got the needed buffer len */ + /*get the needed buffer len */ + if(sysctl(mib, 2, NULL, &buf_len, NULL, 0) != 0){ + syslog(LOG_ERR, "sysctl({CTL_KERN,KERN_BOOTFILE}) failed: %m "); + return (NULL); /*error*/ + + } - buf = (u_char*)malloc(buf_len); + buf = (char*)malloc(buf_len); if(buf == NULL){ syslog(LOG_ERR, "malloc failed "); @@ -459,7 +463,7 @@ int OS_getSystemNumUsers(void) { int user_counter = 0; struct utmp utmp_entry; - struct passwd *pw; + if( hrState_g.utmp_fp == (FILE*)NULL ) { assert(0); return (-1); /*error*/ @@ -469,7 +473,7 @@ while (fread(&utmp_entry, sizeof(utmp_entry), 1, hrState_g.utmp_fp) == 1 ) { if (utmp_entry.ut_name[0] && utmp_entry.ut_line[0]) { - if( (pw = getpwnam(utmp_entry.ut_name)) == NULL ) { + if( getpwnam(utmp_entry.ut_name) == NULL ) { continue; } user_counter++; ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.c#22 (text+ko) ==== @@ -55,7 +55,6 @@ #include #include #include -#include #include #include @@ -154,7 +153,7 @@ mdmaybeload(); hrState_g.md_fd = -1; - snprintf(mddev, sizeof(mddev) - 1, "%s%s", _PATH_DEV, MDCTL_NAME); + (void)snprintf(mddev, sizeof(mddev) - 1, "%s%s", _PATH_DEV, MDCTL_NAME); if ((hrState_g.md_fd = open(mddev, O_RDWR)) < 0) { syslog(LOG_ERR, "open %s failed: %m", mddev); } ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_storage_tbl.c#10 (text+ko) ==== @@ -31,7 +31,6 @@ #include "hostres_snmp.h" #include "hostres_oid.h" #include "hostres_tree.h" -#include #include #include #include @@ -57,10 +56,11 @@ return (NULL); } memset(entry, 0, sizeof(*entry)); - strncpy(entry->descr, name, sizeof(entry->descr) - 1); + strncpy((char *)entry->descr, name, sizeof(entry->descr) - 1); STAILQ_FOREACH(map, &hrState_g.storage_name_map, link) - if (strcmp(map->a_name, entry->descr) == 0) { + if (strcmp((const char*)map->a_name, + (const char*)entry->descr) == 0) { entry->index = map->hrIndex; map->entry_p = entry; break; @@ -79,7 +79,8 @@ return (NULL); } map->hrIndex = hrState_g.next_hrStorage_index ++; - strncpy(map->a_name, entry->descr, sizeof(map->a_name) - 1); + strncpy((char *)map->a_name, (char *)entry->descr, + sizeof(map->a_name) - 1); map->entry_p = entry; STAILQ_INSERT_TAIL(&hrState_g.storage_name_map, map, link); HR_DPRINTF((stderr, "%s added into hrStorageMap at index=%d\n ", name, map->hrIndex)); @@ -118,7 +119,8 @@ struct hrStorageTblEntry *entry = NULL; TAILQ_FOREACH(entry, &hrState_g.hr_storage_tbl, link) - if (strncmp(entry->descr, name, sizeof(entry->descr) - 1) == 0) + if (strncmp((const char*)entry->descr, name, + sizeof(entry->descr) - 1) == 0) return (entry); return (NULL); } @@ -146,7 +148,7 @@ void hrStorage_OS_get_vm_v(void) { /*FIX ME*/ int mib[2] = { CTL_VM, VM_TOTAL }; - int len = sizeof(hrState_g.mem_stats); + size_t len = sizeof(hrState_g.mem_stats); int page_size_bytes; struct hrStorageTblEntry *entry = NULL; if ( sysctl(mib, 2, &hrState_g.mem_stats, &len, NULL, 0) < 0 ) { @@ -197,12 +199,13 @@ static void hrStorage_OS_get_swap_v(void) { int nswapdev = 0; - int len = sizeof(nswapdev); + size_t len = sizeof(nswapdev); struct hrStorageTblEntry *entry; char swap_w_prefix[255+1]; - if ( sysctlbyname("vm.nswapdev", &nswapdev,&len, NULL,0 ) < 0 ) { - syslog(LOG_ERR, "hrStorageTable: sysctlbyname(\"vm.nswapdev\") failed. %m \n"); + if ( sysctlbyname("vm.nswapdev", &nswapdev, &len, NULL,0 ) < 0 ) { + syslog(LOG_ERR, + "hrStorageTable: sysctlbyname(\"vm.nswapdev\") failed. %m \n"); assert(0); return; } @@ -235,9 +238,9 @@ - for (len = 0; len < nswapdev; len++ ) { + for (len = 0; len < (size_t)nswapdev; len++ ) { memset(&swap_w_prefix[0], '\0', sizeof(swap_w_prefix) ); - snprintf(swap_w_prefix, sizeof(swap_w_prefix) - 1, + (void)snprintf(swap_w_prefix, sizeof(swap_w_prefix) - 1, "Swap:%s%s", _PATH_DEV, hrState_g.swap_devs[len].ksw_devname); entry = hrStorageTblEntry_find_by_name(swap_w_prefix); if (entry != NULL) { @@ -353,7 +356,9 @@ memset(&fs_string[0], '\0', sizeof(fs_string) ); - snprintf(fs_string, sizeof(fs_string) - 1, "%s, type: %s, dev: %s", hrState_g.fs_buf[i].f_mntonname, + (void)snprintf(fs_string, sizeof(fs_string) - 1, + "%s, type: %s, dev: %s", + hrState_g.fs_buf[i].f_mntonname, hrState_g.fs_buf[i].f_fstypename, hrState_g.fs_buf[i].f_mntfromname); ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_swinstalled_tbl.c#3 (text+ko) ==== @@ -32,7 +32,6 @@ #include "hostres_snmp.h" #include "hostres_oid.h" #include "hostres_tree.h" -#include #include #include #include @@ -41,7 +40,6 @@ #include #include #include -#include #include extern @@ -58,10 +56,13 @@ return (NULL); } memset(entry, 0, sizeof(*entry)); - strncpy(entry->name, name, sizeof(entry->name)-1); + strncpy((char*)entry->name, name, sizeof(entry->name)-1); STAILQ_FOREACH(map, &hrState_g.sw_installed_name_map, link) - if (strncmp(map->name, entry->name, sizeof(map->name) - 1) == 0) { + if (strncmp((const char*)map->name, + (const char*)entry->name, + sizeof(map->name) - 1) == 0) { + entry->index = map->hrIndex; map->entry_p = entry; break; @@ -81,7 +82,7 @@ } map->hrIndex = hrState_g.next_hrSWInstalled_index ++; map->name[sizeof(map->name)-1]='\0'; - strncpy(map->name, entry->name, sizeof(map->name) - 1); + strncpy((char *)map->name, (const char *)entry->name, sizeof(map->name) - 1); map->entry_p = entry; STAILQ_INSERT_TAIL(&hrState_g.sw_installed_name_map, map, link); HR_DPRINTF((stderr, "%s added into hrSWInstalled at index=%d\n ", @@ -121,7 +122,9 @@ struct hrSWInstalledTblEntry *entry = NULL; TAILQ_FOREACH(entry, &hrState_g.hr_sw_installed_tbl, link) - if (strncmp(entry->name, name, sizeof(entry->name) - 1) == 0) + if (strncmp((const char*)entry->name, name, + sizeof(entry->name) - 1) == 0) + return (entry); return (NULL); } @@ -175,7 +178,7 @@ return; } - snprintf(os_string, sizeof(os_string) - 1, "%s: %s", + (void)snprintf(os_string, sizeof(os_string) - 1, "%s: %s", os_id.sysname, os_id.version); entry = hrSWInstalledTblEntry_find_by_name(os_string); @@ -189,7 +192,7 @@ entry->flags |= (HR_SWINSTALLED_FOUND | HR_SWINSTALLED_IMMUTABLE); entry->id = oid_zeroDotZero; - entry->type= SWI_OPERATING_SYSTEM; + entry->type = (int32_t)SWI_OPERATING_SYSTEM; memset(&entry->date[0], 0, sizeof(entry->date)); (void)OS_getSystemInitialLoadParameters(); @@ -232,7 +235,8 @@ #define LOG_DIR (getenv(PKG_DBDIR) ? getenv(PKG_DBDIR) : DEF_LOG_DIR) #define CONTENTS_FNAME "+CONTENTS" - char pkg_dir[PATH_MAX]; /*1024, for sure it's too much for this situation*/ + char pkg_dir[PATH_MAX]; /*1024, for sure it's too much f + or this situation*/ struct stat sb; DIR *p_dir = NULL; struct dirent dir_entry; @@ -243,18 +247,22 @@ memset(&pkg_dir[0], 0, sizeof(pkg_dir)); memset(&sb, 0, sizeof(sb)); - snprintf(pkg_dir, sizeof(pkg_dir) - 1, "%s", LOG_DIR); + (void)snprintf(pkg_dir, sizeof(pkg_dir) - 1, "%s", LOG_DIR); if (stat(pkg_dir, &sb) != 0) { - syslog(LOG_ERR, "hrSWInstalledTable: stat(\"%s\") failed: %m ", pkg_dir); + syslog(LOG_ERR, + "hrSWInstalledTable: stat(\"%s\") failed: %m ", pkg_dir); return; } if (!S_ISDIR(sb.st_mode)) { - syslog(LOG_ERR, "hrSWInstalledTable: \"%s\" is not a directory! ", pkg_dir); + syslog(LOG_ERR, + "hrSWInstalledTable: \"%s\" is not a directory! ", pkg_dir); return; } if (sb.st_ctime <= hrState_g.os_pkg_last_change) { - HR_DPRINTF((stderr, "%s: no need to rescan installed packages, directory time-stamp unmodified \n ", - __func__)); + HR_DPRINTF((stderr, + "%s: no need to rescan installed packages, directory time-stamp unmodified \n ", + __func__)); + TAILQ_FOREACH(entry, &hrState_g.hr_sw_installed_tbl, link) entry->flags |= HR_SWINSTALLED_FOUND; return; @@ -286,7 +294,7 @@ - snprintf(pkg_file, sizeof(pkg_file) - 1, "%s/%s/%s", + (void)snprintf(pkg_file, sizeof(pkg_file) - 1, "%s/%s/%s", pkg_dir, dir_entry.d_name, CONTENTS_FNAME); @@ -317,10 +325,11 @@ entry->flags |= HR_SWINSTALLED_FOUND; entry->id = oid_zeroDotZero; - entry->type= SWI_APPLICATION; + entry->type = (int32_t)SWI_APPLICATION; memset(&entry->date[0], 0, sizeof(entry->date)); - snprintf(pkg_file, sizeof(pkg_file) - 1, "%s/%s", pkg_dir, dir_entry.d_name); + (void)snprintf(pkg_file, sizeof(pkg_file) - 1, "%s/%s", + pkg_dir, dir_entry.d_name); if(stat(pkg_file, &sb) == 0) { @@ -352,7 +361,8 @@ }/*end for*/ if (return_code != 0) { - syslog(LOG_ERR, "hrSWInstalledTable: readdir_r(\"%s\") failed: %m ", pkg_dir); + syslog(LOG_ERR, + "hrSWInstalledTable: readdir_r(\"%s\") failed: %m ", pkg_dir); } else { /*save the timestamp of directory to avoid any further scanning*/ @@ -361,7 +371,10 @@ PKG_LOOP_END: if ( p_dir != NULL ) { - closedir(p_dir); + if (closedir(p_dir) != 0) { + syslog(LOG_ERR, + "hrSWInstalledTable: closedir failed: %m "); + } } From owner-p4-projects@FreeBSD.ORG Wed Aug 31 05:38:18 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 364C316A421; Wed, 31 Aug 2005 05:38:18 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 DBAE716A41F for ; Wed, 31 Aug 2005 05:38:17 +0000 (GMT) (envelope-from soc-shteryana@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8AF9F43D45 for ; Wed, 31 Aug 2005 05:38:17 +0000 (GMT) (envelope-from soc-shteryana@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7V5cHSU051777 for ; Wed, 31 Aug 2005 05:38:17 GMT (envelope-from soc-shteryana@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7V5cHe3051774 for perforce@freebsd.org; Wed, 31 Aug 2005 05:38:17 GMT (envelope-from soc-shteryana@freebsd.org) Date: Wed, 31 Aug 2005 05:38:17 GMT Message-Id: <200508310538.j7V5cHe3051774@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-shteryana@freebsd.org using -f From: soc-shteryana To: Perforce Change Reviews Cc: Subject: PERFORCE change 82885 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Aug 2005 05:38:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=82885 Change 82885 by soc-shteryana@syrinx on 2005/08/31 05:37:20 simple bsnmp client tools - get, set and walk - added common functions used by the three tools in libbsnmp (lib/libbsnmp/libbsnmp/bsnmptools.c) - these should be moved in a separate library when code parsing OIDs is implemented implementation is poorly tested - this will be corrected ASAP have to fix comments as well (don't pay them much attention for now pls) Affected files ... .. //depot/projects/soc2005/bsnmp/lib/libbsnmp/libbsnmp/Makefile#2 edit .. //depot/projects/soc2005/bsnmp/lib/libbsnmp/libbsnmp/bsnmptools.c#1 add .. //depot/projects/soc2005/bsnmp/lib/libbsnmp/libbsnmp/bsnmptools.h#1 add .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/Makefile#2 edit .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/tools/Makefile#1 add .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/tools/Makefile.inc#1 add .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/tools/bsnmpget/Makefile#1 add .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/tools/bsnmpget/bsnmpget.1#1 add .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/tools/bsnmpget/bsnmpget.c#1 add .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/tools/bsnmpset/Makefile#1 add .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/tools/bsnmpset/bsnmpset.1#1 add .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/tools/bsnmpset/bsnmpset.c#1 add .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/tools/bsnmpset/bsnmpset.h#1 add .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/tools/bsnmpwalk/Makefile#1 add .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/tools/bsnmpwalk/bsnmpwalk.1#1 add .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/tools/bsnmpwalk/bsnmpwalk.c#1 add Differences ... ==== //depot/projects/soc2005/bsnmp/lib/libbsnmp/libbsnmp/Makefile#2 (text+ko) ==== @@ -10,8 +10,8 @@ CFLAGS+= -I${CONTRIB} -DHAVE_ERR_H -DHAVE_GETADDRINFO -DHAVE_STRLCPY -SRCS= asn1.c snmp.c snmpagent.c snmpclient.c support.c -INCS= asn1.h snmp.h snmpagent.h snmpclient.h +SRCS= asn1.c snmp.c snmpagent.c snmpclient.c support.c bsnmptools.c +INCS= asn1.h snmp.h snmpagent.h snmpclient.h bsnmptools.h MAN= asn1.3 bsnmplib.3 bsnmpclient.3 bsnmpagent.3 .include ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/Makefile#2 (text+ko) ==== @@ -2,6 +2,7 @@ SUBDIR= gensnmptree \ bsnmpd \ - modules + modules \ + tools .include From owner-p4-projects@FreeBSD.ORG Wed Aug 31 09:25:08 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A51916A421; Wed, 31 Aug 2005 09:25:08 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 E79A216A41F for ; Wed, 31 Aug 2005 09:25:07 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A0BAD43D48 for ; Wed, 31 Aug 2005 09:25:07 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7V9P7M3073930 for ; Wed, 31 Aug 2005 09:25:07 GMT (envelope-from soc-andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7V9P7Fg073927 for perforce@freebsd.org; Wed, 31 Aug 2005 09:25:07 GMT (envelope-from soc-andrew@freebsd.org) Date: Wed, 31 Aug 2005 09:25:07 GMT Message-Id: <200508310925.j7V9P7Fg073927@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-andrew@freebsd.org using -f From: soc-andrew To: Perforce Change Reviews Cc: Subject: PERFORCE change 82892 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Aug 2005 09:25:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=82892 Change 82892 by soc-andrew@soc-andrew_serv on 2005/08/31 09:24:19 Mark and install package dependencies. Delete unselected packages Affected files ... .. //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/fn_install_freebsd.c#9 edit Differences ... ==== //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/fn_install_freebsd.c#9 (text+ko) ==== @@ -47,6 +47,8 @@ #include #include +#include +#include #include #include #include @@ -63,6 +65,7 @@ #include #include +#include #include char *mtree_file[] = { "root", "var", "usr", "sendmail", NULL }; @@ -97,6 +100,10 @@ static int post_install(struct i_fn_args *); void fn_install_os(struct i_fn_args *); void fn_select_packages(struct i_fn_args*, struct aura_dict*, char*); +void fn_add_remove_packages(struct i_fn_args *, struct aura_dict *, + struct dfui_response *); +void fn_package_mark_dependencies(struct aura_dict *, char *); +void fn_package_install_dependencies(struct i_fn_args *, struct aura_dict *installed, char *, struct commands *); static int pre_install(struct i_fn_args *a) @@ -197,8 +204,8 @@ char base[PATH_MAX]; /* This should be big enough as the largest dist name is ~9 */ char dist_name[32]; - void *rv, *rk; - size_t rv_len, rk_len; + void *rk; + size_t rk_len; int i; struct commands *cmds; struct utsname name; @@ -462,7 +469,6 @@ void fn_install_packages(struct i_fn_args *a) { - struct dfui_field *fi; struct dfui_form *f; struct dfui_response *r; DIR *d; @@ -470,6 +476,38 @@ struct aura_dict *packages; int done = 0; + packages = aura_dict_new(13, AURA_DICT_LIST); + + /* Add all installed packages to the dictonary */ + + d = opendir("/mnt/var/db/pkg"); + if (d != NULL) { + /* loop through all sub-directories to the package dir */ + while ((de = readdir(d)) != NULL) { + /* + * I tried to check if (de->d_type == DT_DIR) here + * but d_type was always 0 + */ + struct stat sb; + char file[PATH_MAX]; + + if (de->d_name[0] == '.') + continue; + + snprintf(file, PATH_MAX, "/mnt/var/db/pkg/%s", + de->d_name); + stat(file, &sb); + + if (!S_ISDIR(sb.st_mode)) + continue; + + aura_dict_store(packages, + de->d_name, strlen(de->d_name), + de->d_name, strlen(de->d_name)); + } + closedir(d); + } + f = dfui_form_create( "install_packages", _("Install Packages"), @@ -517,8 +555,6 @@ dfui_form_action_add(f, "cancel", dfui_info_new(_("Cancel"), "", "")); - packages = aura_dict_new(13, AURA_DICT_LIST); - while (done == 0) { if (!dfui_be_present(a->c, f, &r)) @@ -528,33 +564,49 @@ done = 1; } else if (strcmp(dfui_response_get_action_id(r), "ok") == 0) { /* Install the packages */ - char *key; - int key_len; + char *key, *data; + size_t key_len, data_len; + struct commands *cmds; + struct aura_dict *installed; + + cmds = commands_new(); + installed = aura_dict_new(13, AURA_DICT_LIST); aura_dict_rewind(packages); + + /* Install all selected packages */ while (!aura_dict_eof(packages)) { - struct commands *cmds; /* Set dist_name */ aura_dict_get_current_key(packages, (void*)&key, &key_len); - key[key_len] = '\0'; - cmds = commands_new(); + aura_dict_fetch(packages, key, key_len, + &data, &data_len); - command_add(cmds, - "cp /usr/packages/All/%s.tbz /mnt/tmp", - key); - command_add(cmds, - "pkg_add -C /mnt /tmp/%s.tbz", key); - command_add(cmds, "rm /mnt/tmp/%s.tbz", key); + key[key_len] = '\0'; + data[data_len] = '\0'; - commands_execute(a, cmds); - commands_free(cmds); - + /* + * If the package is marked as to be deleted + * and is installed then remove it. + */ + if (strncmp("deleted", data, 8) == 0) { + if (pkg_exists(a, key)) { + printf("Delete %s\n", key); + command_add(cmds, "chroot /mnt" + " pkg_delete %s", key); + } + } else { + fn_package_install_dependencies(a, installed, key, cmds); + } aura_dict_next(packages); } + aura_dict_free(installed); + commands_execute(a, cmds); + commands_free(cmds); + done = 1; } else { /* move to the next level window */ @@ -572,7 +624,6 @@ void fn_select_packages(struct i_fn_args *a, struct aura_dict *packages, char *dir) { - struct dfui_field *fi; struct dfui_form *f; struct dfui_response *r; struct dfui_dataset *ds; @@ -596,7 +647,7 @@ "Install this Package", "", "p", "control", "checkbox", - "f", "package", "Package name", + "f", "package", "Package name ", "The name of the Package to install", "", "p", "editable", "false", @@ -616,16 +667,22 @@ return; } + /* loop through all sub-directories to the package dir */ while ((de = readdir(d)) != NULL) { - /* I tried to use de->d_type == DT_DIR but d_type was always 0 */ + /* + * I tried to check if (de->d_type == DT_DIR) here + * but d_type was always 0 + */ struct stat sb; char file[PATH_MAX]; - char *extension; + char *extension, *data; + int data_len; if (de->d_name[0] == '.') continue; - snprintf(file, PATH_MAX, "/usr/packages/%s/%s", dir, de->d_name); + snprintf(file, PATH_MAX, "/usr/packages/%s/%s", dir, + de->d_name); stat(file, &sb); if (!S_ISREG(sb.st_mode)) @@ -636,7 +693,16 @@ extension[0] = '\0'; ds = dfui_dataset_new(); - dfui_dataset_celldata_add(ds, "install", "N"); + + aura_dict_fetch(packages, de->d_name, strlen(de->d_name), + (void*)&data, &data_len); + + /* If the package is in the dictonary and is not deleted, mark it */ + if (aura_dict_exists(packages, de->d_name, + strlen(de->d_name)) != 0 && strncmp("deleted", data, 8) != 0) + dfui_dataset_celldata_add(ds, "install", "Y"); + else + dfui_dataset_celldata_add(ds, "install", "N"); dfui_dataset_celldata_add(ds, "package", de->d_name); dfui_form_dataset_add(f, ds); } @@ -647,27 +713,186 @@ abort_backend(); if (strcmp(dfui_response_get_action_id(r), "ok") == 0) { - /* Add the packages and dependencies to the dictonary */ - for (ds = dfui_response_dataset_get_first(r); ds != NULL; - ds = dfui_dataset_get_next(ds)) { - char install[2]; + fn_add_remove_packages(a, packages, r); + } + + dfui_response_free(r); + dfui_form_free(f); +} + +/* + * "removes" the packages from the disctonary that are unselected + * Then adds the selected ones and dependencies + */ +void +fn_add_remove_packages(struct i_fn_args *a, struct aura_dict *packages, + struct dfui_response *r) +{ + struct dfui_dataset *ds; + + /* Remove unselected packages dictonary */ + for (ds = dfui_response_dataset_get_first(r); ds != NULL; + ds = dfui_dataset_get_next(ds)) { + char install[2]; + char *package; + int len; - /* Copy the value of the install field to install */ - strncpy(install, dfui_dataset_get_value(ds, "install"), 2); + /* Copy the value of the install field to install */ + strncpy(install, dfui_dataset_get_value(ds, "install"), 2); - if (strncasecmp(install, "Y", 2) == 0) { - /* Select this dist for installation */ - char *package; - int len; + package = (char*)dfui_dataset_get_value + (ds, "package"); + len = strlen(package); - package = (char*)dfui_dataset_get_value(ds, "package"); - len = strlen(package); + if (strncasecmp(install, "N", 2) == 0) { + /* + * "remove" this package from the dictonary by + * changing it's value to "deleted". + */ + if (aura_dict_exists(packages, package, + strlen(package)) != 0) { aura_dict_store(packages, package, len, - package, len); + "deleted", 8); + printf("Delete: %s\n", package); } } } - dfui_response_free(r); - dfui_form_free(f); + /* Add selected packages and dependencies to the dictonary */ + for (ds = dfui_response_dataset_get_first(r); ds != NULL; + ds = dfui_dataset_get_next(ds)) { + char install[2]; + char *package; + int len; + + /* Copy the value of the install field to install */ + strncpy(install, dfui_dataset_get_value(ds, "install"), 2); + + package = (char*)dfui_dataset_get_value + (ds, "package"); + len = strlen(package); + + if (strncasecmp(install, "Y", 2) == 0) { + /* Find all unmarked dependencies and mark them */ + fn_package_mark_dependencies(packages, package); + } + } +} + +void +fn_package_mark_dependencies(struct aura_dict *packages, char *package) +{ + struct archive *a; + struct archive_entry *entry; + char *file; + + /* If the package is in the dictonary don't check it's dependencies */ + if (aura_dict_exists(packages, package, strlen(package)) != 0) { + char *data; + size_t data_len; + aura_dict_fetch(packages, package, strlen(package), + (void*)&data, &data_len); + if (strncmp("deleted", data, 8) != 0) + return; + } + + /* Add this package to be installed */ + aura_dict_store(packages, package, strlen(package), package, strlen(package)); + + a = archive_read_new(); + archive_read_support_compression_all(a); + archive_read_support_format_all(a); + + asprintf(&file, "/usr/packages/All/%s.tbz", package); + archive_read_open_file(a, file, 10240); + free(file); + + if (archive_read_next_header(a, &entry) == ARCHIVE_OK) { + void *buffer; + char *b; + int64_t len = archive_entry_size(entry); + + buffer = malloc(len + 1); + archive_read_data_into_buffer(a, buffer, len); + b = buffer; + b[len] = 0; + + /* Find the dependencies from the buffer */ + while ((b = strstr(b, "@pkgdep")) != NULL) { + char *eol = strchr(b, '\n'); + eol[0] = '\0'; + b+=8; + /* Recurse to the dependent package to install it */ + fn_package_mark_dependencies(packages, b); + b = eol + 1; + } + free(buffer); + } + + archive_read_finish(a); +} + +/* + * Installs a package and it's dependencies + * XXX: This is a copy of the code above, it should be generalized + */ +void +fn_package_install_dependencies(struct i_fn_args *ar, struct aura_dict *installed, char *package, struct commands *cmds) +{ + struct archive *a; + struct archive_entry *entry; + char *file; + size_t len = strlen(package); + + /* If the package is installed return */ + if (pkg_exists(ar, package)) + return; + + /* If the package is in the to-be-installed dictonary return */ + if (aura_dict_exists(installed, package, len)) + return; + + aura_dict_store(installed, package, len, package, len); + + a = archive_read_new(); + archive_read_support_compression_all(a); + archive_read_support_format_all(a); + + asprintf(&file, "/usr/packages/All/%s.tbz", package); + archive_read_open_file(a, file, 10240); + free(file); + + /* Find the dependencies and install them */ + if (archive_read_next_header(a, &entry) == ARCHIVE_OK) { + void *buffer; + char *b; + int64_t len = archive_entry_size(entry); + + buffer = malloc(len + 1); + archive_read_data_into_buffer(a, buffer, len); + b = buffer; + b[len] = 0; + + /* Find the dependencies from the buffer */ + while ((b = strstr(b, "@pkgdep")) != NULL) { + char *eol = strchr(b, '\n'); + eol[0] = '\0'; + b+=8; + /* Recurse to the dependent package to install it */ + fn_package_install_dependencies(ar, installed, b, cmds); + b = eol + 1; + } + free(buffer); + } + + printf("Install %s\n", package); + command_add(cmds, + "cp /usr/packages/All/%s.tbz " + "/mnt/tmp", package); + command_add(cmds, + "pkg_add -C /mnt /tmp/%s.tbz", package); + command_add(cmds, "rm /mnt/tmp/%s.tbz", package); + + archive_read_finish(a); } + From owner-p4-projects@FreeBSD.ORG Wed Aug 31 09:59:52 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AD03116A422; Wed, 31 Aug 2005 09:59:51 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 7FF1A16A41F for ; Wed, 31 Aug 2005 09:59:51 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 500DD43D48 for ; Wed, 31 Aug 2005 09:59:51 +0000 (GMT) (envelope-from soc-saturnero@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7V9xpFq075332 for ; Wed, 31 Aug 2005 09:59:51 GMT (envelope-from soc-saturnero@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7V9xpsW075329 for perforce@freebsd.org; Wed, 31 Aug 2005 09:59:51 GMT (envelope-from soc-saturnero@freebsd.org) Date: Wed, 31 Aug 2005 09:59:51 GMT Message-Id: <200508310959.j7V9xpsW075329@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-saturnero@freebsd.org using -f From: soc-saturnero To: Perforce Change Reviews Cc: Subject: PERFORCE change 82894 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Aug 2005 09:59:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=82894 Change 82894 by soc-saturnero@soc-saturnero_sberta on 2005/08/31 09:59:19 Removing debugging options, as GEOM_UZIP doesn't work with INVARIANTS Affected files ... .. //depot/projects/soc2005/freesbie/conf/i386/FREESBIE#3 edit Differences ... ==== //depot/projects/soc2005/freesbie/conf/i386/FREESBIE#3 (text+ko) ==== @@ -282,15 +282,3 @@ options GEOM_UZIP # Read-only compressed disks options GEOM_LABEL # Providers labelization. - -makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols - -# Debugging for use in -current -options KDB # Enable kernel debugger support. -options DDB # Support DDB. -options GDB # Support remote GDB. -options INVARIANTS # Enable calls of extra sanity checking -options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS -options WITNESS # Enable checks to detect deadlocks and cycles -options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed - From owner-p4-projects@FreeBSD.ORG Wed Aug 31 13:41:19 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 74FEC16A421; Wed, 31 Aug 2005 13:41:19 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 4681416A41F for ; Wed, 31 Aug 2005 13:41:19 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 13ADC43D45 for ; Wed, 31 Aug 2005 13:41:19 +0000 (GMT) (envelope-from soc-andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7VDfIqc094329 for ; Wed, 31 Aug 2005 13:41:18 GMT (envelope-from soc-andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7VDfI6o094323 for perforce@freebsd.org; Wed, 31 Aug 2005 13:41:18 GMT (envelope-from soc-andrew@freebsd.org) Date: Wed, 31 Aug 2005 13:41:18 GMT Message-Id: <200508311341.j7VDfI6o094323@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-andrew@freebsd.org using -f From: soc-andrew To: Perforce Change Reviews Cc: Subject: PERFORCE change 82899 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Aug 2005 13:41:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=82899 Change 82899 by soc-andrew@soc-andrew_serv on 2005/08/31 13:40:39 Fix a seg fault when installing under certain conditions Affected files ... .. //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/fn_install_freebsd.c#10 edit Differences ... ==== //depot/projects/soc2005/bsdinstaller/src/usr.sbin/bsdinstaller/backend/fn_install_freebsd.c#10 (text+ko) ==== @@ -204,7 +204,7 @@ char base[PATH_MAX]; /* This should be big enough as the largest dist name is ~9 */ char dist_name[32]; - void *rk; + char *rk; size_t rk_len; int i; struct commands *cmds; @@ -228,9 +228,10 @@ while (!aura_dict_eof(a->dists)) { /* Set dist_name */ aura_dict_get_current_key(a->dists, &rk, &rk_len); + if (rk_len < 32) + rk[rk_len] = '\0'; + strlcpy(dist_name, rk, 32); - if (rk_len < 32) - dist_name[rk_len] = '\0'; /* If this dist is special set the correct flag */ if (strncmp("src", dist_name, 4) == 0) { From owner-p4-projects@FreeBSD.ORG Wed Aug 31 14:39:30 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3F85316A421; Wed, 31 Aug 2005 14:39:30 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 1548C16A41F for ; Wed, 31 Aug 2005 14:39:30 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D53A943D45 for ; Wed, 31 Aug 2005 14:39:29 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7VEdTan001464 for ; Wed, 31 Aug 2005 14:39:29 GMT (envelope-from soc-tyler@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7VEdT5g001461 for perforce@freebsd.org; Wed, 31 Aug 2005 14:39:29 GMT (envelope-from soc-tyler@freebsd.org) Date: Wed, 31 Aug 2005 14:39:29 GMT Message-Id: <200508311439.j7VEdT5g001461@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-tyler@freebsd.org using -f From: soc-tyler To: Perforce Change Reviews Cc: Subject: PERFORCE change 82901 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Aug 2005 14:39:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=82901 Change 82901 by soc-tyler@soc-tyler_launchd on 2005/08/31 14:38:50 Update file to move to another workstation (oncampus) Affected files ... .. //depot/projects/soc2005/launchd/launchctl/launchctl.c#13 edit Differences ... ==== //depot/projects/soc2005/launchd/launchctl/launchctl.c#13 (text+ko) ==== @@ -332,6 +332,7 @@ } #ifndef _BUILD_DARWIN +// Just using this method for testing (until that plist parser is written) #ifdef _LAUNCHD_ static launch_data_t read_conf_file(const char *file, bool editondisk, bool load) { /* fill this with an array of launch_data_t structs */ @@ -358,6 +359,15 @@ close(fd); return retval; } + +/* This function should mimic CF2launch_data in how it creates + * a launch_data_t data structure from the contents of a .plist file + */ +static launch_data_t Conf2launch_data(void *) { + launch_data_t r; + + return r; +} #endif #endif From owner-p4-projects@FreeBSD.ORG Wed Aug 31 17:42:16 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B538216A421; Wed, 31 Aug 2005 17:42:15 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 8C43D16A41F for ; Wed, 31 Aug 2005 17:42:15 +0000 (GMT) (envelope-from soc-emily@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2C5A543D45 for ; Wed, 31 Aug 2005 17:42:15 +0000 (GMT) (envelope-from soc-emily@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7VHgFDT016392 for ; Wed, 31 Aug 2005 17:42:15 GMT (envelope-from soc-emily@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7VHgE5X016389 for perforce@freebsd.org; Wed, 31 Aug 2005 17:42:14 GMT (envelope-from soc-emily@freebsd.org) Date: Wed, 31 Aug 2005 17:42:14 GMT Message-Id: <200508311742.j7VHgE5X016389@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-emily@freebsd.org using -f From: soc-emily To: Perforce Change Reviews Cc: Subject: PERFORCE change 82912 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Aug 2005 17:42:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=82912 Change 82912 by soc-emily@soc-emily_beastie on 2005/08/31 17:42:06 Integrate from mainline www. Affected files ... .. //depot/projects/soc2005/www/freebsd/de/Makefile#2 integrate .. //depot/projects/soc2005/www/freebsd/de/docs.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/de/includes.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/de/navigation.xml#2 integrate .. //depot/projects/soc2005/www/freebsd/de/news/news.xml#2 integrate .. //depot/projects/soc2005/www/freebsd/de/news/press.xml#2 integrate .. //depot/projects/soc2005/www/freebsd/de/platforms/amd64.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/de/platforms/i386.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/de/platforms/ia64/index.xsl#2 integrate .. //depot/projects/soc2005/www/freebsd/de/platforms/ia64/refs.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/de/platforms/ia64/todo.xsl#2 integrate .. //depot/projects/soc2005/www/freebsd/de/platforms/index.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/de/platforms/ppc.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/de/support.sgml#1 branch .. //depot/projects/soc2005/www/freebsd/de/where.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/en/commercial/hardware.xml#2 integrate .. //depot/projects/soc2005/www/freebsd/en/gnome/docs/develfaq.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/en/gnome/docs/faq2.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/en/gnome/news.xml#2 integrate .. //depot/projects/soc2005/www/freebsd/en/internal/Makefile#2 integrate .. //depot/projects/soc2005/www/freebsd/en/internal/fortunes.sgml#1 branch .. //depot/projects/soc2005/www/freebsd/en/internal/policies.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/en/news/news.xml#2 integrate .. //depot/projects/soc2005/www/freebsd/en/news/press.xml#2 integrate .. //depot/projects/soc2005/www/freebsd/en/platforms/amd64/motherboards.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/en/projects/busdma/index.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/en/projects/c99/index.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/en/releases/6.0R/schedule.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/en/releases/6.0R/todo.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/en/releng/index.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/en/security/security.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/fr/index.xsl#2 integrate .. //depot/projects/soc2005/www/freebsd/fr/navigation.xml#2 integrate .. //depot/projects/soc2005/www/freebsd/fr/platforms/index.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/it/includes.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/it/includes.xsl#2 integrate .. //depot/projects/soc2005/www/freebsd/it/index.xsl#2 integrate .. //depot/projects/soc2005/www/freebsd/it/releases/5.3R/announce.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/it/releases/5.4R/Makefile#1 branch .. //depot/projects/soc2005/www/freebsd/it/releases/5.4R/announce.sgml#1 branch .. //depot/projects/soc2005/www/freebsd/it/releases/Makefile#2 integrate .. //depot/projects/soc2005/www/freebsd/it/releases/index.sgml#2 integrate .. //depot/projects/soc2005/www/freebsd/ru/internal/Makefile#2 integrate .. //depot/projects/soc2005/www/freebsd/ru/internal/trb-dispute.sgml#2 delete .. //depot/projects/soc2005/www/freebsd/share/mk/web.site.mk#2 integrate .. //depot/projects/soc2005/www/freebsd/share/sgml/usergroups.xml#2 integrate Differences ... ==== //depot/projects/soc2005/www/freebsd/de/Makefile#2 (text+ko) ==== @@ -1,7 +1,7 @@ # The FreeBSD Documentation Project # The FreeBSD German Documentation Project -# $FreeBSD: www/de/Makefile,v 1.21 2005/03/14 23:02:55 jkois Exp $ -# $FreeBSDde: de-www/Makefile,v 1.28 2005/01/29 19:07:53 jkois Exp $ +# $FreeBSD: www/de/Makefile,v 1.22 2005/08/25 15:37:31 jkois Exp $ +# $FreeBSDde: de-www/Makefile,v 1.29 2005/08/13 16:25:01 jkois Exp $ # basiert auf: 1.117 .if exists(Makefile.conf) @@ -20,6 +20,7 @@ DOCS+= internet.sgml DOCS+= mailto.sgml DOCS+= relnotes.sgml +DOCS+= support.sgml DOCS+= where.sgml # These will be directly installed. ==== //depot/projects/soc2005/www/freebsd/de/docs.sgml#2 (text+ko) ==== @@ -1,13 +1,14 @@ - + + - + + %navincludes; %includes; ]> @@ -224,6 +225,12 @@ (laptop)
Informationen zum Betrieb von FreeBSD auf Laptops.

+

FreeBSD: An Open + Source Alternative to Linux + (linux-comparison)
+ Ein Whitepaper, dass die Unterschiede zwischen Linux und + FreeBSD erklärt.

+

Frequently Asked Questions About The FreeBSD Mailing Lists (mailing-list-faq)
@@ -321,6 +328,14 @@ wie ESDI- und SCSI-Platten, Bandlaufwerke und CD-ROM-Laufwerke unter FreeBSD.

+

Choosing the + FreeBSD Version That Is Right For You (version-guide)
+ Wie Sie sich für die für Sie richtige + FreeBSD-Version entscheiden. Behandelt werden Releases, + Entwicklungszweige, die Unterschiede zwischen -CURRENT und + -STABLE, sowie der geplante Entwicklungszyklus des + Projekts.

+

Bootstrapping Vinum: A Foundation for Reliable Servers (vinum)
Eine Einführung in ausfallsichere Server, sowie eine ==== //depot/projects/soc2005/www/freebsd/de/includes.sgml#2 (text+ko) ==== @@ -1,6 +1,6 @@ @@ -20,6 +20,7 @@ + '> @@ -36,31 +37,108 @@ ©right;'> FreeBSD Home Page'> - + + + &title; - - -Navigation Bar -

&title;


+ + + + + + + + +
+
+ Skip site navigation (1) + Skip section navigation (2) +
+ + + +

Site Navigation

+
+ +
+
+ +
+
+&nav; +
+ +
+ +

&title;

'> + + +
+ +
+ - -Top -Anwendungen -Hilfe -Dokumentation -Anbieter -Suche -Inhalt -Top -Top -'> +
+
'> - $FreeBSD: www/de/navigation.xml,v 1.7 2005/03/14 23:02:55 jkois Exp $ + $FreeBSD: www/de/navigation.xml,v 1.8 2005/08/25 15:37:31 jkois Exp $ @@ -34,16 +34,16 @@ - + - + - + - + @@ -54,7 +54,7 @@ - + ==== //depot/projects/soc2005/www/freebsd/de/news/news.xml#2 (text+ko) ==== @@ -1,9 +1,9 @@ - $FreeBSD: www/de/news/press.xml,v 1.17 2005/07/12 16:10:16 jkois Exp $ + $FreeBSD: www/de/news/press.xml,v 1.18 2005/08/25 15:37:32 jkois Exp $ @@ -18,6 +18,58 @@ 2005 + 8 + + + FreeBSD 6.0 will target wireless devices + http://news.zdnet.co.uk/software/linuxunix/0,39020390,39214098,00.htm + ZDNet UK + http://www.zdnet.co.uk/ + 19. August 2005 + Ingrid Marson +

Ein Interview mit Scott Long, dem FreeBSD Release Engineer, + über das bevorstehende FreeBSD-Release 6.0.

+
+
+ + + 7 + + + Information Security with Colin Percival + http://www.onlamp.com/pub/a/bsd/2005/07/21/Big_Scary_Daemons.html + Onlamp + http://www.onlamp.com/ + 21. Juli 2005 + Michael W. Lucas +

Der FreeBSD-Entwickler und unabhängige Sicherheitsanalytiker + Colin Percival spricht über seine Arbeit an geheimen + Informationskanälen (covert channels) bei + Hyperthreaded-Prozessoren.

+
+ + + Why FreeBSD + http://www.ibm.com/developerworks/opensource/library/os-freebsd/ + developerWorks + http://www.ibm.com/developerworks/ + 19. Juli 2005 + Frank Pohlmann +

Ein kurzer Überblick über die BSD-Familie.

+
+ + + Project Evil: Windows network drivers on FreeBSD + http://www.pingwales.co.uk/tutorials/project-evil.html + Ping Wales + http://www.pingwales.co.uk/ + 15. Juli 2005 + David Chisnall +

Ein Artikel zur Nutzung von Windows(R)-Netzwerktreibern unter FreeBSD.

+
+
+ + 6 ==== //depot/projects/soc2005/www/freebsd/de/platforms/amd64.sgml#2 (text+ko) ==== @@ -1,10 +1,11 @@ - - - + + + + %navincludes; %includes; ]> @@ -15,7 +16,7 @@

Diese Seite beschreibt die Portierung von FreeBSD auf AMDs AMD64-Architektur und - Intels EM64T-Architektur + Intel®s EM64T-Architektur (Extended Memory 64-bit Technology). AMD64 wurde früher x86-64 oder ``Hammer'' genannt. Intels EM64T war früher als IA-32e, Clackamas Technology (CT), @@ -34,10 +35,11 @@ href="&base;/../doc/en_US.ISO8859-1/articles/committers-guide/archs.html">Tier 1 FreeBSD Plattform.

-

FreeBSD/amd64 spezifische Links

+

FreeBSD/amd64 spezifische Ressourcen

Andere nützliche Quellen

==== //depot/projects/soc2005/www/freebsd/de/platforms/i386.sgml#2 (text+ko) ==== @@ -1,9 +1,10 @@ - - - + + + + %navincludes; %includes; ]> @@ -16,9 +17,9 @@ Diese Architektur unterstützt die meisten Prozessoren, und bildet die Basis für einen Großteil der verkauften Systeme. Wenn Sie einen Rechner eines großen PC-Herstellers (wie - Dell™, HP™, eMachines™) erworben haben, dann + Dell™, HP™, eMachines®) erworben haben, dann besitzen Sie entweder einen AMD™- oder einen - Intel™-Prozessor, und fallen daher in diese Kategorie.

+ Intel®-Prozessor, und fallen daher in diese Kategorie.

Inhaltsverzeichnis

@@ -32,30 +33,20 @@

Aktuelle Informationen

    -
  • Der Prozessor 80386 von Intel™ wird von - FreeBSD CURRENT (6) nicht mehr unterstützt. Systeme +

  • Der Prozessor 80386 von Intel wird von + FreeBSD 6.0 und neuer nicht mehr unterstützt. Systeme mit diesem Prozessor sind inzwischen mehr als sieben Jahre alt und werden nur bis FreeBSD 5.X unterstützt. Beachten Sie außerdem, dass der GENERIC-Kernel den 80336-Prozessor - nur bis FreeBSD 4.X unterstützt. -

  • + nur bis FreeBSD 4.X unterstützt.

Unterstützte Prozessoren

-

Nachfolgend finden Sie eine Auflistung aller unterstützten - Prozessoren. SMP wird auf allen Systemen unterstützt, die - mehr als einen Prozessor der Pentiumklasse enthalten. Für - ausführliche Informationen zu diesem Thema lesen Sie bitte - die Seiten des - SMP-Projekts auf FreeBSD.org.

- -
    -
  • AMD™ K5, K6, K6-II, K6-III, ATHLON, und Duron CPUs
  • -
  • Intel™ Pentium, Pentium II, Pentium III, Pentium 4, XEON, - Celeron, Mobile, and Centrino CPUs
  • -
  • Via™ C3 CPU
  • -
+

Eine Liste der unterstützten Prozessoren findet sich in + den + FreeBSD/i386 Hardware Notes.

Weitere Informationsquellen

==== //depot/projects/soc2005/www/freebsd/de/platforms/ia64/index.xsl#2 (text+ko) ==== @@ -1,13 +1,13 @@ - + @@ -81,7 +81,7 @@ Betreuern des Bausystems unterstützt. In der Praxis ist die Unterscheidung zwischen einer Tier 1 Plattform (welche komplett unterstützt wird) und einer - Tier 2 Plattform nicht ganz so streng wie es scheint. + Tier 2 Plattform nicht ganz so streng, wie es scheint. In den meisten Aspekten entspricht die ia64-Portierung eher einer Tier 1 Plattform.
@@ -89,7 +89,7 @@ noch etwas länger als Tier 2 Plattform gilt. Es sind noch ein paar ABI-Änderungen vorgesehen und in diesem frühen Entwicklungsstadium ist es nicht sehr - zweckdienlich, auf Rü;ckwärtskompatibilität + zweckdienlich, auf Rückwärtskompatibilität achten zu müssen.

==== //depot/projects/soc2005/www/freebsd/de/platforms/ia64/refs.sgml#2 (text+ko) ==== @@ -1,10 +1,11 @@ - - - + + + + %navincludes; %includes; ]> @@ -36,9 +37,25 @@ + +

Prozessor-Implementierungen

+ + @@ -46,8 +63,8 @@

Chipsatz

    -
  • Intel 460GX Chipset Datasheet
  • -
  • Intel 460GX Chipset System Software Developer's Manual
  • +
  • Intel 460GX Chipset Datasheet
  • +
  • Intel 460GX Chipset System Software Developer's Manual
  • Intel E8870 Chipset Datasheets
    • Intel E8870IO Server I/O Hub (SIOH)
    • ==== //depot/projects/soc2005/www/freebsd/de/platforms/ia64/todo.xsl#2 (text+ko) ==== @@ -1,13 +1,13 @@ - + @@ -21,8 +21,8 @@ - Merced die + Montecito die ==== //depot/projects/soc2005/www/freebsd/de/platforms/index.sgml#2 (text+ko) ==== @@ -2,9 +2,10 @@ - - - + + + + %navincludes; %includes;]> @@ -13,9 +14,8 @@

      Einführung

      Hier findet sich eine Liste an Plattformen, die FreeBSD - momentan unterstützt, sowie Plattformen auf die gerade - portiert wird (mit Ausnahme von x86, da der Rest der Seite - schon für x86 gilt).

      + momentan unterstützt, sowie Plattformen, auf die gerade + portiert wird.

      Inhaltsverzeichnis

      ==== //depot/projects/soc2005/www/freebsd/de/platforms/ppc.sgml#2 (text+ko) ==== @@ -1,42 +1,48 @@ - - - + + + + %navincludes; %includes;]> &header; -

      Diese Seite enthält Informationen über - das Portieren von FreeBSD auf PowerPC®.

      - -

      Allgemeine Information

      +

      Allgemeine Informationen

      +

      Einführung

      + +

      Diese Seiten des FreeBSD/ppc-Projekts enthalten Informationen + über die Portierung von FreeBSD auf die PowerPC®-Architektur. + Wie die Portierung selbst sind auch diese Seiten unter ständiger + Bearbeitung.

      + +

      Die FreeBSD/ppc-Portierung gilt nach wie vor als Tier-2-Plattform. + Dies bedeutet, dass sie von Security Officer, Release Ingenieuren und + Toolchain-Betreuern noch nicht vollständig unterstützt + wird.

      + +


      +

      Neuigkeiten

        -
      • 3. Juli 2002: Diese Seite wurde - stark überarbeitet und aktualisiert. FreeBSD/PowerPC - bootet zurzeit fast bis zum Erreichen des - Einbenutzer-Modus.

      • - -
      • Ältere Nachrichten finden sich auf - Benno's Seite, - ebenso wie die Boot - Meldungen.

        -
      • +
      • 25. Juni 2005: Diese Seite wurde + komplett überarbeitet.

      @@ -44,47 +50,166 @@

      Häufig gestellte Fragen

        -
      1. Was ist das FreeBSD/PowerPC Projekt?
      2. -
      3. Auf welche Hardware zielen Sie ab?
      4. -
      5. Was ist der aktuelle Status?
      6. -
      7. Wie kriege ich FreeBSD/PowerPC?
      8. -
      9. An wen soll ich mich wenden?
      10. +
      11. Wie kann ich FreeBSD/ppc installieren?
      12. +
      13. Wo finde ich Pakete für FreeBSD/ppc?
      14. +
      15. An wen soll ich mich wenden?
      -

      Was ist das FreeBSD/PowerPC Projekt?

      +

      Wie kann ich FreeBSD/ppc installieren?

      + +

      FreeBSD/ppc ist im HEAD-Zweig des FreeBSD CVS-Repositories + enthalten. Es gibt jedoch auch ein ISO-Image, das Sie + hier + herunterladen können. Folgen Sie dazu + diesen + Anweisungen.

      + +

      Wo finde ich Pakete für FreeBSD/ppc?

      + +

      Von Peter Grehan and Tilman Linneweh bereitgestellte Pakete finden + sich + hier und + hier. + +

      An wen soll ich mich wenden?

      + +

      Dieses Projekt wird von Peter Grehan geleitet. + Möchten Sie Code beitragen, sollten Sie sich daher an ihn + wenden. Möchten Sie hingegen etwas über den Projektstatus + erfahren, sollten Sie diese Seiten sowie die + Mailingliste FreeBSD/ppc regelmäßig lesen.

      -

      FreeBSD/PowerPC ist eine Portierung des FreeBSD Betriebssystems - auf Computer mit dem PowerPC Prozessor, vor allem auf - aktuelle Macintosh® Computer.

      +
      -

      Auf welche Hardware zielen Sie ab?

      +

      Unterstützte Hardware

      -

      Momentan auf die "New World" (die mit dem bunten Gehäusen) - Apple Macintoshs. Andere Plattformen, wie zum Beispiel die älteren - Power Mac®s und nicht-Apple Computer mit Open Firmware, >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Aug 31 17:59:45 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 80D9916A422; Wed, 31 Aug 2005 17:59:44 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 4F0C416A41F for ; Wed, 31 Aug 2005 17:59:44 +0000 (GMT) (envelope-from soc-emily@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id ABE1843D49 for ; Wed, 31 Aug 2005 17:59:43 +0000 (GMT) (envelope-from soc-emily@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7VHxhkC017412 for ; Wed, 31 Aug 2005 17:59:43 GMT (envelope-from soc-emily@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7VHxa8E017409 for perforce@freebsd.org; Wed, 31 Aug 2005 17:59:36 GMT (envelope-from soc-emily@freebsd.org) Date: Wed, 31 Aug 2005 17:59:36 GMT Message-Id: <200508311759.j7VHxa8E017409@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-emily@freebsd.org using -f From: soc-emily To: Perforce Change Reviews Cc: Subject: PERFORCE change 82913 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Aug 2005 17:59:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=82913 Change 82913 by soc-emily@soc-emily_beastie on 2005/08/31 17:58:53 The new FreeBSD website. Integrate the new design as discussed. These are edits to existing files. Added files coming up. Affected files ... .. //depot/projects/soc2005/www/freebsd/de/applications.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/availability.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/features.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/internet.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/mailto.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/news/news.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/platforms/alpha.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/platforms/arm.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/platforms/ia64.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/platforms/ia64/machines.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/platforms/mips.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/platforms/pc98.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/platforms/sparc.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/platforms/x86-64.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/projects/newbies.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/4.11R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/4.11R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/4.11R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/4.11R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/4.6.2R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/4.6.2R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/4.6.2R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/4.7R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/4.7R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/4.7R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/4.7R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/4.8R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/4.8R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/4.8R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/4.8R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/4.9R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/4.9R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/4.9R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/4.9R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/5.0R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/5.0R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/5.0R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/5.0R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/5.1R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/5.1R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/5.1R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/5.1R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/5.2R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/5.2R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/5.2R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/5.3R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/5.3R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/5.3R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/5.3R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/releases/snapshots.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/security/charter.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/de/security/security.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/Makefile#2 edit .. //depot/projects/soc2005/www/freebsd/en/advocacy/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/advocacy/letter.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/advocacy/myths.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/applications.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/art.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/availability.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/commercial/commercial.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/commercial/consult_bycat.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/en/commercial/entries.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/en/commercial/soft_bycat.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/en/copyright/copyright.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/copyright/daemon.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/copyright/freebsd-doc-license.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/copyright/freebsd-license.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/copyright/license.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/copyright/trademarks.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/docproj/current.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/docproj/doc-set.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/docproj/docproj.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/docproj/handbook.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/docproj/handbook3.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/docproj/sgml.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/docproj/submitting.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/docproj/translations.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/docproj/who.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/docs.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/donations/donors.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/donations/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/donations/wantlist.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/events/2002/bsdcon-devsummit.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/events/2002/usenix-devsummit.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/events/2003/bsdcon-devsummit.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/events/events.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/en/features.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/gnome/contact.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/gnome/docs/bugging.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/gnome/docs/example-Makefile.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/gnome/docs/faq210.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/gnome/docs/faq28.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/gnome/docs/gnome1_porting.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/gnome/docs/gnome2_porting.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/gnome/docs/gnome_porting.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/gnome/docs/porting.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/gnome/docs/volunteer.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/gnome/index.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/en/gnome/newsflash.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/en/gnome/screenshots.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/index.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/en/internal/about.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/internal/bylaws.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/internal/core-vote.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/internal/developer.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/internal/doceng.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/internal/expire-bits.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/internal/homepage.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/internal/internal.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/internal/machines.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/internal/mirror.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/internal/new-account.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/internal/photos.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/internal/releng.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/internal/rtp.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/internal/statistic.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/internet.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/advocacy.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/dists/10.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/dists/11.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/dists/12.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/dists/13.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/dists/14.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/dists/15.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/dists/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/docs/faq.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/docs/howtoports.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/docs/newbies.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/docs/performance.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/docs/tutorials.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/howhelp.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/install.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/links/api.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/links/development.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/links/documentation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/links/freebsd.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/links/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/links/resources.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/links/servlets.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/links/tools.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/links/tutorials.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/links/vendor.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/java/newsflash.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/kse/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/mailto.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/marketing/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/marketing/os-comparison.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/news/1993/freebsd-coined.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/news/1996/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/news/1997/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/news/1998/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/news/1999/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/news/2000/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/news/news.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/news/newsflash.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/en/news/press-rel-1.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/news/press-rel-2.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/news/press-rel-3.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/news/press-rel-4.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/news/press-rel-5.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/news/press-rel-6.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/news/press-rel-7.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/news/press.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/en/news/pressreleases.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/news/sou1999.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/news/status/report.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/en/news/status/status.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/platforms/alpha.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/platforms/amd64.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/platforms/arm.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/platforms/i386.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/platforms/ia64.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/platforms/ia64/index.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/en/platforms/ia64/machines.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/platforms/ia64/refs.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/platforms/ia64/todo.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/en/platforms/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/platforms/mips.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/platforms/pc98.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/platforms/ppc.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/platforms/sparc.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/platforms/x86-64.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/portmgr/charter.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/portmgr/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/portmgr/policies.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/portmgr/qa.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/projects/acpi/completed.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/projects/acpi/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/projects/bigdisk/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/projects/cvsweb.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/projects/dingo/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/projects/gnats4/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/projects/mac/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/projects/mips/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/projects/nanobsd/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/projects/netperf/cluster.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/projects/netperf/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/projects/newbies.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/projects/projects.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/projects/summerofcode.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/prstats/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/publish.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.0.5R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.0.5R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.0/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.0/credits.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.0/install.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.0/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.1.5R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.1.5R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.1.6R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.1.6R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.1.6R/security.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.1.7R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.1.7R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.1R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.1R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.2.1R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.2.2R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.2.2R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.2.5R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.2.5R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.2.5R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.2.6R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.2.6R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.2.6R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.2.7R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.2.7R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.2.7R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.2.8R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.2.8R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.2.8R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.2R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.2R/install-media.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/2.2R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/3.0R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/3.0R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/3.0R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/3.1R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/3.1R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/3.1R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/3.2R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/3.2R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/3.2R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/3.3R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/3.3R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/3.3R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/3.4R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/3.4R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/3.4R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/3.5R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/3.5R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/3.5R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.0R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.0R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.0R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.1.1R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.1.1R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.1.1R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.10R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.10R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.10R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.10R/qa.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.10R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.10R/schedule.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.10R/todo.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.11R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.11R/errata_policy.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.11R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.11R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.11R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.11R/schedule.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.11R/todo.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.1R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.1R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.1R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.2R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.2R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.2R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.3R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.3R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.3R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.4R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.4R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.4R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.5R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.5R/contents.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.5R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.5R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.5R/qa.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.5R/schedule.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.6.2R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.6.2R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.6.2R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.6R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.6R/contents.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.6R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.6R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.6R/qa.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.6R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.6R/schedule.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.7R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.7R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.7R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.7R/qa.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.7R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.7R/schedule.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.8R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.8R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.8R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.8R/qa.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.8R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.8R/schedule.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.9R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.9R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.9R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.9R/qa.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.9R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.9R/schedule.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/4.9R/todo.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.0R/DP1/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.0R/DP1/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.0R/DP1/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.0R/DP1/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.0R/DP2/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.0R/DP2/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.0R/DP2/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.0R/DP2/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.0R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.0R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.0R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.0R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.0R/schedule.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.0R/todo.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.1R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.1R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.1R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.1R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.1R/schedule.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.1R/todo.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.2.1R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.2.1R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.2.1R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.2.1R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.2R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.2R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.2R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.2R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.2R/schedule.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.2R/todo.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.3R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.3R/errata_policy.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.3R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.3R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.3R/policy.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.3R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.3R/schedule.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.3R/todo.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.4R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.4R/errata_policy.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.4R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.4R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.4R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.4R/schedule.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/5.4R/todo.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/6.0R/approvals.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releases/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/releng/charter.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/search/search-mid.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/search/search.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/security/charter.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/send-pr.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/smp/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/snapshots/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/support.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/tutorials/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/where.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/en/y2kbug.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/alpha/alpha.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/applications.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/auditors.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/availability.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/copyright/copyright.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/copyright/daemon.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/copyright/freebsd-license.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/copyright/license.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/docproj/current.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/docproj/doc-set.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/docproj/docproj.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/docproj/sgml.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/docproj/submitting.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/docproj/translations.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/docproj/who.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/docs.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/features.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/gnome/contact.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/gnome/docs/bugging.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/gnome/docs/develfaq.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/gnome/docs/faq.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/gnome/docs/faq2.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/gnome/docs/gnome2_porting.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/gnome/docs/gnome_porting.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/gnome/docs/knownissues.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/gnome/docs/porting.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/gnome/docs/volunteer.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/gnome/screenshots.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/includes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/internal/about.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/internal/developer.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/internal/homepage.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/internal/internal.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/internal/machines.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/internal/mirror.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/internal/photos.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/internal/statistic.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/internet.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/mailto.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/news/news.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/news/newsflash.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/news/press-rel-1.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/news/press-rel-2.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/news/press-rel-3.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/news/press.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/news/pressreleases.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/news/qnewsletter-1-1.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/news/qnewsletter-1-2.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/news/qnewsletter-1-3.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/news/qnewsletter-1-4.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/news/qnewsletter-1-5.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/news/qnewsletter-1-6.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/news/qnewsletter-1-7.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/news/qnewsletter-2-1.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/news/qnewsletter-2-2.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/news/qnewsletter.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/news/webchanges.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/platforms/alpha.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/platforms/i386.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/platforms/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/platforms/pc98.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/platforms/x86-64.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/projects/newbies.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/projects/projects.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/publish.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.0.5R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.0.5R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.0/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.0/credits.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.0/install.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.0/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.1.5R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.1.5R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.1.6R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.1.6R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.1.6R/security.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.1.7R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.1.7R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.1R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.1R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.2.1R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.2.2R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.2.2R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.2.5R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.2.5R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.2.5R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.2.6R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.2.6R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.2.6R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.2.7R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.2.7R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.2.7R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.2.8R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.2.8R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.2.8R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.2R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.2R/install-media.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/2.2R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/3.0R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/3.0R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/3.0R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/3.1R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/3.1R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/3.1R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/3.2R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/3.2R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/3.2R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/3.3R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/3.3R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/3.3R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/3.4R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/3.4R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/3.4R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/3.5R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/3.5R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/3.5R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/4.0R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/4.0R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/4.0R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/4.1.1R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/4.1.1R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/4.1.1R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/4.1R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/4.1R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/4.1R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/4.2R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/4.2R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/4.2R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/4.3R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/4.3R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/4.3R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/releases/snapshots.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/search/index-site.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/search/search-mid.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/search/search.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/search/searchhints.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/security/programmers.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/security/secure.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/security/security.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/send-pr.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/support.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/where.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/es/y2kbug.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/advocacy/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/advocacy/myths.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/applications.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/art.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/auditors.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/availability.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/commercial/commercial.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/commercial/consulting.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/commercial/consulting_bycat.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/commercial/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/commercial/misc.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/commercial/software.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/commercial/software_bycat.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/copyright/copyright.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/copyright/daemon.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/copyright/freebsd-doc-license.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/copyright/freebsd-license.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/copyright/license.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/copyright/trademarks.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/docproj/current.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/docproj/doc-set.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/docproj/docproj.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/docproj/handbook.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/docproj/handbook3.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/docproj/sgml.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/docproj/submitting.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/docproj/translations.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/docproj/who.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/docs.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/donations/donors.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/donations/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/donations/wantlist.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/features.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/gnome/contact.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/gnome/docs/22knownissues.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/gnome/docs/bugging.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/gnome/docs/faq.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/gnome/docs/faq2.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/gnome/docs/gnome2_porting.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/gnome/docs/gnome_porting.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/gnome/docs/porting.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/gnome/docs/volunteer.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/gnome/screenshots.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/includes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/internal/about.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/internal/bylaws.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/internal/core-vote.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/internal/developer.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/internal/expire-bits.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/internal/homepage.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/internal/internal.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/internal/machines.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/internal/mirror.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/internal/new-account.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/internal/photos.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/internal/releng.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/internal/staff.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/internal/statistic.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/internet.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/advocacy.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/dists/10.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/dists/11.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/dists/12.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/dists/13.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/dists/14.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/dists/15.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/dists/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/docs/faq.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/docs/howtoports.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/docs/newbies.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/docs/performance.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/docs/tutorials.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/howhelp.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/install.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/links/api.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/links/development.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/links/documentation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/links/freebsd.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/links/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/links/resources.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/links/servlets.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/links/tools.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/links/tutorials.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/links/vendor.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/newsflash.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/java/press.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/kse/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/mailto.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/news/1996/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/news/1997/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/news/1998/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/news/1999/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/news/2000/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/news/news.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/news/press-rel-1.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/news/press-rel-2.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/news/press-rel-3.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/news/press-rel-4.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/news/press-rel-5.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/news/press-rel-6.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/news/press-rel-7.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/news/pressreleases.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/news/sou1999.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/news/status/status.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/news/webchanges.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/platforms/alpha.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/platforms/amd64.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/platforms/arm.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/platforms/i386.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/platforms/ia64.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/platforms/ia64/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/platforms/ia64/machines.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/platforms/ia64/refs.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/platforms/ia64/todo.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/platforms/mips.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/platforms/pc98.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/platforms/ppc.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/platforms/sparc.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/platforms/x86-64.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/projects/acpi/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/projects/busdma/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/projects/c99/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/projects/cvsweb.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/projects/libh.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/projects/mips/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/projects/newbies.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/projects/projects.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/projects/updater.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/prstats/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/publish.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/register.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/2.0/credits.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/2.2.8R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/3.1R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/3.2R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/3.3R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/3.4R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/3.5R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/4.0R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/4.0R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/4.0R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/4.1.1R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/4.1R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/4.1R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/4.1R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/4.2R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/4.2R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/4.2R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/4.3R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/4.3R/errata.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/4.3R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/4.4R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/4.5R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/4.5R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/4.6.2R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/4.6R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/4.7R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/5.0R/DP1/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/5.1R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/5.1R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releases/snapshots.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releng/charter.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/releng/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/security/security.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/send-pr.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/smp/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/support.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/tutorials/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/where.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/y2kbug.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/it/docs.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/it/mailto.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/it/releases/4.10R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/it/releases/4.11R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/it/releases/5.2.1R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/it/releases/5.2R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/auditors.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/docproj/docproj.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/includes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/internal/about.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/platforms/ia64/machines.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/projects/mips/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/publish.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.10R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.10R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.10R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.11R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.11R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.11R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.2R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.3R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.4R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.4R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.5R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.5R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.5R/notes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.5R/schedule.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.6.2R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.6.2R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.6.2R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.6R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.6R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.6R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.7R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.7R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.7R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.8R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.8R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.8R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.9R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.9R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/4.9R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/5.0R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/5.0R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/5.0R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/5.0R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/5.1R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/5.1R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/5.1R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/5.1R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/5.2.1R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/5.2.1R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/5.2.1R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/5.2R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/5.2R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/5.2R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/5.3R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/releases/5.4R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/security/security.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ja/smp/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/docproj/current.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/docproj/docproj.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/docproj/handbook.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/docproj/handbook3.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/donations/donors.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/donations/wantlist.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/gnome/docs/gnome2_porting.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/gnome/docs/gnome_porting.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/includes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/internal/about.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/java/docs/performance.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/kse/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/marketing/os-comparison.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/platforms/amd64/motherboards.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/platforms/ia64/machines.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/projects/busdma/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/publish.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/releases/5.3R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/releases/5.3R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/releases/5.3R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/releases/5.3R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/releases/5.4R/announce.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/releases/5.4R/hardware.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/releases/5.4R/installation.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/releases/5.4R/relnotes.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/releng/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/security/security.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/send-pr.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/ru/smp/index.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/share/sgml/includes.header.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/share/sgml/includes.header.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/share/sgml/includes.misc.xsl#2 edit Differences ... ==== //depot/projects/soc2005/www/freebsd/de/applications.sgml#2 (text+ko) ==== @@ -3,6 +3,7 @@ + %navincludes; %includes; ]> ==== //depot/projects/soc2005/www/freebsd/de/availability.sgml#2 (text+ko) ==== @@ -3,6 +3,7 @@ + %navincludes; %includes; ]> ==== //depot/projects/soc2005/www/freebsd/de/features.sgml#2 (text+ko) ==== @@ -3,6 +3,7 @@ + %navincludes; %includes; ]> ==== //depot/projects/soc2005/www/freebsd/de/internet.sgml#2 (text+ko) ==== @@ -3,6 +3,7 @@ + %navincludes; %includes; ]> ==== //depot/projects/soc2005/www/freebsd/de/mailto.sgml#2 (text+ko) ==== @@ -3,6 +3,7 @@ + %navincludes; %includes; ]> ==== //depot/projects/soc2005/www/freebsd/de/news/news.sgml#2 (text+ko) ==== @@ -4,6 +4,7 @@ + %navincludes; %includes; ]> ==== //depot/projects/soc2005/www/freebsd/de/platforms/alpha.sgml#2 (text+ko) ==== @@ -5,6 +5,7 @@ + %navincludes; %includes;]> ==== //depot/projects/soc2005/www/freebsd/de/platforms/arm.sgml#2 (text+ko) ==== @@ -5,6 +5,7 @@ + %navincludes; %includes; ]> ==== //depot/projects/soc2005/www/freebsd/de/platforms/ia64.sgml#2 (text+ko) ==== @@ -5,6 +5,7 @@ + %navincludes; %includes; ]> ==== //depot/projects/soc2005/www/freebsd/de/platforms/ia64/machines.sgml#2 (text+ko) ==== @@ -5,6 +5,7 @@ + %navincludes; %includes; ]> @@ -26,7 +27,7 @@

      Bull

      - +
      @@ -55,7 +56,7 @@

      Fujitsu-Siemens

      -
      NovaScale 4020
      +
      @@ -73,7 +74,7 @@

      Hewlett-Packard

      -
      PRIMERGY RXi300
      +
      @@ -120,7 +121,7 @@

      IBM

      -
      Integrity rx1600
      +
      @@ -143,7 +144,7 @@

      NEC

      -
      eserver xSeries 382
      +
      @@ -154,7 +155,7 @@

      Supermicro

      -
      Express5800/1000 series
      +
      @@ -171,7 +172,7 @@

      Unisys

      -
      SuperServer 6113L-8
      +
      ==== //depot/projects/soc2005/www/freebsd/de/platforms/mips.sgml#2 (text+ko) ==== @@ -5,6 +5,7 @@ + %navincludes; %includes;]> ==== //depot/projects/soc2005/www/freebsd/de/platforms/pc98.sgml#2 (text+ko) ==== @@ -5,6 +5,7 @@ + %navincludes; %includes; ]> ==== //depot/projects/soc2005/www/freebsd/de/platforms/sparc.sgml#2 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Aug 31 18:03:49 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 703D716A421; Wed, 31 Aug 2005 18:03:49 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 4B08B16A41F for ; Wed, 31 Aug 2005 18:03:49 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1B15443D45 for ; Wed, 31 Aug 2005 18:03:49 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7VI3nLY017639 for ; Wed, 31 Aug 2005 18:03:49 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7VI3mOM017636 for perforce@freebsd.org; Wed, 31 Aug 2005 18:03:48 GMT (envelope-from jhb@freebsd.org) Date: Wed, 31 Aug 2005 18:03:48 GMT Message-Id: <200508311803.j7VI3mOM017636@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 82914 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Aug 2005 18:03:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=82914 Change 82914 by jhb@jhb_slimer on 2005/08/31 18:03:41 Another todo. Affected files ... .. //depot/projects/smpng/sys/notes#52 edit Differences ... ==== //depot/projects/smpng/sys/notes#52 (text+ko) ==== @@ -92,6 +92,49 @@ locks. Requested by Jeff. + Implemented - Untested +- Fix free race in eventhandlers: +> In the macro "_EVENTHANDLER_INVOKE" in the file +> "/sys/sys/eventhandler.h", you unlock the list lock +> before calling the callback. That make sense. But what +> happens if one process is in the callback, and another +> process is deregistering this tag. +> +> The solution is that the last thread +> that has anything to do with a entry +> frees it: +> +> TAILQ_FOREACH() +> { +> refcount++; +> +> EHL_UNLOCK(); +> +> callback(); +> +> EHL_LOCK(); +> +> refcount--; +> +> if(refcount == 0) +> free(entry); +> } +> +> At init: +> refcount = 1; +> +> +> At deregister: +> +> EHL_LOCK(); +> +> refcount--; +> if(refcount == 0) +> free(); +> +> EHL_UNLOCK(); +> +> --HPS +> Active child branches: - jhb_intr - intr_event stuff From owner-p4-projects@FreeBSD.ORG Wed Aug 31 18:13:03 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CAB5D16A421; Wed, 31 Aug 2005 18:13:02 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 A3C2016A41F for ; Wed, 31 Aug 2005 18:13:02 +0000 (GMT) (envelope-from soc-emily@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D9A0043D58 for ; Wed, 31 Aug 2005 18:13:01 +0000 (GMT) (envelope-from soc-emily@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j7VID1q8018143 for ; Wed, 31 Aug 2005 18:13:01 GMT (envelope-from soc-emily@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j7VID1ZG018140 for perforce@freebsd.org; Wed, 31 Aug 2005 18:13:01 GMT (envelope-from soc-emily@freebsd.org) Date: Wed, 31 Aug 2005 18:13:01 GMT Message-Id: <200508311813.j7VID1ZG018140@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-emily@freebsd.org using -f From: soc-emily To: Perforce Change Reviews Cc: Subject: PERFORCE change 82917 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Aug 2005 18:13:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=82917 Change 82917 by soc-emily@soc-emily_beastie on 2005/08/31 18:12:10 Clean up after the previous submit. Some files were clobbered in the sync. Affected files ... .. //depot/projects/soc2005/www/freebsd/de/support.sgml#2 edit .. //depot/projects/soc2005/www/freebsd/fr/platforms/index.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/it/releases/5.4R/announce.sgml#2 edit Differences ... ==== //depot/projects/soc2005/www/freebsd/de/support.sgml#2 (text+ko) ==== @@ -3,6 +3,7 @@ + %navincludes; %includes; ]> ==== //depot/projects/soc2005/www/freebsd/fr/platforms/index.sgml#3 (text+ko) ==== @@ -4,10 +4,11 @@ + %navincludes; %includes; ]> - '> ==== //depot/projects/soc2005/www/freebsd/de/includes.navdevelopers.sgml#2 (text+ko) ==== @@ -3,21 +3,21 @@

      Section Navigation

      '> ==== //depot/projects/soc2005/www/freebsd/de/includes.navdocs.sgml#2 (text+ko) ==== @@ -4,16 +4,16 @@

      Section Navigation

      ==== //depot/projects/soc2005/www/freebsd/de/includes.navdownload.sgml#2 (text+ko) ==== @@ -6,9 +6,9 @@
    • FreeBSD Bezugsquellen
    • Release Informationen
    • Anwendungen (Ports)
    • ==== //depot/projects/soc2005/www/freebsd/de/includes.navsupport.sgml#2 (text+ko) ==== @@ -13,12 +13,12 @@
    • Verschiedenes
    • -
    • Sicherheit
    • -
    • Fehlerberichte +
    • Sicherheit
    • +
    • Fehlerberichte
    • -
    • Web Ressourcen
    • +
    • Web Ressourcen
    • '> ==== //depot/projects/soc2005/www/freebsd/de/includes.xsl#2 (text+ko) ==== @@ -40,55 +40,209 @@ FreeBSD Home Page + + - - <xsl:value-of select="$title"/> - - - - + <xsl:value-of select="$title"/> + + + + + + + + + + + + + Skip site navigation (1) + Skip section navigation (2) +
      + + + +

      Site Navigation

      +
      + +
      +
      +
      + + +

      + + + - + -
      -

      -
      +
      @@ -122,38 +276,4 @@ /releases/R/installation.html /releases/R/readme.html - - - - - - - - . - - - - - - - - - - - - - - - - - . - - - - - - - - - - + ==== //depot/projects/soc2005/www/freebsd/de/index.xsl#2 (text+ko) ==== @@ -27,388 +27,290 @@ - + <xsl:value-of select="$title"/> - - - + + + + + title="FreeBSD Project News" href="{$base}/news/news.rdf" /> + title="FreeBSD Security Advisories" href="{$base}/security/advisories.rdf" /> - + title="FreeBSD GNOME Project News" href="{$base}/gnome/news.rdf" /> + - Spamtrap, do not email: - <a href="mailto:bruscar@freebsd.org">bruscar@freebsd.org</a> + Spamtrap, do not email: + <a href="mailto:bruscar@freebsd.org">bruscar@freebsd.org</a> -
      ES7000 Aries 410
      - - +
      +
      + +
      -
      - -
      - FreeBSD: The Power to Serve -
      +
      +
      +
      -
      +
      +
      +

      + Based on BSD UNIX® +

      +

      FreeBSD ist ein modernes Betriebssystem für + x86 kompatible (einschließlich Pentium® und Athlon™), + amd64 kompatible (einschließlich Opteron™, Athlon 64 und EM64T), + Alpha/AXP, IA-64, PC-98 und UltraSPARC®-Architekturen. + An der Unterstützung weiterer + Plattformen + wird gearbeitet. FreeBSD ist eine Weiterentwicklung von + BSD, dem -Betriebssystem der + University of California, Berkeley. Das System wird + von einer großen + Entwicklergruppe gepflegt und erweitert.

      + +
      +
      - Wählen Sie einen Server - in Ihrer Nähe: +
      +
      +
       
       
      + +
       
       
      +
      + +
      +
      +

      LATEST RELEASES

      + +
      +
      +
      -
      +
      +
      + +
      - - - - -
      - - Sprache: - [de] -   - [en] -   - [es] -   - [fr] -   - [it] -   - [ja] -   - [ru] - -
      - -
      - -
      >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Sep 2 17:38:45 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 191AF16A421; Fri, 2 Sep 2005 17:38:45 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 E4A5016A41F for ; Fri, 2 Sep 2005 17:38:44 +0000 (GMT) (envelope-from soc-emily@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8C54343D48 for ; Fri, 2 Sep 2005 17:38:44 +0000 (GMT) (envelope-from soc-emily@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j82HciUr064672 for ; Fri, 2 Sep 2005 17:38:44 GMT (envelope-from soc-emily@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j82Hciqh064668 for perforce@freebsd.org; Fri, 2 Sep 2005 17:38:44 GMT (envelope-from soc-emily@freebsd.org) Date: Fri, 2 Sep 2005 17:38:44 GMT Message-Id: <200509021738.j82Hciqh064668@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-emily@freebsd.org using -f From: soc-emily To: Perforce Change Reviews Cc: Subject: PERFORCE change 83028 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Sep 2005 17:38:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=83028 Change 83028 by soc-emily@soc-emily_beastie on 2005/09/02 17:38:36 Work on French and Spanish versions. Affected files ... .. //depot/projects/soc2005/www/freebsd/en/layout/css/layout.css#2 edit .. //depot/projects/soc2005/www/freebsd/es/gnome/index.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/es/gnome/newsflash.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/es/includes.navabout.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/es/includes.navcommunity.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/es/includes.navdevelopers.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/es/includes.navdocs.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/es/includes.navdownload.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/es/includes.navsupport.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/es/includes.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/es/index.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/fr/events/events.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/fr/gallery/gallery-entry.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/fr/gallery/gallery.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/fr/gnome/index.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/fr/gnome/newsflash.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/fr/includes.navabout.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/fr/includes.navcommunity.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/fr/includes.navdevelopers.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/fr/includes.navdocs.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/fr/includes.navdownload.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/fr/includes.navsupport.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/fr/includes.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/fr/index.xsl#3 edit .. //depot/projects/soc2005/www/freebsd/fr/news/newsflash.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/fr/news/press.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/fr/news/status/report.xsl#2 edit Differences ... ==== //depot/projects/soc2005/www/freebsd/en/layout/css/layout.css#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* +/* FreeBSD.org - Layout Styles */ @@ -300,7 +300,7 @@ #FRONTSHORTCUTSCONTENT, #frontshortcutscontent { margin: 0; padding: 0; - padding-left: 35px; + padding-left: 25px; padding-top: 20px; } ==== //depot/projects/soc2005/www/freebsd/es/gnome/index.xsl#2 (text+ko) ==== @@ -7,6 +7,7 @@ + @@ -17,13 +18,24 @@ + + + + +
      +
      + + + +
      + + + +
      + + - - - -
      @@ -215,7 +227,17 @@
      - + +
      +
      + +
      + + + +
      +
      +
      ==== //depot/projects/soc2005/www/freebsd/es/gnome/newsflash.xsl#2 (text+ko) ==== @@ -7,7 +7,7 @@ - + @@ -21,12 +21,22 @@ + + + +
      +
      + + + +
      + + + +
      + + - - - - +
      + +
      + + + +
      +
      + ==== //depot/projects/soc2005/www/freebsd/es/includes.navabout.sgml#3 (text+ko) ==== @@ -10,10 +10,10 @@
    • Advocacy
    • Marketing
    • News
    • -
    • Events
    • +
    • Eventos
    • Press
    • Artwork
    • -
    • Donations
    • +
    • Donaciones
    • Legal Notices
'> ==== //depot/projects/soc2005/www/freebsd/es/includes.navcommunity.sgml#3 (text+ko) ==== @@ -4,10 +4,10 @@

Section Navigation

'> ==== //depot/projects/soc2005/www/freebsd/es/includes.navdevelopers.sgml#3 (text+ko) ==== @@ -3,12 +3,12 @@

Section Navigation

'> ==== //depot/projects/soc2005/www/freebsd/es/includes.navdocs.sgml#3 (text+ko) ==== @@ -3,18 +3,18 @@

Section Navigation

'> ==== //depot/projects/soc2005/www/freebsd/es/includes.navdownload.sgml#3 (text+ko) ==== @@ -3,14 +3,14 @@

Section Navigation

'> ==== //depot/projects/soc2005/www/freebsd/es/includes.navsupport.sgml#3 (text+ko) ==== @@ -3,22 +3,22 @@

Section Navigation

'> ==== //depot/projects/soc2005/www/freebsd/es/includes.xsl#2 (text+ko) ==== @@ -33,117 +33,210 @@ FreeBSD Home Page
+ + - - <xsl:value-of select="$title"/> - - - - + <xsl:value-of select="$title"/> + + + + + + + + + - + - Navigation Bar - -

- -
- - - Home - Aplicaciones - Soporte - Documentació - Vendors - Buscar - Index - Top - Top - + Skip site navigation (1) + Skip section navigation (2) +
+ + + +

Site Navigation

+
+ +
+
+
+ + +

+ + + + + + + + /releases/R/relnotes.html ==== //depot/projects/soc2005/www/freebsd/es/index.xsl#2 (text+ko) ==== @@ -14,379 +14,302 @@ + here are not used actually --> + - + - + <xsl:value-of select="$title"/> - - - + - - + + + + + + + + + + + + + Spamtrap, do not email: + <a href="mailto:bruscar@freebsd.org">bruscar@freebsd.org</a> + - + - - - +
+
+ +
-
- -
- FreeBSD: The Power to Serve -
+
+
+
-
+
+
+

+ Based on BSD UNIX® +

+

FreeBSD es un avanzado sistema operativo para arquitecturas + x86 compatibles (incluyendo Pentium® y Athlon™), + amd64 compatibles (incluyendo Opteron™, Athlon 64 y EM64T), + Alpha/AXP, IA-64, PC-98 y UltraSPARC®. + FreeBSD es un derivado de BSD, la versión de + desarrollada en la Universidad + de California, Berkeley. FreeBSD es desarrollado y mantenido + por un + + numeroso equipo de personas. El soporte para otras + arquitecturas + está en diferentes fases de desarrollo.

+ +
+
- Selecciona el servidor más - cercano: +
+
+
 
 
+ +
 
 
+
+ +
+
+

LATEST RELEASES

+ +
+
+
-
+
+
+ +
- +
+ +
+

+ +
+ +
- +
+
+

SHORTCUTS

+ +
+
-
+
+
 
 
+ +
 
 
+
+
+ +
- Idioma: - [de] -   - [en] -   - [es] -   - [fr] -   - [it] -   - [ja] -   - [ru] - -
+
+
+
+
+

LATEST NEWS

+
-
+ + + + -
+
+ +
+
- - - - +

UPCOMING EVENTS

+
-
+ + + + - -
- - - - -
- - - - -
- - - + + +
+
-
- Buscar:
- - - -
-
-
-
-

¿Qué es FreeBSD?

+
+ +
+ -

FreeBSD es un avanzado sistema operativo para arquitecturas - x86 compatibles (incluyendo Pentium® y Athlon™), - amd64 compatibles (incluyendo Opteron™, Athlon 64 y EM64T), - Alpha/AXP, IA-64, PC-98 y UltraSPARC®. - FreeBSD es un derivado de BSD, la versión de - desarrollada en la Universidad - de California, Berkeley. FreeBSD es desarrollado y mantenido - por un - - numeroso equipo de personas. El soporte para otras - arquitecturas - está en diferentes fases de desarrollo.

+ + +
+
-

Características principales -

+

IN THE MEDIA

+
-

FreeBSD ofrece altas - prestaciones - en comunicaciones de red, rendimiento, seguridad y - compatibilidad, todavía inexistentes en otros sistemas - operativos, incluyendo los comerciales de mayor renombre.

+ + + + -

Potentes Soluciones Internet -

+
+ +
+
-

FreeBSD es el servidor ideal para servicios de - Internet o Intranet. - Proporciona unos servicios de red robustos, incluso en - situaciones de alta carga, haciendo un uso eficaz de la - memoria para mantener buenos tiempos de repuesta con cientos - o miles de procesos simultáneos de usuarios.

+
+
-

Ejecuta una gran variedad de - aplicaciones

+
+
-

La calidad de FreeBSD conbinada con el hoy en día bajo - coste del hardware de alta velocidad para PC's hace de este - sistema una alternativa muy económica sobre las - estaciones de trabajo - comerciales. Existe gran cantidad de - aplicaciones - tanto a nivel servidor como usuario.

+

AVISOS DE SEGURIDAD

+
>>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Sep 2 18:24:03 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 323B016A421; Fri, 2 Sep 2005 18:24:03 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 05B0116A41F for ; Fri, 2 Sep 2005 18:24:03 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9604043D46 for ; Fri, 2 Sep 2005 18:24:02 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j82IO2NX067595 for ; Fri, 2 Sep 2005 18:24:02 GMT (envelope-from soc-bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j82IO2VE067591 for perforce@freebsd.org; Fri, 2 Sep 2005 18:24:02 GMT (envelope-from soc-bushman@freebsd.org) Date: Fri, 2 Sep 2005 18:24:02 GMT Message-Id: <200509021824.j82IO2VE067591@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-bushman@freebsd.org using -f From: soc-bushman To: Perforce Change Reviews Cc: Subject: PERFORCE change 83032 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Sep 2005 18:24:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=83032 Change 83032 by soc-bushman@soc-bushman_stinger on 2005/09/02 18:23:08 patch updated Affected files ... .. //depot/projects/soc2005/nsswitch_cached/patches/nsswitch_cached.diff#2 edit Differences ... ==== //depot/projects/soc2005/nsswitch_cached/patches/nsswitch_cached.diff#2 (text+ko) ==== @@ -1,6 +1,6 @@ diff -urN /usr/src/include/nscache.h /usr/src/include.new/nscache.h --- /usr/src/include/nscache.h Thu Jan 1 03:00:00 1970 -+++ /usr/src/include.new/nscache.h Tue Aug 30 20:01:29 2005 ++++ /usr/src/include.new/nscache.h Tue Aug 30 22:43:25 2005 @@ -0,0 +1,170 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -174,7 +174,7 @@ +#endif diff -urN /usr/src/include/nscachedcli.h /usr/src/include.new/nscachedcli.h --- /usr/src/include/nscachedcli.h Thu Jan 1 03:00:00 1970 -+++ /usr/src/include.new/nscachedcli.h Tue Aug 30 20:01:29 2005 ++++ /usr/src/include.new/nscachedcli.h Tue Aug 30 22:43:25 2005 @@ -0,0 +1,103 @@ +/*- + * Copyright (c) 2004 Michael Bushkov @@ -280,8 +280,8 @@ + +#endif diff -urN /usr/src/include/nsswitch.h /usr/src/include.new/nsswitch.h ---- /usr/src/include/nsswitch.h Tue Aug 30 19:56:47 2005 -+++ /usr/src/include.new/nsswitch.h Tue Aug 30 20:01:27 2005 +--- /usr/src/include/nsswitch.h Tue Aug 30 22:41:29 2005 ++++ /usr/src/include.new/nsswitch.h Tue Aug 30 22:43:23 2005 @@ -68,6 +68,7 @@ #define NSSRC_DNS "dns" /* DNS; IN for hosts, HS for others */ #define NSSRC_NIS "nis" /* YP/NIS */ @@ -329,8 +329,8 @@ * private data structures for back-end nsswitch implementation */ diff -urN /usr/src/include/rpc/rpcent.h /usr/src/include.new/rpc/rpcent.h ---- /usr/src/include/rpc/rpcent.h Tue Aug 30 19:56:47 2005 -+++ /usr/src/include.new/rpc/rpcent.h Tue Aug 30 20:01:28 2005 +--- /usr/src/include/rpc/rpcent.h Tue Aug 30 22:41:29 2005 ++++ /usr/src/include.new/rpc/rpcent.h Tue Aug 30 22:43:23 2005 @@ -53,12 +53,13 @@ }; @@ -352,8 +352,8 @@ extern struct rpcent *getrpcbynumber(int); extern struct rpcent *getrpcent(void); diff -urN /usr/src/lib/libc/Makefile /usr/src/lib/libc.new/Makefile ---- /usr/src/lib/libc/Makefile Tue Aug 30 19:56:52 2005 -+++ /usr/src/lib/libc.new/Makefile Tue Aug 30 20:02:48 2005 +--- /usr/src/lib/libc/Makefile Tue Aug 30 22:41:34 2005 ++++ /usr/src/lib/libc.new/Makefile Tue Aug 30 22:48:30 2005 @@ -64,6 +64,9 @@ .if defined(NO_FP_LIBC) CFLAGS+= -DNO_FLOATING_POINT @@ -365,8 +365,8 @@ # If there are no machine dependent sources, append all the # machine-independent sources: diff -urN /usr/src/lib/libc/gen/getgrent.c /usr/src/lib/libc.new/gen/getgrent.c ---- /usr/src/lib/libc/gen/getgrent.c Tue Aug 30 19:56:49 2005 -+++ /usr/src/lib/libc.new/gen/getgrent.c Tue Aug 30 20:02:52 2005 +--- /usr/src/lib/libc/gen/getgrent.c Tue Aug 30 22:41:31 2005 ++++ /usr/src/lib/libc.new/gen/getgrent.c Tue Aug 30 22:48:38 2005 @@ -141,11 +141,211 @@ static int compat_setgrent(void *, void *, va_list); static int compat_group(void *, void *, va_list); @@ -707,8 +707,8 @@ }; int rv, ret_errno; diff -urN /usr/src/lib/libc/gen/getpwent.c /usr/src/lib/libc.new/gen/getpwent.c ---- /usr/src/lib/libc/gen/getpwent.c Tue Aug 30 19:56:49 2005 -+++ /usr/src/lib/libc.new/gen/getpwent.c Tue Aug 30 20:02:52 2005 +--- /usr/src/lib/libc/gen/getpwent.c Tue Aug 30 22:41:31 2005 ++++ /usr/src/lib/libc.new/gen/getpwent.c Tue Aug 30 22:48:39 2005 @@ -195,9 +195,210 @@ static int compat_redispatch(struct compat_state *, enum nss_lookup_type, enum nss_lookup_type, const char *, const char *, uid_t, @@ -1048,8 +1048,8 @@ }; int rv, ret_errno; diff -urN /usr/src/lib/libc/net/Makefile.inc /usr/src/lib/libc.new/net/Makefile.inc ---- /usr/src/lib/libc/net/Makefile.inc Tue Aug 30 19:56:50 2005 -+++ /usr/src/lib/libc.new/net/Makefile.inc Tue Aug 30 20:02:56 2005 +--- /usr/src/lib/libc/net/Makefile.inc Tue Aug 30 22:41:32 2005 ++++ /usr/src/lib/libc.new/net/Makefile.inc Tue Aug 30 22:48:44 2005 @@ -16,9 +16,9 @@ inet_netof.c inet_network.c inet_ntoa.c inet_ntop.c \ inet_pton.c ip6opt.c linkaddr.c map_v4v6.c name6.c \ @@ -1064,8 +1064,8 @@ CFLAGS+=-DINET6 -I${.OBJDIR} diff -urN /usr/src/lib/libc/net/getaddrinfo.c /usr/src/lib/libc.new/net/getaddrinfo.c ---- /usr/src/lib/libc/net/getaddrinfo.c Tue Aug 30 19:56:50 2005 -+++ /usr/src/lib/libc.new/net/getaddrinfo.c Tue Aug 30 20:02:56 2005 +--- /usr/src/lib/libc/net/getaddrinfo.c Tue Aug 30 22:41:32 2005 ++++ /usr/src/lib/libc.new/net/getaddrinfo.c Tue Aug 30 22:48:44 2005 @@ -279,6 +279,11 @@ static struct addrinfo *_yphostent(char *, const struct addrinfo *); static int _yp_getaddrinfo(void *, void *, va_list); @@ -1238,8 +1238,8 @@ }; diff -urN /usr/src/lib/libc/net/gethostnamadr.c /usr/src/lib/libc.new/net/gethostnamadr.c ---- /usr/src/lib/libc/net/gethostnamadr.c Tue Aug 30 19:56:50 2005 -+++ /usr/src/lib/libc.new/net/gethostnamadr.c Tue Aug 30 20:02:56 2005 +--- /usr/src/lib/libc/net/gethostnamadr.c Tue Aug 30 22:41:32 2005 ++++ /usr/src/lib/libc.new/net/gethostnamadr.c Tue Aug 30 22:48:44 2005 @@ -62,6 +62,11 @@ { NSSRC_DNS, NS_SUCCESS }, { 0 } @@ -1510,8 +1510,8 @@ }; diff -urN /usr/src/lib/libc/net/getproto.c /usr/src/lib/libc.new/net/getproto.c ---- /usr/src/lib/libc/net/getproto.c Tue Aug 30 19:56:50 2005 -+++ /usr/src/lib/libc.new/net/getproto.c Tue Aug 30 20:02:56 2005 +--- /usr/src/lib/libc/net/getproto.c Tue Aug 30 22:41:32 2005 ++++ /usr/src/lib/libc.new/net/getproto.c Tue Aug 30 22:48:44 2005 @@ -37,31 +37,6 @@ #include __FBSDID("$FreeBSD: src/lib/libc/net/getproto.c,v 1.4 2005/04/19 14:41:13 ume Exp $"); @@ -1548,8 +1548,8 @@ + * nsswitch subsystem. The functionality of all getserv*_r functions is currently + * incapsulated in the files_protoent functions in the getprotoent.c file */ diff -urN /usr/src/lib/libc/net/getprotoent.c /usr/src/lib/libc.new/net/getprotoent.c ---- /usr/src/lib/libc/net/getprotoent.c Tue Aug 30 19:56:50 2005 -+++ /usr/src/lib/libc.new/net/getprotoent.c Tue Aug 30 20:02:56 2005 +--- /usr/src/lib/libc/net/getprotoent.c Tue Aug 30 22:41:32 2005 ++++ /usr/src/lib/libc.new/net/getprotoent.c Tue Aug 30 22:48:45 2005 @@ -40,108 +40,89 @@ #include #include @@ -2371,8 +2371,8 @@ + return (getpe(wrap_getprotoent_r, key)); } diff -urN /usr/src/lib/libc/net/getprotoname.c /usr/src/lib/libc.new/net/getprotoname.c ---- /usr/src/lib/libc/net/getprotoname.c Tue Aug 30 19:56:50 2005 -+++ /usr/src/lib/libc.new/net/getprotoname.c Tue Aug 30 20:02:56 2005 +--- /usr/src/lib/libc/net/getprotoname.c Tue Aug 30 22:41:32 2005 ++++ /usr/src/lib/libc.new/net/getprotoname.c Tue Aug 30 22:48:45 2005 @@ -37,39 +37,6 @@ #include __FBSDID("$FreeBSD: src/lib/libc/net/getprotoname.c,v 1.4 2005/04/19 14:41:13 ume Exp $"); @@ -2417,8 +2417,8 @@ + * nsswitch subsystem. The functionality of all getserv*_r functions is currently + * incapsulated in the files_protoent functions in the getprotoent.c file */ diff -urN /usr/src/lib/libc/net/getservbyname.c /usr/src/lib/libc.new/net/getservbyname.c ---- /usr/src/lib/libc/net/getservbyname.c Tue Aug 30 19:56:50 2005 -+++ /usr/src/lib/libc.new/net/getservbyname.c Tue Aug 30 20:02:56 2005 +--- /usr/src/lib/libc/net/getservbyname.c Tue Aug 30 22:41:32 2005 ++++ /usr/src/lib/libc.new/net/getservbyname.c Tue Aug 30 22:48:45 2005 @@ -36,54 +36,3 @@ #endif /* LIBC_SCCS and not lint */ #include @@ -2475,8 +2475,8 @@ - return (&sd->serv); -} diff -urN /usr/src/lib/libc/net/getservbyport.c /usr/src/lib/libc.new/net/getservbyport.c ---- /usr/src/lib/libc/net/getservbyport.c Tue Aug 30 19:56:50 2005 -+++ /usr/src/lib/libc.new/net/getservbyport.c Tue Aug 30 20:02:56 2005 +--- /usr/src/lib/libc/net/getservbyport.c Tue Aug 30 22:41:32 2005 ++++ /usr/src/lib/libc.new/net/getservbyport.c Tue Aug 30 22:48:45 2005 @@ -36,48 +36,3 @@ #endif /* LIBC_SCCS and not lint */ #include @@ -2527,8 +2527,8 @@ - return (&sd->serv); -} diff -urN /usr/src/lib/libc/net/getservent.c /usr/src/lib/libc.new/net/getservent.c ---- /usr/src/lib/libc/net/getservent.c Tue Aug 30 19:56:50 2005 -+++ /usr/src/lib/libc.new/net/getservent.c Tue Aug 30 20:02:57 2005 +--- /usr/src/lib/libc/net/getservent.c Tue Aug 30 22:41:32 2005 ++++ /usr/src/lib/libc.new/net/getservent.c Tue Aug 30 22:48:45 2005 @@ -37,10 +37,13 @@ #include __FBSDID("$FreeBSD: src/lib/libc/net/getservent.c,v 1.20 2005/08/20 07:59:13 stefanf Exp $"); @@ -3898,8 +3898,8 @@ + return (getserv(wrap_getservent_r, key)); } diff -urN /usr/src/lib/libc/net/name6.c /usr/src/lib/libc.new/net/name6.c ---- /usr/src/lib/libc/net/name6.c Tue Aug 30 19:56:50 2005 -+++ /usr/src/lib/libc.new/net/name6.c Tue Aug 30 20:02:57 2005 +--- /usr/src/lib/libc/net/name6.c Tue Aug 30 22:41:32 2005 ++++ /usr/src/lib/libc.new/net/name6.c Tue Aug 30 22:48:45 2005 @@ -233,6 +233,11 @@ #ifdef ICMPNL static int _icmp_ghbyaddr(void *, void *, va_list); @@ -4143,8 +4143,8 @@ { 0 } }; diff -urN /usr/src/lib/libc/net/netdb_private.h /usr/src/lib/libc.new/net/netdb_private.h ---- /usr/src/lib/libc/net/netdb_private.h Tue Aug 30 19:56:50 2005 -+++ /usr/src/lib/libc.new/net/netdb_private.h Tue Aug 30 20:02:57 2005 +--- /usr/src/lib/libc/net/netdb_private.h Tue Aug 30 22:41:32 2005 ++++ /usr/src/lib/libc.new/net/netdb_private.h Tue Aug 30 22:48:45 2005 @@ -58,29 +58,6 @@ #endif }; @@ -4243,7 +4243,7 @@ #endif /* _NETDB_PRIVATE_H_ */ diff -urN /usr/src/lib/libc/net/nscache.c /usr/src/lib/libc.new/net/nscache.c --- /usr/src/lib/libc/net/nscache.c Thu Jan 1 03:00:00 1970 -+++ /usr/src/lib/libc.new/net/nscache.c Tue Aug 30 20:02:58 2005 ++++ /usr/src/lib/libc.new/net/nscache.c Tue Aug 30 22:48:46 2005 @@ -0,0 +1,393 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -4640,8 +4640,8 @@ +} diff -urN /usr/src/lib/libc/net/nscachedcli.c /usr/src/lib/libc.new/net/nscachedcli.c --- /usr/src/lib/libc/net/nscachedcli.c Thu Jan 1 03:00:00 1970 -+++ /usr/src/lib/libc.new/net/nscachedcli.c Tue Aug 30 20:02:58 2005 -@@ -0,0 +1,526 @@ ++++ /usr/src/lib/libc.new/net/nscachedcli.c Tue Aug 30 22:48:47 2005 +@@ -0,0 +1,529 @@ +/*- + * Copyright (c) 2005 Michael Bushkov + * All rights reserved. @@ -5160,17 +5160,12 @@ +int +close_cached_mp_read_session(struct cached_connection_ *rs) +{ -+ int notification; -+ int result; -+ -+ notification = CET_MP_READ_SESSION_CLOSE_NOTIFICATION; -+ result = safe_write(rs, ¬ification, sizeof(int)); + close_cached_connection(rs); + return (0); +} diff -urN /usr/src/lib/libc/net/nsdispatch.c /usr/src/lib/libc.new/net/nsdispatch.c ---- /usr/src/lib/libc/net/nsdispatch.c Tue Aug 30 19:56:50 2005 -+++ /usr/src/lib/libc.new/net/nsdispatch.c Tue Aug 30 20:02:57 2005 +--- /usr/src/lib/libc/net/nsdispatch.c Tue Aug 30 22:41:32 2005 ++++ /usr/src/lib/libc.new/net/nsdispatch.c Tue Aug 30 22:48:46 2005 @@ -231,8 +231,6 @@ *count = 0; } @@ -5281,8 +5276,8 @@ (void)_pthread_rwlock_unlock(&nss_lock); fin: diff -urN /usr/src/lib/libc/rpc/getrpcent.c /usr/src/lib/libc.new/rpc/getrpcent.c ---- /usr/src/lib/libc/rpc/getrpcent.c Tue Aug 30 19:56:51 2005 -+++ /usr/src/lib/libc.new/rpc/getrpcent.c Tue Aug 30 20:03:01 2005 +--- /usr/src/lib/libc/rpc/getrpcent.c Tue Aug 30 22:41:33 2005 ++++ /usr/src/lib/libc.new/rpc/getrpcent.c Tue Aug 30 22:48:50 2005 @@ -40,281 +40,985 @@ * Copyright (c) 1984 by Sun Microsystems, Inc. */ @@ -6488,8 +6483,8 @@ + return (getrpc(wrap_getrpcent_r, key)); +} diff -urN /usr/src/usr.sbin/Makefile /usr/src/usr.sbin.new/Makefile ---- /usr/src/usr.sbin/Makefile Tue Aug 30 19:55:02 2005 -+++ /usr/src/usr.sbin.new/Makefile Tue Aug 30 20:13:52 2005 +--- /usr/src/usr.sbin/Makefile Tue Aug 30 22:39:25 2005 ++++ /usr/src/usr.sbin.new/Makefile Tue Aug 30 22:47:24 2005 @@ -22,6 +22,7 @@ bsnmpd \ ${_btxld} \ @@ -6511,7 +6506,7 @@ .if !defined(NO_CRYPT) && !defined(NO_OPENSSL) diff -urN /usr/src/usr.sbin/cached/Makefile /usr/src/usr.sbin.new/cached/Makefile --- /usr/src/usr.sbin/cached/Makefile Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/Makefile Tue Aug 30 20:14:26 2005 ++++ /usr/src/usr.sbin.new/cached/Makefile Tue Aug 30 22:47:58 2005 @@ -0,0 +1,4 @@ +# $FreeBSD$ +SUBDIR+="test" "cachelib" "bin" @@ -6519,7 +6514,7 @@ +.include diff -urN /usr/src/usr.sbin/cached/bin/Makefile /usr/src/usr.sbin.new/cached/bin/Makefile --- /usr/src/usr.sbin/cached/bin/Makefile Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/Makefile Tue Aug 30 20:14:26 2005 ++++ /usr/src/usr.sbin.new/cached/bin/Makefile Tue Aug 30 22:47:58 2005 @@ -0,0 +1,24 @@ +# $FreeBSD$ + @@ -6543,12 +6538,11 @@ +CONFDIR=${PREFIX}/etc +CONFMODE=${SHAREMODE} +CONF+=${.CURDIR}/cached.conf -+ +.include "../../Makefile.inc" +.include diff -urN /usr/src/usr.sbin/cached/bin/cached.8 /usr/src/usr.sbin.new/cached/bin/cached.8 --- /usr/src/usr.sbin/cached/bin/cached.8 Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/cached.8 Tue Aug 30 20:14:26 2005 ++++ /usr/src/usr.sbin.new/cached/bin/cached.8 Tue Aug 30 22:47:58 2005 @@ -0,0 +1,105 @@ +.\" Copyright (c) 2005 Michael Bushkov +.\" All rights reserved. @@ -6657,7 +6651,7 @@ +.Aq bushman@rsu.ru. diff -urN /usr/src/usr.sbin/cached/bin/cached.c /usr/src/usr.sbin.new/cached/bin/cached.c --- /usr/src/usr.sbin/cached/bin/cached.c Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/cached.c Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/bin/cached.c Tue Aug 30 22:47:57 2005 @@ -0,0 +1,719 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -6939,9 +6933,9 @@ + qstate = init_query_state(fd, sizeof(int)); + memset(&timeout, 0, sizeof(struct timespec)); + -+ EV_SET(&eventlist[0], fd, EVFILT_READ, EV_ADD | EV_ONESHOT, ++ EV_SET(&eventlist[1], fd, EVFILT_READ, EV_ADD | EV_ONESHOT, + NOTE_LOWAT, qstate->kevent_watermark, qstate); -+ EV_SET(&eventlist[1], fd, EVFILT_TIMER, EV_ADD | EV_ONESHOT, ++ EV_SET(&eventlist[0], fd, EVFILT_TIMER, EV_ADD | EV_ONESHOT, + 0, qstate->timeout.tv_sec * 1000, qstate); + res = kevent(env->queue, eventlist, 2, NULL, 0, &timeout); + TRACE_INT(res); @@ -7099,11 +7093,11 @@ + qstate->use_alternate_io = 1; + + qstate->io_buffer_watermark = MAX_SOCKET_IO_SIZE; -+ EV_SET(&eventlist[0], event_data->ident, ++ EV_SET(&eventlist[1], event_data->ident, + qstate->kevent_filter, EV_ADD | EV_ONESHOT, + NOTE_LOWAT, MAX_SOCKET_IO_SIZE, qstate); + } else { -+ EV_SET(&eventlist[0], event_data->ident, ++ EV_SET(&eventlist[1], event_data->ident, + qstate->kevent_filter, EV_ADD | EV_ONESHOT, + NOTE_LOWAT, qstate->kevent_watermark, qstate); + } @@ -7114,7 +7108,7 @@ + MAX_SOCKET_IO_SIZE) { + qstate->io_buffer_watermark = qstate->io_buffer + + qstate->io_buffer_size - qstate->io_buffer_p; -+ EV_SET(&eventlist[0], event_data->ident, ++ EV_SET(&eventlist[1], event_data->ident, + qstate->io_buffer_filter, + EV_ADD | EV_ONESHOT, NOTE_LOWAT, + qstate->io_buffer_watermark, @@ -7122,12 +7116,12 @@ + } else { + TRACE_POINT(); + qstate->io_buffer_watermark = MAX_SOCKET_IO_SIZE; -+ EV_SET(&eventlist[0], event_data->ident, ++ EV_SET(&eventlist[1], event_data->ident, + qstate->io_buffer_filter, EV_ADD | EV_ONESHOT, + NOTE_LOWAT, MAX_SOCKET_IO_SIZE, qstate); + } + } -+ EV_SET(&eventlist[1], event_data->ident, EVFILT_TIMER, ++ EV_SET(&eventlist[0], event_data->ident, EVFILT_TIMER, + EV_ADD | EV_ONESHOT, 0, query_timeout.tv_sec * 1000, qstate); + kevent(env->queue, eventlist, 2, NULL, 0, &kevent_timeout); + @@ -7380,7 +7374,7 @@ +} diff -urN /usr/src/usr.sbin/cached/bin/cached.conf /usr/src/usr.sbin.new/cached/bin/cached.conf --- /usr/src/usr.sbin/cached/bin/cached.conf Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/cached.conf Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/bin/cached.conf Tue Aug 30 22:47:57 2005 @@ -0,0 +1,168 @@ +socket_path = "/var/run/cached" +pidfile_path = "/var/run/cached.pid" @@ -7552,7 +7546,7 @@ +} diff -urN /usr/src/usr.sbin/cached/bin/cached.conf.5 /usr/src/usr.sbin.new/cached/bin/cached.conf.5 --- /usr/src/usr.sbin/cached/bin/cached.conf.5 Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/cached.conf.5 Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/bin/cached.conf.5 Tue Aug 30 22:47:57 2005 @@ -0,0 +1,199 @@ +.\" Copyright (c) 2005 Michael Bushkov +.\" All rights reserved. @@ -7755,7 +7749,7 @@ +.Aq bushman@rsu.ru. diff -urN /usr/src/usr.sbin/cached/bin/config.c /usr/src/usr.sbin.new/cached/bin/config.c --- /usr/src/usr.sbin/cached/bin/config.c Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/config.c Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/bin/config.c Tue Aug 30 22:47:58 2005 @@ -0,0 +1,698 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -8457,7 +8451,7 @@ +} diff -urN /usr/src/usr.sbin/cached/bin/config.h /usr/src/usr.sbin.new/cached/bin/config.h --- /usr/src/usr.sbin/cached/bin/config.h Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/config.h Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/bin/config.h Tue Aug 30 22:47:58 2005 @@ -0,0 +1,86 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -8547,7 +8541,7 @@ +#endif diff -urN /usr/src/usr.sbin/cached/bin/debug.c /usr/src/usr.sbin.new/cached/bin/debug.c --- /usr/src/usr.sbin/cached/bin/debug.c Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/debug.c Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/bin/debug.c Tue Aug 30 22:47:58 2005 @@ -0,0 +1,146 @@ +/*- + * Copyright (c) 2004 Michael Bushkov @@ -8697,7 +8691,7 @@ +} diff -urN /usr/src/usr.sbin/cached/bin/debug.h /usr/src/usr.sbin.new/cached/bin/debug.h --- /usr/src/usr.sbin/cached/bin/debug.h Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/debug.h Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/bin/debug.h Tue Aug 30 22:47:58 2005 @@ -0,0 +1,65 @@ +/*- + * Copyright (c) 2004 Michael Bushkov @@ -8766,7 +8760,7 @@ +#endif diff -urN /usr/src/usr.sbin/cached/bin/log.c /usr/src/usr.sbin.new/cached/bin/log.c --- /usr/src/usr.sbin/cached/bin/log.c Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/log.c Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/bin/log.c Tue Aug 30 22:47:58 2005 @@ -0,0 +1,75 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -8845,7 +8839,7 @@ +} diff -urN /usr/src/usr.sbin/cached/bin/log.h /usr/src/usr.sbin.new/cached/bin/log.h --- /usr/src/usr.sbin/cached/bin/log.h Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/log.h Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/bin/log.h Tue Aug 30 22:47:58 2005 @@ -0,0 +1,42 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -8891,7 +8885,7 @@ +#endif diff -urN /usr/src/usr.sbin/cached/bin/mp_rs_query.c /usr/src/usr.sbin.new/cached/bin/mp_rs_query.c --- /usr/src/usr.sbin/cached/bin/mp_rs_query.c Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/mp_rs_query.c Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/bin/mp_rs_query.c Tue Aug 30 22:47:58 2005 @@ -0,0 +1,385 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -9280,7 +9274,7 @@ +} diff -urN /usr/src/usr.sbin/cached/bin/mp_rs_query.h /usr/src/usr.sbin.new/cached/bin/mp_rs_query.h --- /usr/src/usr.sbin/cached/bin/mp_rs_query.h Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/mp_rs_query.h Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/bin/mp_rs_query.h Tue Aug 30 22:47:58 2005 @@ -0,0 +1,35 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -9319,7 +9313,7 @@ +#endif diff -urN /usr/src/usr.sbin/cached/bin/mp_ws_query.c /usr/src/usr.sbin.new/cached/bin/mp_ws_query.c --- /usr/src/usr.sbin/cached/bin/mp_ws_query.c Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/mp_ws_query.c Tue Aug 30 20:14:26 2005 ++++ /usr/src/usr.sbin.new/cached/bin/mp_ws_query.c Tue Aug 30 22:47:58 2005 @@ -0,0 +1,431 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -9754,7 +9748,7 @@ +} diff -urN /usr/src/usr.sbin/cached/bin/mp_ws_query.h /usr/src/usr.sbin.new/cached/bin/mp_ws_query.h --- /usr/src/usr.sbin/cached/bin/mp_ws_query.h Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/mp_ws_query.h Tue Aug 30 20:14:26 2005 ++++ /usr/src/usr.sbin.new/cached/bin/mp_ws_query.h Tue Aug 30 22:47:58 2005 @@ -0,0 +1,35 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -9793,7 +9787,7 @@ +#endif diff -urN /usr/src/usr.sbin/cached/bin/parser.c /usr/src/usr.sbin.new/cached/bin/parser.c --- /usr/src/usr.sbin/cached/bin/parser.c Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/parser.c Tue Aug 30 20:14:26 2005 ++++ /usr/src/usr.sbin.new/cached/bin/parser.c Tue Aug 30 22:47:58 2005 @@ -0,0 +1,687 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -10484,7 +10478,7 @@ +} diff -urN /usr/src/usr.sbin/cached/bin/parser.h /usr/src/usr.sbin.new/cached/bin/parser.h --- /usr/src/usr.sbin/cached/bin/parser.h Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/parser.h Tue Aug 30 20:14:26 2005 ++++ /usr/src/usr.sbin.new/cached/bin/parser.h Tue Aug 30 22:47:58 2005 @@ -0,0 +1,101 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -10589,7 +10583,7 @@ +#endif diff -urN /usr/src/usr.sbin/cached/bin/protocol.c /usr/src/usr.sbin.new/cached/bin/protocol.c --- /usr/src/usr.sbin/cached/bin/protocol.c Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/protocol.c Tue Aug 30 20:14:26 2005 ++++ /usr/src/usr.sbin.new/cached/bin/protocol.c Tue Aug 30 22:47:58 2005 @@ -0,0 +1,498 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -11091,7 +11085,7 @@ +} diff -urN /usr/src/usr.sbin/cached/bin/protocol.h /usr/src/usr.sbin.new/cached/bin/protocol.h --- /usr/src/usr.sbin/cached/bin/protocol.h Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/protocol.h Tue Aug 30 20:14:26 2005 ++++ /usr/src/usr.sbin.new/cached/bin/protocol.h Tue Aug 30 22:47:58 2005 @@ -0,0 +1,242 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -11337,7 +11331,7 @@ +#endif diff -urN /usr/src/usr.sbin/cached/bin/query.c /usr/src/usr.sbin.new/cached/bin/query.c --- /usr/src/usr.sbin/cached/bin/query.c Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/query.c Tue Aug 30 20:14:26 2005 ++++ /usr/src/usr.sbin.new/cached/bin/query.c Tue Aug 30 22:47:58 2005 @@ -0,0 +1,756 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -12097,7 +12091,7 @@ +} diff -urN /usr/src/usr.sbin/cached/bin/query.h /usr/src/usr.sbin.new/cached/bin/query.h --- /usr/src/usr.sbin/cached/bin/query.h Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/query.h Tue Aug 30 20:14:26 2005 ++++ /usr/src/usr.sbin.new/cached/bin/query.h Tue Aug 30 22:47:58 2005 @@ -0,0 +1,100 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -12201,7 +12195,7 @@ +#endif diff -urN /usr/src/usr.sbin/cached/bin/singletons.c /usr/src/usr.sbin.new/cached/bin/singletons.c --- /usr/src/usr.sbin/cached/bin/singletons.c Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/singletons.c Tue Aug 30 20:14:26 2005 ++++ /usr/src/usr.sbin.new/cached/bin/singletons.c Tue Aug 30 22:47:58 2005 @@ -0,0 +1,32 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -12237,7 +12231,7 @@ +struct runtime_env *s_runtime_env = NULL; diff -urN /usr/src/usr.sbin/cached/bin/singletons.h /usr/src/usr.sbin.new/cached/bin/singletons.h --- /usr/src/usr.sbin/cached/bin/singletons.h Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/bin/singletons.h Tue Aug 30 20:14:26 2005 ++++ /usr/src/usr.sbin.new/cached/bin/singletons.h Tue Aug 30 22:47:58 2005 @@ -0,0 +1,44 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -12285,7 +12279,7 @@ +#endif diff -urN /usr/src/usr.sbin/cached/cachelib/Makefile /usr/src/usr.sbin.new/cached/cachelib/Makefile --- /usr/src/usr.sbin/cached/cachelib/Makefile Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/cachelib/Makefile Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/cachelib/Makefile Tue Aug 30 22:47:57 2005 @@ -0,0 +1,12 @@ +# $FreeBSD$ + @@ -12301,7 +12295,7 @@ +.include diff -urN /usr/src/usr.sbin/cached/cachelib/cachelib.c /usr/src/usr.sbin.new/cached/cachelib/cachelib.c --- /usr/src/usr.sbin/cached/cachelib/cachelib.c Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/cachelib/cachelib.c Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/cachelib/cachelib.c Tue Aug 30 22:47:57 2005 @@ -0,0 +1,1039 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -13344,82 +13338,82 @@ +} diff -urN /usr/src/usr.sbin/cached/cachelib/hashfuncs.c /usr/src/usr.sbin.new/cached/cachelib/hashfuncs.c --- /usr/src/usr.sbin/cached/cachelib/hashfuncs.c Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/cachelib/hashfuncs.c Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/cachelib/hashfuncs.c Tue Aug 30 22:47:57 2005 @@ -0,0 +1,28 @@ -+/*- -+ * Copyright (c) 2005 Michael Bushkov -+ * All rights reserved. -+ * -+ * 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 THE 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 THE 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. -+ * -+ */ -+ ++/*- ++ * Copyright (c) 2005 Michael Bushkov ++ * All rights reserved. ++ * ++ * 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 THE 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 THE 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. ++ * ++ */ ++ +#include "hashfuncs.h" diff -urN /usr/src/usr.sbin/cached/cachelib/hashfuncs.h /usr/src/usr.sbin.new/cached/cachelib/hashfuncs.h --- /usr/src/usr.sbin/cached/cachelib/hashfuncs.h Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/cachelib/hashfuncs.h Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/cachelib/hashfuncs.h Tue Aug 30 22:47:57 2005 @@ -0,0 +1,39 @@ -+/*- -+ * Copyright (c) 2005 Michael Bushkov -+ * All rights reserved. -+ * -+ * 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 THE 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 THE 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. -+ * -+ */ -+ -+#ifndef __CACHELIB_HASHFUNCS_H__ -+#define __CACHELIB_HASHFUNCS_H__ -+ -+#define STRING_SIMPLE_HASH_BODY(in_var, var, a, M) \ -+ for ((var) = 0; *(in_var) != '\0'; ++(in_var)) \ -+ (var) = ((a)*(var) + *(in_var)) % (M) -+ -+#define STRING_SIMPLE_MP2_HASH_BODY(in_var, var, a, M) \ -+ for ((var) = 0; *(in_var) != 0; ++(in_var)) \ -+ (var) = ((a)*(var) + *(in_var)) & (M - 1) -+ ++/*- ++ * Copyright (c) 2005 Michael Bushkov ++ * All rights reserved. ++ * ++ * 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 THE 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 THE 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. ++ * ++ */ ++ ++#ifndef __CACHELIB_HASHFUNCS_H__ ++#define __CACHELIB_HASHFUNCS_H__ ++ ++#define STRING_SIMPLE_HASH_BODY(in_var, var, a, M) \ ++ for ((var) = 0; *(in_var) != '\0'; ++(in_var)) \ ++ (var) = ((a)*(var) + *(in_var)) % (M) ++ ++#define STRING_SIMPLE_MP2_HASH_BODY(in_var, var, a, M) \ ++ for ((var) = 0; *(in_var) != 0; ++(in_var)) \ ++ (var) = ((a)*(var) + *(in_var)) & (M - 1) ++ +#endif diff -urN /usr/src/usr.sbin/cached/cachelib/hashtable.h /usr/src/usr.sbin.new/cached/cachelib/hashtable.h --- /usr/src/usr.sbin/cached/cachelib/hashtable.h Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/cachelib/hashtable.h Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/cachelib/hashtable.h Tue Aug 30 22:47:57 2005 @@ -0,0 +1,152 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -13575,7 +13569,7 @@ +#endif diff -urN /usr/src/usr.sbin/cached/cachelib/include/cachelib.h /usr/src/usr.sbin.new/cached/cachelib/include/cachelib.h --- /usr/src/usr.sbin/cached/cachelib/include/cachelib.h Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/cachelib/include/cachelib.h Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/cachelib/include/cachelib.h Tue Aug 30 22:47:57 2005 @@ -0,0 +1,242 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -13821,7 +13815,7 @@ +#endif diff -urN /usr/src/usr.sbin/cached/cachelib/policies.c /usr/src/usr.sbin.new/cached/cachelib/policies.c --- /usr/src/usr.sbin/cached/cachelib/policies.c Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/cachelib/policies.c Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/cachelib/policies.c Tue Aug 30 22:47:57 2005 @@ -0,0 +1,546 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -14371,7 +14365,7 @@ +} diff -urN /usr/src/usr.sbin/cached/cachelib/policies.h /usr/src/usr.sbin.new/cached/cachelib/policies.h --- /usr/src/usr.sbin/cached/cachelib/policies.h Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/cachelib/policies.h Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/cachelib/policies.h Tue Aug 30 22:47:57 2005 @@ -0,0 +1,114 @@ +/*- + * Copyright (c) 2005 Michael Bushkov @@ -14489,7 +14483,7 @@ +#endif diff -urN /usr/src/usr.sbin/cached/startup/cached /usr/src/usr.sbin.new/cached/startup/cached --- /usr/src/usr.sbin/cached/startup/cached Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/startup/cached Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/startup/cached Tue Aug 30 22:47:57 2005 @@ -0,0 +1,31 @@ +#!/bin/sh +# @@ -14524,7 +14518,7 @@ +run_rc_command "$1" diff -urN /usr/src/usr.sbin/cached/test/Makefile /usr/src/usr.sbin.new/cached/test/Makefile --- /usr/src/usr.sbin/cached/test/Makefile Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/test/Makefile Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/test/Makefile Tue Aug 30 22:47:57 2005 @@ -0,0 +1,9 @@ +# $FreeBSD$ + @@ -14537,7 +14531,7 @@ +.include diff -urN /usr/src/usr.sbin/cached/test/debug.c /usr/src/usr.sbin.new/cached/test/debug.c --- /usr/src/usr.sbin/cached/test/debug.c Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/test/debug.c Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/test/debug.c Tue Aug 30 22:47:57 2005 @@ -0,0 +1,146 @@ +/*- + * Copyright (c) 2004 Michael Bushkov @@ -14687,7 +14681,7 @@ +} diff -urN /usr/src/usr.sbin/cached/test/debug.h /usr/src/usr.sbin.new/cached/test/debug.h --- /usr/src/usr.sbin/cached/test/debug.h Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/test/debug.h Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/test/debug.h Tue Aug 30 22:47:57 2005 @@ -0,0 +1,65 @@ +/*- + * Copyright (c) 2004 Michael Bushkov @@ -14756,7 +14750,7 @@ +#endif diff -urN /usr/src/usr.sbin/cached/test/test.c /usr/src/usr.sbin.new/cached/test/test.c --- /usr/src/usr.sbin/cached/test/test.c Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/test/test.c Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/test/test.c Tue Aug 30 22:47:57 2005 @@ -0,0 +1,181 @@ +/*- + * Copyright (c) 2004 Michael Bushkov @@ -14941,7 +14935,7 @@ +__TEST_LOG_IMPL(3) diff -urN /usr/src/usr.sbin/cached/test/test.h /usr/src/usr.sbin.new/cached/test/test.h --- /usr/src/usr.sbin/cached/test/test.h Thu Jan 1 03:00:00 1970 -+++ /usr/src/usr.sbin.new/cached/test/test.h Tue Aug 30 20:14:25 2005 ++++ /usr/src/usr.sbin.new/cached/test/test.h Tue Aug 30 22:47:57 2005 @@ -0,0 +1,71 @@ +/*- + * Copyright (c) 2004 Michael Bushkov From owner-p4-projects@FreeBSD.ORG Fri Sep 2 19:39:35 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7DAE016A421; Fri, 2 Sep 2005 19:39:35 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 56EE516A41F for ; Fri, 2 Sep 2005 19:39:35 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1B57343D45 for ; Fri, 2 Sep 2005 19:39:35 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j82JdY28074211 for ; Fri, 2 Sep 2005 19:39:34 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j82JdYgP074208 for perforce@freebsd.org; Fri, 2 Sep 2005 19:39:34 GMT (envelope-from jhb@freebsd.org) Date: Fri, 2 Sep 2005 19:39:34 GMT Message-Id: <200509021939.j82JdYgP074208@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 83036 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Sep 2005 19:39:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=83036 Change 83036 by jhb@jhb_slimer on 2005/09/02 19:39:25 Add a simple API to indicate that a thread is not allowed to sleep and use it in place of the g_xdown and g_xup mutexes. Also, use it in the ithreads around the handlers. Also, add a test for it to the crash module. Affected files ... .. //depot/projects/smpng/sys/geom/geom_io.c#37 edit .. //depot/projects/smpng/sys/kern/kern_intr.c#69 edit .. //depot/projects/smpng/sys/kern/subr_sleepqueue.c#17 edit .. //depot/projects/smpng/sys/modules/crash/crash.c#17 edit .. //depot/projects/smpng/sys/notes#53 edit .. //depot/projects/smpng/sys/sys/proc.h#148 edit Differences ... ==== //depot/projects/smpng/sys/geom/geom_io.c#37 (text+ko) ==== @@ -42,6 +42,7 @@ #include #include #include +#include #include #include @@ -364,12 +365,6 @@ struct bio *bp; off_t excess; int error; -#ifdef WITNESS - struct mtx mymutex; - - bzero(&mymutex, sizeof mymutex); - mtx_init(&mymutex, "g_xdown", NULL, MTX_DEF); -#endif for(;;) { g_bioq_lock(&g_bio_run_down); @@ -425,16 +420,12 @@ default: break; } -#ifdef WITNESS - mtx_lock(&mymutex); -#endif + THREAD_NO_SLEEPING(); CTR4(KTR_GEOM, "g_down starting bp %p provider %s off %ld " "len %ld", bp, bp->bio_to->name, bp->bio_offset, bp->bio_length); bp->bio_to->geom->start(bp); -#ifdef WITNESS - mtx_unlock(&mymutex); -#endif + THREAD_SLEEPING_OK(); } } @@ -462,40 +453,26 @@ g_io_schedule_up(struct thread *tp __unused) { struct bio *bp; -#ifdef WITNESS - struct mtx mymutex; - - bzero(&mymutex, sizeof mymutex); - mtx_init(&mymutex, "g_xup", NULL, MTX_DEF); -#endif for(;;) { g_bioq_lock(&g_bio_run_up); bp = g_bioq_first(&g_bio_run_task); if (bp != NULL) { g_bioq_unlock(&g_bio_run_up); -#ifdef WITNESS - mtx_lock(&mymutex); -#endif + THREAD_NO_SLEEPING(); CTR1(KTR_GEOM, "g_up processing task bp %p", bp); bp->bio_task(bp->bio_task_arg); -#ifdef WITNESS - mtx_unlock(&mymutex); -#endif + THREAD_SLEEPING_OK(); continue; } bp = g_bioq_first(&g_bio_run_up); if (bp != NULL) { g_bioq_unlock(&g_bio_run_up); -#ifdef WITNESS - mtx_lock(&mymutex); -#endif + THREAD_NO_SLEEPING(); CTR4(KTR_GEOM, "g_up biodone bp %p provider %s off " "%ld len %ld", bp, bp->bio_to->name, bp->bio_offset, bp->bio_length); biodone(bp); -#ifdef WITNESS - mtx_unlock(&mymutex); -#endif + THREAD_SLEEPING_OK(); continue; } CTR0(KTR_GEOM, "g_up going to sleep"); ==== //depot/projects/smpng/sys/kern/kern_intr.c#69 (text+ko) ==== @@ -521,6 +521,7 @@ * another pass. */ atomic_store_rel_int(&ithd->it_need, 0); + THREAD_NO_SLEEPING(); restart: TAILQ_FOREACH(ih, &ithd->it_handlers, ih_next) { if (ithd->it_flags & IT_SOFT && !ih->ih_need) @@ -546,6 +547,7 @@ if ((ih->ih_flags & IH_MPSAFE) == 0) mtx_unlock(&Giant); } + THREAD_SLEEPING_OK(); /* * Interrupt storm handling: ==== //depot/projects/smpng/sys/kern/subr_sleepqueue.c#17 (text+ko) ==== @@ -269,6 +269,10 @@ MPASS(td->td_sleepqueue != NULL); MPASS(wchan != NULL); + /* If this thread is not allowed to sleep, die a horrible death. */ + KASSERT(!(td->td_pflags & TDP_NOSLEEPING), + ("trying to sleep while sleeping is prohibited")); + /* Look up the sleep queue associated with the wait channel 'wchan'. */ sq = sleepq_lookup(wchan); ==== //depot/projects/smpng/sys/modules/crash/crash.c#17 (text+ko) ==== @@ -383,7 +383,18 @@ } CRASH_EVENT("lock test1 mutex and then Giant", test_mtx_then_Giant); #endif - + +static void +test_no_sleeping(void) +{ + + printf("Should panic\n"); + THREAD_NO_SLEEPING(); + tsleep(&test1_mtx, curthread->td_priority, "sleep", 1); + THREAD_SLEEPING_OK(); +} +CRASH_EVENT("sleep while sleeping is prohibited", test_no_sleeping); + /* Help event should be last so that it is always event 1. */ static void ==== //depot/projects/smpng/sys/notes#53 (text+ko) ==== @@ -85,7 +85,7 @@ - fork counts? - Add a cache-line padded mtx_aligned union and use it for the mutex pools. - Robert wants intrcnt's for IPIs -- Add checks to msleep() and cv_wait*() to ensure they aren't called by an ++ Add checks to msleep() and cv_wait*() to ensure they aren't called by an interrupt thread. Would need to provide an exception for the istorm stuff. - Add witness checks to thread exit to make sure dying threads don't leak ==== //depot/projects/smpng/sys/sys/proc.h#148 (text+ko) ==== @@ -368,7 +368,7 @@ #define TDP_ALTSTACK 0x00000020 /* Have alternate signal stack. */ #define TDP_DEADLKTREAT 0x00000040 /* Lock aquisition - deadlock treatment. */ #define TDP_SA 0x00000080 /* A scheduler activation based thread. */ -#define TDP_UNUSED8 0x00000100 /* --available -- */ +#define TDP_NOSLEEPING 0x00000100 /* Thread is not allowed to sleep on a sq. */ #define TDP_OWEUPC 0x00000200 /* Call addupc() at next AST. */ #define TDP_UNUSED10 0x00000400 /* --available -- */ #define TDP_CAN_UNBIND 0x00000800 /* Only temporarily bound. */ @@ -793,6 +793,19 @@ /* Check whether a thread is safe to be swapped out. */ #define thread_safetoswapout(td) (TD_IS_SLEEPING(td) || TD_IS_SUSPENDED(td)) +/* Control whether or not it is safe for curthread to sleep. */ +#define THREAD_NO_SLEEPING() do { \ + KASSERT(!(curthread->td_pflags & TDP_NOSLEEPING), \ + ("nested no sleeping")); \ + curthread->td_pflags |= TDP_NOSLEEPING; \ +} while (0) + +#define THREAD_SLEEPING_OK() do { \ + KASSERT((curthread->td_pflags & TDP_NOSLEEPING), \ + ("nested sleeping ok")); \ + curthread->td_pflags &= ~TDP_NOSLEEPING; \ +} while (0) + /* Lock and unlock process arguments. */ #define PARGS_LOCK(p) mtx_lock(&pargs_ref_lock) #define PARGS_UNLOCK(p) mtx_unlock(&pargs_ref_lock) From owner-p4-projects@FreeBSD.ORG Fri Sep 2 19:47:46 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C747816A421; Fri, 2 Sep 2005 19:47:45 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 A252C16A41F for ; Fri, 2 Sep 2005 19:47:45 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5F0BB43D45 for ; Fri, 2 Sep 2005 19:47:45 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j82Jlj25074591 for ; Fri, 2 Sep 2005 19:47:45 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j82Jljxa074588 for perforce@freebsd.org; Fri, 2 Sep 2005 19:47:45 GMT (envelope-from jhb@freebsd.org) Date: Fri, 2 Sep 2005 19:47:45 GMT Message-Id: <200509021947.j82Jljxa074588@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 83037 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Sep 2005 19:47:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=83037 Change 83037 by jhb@jhb_twclab on 2005/09/02 19:46:45 Install test modules in /boot/modules. Affected files ... .. //depot/projects/smpng/sys/modules/crash/Makefile#2 edit .. //depot/projects/smpng/sys/modules/evtest/Makefile#2 edit Differences ... ==== //depot/projects/smpng/sys/modules/crash/Makefile#2 (text+ko) ==== @@ -2,5 +2,6 @@ KMOD= crash SRCS= crash.c +KMODDIR=/boot/modules .include ==== //depot/projects/smpng/sys/modules/evtest/Makefile#2 (text+ko) ==== @@ -2,5 +2,6 @@ KMOD= evtest SRCS= evtest.c +KMODDIR=/boot/modules .include From owner-p4-projects@FreeBSD.ORG Fri Sep 2 19:49:49 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BB04016A421; Fri, 2 Sep 2005 19:49:48 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 950F416A41F for ; Fri, 2 Sep 2005 19:49:48 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 52A5843D45 for ; Fri, 2 Sep 2005 19:49:48 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j82JnmHa074643 for ; Fri, 2 Sep 2005 19:49:48 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j82Jnmno074640 for perforce@freebsd.org; Fri, 2 Sep 2005 19:49:48 GMT (envelope-from jhb@freebsd.org) Date: Fri, 2 Sep 2005 19:49:48 GMT Message-Id: <200509021949.j82Jnmno074640@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 83038 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Sep 2005 19:49:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=83038 Change 83038 by jhb@jhb_slimer on 2005/09/02 19:49:43 Stick a test module I used to debug a rman bug a while back here so it isn't lost. Affected files ... .. //depot/projects/smpng/sys/modules/rman_test/Makefile#1 add .. //depot/projects/smpng/sys/modules/rman_test/rman_test.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Fri Sep 2 19:53:54 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 29B8416A421; Fri, 2 Sep 2005 19:53:54 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 ECC4016A41F for ; Fri, 2 Sep 2005 19:53:53 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C0E2343D46 for ; Fri, 2 Sep 2005 19:53:53 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j82Jrro4074862 for ; Fri, 2 Sep 2005 19:53:53 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j82Jrr5m074859 for perforce@freebsd.org; Fri, 2 Sep 2005 19:53:53 GMT (envelope-from jhb@freebsd.org) Date: Fri, 2 Sep 2005 19:53:53 GMT Message-Id: <200509021953.j82Jrr5m074859@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 83039 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Sep 2005 19:53:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=83039 Change 83039 by jhb@jhb_slimer on 2005/09/02 19:53:11 Add a test for calling try lock on a spin mutex. Affected files ... .. //depot/projects/smpng/sys/modules/crash/crash.c#18 edit Differences ... ==== //depot/projects/smpng/sys/modules/crash/crash.c#18 (text+ko) ==== @@ -395,6 +395,18 @@ } CRASH_EVENT("sleep while sleeping is prohibited", test_no_sleeping); +static void +test_trylock_spin(void) +{ + + printf("Should panic\n"); + if (mtx_trylock(&sched_lock)) + printf("Hmm, locked!\n"); + else + printf("Not locked\n"); +} +CRASH_EVENT("try lock on a spin mutex", test_trylock_spin); + /* Help event should be last so that it is always event 1. */ static void From owner-p4-projects@FreeBSD.ORG Fri Sep 2 20:09:14 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BC76116A421; Fri, 2 Sep 2005 20:09:13 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 7411916A41F for ; Fri, 2 Sep 2005 20:09:13 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3109743D48 for ; Fri, 2 Sep 2005 20:09:13 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j82K9DEr075479 for ; Fri, 2 Sep 2005 20:09:13 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j82K9CvG075476 for perforce@freebsd.org; Fri, 2 Sep 2005 20:09:13 GMT (envelope-from jhb@freebsd.org) Date: Fri, 2 Sep 2005 20:09:13 GMT Message-Id: <200509022009.j82K9CvG075476@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 83041 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Sep 2005 20:09:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=83041 Change 83041 by jhb@jhb_slimer on 2005/09/02 20:08:33 Add a kernel module to test SX_SYSINIT(). Affected files ... .. //depot/projects/smpng/sys/modules/sx_sysinit/Makefile#1 add .. //depot/projects/smpng/sys/modules/sx_sysinit/sx_sysinit.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Fri Sep 2 20:33:44 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6699616A421; Fri, 2 Sep 2005 20:33:44 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 3DD1916A41F for ; Fri, 2 Sep 2005 20:33:44 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0FC8C43D45 for ; Fri, 2 Sep 2005 20:33:44 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j82KXhvR076593 for ; Fri, 2 Sep 2005 20:33:43 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j82KXhxY076590 for perforce@freebsd.org; Fri, 2 Sep 2005 20:33:43 GMT (envelope-from jhb@freebsd.org) Date: Fri, 2 Sep 2005 20:33:43 GMT Message-Id: <200509022033.j82KXhxY076590@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 83044 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Sep 2005 20:33:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=83044 Change 83044 by jhb@jhb_slimer on 2005/09/02 20:33:00 Add a static mutex and also ensure that we enter the debugger after both initializing and destroying the locks. Affected files ... .. //depot/projects/smpng/sys/modules/sx_sysinit/sx_sysinit.c#2 edit Differences ... ==== //depot/projects/smpng/sys/modules/sx_sysinit/sx_sysinit.c#2 (text+ko) ==== @@ -34,18 +34,32 @@ */ #include +#include #include #include #include +#include #include -struct sx foo; +static struct sx foo; +static struct mtx bar; + SX_SYSINIT(foo_sx, &foo, "foo sx"); +MTX_SYSINIT(bar_mtx, &bar, "bar mtx", MTX_DEF); + +static void +mod_unload(void *dummy) +{ + + kdb_enter("unload"); +} +SYSUNINIT(mod_unload, SI_SUB_CONSOLE, SI_ORDER_FIRST, mod_unload, NULL); static int load(void *arg) { + kdb_enter("load"); return (0); } From owner-p4-projects@FreeBSD.ORG Fri Sep 2 23:29:18 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E8AB516A421; Fri, 2 Sep 2005 23:29:17 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 A588316A41F for ; Fri, 2 Sep 2005 23:29:17 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4B9A043D45 for ; Fri, 2 Sep 2005 23:29:17 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j82NTHKW095677 for ; Fri, 2 Sep 2005 23:29:17 GMT (envelope-from soc-cjones@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j82NTG9T095674 for perforce@freebsd.org; Fri, 2 Sep 2005 23:29:16 GMT (envelope-from soc-cjones@freebsd.org) Date: Fri, 2 Sep 2005 23:29:16 GMT Message-Id: <200509022329.j82NTG9T095674@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-cjones@freebsd.org using -f From: soc-cjones To: Perforce Change Reviews Cc: Subject: PERFORCE change 83048 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Sep 2005 23:29:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=83048 Change 83048 by soc-cjones@soc-cjones_ides on 2005/09/02 23:28:25 Remove unnecessary debugging output. Affected files ... .. //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum.c#5 edit .. //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_init.c#3 edit .. //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_list.c#3 edit .. //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_move.c#17 edit .. //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_plex.c#4 edit .. //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_rename.c#9 edit .. //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_share.c#4 edit .. //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_state.c#3 edit .. //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_subr.c#3 edit Differences ... ==== //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum.c#5 (text+ko) ==== @@ -278,8 +278,6 @@ g_topology_assert(); - printf("gv_create: started\n"); - sc = gp->softc; /* Find out how many of each object have been passed in. */ @@ -288,8 +286,6 @@ subdisks = gctl_get_paraml(req, "subdisks", sizeof(*subdisks)); drives = gctl_get_paraml(req, "drives", sizeof(*drives)); - printf("gv_create: %d volumes, %d plexes, %d subdisks, %d drives\n", *volumes, *plexes, *subdisks, *volumes); - /* First, handle drive definitions ... */ for (i = 0; i < *drives; i++) { snprintf(buf, sizeof(buf), "drive%d", i); @@ -391,13 +387,9 @@ s = g_malloc(sizeof(*s), M_WAITOK | M_ZERO); bcopy(s2, s, sizeof(*s)); - printf("gv_create: at bcopy subdisk '%s', size %d\n", s->name, (int) s->size); - /* Find the drive where this subdisk should be put on. */ d = gv_find_drive(sc, s->drive); - printf("gv_create: after gv_find_drive subdisk '%s', size %ld, drive '%s' avail %lld\n", s->name, (long) s->size, d->name, (long long) d->avail); - /* drive not found - XXX */ if (d == NULL) { printf("FOO: drive '%s' not found\n", s->drive); @@ -408,8 +400,6 @@ /* Find the plex where this subdisk belongs to. */ p = gv_find_plex(sc, s->plex); - printf("gv_create: after gv_find_plex subdisk '%s', size %ld, drive '%s' avail %lld\n", s->name, (long) s->size, d->name, (long long) d->avail); - /* plex not found - XXX */ if (p == NULL) { printf("FOO: plex '%s' not found\n", s->plex); @@ -428,8 +418,6 @@ continue; } - printf("gv_create: after gv_sd_to_drive subdisk '%s', size %ld, drive '%s', avail %lld\n", s->name, (long) s->size, d->name, (long long) d->avail); - /* * Then, we give the subdisk to the plex; we check if the * given values are correct and maybe adjust them. @@ -441,8 +429,6 @@ } s->flags |= GV_SD_NEWBORN; - printf("gv_create: after gv_sd_to_plex subdisk '%s', size %lld, drive '%s', avail %lld\n", s->name, (long long) s->size, d->name, (long long) d->avail); - s->vinumconf = sc; LIST_INSERT_HEAD(&sc->subdisks, s, sd); } @@ -460,7 +446,6 @@ * geom. */ LIST_FOREACH(d, &sc->drives, drive) { - printf("LIST_FOREACH: drive '%s'\n", d->name); if (d->geom == NULL) { /* * XXX if the provider disapears before we get a chance @@ -474,9 +459,7 @@ continue; } cp = g_new_consumer(gp); - printf("gv_create: calling g_attach\n"); g_attach(cp, pp); - printf("gv_create: calling gv_save_config\n"); gv_save_config(cp, d, sc); g_detach(cp); g_destroy_consumer(cp); ==== //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_init.c#3 (text+ko) ==== @@ -476,12 +476,8 @@ from = sync->from->consumer; to = sync->to->consumer; - printf("gv_sync_td: from=%p, to=%p)\n", from, to); - p = sync->to; - printf("gv_sync_td: plex '%s'\n", p->name); - if (p->flags & GV_PLEX_SYNCING) { printf("GEOM_VINUM: plex '%s' is already syncing.\n", p->name); g_free(sync); @@ -493,11 +489,8 @@ error = 0; - printf("gv_sync_td: locking topology\n"); g_topology_lock(); - printf("gv_sync_td: locked topology\n"); error = g_access(from, 1, 0, 0); - printf("g_access(from, 1, 0, 0) error = %d\n", error); if (error) { g_topology_unlock(); printf("GEOM_VINUM: sync from '%s' failed to access " @@ -515,15 +508,12 @@ g_free(sync); kthread_exit(error); } - printf("gv_sync_td: unlocking topology\n"); g_topology_unlock(); - printf("gv_sync_td: unlocked topology\n"); printf("GEOM_VINUM: plex sync %s -> %s started\n", sync->from->name, sync->to->name); for (i = 0; i < p->size; i+= sync->syncsize) { /* Read some bits from the good plex. */ - printf("g_read_data(%p, %lld, %lld, --)\n", from, (long long int) i, (long long int) sync->syncsize); buf = g_read_data(from, i, sync->syncsize, &error); if (buf == NULL) { printf("GEOM_VINUM: sync read from '%s' failed at " ==== //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_list.c#3 (text+ko) ==== @@ -330,8 +330,6 @@ LIST_FOREACH(s, &p->subdisks, in_plex) gv_lsi(s, sb, flags); } - - printf("gv_lpi: plex %s size %lld\n", p->name, (long long) p->size); } /* List one or more subdisks. */ @@ -361,8 +359,6 @@ void gv_lsi(struct gv_sd *s, struct sbuf *sb, int flags) { - printf("gv_lsi: subdisk '%s', consumer %p, provider %p, size %lld\n", s->name, s->consumer, s->provider, (long long) s->size); - if (flags & GV_FLAG_V) { sbuf_printf(sb, "Subdisk %s:\n", s->name); sbuf_printf(sb, "\t\tSize: %16jd bytes (%jd MB)\n", ==== //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_move.c#17 (text+ko) ==== @@ -79,11 +79,9 @@ return; } - printf("gv_move: getting argv[]\n"); for (i = 0; i < *argc; i++) { snprintf(buf, sizeof(buf), "argv%d", i); object = gctl_get_param(req, buf, NULL); - printf("%s -> %s\n", buf, object); if (NULL == object) continue; if (0 == i) @@ -116,13 +114,9 @@ gctl_error(req, "unknown subdisk '%s'", object); return; } - printf("gv_move: calling gv_move_sd\n"); err = gv_move_sd(sc, req, s, destination, *flags); if (err) -{ - printf("gv_move: gv_move_sd returned %d\n", err); return; -} break; case GV_TYPE_DRIVE: d = gv_find_drive(sc, object); @@ -177,13 +171,9 @@ struct g_consumer *cp; char errstr[ERRBUFSIZ]; - printf("gv_move_sd: entering\n"); - g_topology_assert(); KASSERT(cursd != NULL, ("gv_move_sd: NULL cursd")); - printf("gv_move_sd: topology asserted\n"); - if (!(flags && GV_FLAG_F)) { gctl_error(req, "-f flag not passed; move would be destructive"); return 98; @@ -208,21 +198,16 @@ /* Stale the old subdisk. */ err = gv_set_sd_state(cursd, GV_SD_STALE, GV_SETSTATE_FORCE | GV_SETSTATE_CONFIG); - printf("gv_move_sd: staling old sd\n"); - if (err) { - printf("gv_move_sd: gv_set_sd_state = %d\n", err); + if (err) return err; - } /* Create new subdisk. Ideally, we'd use gv_new_sd, but that requires us to create a string for it to parse, which is silly. TODO: maybe refactor gv_new_sd such that this is no longer the case. */ newsd = g_malloc(sizeof(struct gv_sd), M_WAITOK | M_ZERO); - printf("gv_move_sd: allocated newsd ptr\n"); - if (!newsd) { - printf("gv_move_sd: couldn't allocate memory for new subdisk struct\n"); + if (!newsd) return 95; - } + newsd->plex_offset = cursd->plex_offset; newsd->size = cursd->size; newsd->drive_offset = -1; @@ -231,12 +216,8 @@ strncpy(newsd->plex, cursd->plex, GV_MAXPLEXNAME); newsd->state = GV_SD_STALE; newsd->vinumconf = cursd->vinumconf; - printf("gv_move_sd: initialized newsd; name='%s', drive='%s', size=%lld, plex_offset=%lld\n", - newsd->name, newsd->drive, newsd->size, newsd->plex_offset); err = gv_sd_to_drive(sc, d, newsd, errstr, ERRBUFSIZ); - printf("gv_move_sd: allocated newsd to drive, drive_offset=%lld\n", newsd->drive_offset); if (err) { /* XXX not enough free space? */ - printf("gv_move_sd: gv_sd_to_drive = %d\n", err); gctl_error(req, errstr); g_free(newsd); return err; @@ -245,61 +226,28 @@ /* Replace the old sd by the new one. */ cp = cursd->consumer; g_detach(cp); - printf("gv_move_sd: detached consumer\n"); LIST_FOREACH_SAFE(s, &p->subdisks, in_plex, s2) { - printf("gv_move_sd: traversing in_plex list (s: %p, s->name: '%s', s2: %p)\n", - s, s->name, s2); - printf("gv_move_sd: for sd '%s', consumer = %p\n", s->name, s->consumer); if (s == cursd) { - printf("\thit!\n"); p->sdcount--; p->size -= s->size; err = gv_rm_sd(sc, req, s, 0); - printf("gv_move_sd: removed old subdisk\n"); - if (err) { - printf("gv_move_sd: gv_rm_sd = %d\n", err); + if (err) return err; - } } } - printf("gv_move_sd: completed traversing in_plex\n"); gv_sd_to_plex(p, newsd, 1); - /* newsd->flags |= GV_SD_NEWBORN; */ - printf("gv_move_sd: gave sd to plex, set flags\n"); gv_drive_modify(d); /* Creates the new providers.... */ - printf("gv_move_sd: gv_drive_modify(d)\n"); - printf("cp=%p, newsd=%p, newsd->provider=%p\n", cp, newsd, newsd->provider); /* And reconnect the consumer ... */ newsd->consumer = cp; err = g_attach(cp, newsd->provider); - printf("gv_move_sd: called g_attach(%p, %p) => %d; new consumer %p\n", cp, newsd->provider, err, newsd->consumer); if (err) { g_destroy_consumer(cp); gctl_error(req, "proposed move would create a loop in GEOM config"); return err; - } else { - printf("gv_move_sd: set newsd->consumer to %p\n", newsd->consumer); } - /* newsd->consumer = cp; */ - printf("gv_move_sd: before LIST_INSERT_HEAD\n"); LIST_INSERT_HEAD(&sc->subdisks, newsd, sd); - printf("gv_move_sd: inserted newsd into subdisks list\n"); - - /* LIST_FOREACH(s, &sc->subdisks, sd) - gv_update_sd_state(s); - printf("gv_move_sd: updated subdisk states\n"); - LIST_FOREACH(p, &sc->plexes, plex) - gv_update_plex_config(p); - printf("gv_move_sd: updated plex configs\n"); - LIST_FOREACH(v, &sc->volumes, volume) - gv_update_vol_state(v); - printf("gv_move_sd: updated volume states\n"); */ - gv_save_config_all(sc); - - printf("gv_move_sd: exiting at bottom\n"); - return 0; } ==== //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_plex.c#4 (text+ko) ==== @@ -567,7 +567,7 @@ if (err) { printf("GEOM_VINUM: plex request failed for "); g_print_bio(bp); - printf(", err = %d\n", err); + printf("\n"); TAILQ_FOREACH_SAFE(bq, &wp->bits, queue, bq2) { TAILQ_REMOVE(&wp->bits, bq, queue); g_free(bq); @@ -629,7 +629,7 @@ if (err) { printf("GEOM_VINUM: plex request failed for "); g_print_bio(bp); - printf(", err = %d\n", err); + printf("\n"); cbp = bp->bio_driver1; while (cbp != NULL) { pbp = cbp->bio_caller1; ==== //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_rename.c#9 (text+ko) ==== @@ -152,7 +152,6 @@ LIST_FOREACH(s, &sc->subdisks, sd) { if (!strncmp(s->drive, olddrivename, GV_MAXDRIVENAME)) { - printf("Fixing drive reference for subdisk %s from %s to %s\n", s->name, s->drive, d->name); strncpy(s->drive, d->name, GV_MAXDRIVENAME); } } @@ -188,7 +187,6 @@ return 1; } - printf("oldplexname = %s\n", oldplexname); strncpy(oldplexname, p->name, GV_MAXPLEXNAME); strncpy(p->name, newname, GV_MAXPLEXNAME); @@ -197,13 +195,11 @@ /* Fix up references and potentially rename subdisks. */ LIST_FOREACH(s, &sc->subdisks, sd) { if (!strncmp(s->plex, oldplexname, GV_MAXPLEXNAME)) { - printf("Fixing plex reference for subdisk %s from %s to %s\n", s->name, s->plex, p->name); strncpy(s->plex, p->name, GV_MAXPLEXNAME); if (flags && GV_FLAG_R) { char newsdname[GV_MAXSDNAME]; char oldsdname[GV_MAXSDNAME]; char *poldsdname = oldsdname; - printf("Modifying subdisk %s, s->plex = %s\n", s->name, s->plex); strncpy(oldsdname, s->name, GV_MAXSDNAME); strsep(&poldsdname, "."); strsep(&poldsdname, "."); @@ -211,8 +207,6 @@ if ((err = gv_rename_sd(sc, req, s, newsdname, flags))) return err; } - } else { - printf("Ignoring subdisk %s\n", s->name); } } return (0); @@ -248,7 +242,6 @@ return 1; } - printf("Renaming subdisk %s to %s\n", s->name, newname); strncpy(s->name, newname, GV_MAXSDNAME); /* XXX: can we rename providers here? */ @@ -271,11 +264,8 @@ return 2; } - printf("gv_rename_vol: flags = %x\n", flags); - /* Rename the volume. We need to hold on to the old volume name. */ strncpy(oldvolname, v->name, GV_MAXVOLNAME); - printf("Renaming volume %s to %s\n", v->name, newname); strncpy(v->name, newname, GV_MAXVOLNAME); /* Rename the associated plexes. For each plex, iterate across @@ -285,21 +275,17 @@ LIST_FOREACH(p, &sc->plexes, plex) { if (!strncmp(p->volume, oldvolname, GV_MAXVOLNAME)) { - printf("Fixing volume reference for plex %s from %s to %s\n", p->name, p->volume, v->name); strncpy(p->volume, v->name, GV_MAXVOLNAME); if (flags && GV_FLAG_R) { char newplexname[GV_MAXPLEXNAME]; char oldplexname[GV_MAXPLEXNAME]; char *poldplexname = oldplexname; - printf("Modifying plex %s, p->volume = %s\n", p->name, p->volume); strncpy(oldplexname, p->name, GV_MAXPLEXNAME); strsep(&poldplexname, "."); snprintf(newplexname, GV_MAXPLEXNAME, "%s.%s", v->name, poldplexname); if ((err = gv_rename_plex(sc, req, p, newplexname, flags))) return err; } - } else { - printf("Ignoring plex %s, p->volume = %s\n", p->name, p->volume); } } ==== //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_share.c#4 (text+ko) ==== @@ -573,12 +573,10 @@ s->drive_offset = -1; errors = 0; for (j = 1; j < max; j++) { - /* printf("gv_new_sd: token = '%s'\n", token[j]); */ if (!strcmp(token[j], "name")) { j++; if (j >= max) { errors++; - /* printf("breaking on name '%s'\n", token[j]); */ break; } strncpy(s->name, token[j], GV_MAXSDNAME); @@ -586,7 +584,6 @@ j++; if (j >= max) { errors++; - /* printf("breaking on drive '%s'\n", token[j]); */ break; } strncpy(s->drive, token[j], GV_MAXDRIVENAME); @@ -594,7 +591,6 @@ j++; if (j >= max) { errors++; - /* printf("breaking on plex '%s'\n", token[j]); */ break; } strncpy(s->plex, token[j], GV_MAXPLEXNAME); @@ -602,7 +598,6 @@ j++; if (j >= max) { errors++; - /* printf("breaking on state '%s'\n", token[j]); */ break; } s->state = gv_sdstatei(token[j]); @@ -611,7 +606,6 @@ j++; if (j >= max) { errors++; - /* printf("breakign on length '%s'\n", token[j]); */ break; } s->size = gv_sizespec(token[j]); @@ -621,39 +615,33 @@ j++; if (j >= max) { errors++; - /* printf("breaking on driveoffset '%s'\n", token[j]); */ break; } s->drive_offset = gv_sizespec(token[j]); if (s->drive_offset != 0 && s->drive_offset < GV_DATA_START) { errors++; - /* printf("breaking on invalid drive offset\n"); */ break; } } else if (!strcmp(token[j], "plexoffset")) { j++; if (j >= max) { errors++; - /* printf("breaking on plexoffset '%s'\n", token[j]); */ break; } s->plex_offset = gv_sizespec(token[j]); if (s->plex_offset < 0) { errors++; - /* printf("breaking on invalid plexoffset\n"); */ break; } } else { errors++; - /* printf("breaking on invalid token '%s'\n", token[j]); */ break; } } - if (strlen(s->drive) == 0) { + if (strlen(s->drive) == 0) errors++; - } if (errors) { g_free(s); ==== //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_state.c#3 (text+ko) ==== @@ -269,20 +269,13 @@ /* If our drive isn't up we cannot be up either. */ if (d->state != GV_DRIVE_UP) -{ - printf("gv_update_sd_state: drive '%s' not up, forcing sd '%s' down\n", d->name, s->name); s->state = GV_SD_DOWN; -} /* If this subdisk was just created, we assume it is good.*/ else if (s->flags & GV_SD_NEWBORN) { - printf("gv_update_sd_state: sd '%s' newborn\n", s->name); s->state = GV_SD_UP; s->flags &= ~GV_SD_NEWBORN; } else if (s->state != GV_SD_UP) -{ - printf("gv_update_sd_state: drive '%s' not up, forcing sd '%s' stale\n", d->name, s->name); s->state = GV_SD_STALE; -} else s->state = GV_SD_UP; ==== //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_subr.c#3 (text+ko) ==== @@ -431,8 +431,6 @@ g_topology_assert(); - printf("gv_sd_to_drive: begins, sd '%s' size %lld drive '%s' avail %lld\n", s->name, (long long) s->size, d->name, (long long) d->avail); - fl2 = NULL; KASSERT(sc != NULL, ("gv_sd_to_drive: NULL softc")); @@ -442,14 +440,10 @@ KASSERT(errlen >= ERRBUFSIZ, ("gv_sd_to_drive: short errlen (%d)", errlen)); - printf("gv_sd_to_drive: checking drive_sc\n"); - /* Check if this subdisk was already given to this drive. */ if (s->drive_sc == d) return (0); - printf("gv_sd_to_drive: passed drive_sc check\n"); - /* Preliminary checks. */ if (s->size > d->avail || d->freelist_entries == 0) { snprintf(errstr, errlen, "not enough space on '%s' for '%s'", @@ -457,26 +451,16 @@ return (-1); } - printf("gv_sd_to_drive: passed available size and freelist checks\n"); - /* No size given, autosize it. */ if (s->size == -1) { - printf("gv_sd_to_drive: autosizing "); /* Find the largest available slot. */ LIST_FOREACH(fl, &d->freelist, freelist) { - printf(". "); if (fl->size >= s->size) { s->size = fl->size; s->drive_offset = fl->offset; fl2 = fl; - printf("done\n"); - } else { - printf("failed\n"); } - printf("gv_sd_to_drive: autosizing sd '%s' (size: %lld, drive_offset: %lld)\n", s->name, (long long) s->size, (long long) s->drive_offset); } - - printf("gv_sd_to_drive: finished LIST_FOREACH(fl) for '%s' size %lld, drive '%s' avail %lld, largest free slot size %lld\n", s->name, (long long) s->size, d->name, (long long) d->avail, (long long) fl->size); /* No good slot found? */ if (s->size == -1) { @@ -500,7 +484,6 @@ fl2 = fl; break; } - printf("gv_sd_to_drive: fit sd '%s' (size: %lld, drive_offset: %lld)\n", s->name, (long long) s->size, (long long) s->drive_offset); } /* Couldn't find a good free slot. */ @@ -558,7 +541,7 @@ /* This is the free slot that we have found before. */ if (fl == fl2) { - + /* * The subdisk starts at the beginning of the free * slot. @@ -588,7 +571,6 @@ * the free slot, so we need to split it. */ if (s->drive_offset + s->size != tmp) { - fl2 = g_malloc(sizeof(*fl2), M_WAITOK | M_ZERO); fl2->offset = s->drive_offset + s->size; @@ -621,16 +603,12 @@ } } - printf("gv_sd_to_drive: before committing sd '%s' size %lld, drive '%s' avail %lld\n", s->name, (long long) s->size, d->name, (long long) d->avail); - d->sdcount++; d->avail -= s->size; /* Link back from the subdisk to this drive. */ s->drive_sc = d; - printf("gv_sd_to_drive: after committing sd '%s' size %lld, drive '%s' avail %lld\n", s->name, (long long) s->size, d->name, (long long) d->avail); - return (0); } From owner-p4-projects@FreeBSD.ORG Fri Sep 2 23:31:21 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 98FF616A421; Fri, 2 Sep 2005 23:31:20 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 7343C16A41F for ; Fri, 2 Sep 2005 23:31:20 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4194743D46 for ; Fri, 2 Sep 2005 23:31:20 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j82NVKAW095806 for ; Fri, 2 Sep 2005 23:31:20 GMT (envelope-from soc-cjones@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j82NVJD9095803 for perforce@freebsd.org; Fri, 2 Sep 2005 23:31:19 GMT (envelope-from soc-cjones@freebsd.org) Date: Fri, 2 Sep 2005 23:31:19 GMT Message-Id: <200509022331.j82NVJD9095803@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-cjones@freebsd.org using -f From: soc-cjones To: Perforce Change Reviews Cc: Subject: PERFORCE change 83049 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Sep 2005 23:31:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=83049 Change 83049 by soc-cjones@soc-cjones_ides on 2005/09/02 23:30:52 Fix date on man page. Affected files ... .. //depot/projects/soc2005/gvinum/src/sbin/gvinum/Makefile#4 edit .. //depot/projects/soc2005/gvinum/src/sbin/gvinum/gvinum.8#7 edit Differences ... ==== //depot/projects/soc2005/gvinum/src/sbin/gvinum/Makefile#4 (text+ko) ==== @@ -12,6 +12,3 @@ .PATH: ${.CURDIR}/../../sys/geom/vinum .include - -gvinum.man: gvinum.8 - nroff -man -h gvinum.8 > $@ ==== //depot/projects/soc2005/gvinum/src/sbin/gvinum/gvinum.8#7 (text+ko) ==== @@ -26,7 +26,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 24, 2005 +.Dd September 1, 2005 .Dt GVINUM 8 .Os .Sh NAME From owner-p4-projects@FreeBSD.ORG Fri Sep 2 23:32:22 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5EAEE16A421; Fri, 2 Sep 2005 23:32:22 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 3872B16A41F for ; Fri, 2 Sep 2005 23:32:22 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 03FFF43D48 for ; Fri, 2 Sep 2005 23:32:22 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j82NWLrs095854 for ; Fri, 2 Sep 2005 23:32:21 GMT (envelope-from soc-cjones@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j82NWL3x095851 for perforce@freebsd.org; Fri, 2 Sep 2005 23:32:21 GMT (envelope-from soc-cjones@freebsd.org) Date: Fri, 2 Sep 2005 23:32:21 GMT Message-Id: <200509022332.j82NWL3x095851@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-cjones@freebsd.org using -f From: soc-cjones To: Perforce Change Reviews Cc: Subject: PERFORCE change 83050 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Sep 2005 23:32:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=83050 Change 83050 by soc-cjones@soc-cjones_ides on 2005/09/02 23:32:11 Fix date, clarify AUTHORS. Affected files ... .. //depot/projects/soc2005/gvinum/AUTHORS#2 edit .. //depot/projects/soc2005/gvinum/README#5 edit Differences ... ==== //depot/projects/soc2005/gvinum/AUTHORS#2 (text+ko) ==== @@ -1,4 +1,4 @@ -Chris Jones - gvinum 'move', 'rename' +Chris Jones - gvinum 'move', 'rename', man page, example configs. Lukas Ertl - gvinum ==== //depot/projects/soc2005/gvinum/README#5 (text+ko) ==== @@ -1,9 +1,9 @@ -gvinum move / rename, beta 1 29 August 2005 -============================= +gvinum move / rename 1 September 2005 +==================== Instructions: - * Fetch http://www.ualberta.ca/~cdjones/geom_vinum_move_rename_beta1.tgz + * Fetch http://www.ualberta.ca/~cdjones/geom_vinum_move_rename.tgz * Unpack it somewhere safe and out of the way. @@ -25,9 +25,6 @@ Known Issues: - * This'll spam your console with debugging output. I prefer to think of - this as a feature. ;) - * gvinum move will lose data when you have a striped (as opposed to mirrored) configuration and you move a subdisk. This is intended. From owner-p4-projects@FreeBSD.ORG Fri Sep 2 23:38:31 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9876416A421; Fri, 2 Sep 2005 23:38:30 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 737CD16A41F for ; Fri, 2 Sep 2005 23:38:30 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2D3CC43D45 for ; Fri, 2 Sep 2005 23:38:30 +0000 (GMT) (envelope-from soc-cjones@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j82NcUSv097332 for ; Fri, 2 Sep 2005 23:38:30 GMT (envelope-from soc-cjones@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j82NcTTv097326 for perforce@freebsd.org; Fri, 2 Sep 2005 23:38:29 GMT (envelope-from soc-cjones@freebsd.org) Date: Fri, 2 Sep 2005 23:38:29 GMT Message-Id: <200509022338.j82NcTTv097326@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-cjones@freebsd.org using -f From: soc-cjones To: Perforce Change Reviews Cc: Subject: PERFORCE change 83052 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Sep 2005 23:38:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=83052 Change 83052 by soc-cjones@soc-cjones_ides on 2005/09/02 23:37:53 Remove unneeded variable. Affected files ... .. //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_move.c#18 edit Differences ... ==== //depot/projects/soc2005/gvinum/src/sys/geom/vinum/geom_vinum_move.c#18 (text+ko) ==== @@ -167,7 +167,6 @@ struct gv_drive *d; struct gv_sd *newsd, *s, *s2; struct gv_plex *p; - struct gv_volume *v; struct g_consumer *cp; char errstr[ERRBUFSIZ]; From owner-p4-projects@FreeBSD.ORG Sat Sep 3 06:23:39 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1680416A421; Sat, 3 Sep 2005 06:23:39 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 DE84716A41F for ; Sat, 3 Sep 2005 06:23:38 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9E44143D46 for ; Sat, 3 Sep 2005 06:23:38 +0000 (GMT) (envelope-from soc-tyler@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j836Nc6U026600 for ; Sat, 3 Sep 2005 06:23:38 GMT (envelope-from soc-tyler@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j836Nc9x026593 for perforce@freebsd.org; Sat, 3 Sep 2005 06:23:38 GMT (envelope-from soc-tyler@freebsd.org) Date: Sat, 3 Sep 2005 06:23:38 GMT Message-Id: <200509030623.j836Nc9x026593@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-tyler@freebsd.org using -f From: soc-tyler To: Perforce Change Reviews Cc: Subject: PERFORCE change 83057 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Sep 2005 06:23:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=83057 Change 83057 by soc-tyler@soc-tyler_launchd on 2005/09/03 06:22:59 Clean up some code, and remove a lot of stupid and/or disgusting debuggery nonsense. Fix the Makefiles for some development-foo to let murray@ along with everybody else use this correctly (d'oh!) hackery I say, hackery Affected files ... .. //depot/projects/soc2005/launchd/Makefile#16 edit .. //depot/projects/soc2005/launchd/includes/launch.h#13 edit .. //depot/projects/soc2005/launchd/init.c#10 edit .. //depot/projects/soc2005/launchd/launchctl/Makefile#9 edit .. //depot/projects/soc2005/launchd/launchctl/launchctl.c#21 edit .. //depot/projects/soc2005/launchd/launchd.c#20 edit Differences ... ==== //depot/projects/soc2005/launchd/Makefile#16 (text+ko) ==== @@ -12,12 +12,14 @@ NO_SHARED?= YES -CFLAGS+= -g -Wall -W -Wshadow -Wpadded -Iincludes -D_LAUNCHD_ +CFLAGS+= -g -Wall -W -Wshadow -Wpadded -Iincludes # init.c related CFLAGS (from src/sbin/init/Makefile) # -DSECURE to make secure single-user logins (enter root passwd, etc) # -DDEBUGSHELL ? we don't need no stinkin' DEBUGSHELL -CFLAGS+= -DLOGIN_CAP -DCOMPAT_SYSV_INIT - +CFLAGS+= -DLOGIN_CAP -DCOMPAT_SYSV_INIT \ + -DLAUNCHD_PATH=`echo \"$$PWD/launchd\"` \ + -DLAUNCHCTL_PATH=`echo \"$$PWD/launchctl/launchctl\"` +# defining LAUNCHD_PATH and LAUNCHCTL_PATH is for development only # -lcrypt needed by original FreeBSD init(8) code DPADD= ${LIBUTIL} ${LIBCRYPT} ==== //depot/projects/soc2005/launchd/includes/launch.h#13 (text+ko) ==== @@ -33,11 +33,6 @@ #include #include -#ifdef _LAUNCHD_ -#define LAUNCHD_PATH "/home/tyler/perforce/launchd/launchd" -#define LAUNCHCTL_PATH "/home/tyler/perforce/launchd/launchctl/launchctl" -#endif - #ifndef LAUNCHCTL_PATH #define LAUNCHCTL_PATH "/sbin/launchctl" #endif ==== //depot/projects/soc2005/launchd/init.c#10 (text+ko) ==== @@ -213,6 +213,7 @@ /* init_pre_kevent() was borrowed from launchd(8)'s original init.c file */ void init_pre_kevent(void) { +#ifdef _BE_INIT_ session_t s; if (single_user_mode && single_user_pid == 0) @@ -233,13 +234,12 @@ /* XXX: I'm not exactly sure what this macro call's purpose is, so I'm * not going to touch it until it's time to execute launchd(8) as PID 1 */ -#ifndef _LAUNCHD_ TAILQ_FOREACH(s, &sessions, tqe) { if (s->se_process == 0) session_launch(s); } + } #endif - } } /* @@ -457,7 +457,7 @@ /* XXX: I'm not touching this until it's time to hack launchd(8) into * becoming PID #1 */ -#ifndef _LAUNCHD_ +#ifdef _BE_INIT_ pid_t pid, wpid; int status; sigset_t mask; @@ -612,7 +612,7 @@ */ void runcom(void) { /* XXX: I'm not touching this until it's time to get launchd(8) to act as PID 1 */ -#ifndef _LAUNCHD_ +#ifdef _BE_INIT_ pid_t pid, wpid; int status; char *argv[4]; @@ -1070,7 +1070,7 @@ collect_child(pid_t pid) { /* XXX: Don't touch this until we want launchd(8) as PID 1 */ -#ifndef _LAUNCHD_ +#ifdef _BE_INIT_ session_t *sp, *sprev, *snext; if (! sessions) @@ -1109,12 +1109,9 @@ /* * Catch a signal and request a state transition. */ -void -transition_handler(int sig) -{ +void transition_handler(int sig) { /* XXX: Don't touch this until we want launchd(8) as PID 1 */ -#ifndef _LAUNCHD_ - +#ifdef _BE_INIT_ switch (sig) { case SIGHUP: requested_transition = clean_ttys; @@ -1145,7 +1142,7 @@ multi_user(void) { /* XXX: Don't touch this until we want launchd(8) as PID 1 */ -#ifndef _LAUNCHD_ +#ifdef _BE_INIT_ pid_t pid; session_t *sp; @@ -1357,7 +1354,7 @@ runshutdown(void) { /* XXX: Don't touch this until we want launchd(8) as PID 1 */ -#ifndef _LAUNCHD_ +#ifdef _BE_INIT_ pid_t pid, wpid; int status; int shutdowntimeout; ==== //depot/projects/soc2005/launchd/launchctl/Makefile#9 (text+ko) ==== @@ -5,10 +5,12 @@ SRCS= launchctl.c liblaunch.c property.c MAN= launchctl.1 -MAINTAINER= tyler@tamu.edu LAUNCHD= ${.CURDIR}/../ -CFLAGS+= -g -Wall -W -Wshadow -Wpadded -I${LAUNCHD}/includes -D_LAUNCHD_ +CFLAGS+= -g -Wall -W -Wshadow -Wpadded -I${LAUNCHD}/includes +CFLAGS+= -DLAUNCHD_PATH=`echo \"$$PWD/../launchd\"` \ + -DLAUNCHCTL_PATH=`echo \"$$PWD/launchctl\"` +# defining LAUNCHD_PATH and LAUNCHCTL_PATH is for development only LDADD+= -lreadline -lutil -lpthread .PATH: ${LAUNCHD} ==== //depot/projects/soc2005/launchd/launchctl/launchctl.c#21 (text+ko) ==== @@ -99,7 +99,7 @@ // FreeBSD related functions (for forwards compat? :P #ifndef _BUILD_DARWIN -static launch_data_t read_conf_file(const char *, bool, bool); +static launch_data_t read_conf_file(const char *); static launch_data_t Conf2launch_data(void *); #endif @@ -334,9 +334,7 @@ } #ifndef _BUILD_DARWIN -// Just using this method for testing (until that plist parser is written) -#ifdef _LAUNCHD_ -static launch_data_t read_conf_file(const char *file, bool editondisk, bool load) { +static launch_data_t read_conf_file(const char *file) { /* fill this with an array of launch_data_t structs */ launch_data_t r; properties conf_props; // libutil.h and -lutil are required for this.. @@ -407,7 +405,6 @@ exit(EXIT_FAILURE); } #endif -#endif #ifdef _BUILD_DARWIN_ static launch_data_t read_plist_file(const char *file, bool editondisk, bool load) { @@ -480,7 +477,7 @@ gethostname(ourhostname, sizeof(ourhostname)); #ifndef _BUILD_DARWIN_ - if (NULL == (thejob = read_conf_file(what, editondisk, load))) { + if (NULL == (thejob = read_conf_file(what))) { fprintf(stderr, "%s: no config file was returned for: %s\n", getprogname(), what); return; } @@ -1224,7 +1221,7 @@ pass1 = launch_data_alloc(LAUNCH_DATA_ARRAY); - thejob = read_conf_file(argv[1], false, true); + thejob = read_conf_file(argv[1]); label = launch_data_dict_lookup(thejob, LAUNCH_JOBKEY_LABEL); /* XXX: assuming data has been read correctly */ ==== //depot/projects/soc2005/launchd/launchd.c#20 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Sat Sep 3 08:23:44 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9AC1D16A421; Sat, 3 Sep 2005 08:23:43 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 704FA16A41F for ; Sat, 3 Sep 2005 08:23:43 +0000 (GMT) (envelope-from soc-emily@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1865C43D45 for ; Sat, 3 Sep 2005 08:23:43 +0000 (GMT) (envelope-from soc-emily@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j838Nhnf031135 for ; Sat, 3 Sep 2005 08:23:43 GMT (envelope-from soc-emily@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j838NggO031131 for perforce@freebsd.org; Sat, 3 Sep 2005 08:23:42 GMT (envelope-from soc-emily@freebsd.org) Date: Sat, 3 Sep 2005 08:23:42 GMT Message-Id: <200509030823.j838NggO031131@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-emily@freebsd.org using -f From: soc-emily To: Perforce Change Reviews Cc: Subject: PERFORCE change 83060 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Sep 2005 08:23:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=83060 Change 83060 by soc-emily@soc-emily_beastie on 2005/09/03 08:22:42 Work on Russian and Japanese versions, misc fixes. Affected files ... .. //depot/projects/soc2005/www/freebsd/de/applications.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/de/features.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/de/includes.xsl#3 edit .. //depot/projects/soc2005/www/freebsd/de/index.xsl#3 edit .. //depot/projects/soc2005/www/freebsd/de/internet.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/en/applications.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/en/features.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/en/index.xsl#4 edit .. //depot/projects/soc2005/www/freebsd/en/internet.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/en/layout/css/layout.css#3 edit .. //depot/projects/soc2005/www/freebsd/es/applications.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/es/features.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/es/includes.xsl#3 edit .. //depot/projects/soc2005/www/freebsd/es/index.xsl#3 edit .. //depot/projects/soc2005/www/freebsd/es/internet.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/fr/applications.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/fr/features.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/fr/includes.xsl#3 edit .. //depot/projects/soc2005/www/freebsd/fr/index.xsl#4 edit .. //depot/projects/soc2005/www/freebsd/fr/internet.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/it/includes.xsl#4 edit .. //depot/projects/soc2005/www/freebsd/it/index.xsl#4 edit .. //depot/projects/soc2005/www/freebsd/ja/includes.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/ja/index.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/ja/news/newsflash.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/ja/news/press.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/ru/applications.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/ru/events/events.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/ru/features.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/ru/gnome/index.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/ru/gnome/newsflash.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/ru/includes.navdevelopers.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/ru/includes.sgml#4 edit .. //depot/projects/soc2005/www/freebsd/ru/includes.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/ru/index.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/ru/internet.sgml#3 edit .. //depot/projects/soc2005/www/freebsd/ru/news/newsflash.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/ru/news/press.xsl#2 edit .. //depot/projects/soc2005/www/freebsd/share/sgml/includes.header.xsl#4 edit Differences ... ==== //depot/projects/soc2005/www/freebsd/de/applications.sgml#3 (text+ko) ==== @@ -10,20 +10,15 @@ &header; -

Entdecken Sie die Möglichkeiten mit FreeBSD

- -
+

Entdecken Sie die Möglichkeiten mit FreeBSD

+

FreeBSD kann fast jede Aufgabe übernehmen, die Sie von einer &unix; Workstation erwarten, aber auch solche, die Sie vielleicht nicht erwarten:

-
- -
FreeBSD ist ein echtes Betriebssystem - mit vollständig verfügbarem Quelltext. - - -
+ +

FreeBSD ist ein echtes Betriebssystem + mit vollständig verfügbarem Quelltext.

+

Es besteht kein Zweifel, dass so genannte "Offene Systeme" die Bedingung für heutige Computer-Anwendungen sind. Aber keine kommerzielle Lösung ist offener als eine, @@ -38,13 +33,10 @@ href="&base;/../copyright/freebsd-license.html">Lizenz, können Sie FreeBSD als Basis für alle nur denkbaren kostenlosen oder kommerziellen Anwendungen benutzen.

-
-
FreeBSD ist bereit - für Tausende von Programmen. +

FreeBSD ist bereit + für Tausende von Programmen.

-

Da FreeBSD auf 4.4BSD, einer Industrie-Standardversion von UNIX, basiert, ist es sehr einfach, Programme zu kompilieren und auszuführen. @@ -127,13 +119,10 @@ und vieles mehr - das alles sind heutzutage bereits echte Anwendungsgebiete von FreeBSD. -

-
FreeBSD ist ein Betriebssystem, - das mit Ihren Ansprüchen wächst. +

FreeBSD ist ein Betriebssystem, + das mit Ihren Ansprüchen wächst.

-

Obwohl FreeBSD freie Software ist, ist es auch Software, für die es Unterstützung gibt. Jede Frage, die Sie haben, kann zu Hunderten von FreeBSD-Entwicklern und Benutzern @@ -151,17 +140,14 @@ FreeBSD-Benutzer sind ziemlich stolz darauf, dass ihre Systeme nicht nur schnell, sondern zugleich auch noch äußerst stabil sind.

-

Was Experten sagen ...

-

``FreeBSD handles [our] heavy load quite well and it is nothing short of amazing. Salutations to the FreeBSD team.''

---Mark Hittinger, administrator of WinNet Communications, Inc.

-
&footer; ==== //depot/projects/soc2005/www/freebsd/de/features.sgml#3 (text+ko) ==== @@ -10,19 +10,14 @@ &header; -

FreeBSD bietet viele Vorteile.

+

FreeBSD bietet viele Vorteile.

-

Egal welche Anwendung, Sie möchten Ihr System optimal ausnutzen. FreeBSD gibt Ihnen die Möglichkeit, genau das zu tun.

-
- -
Ein komplettes Betriebssystem, - basierend auf 4.4BSD. - -
+ +

Ein komplettes Betriebssystem, basierend auf 4.4BSD.

+

FreeBSD hat seine Ursprünge in den letzten der BSD Software Versionen der Computer Systems Research Group von der University of California, Berkeley. @@ -37,14 +32,11 @@ stark erweitert. Das Ziel jedes neuen Release ist ein stabileres und schnelleres Betriebssystem, das neue, von Benutzern vorgeschlagene, Funktionen enthält.

-
- -
FreeBSD bietet höhere + +

FreeBSD bietet höhere Geschwindigkeit, größere Kompatibilität - und weniger Aufwand bei der Systemadministration. - -
+ und weniger Aufwand bei der Systemadministration.

+

Die Entwickler von FreeBSD haben einige der größeren Probleme des Betriebssystem-Designs in Angriff genommen und daher kann FreeBSD nun mit folgenden Besonderheiten @@ -101,14 +93,11 @@ Ein- und Ausgaben auf Sockets), Unterstützung für ACPI und erweiterte Sicherheitsfunktionen, wie vorgeschriebene Zugriffskontrollen.

- - -
FreeBSD besitzt + +

FreeBSD besitzt viele Sicherheitsmerkmale, die Netze und Server - schützen. - -
+ schützen.

+

Den FreeBSD-Entwicklern bedeutet Sicherheit genau so viel wie Schnelligkeit und Stabilität. Der Kernel @@ -121,8 +110,7 @@ in chroot-Umgebungen (eingeschräkte Zugriffe auf das Dateisystem), sichere RPCs und Zugriffskontrolllisten für Dienste, die mit den TCP-Wrappern zusammenarbeiten.

- - + &footer; ==== //depot/projects/soc2005/www/freebsd/de/includes.xsl#3 (text+ko) ==== @@ -241,7 +241,7 @@ ==== //depot/projects/soc2005/www/freebsd/de/index.xsl#3 (text+ko) ==== @@ -306,7 +306,7 @@
==== //depot/projects/soc2005/www/freebsd/de/internet.sgml#3 (text+ko) ==== @@ -10,21 +10,16 @@ &header; -

FreeBSD wurde für das Internet entworfen

- -
+

FreeBSD wurde für das Internet entworfen

+

FreeBSD enthält nach Meinung Vieler die Referenz-Implementation der TCP/IP Software, nämlich den 4.4BSD Protokoll-Stack. Daher ist FreeBSD geradezu für Netzwerk-Anwendungen und das Internet geschaffen.

-
-
FreeBSD unterstützt - die Standard-TCP/IP Protokolle. - -
+

FreeBSD unterstützt die Standard-TCP/IP Protokolle.

+

Wie die meisten &unix; Systeme erlaubt FreeBSD Ihnen,

    @@ -67,13 +62,9 @@ dial-on-demand PPP. Es ist ein Betriebssystem für den Heimanwender gleichermaßen wie für den Systemadministrator eines Unternehmens.

    -
- -
FreeBSDs Netzwerkimplementation - ist stabil und schnell. - -
+ +

FreeBSDs Netzwerkimplementation ist stabil und schnell.

+

Wenn Sie einen Internet-Server benötigen, der zuverlässig ist und gleichzeitig höchste Geschwindigkeit unter Extremlast zeigen soll, dann sollten Sie FreeBSD @@ -120,13 +111,9 @@ ist eine Sammlung von gebrauchsfertiger Software, die es Ihnen einfach macht, einen eigenen Internetserver zu installieren.

-
- -
Hohe Geschwindigkeit und - Sicherheit. - -
+ +

Hohe Geschwindigkeit und Sicherheit.

+

Die FreeBSD-Entwickler legen genauso viel Wert auf Sicherheit wie auf Geschwindigkeit. FreeBSD enthält Kernel-Unterstützung für IP-Firewalls sowie andere @@ -146,17 +133,14 @@ security officer, der in Verbindung zum Computer Emergency Response Team (CERT) steht.

-
- +

Was Experten sagen: ...

- -
+

``FreeBSD ... provides what is probably the most robust and capable TCP/IP stack in existence ...''

---Michael O'Brien, SunExpert August 1996 volume 7 number 8.

-
&footer; ==== //depot/projects/soc2005/www/freebsd/en/applications.sgml#3 (text+ko) ==== @@ -9,16 +9,13 @@ &header;

Experience the possibilities with FreeBSD

- -
+

FreeBSD can handle nearly any task you would expect of a &unix; workstation, as well as many you might not expect:

-
- +

FreeBSD is a true open system with full source code.

- -
+

There is no doubt that so-called open systems are the requirement for today's computing applications. But no commercial vendor-supplied solution is more open than one which includes full @@ -30,13 +27,11 @@

With its generous licensing policy, you can use FreeBSD as the basis for any number of free or - commercial applications.

-
+ commercial applications.

FreeBSD runs thousands of applications.

- -
+

Because FreeBSD is based on 4.4BSD, an industry-standard version of UNIX, it is easy to compile and run programs. FreeBSD also includes an extensive packages collection and -

- +

FreeBSD is an operating system that will grow with your needs.

-

Though FreeBSD is free software, it is also user supported software. Any questions you have can be posted to hundreds of FreeBSD developers and users simply by e-mailing the -

- +

What experts have to say . . .

- -
+

``FreeBSD handles [our] heavy load quite well and it is nothing short of amazing. Salutations to the FreeBSD team.''

---Mark Hittinger, administrator of WinNet Communications, Inc.

-
&footer; ==== //depot/projects/soc2005/www/freebsd/en/features.sgml#3 (text+ko) ==== @@ -9,17 +9,14 @@ &header;

FreeBSD offers many advanced features.

- -
+

No matter what the application, you want your system's resources performing at their full potential. FreeBSD's advanced features - enable you to do just that.

-
+ enable you to do just that.

A complete operating system based on 4.4BSD.

- -
+

FreeBSD's distinguished roots derive from the latest BSD software releases from the Computer Systems Research Group at the University of California, Berkeley. The book The Design and @@ -32,13 +29,11 @@ extend the feature set of the 4.4BSD operating system in many ways, striving constantly to make each new release of the OS more stable, faster and containing new functionality driven by user requests.

-

FreeBSD provides higher performance, greater compatibility with other operating systems and less system administration.

- -
+

FreeBSD's developers attacked some of the more difficult problems in operating systems design to give you these advanced features:

@@ -138,12 +133,9 @@ the operating system kernel, improving performance. -
-

FreeBSD provides many security features to protect networks and servers.

- -
+

The FreeBSD developers are as concerned about security as they are about performance and stability. FreeBSD includes kernel support for stateful IP firewalling, as well as other services, such as @@ -160,7 +152,6 @@ jails, chroot-ing services to restrict application access to the file system, Secure RPC facilities, and access lists for services that support TCP wrappers.

-
&footer; ==== //depot/projects/soc2005/www/freebsd/en/index.xsl#4 (text+ko) ==== @@ -292,7 +292,7 @@ ==== //depot/projects/soc2005/www/freebsd/en/internet.sgml#3 (text+ko) ==== @@ -10,16 +10,13 @@

FreeBSD was designed for the Internet

-

FreeBSD includes what many consider the reference implementation for TCP/IP software, the 4.4 BSD TCP/IP protocol stack, thereby making it ideal for network applications and the Internet.

-
- +

FreeBSD supports standard TCP/IP protocols.

- -
+

Like most &unix; systems, the FreeBSD operating system enables you to

@@ -58,12 +55,10 @@ extension for transactions, plus SLIP and dial-on-demand PPP. It is an operating system suitable for a home-based net surfer as well as a corporate systems administrator.

-
- +

FreeBSD's networking is stable and fast.

- -
+

If you need an Internet server platform that is reliable and offers the best performance under heavy load, then consider FreeBSD. Here are just a few of the companies that make use of FreeBSD every @@ -107,12 +102,10 @@

The FreeBSD ports collection contains ready-to-run software that makes it easy to set up your own Internet server.

-

High performance and security.

- -
+

The FreeBSD developers are as concerned about security as they are about performance. FreeBSD includes kernel support for IP firewalling, as well other services, such as IP proxy @@ -129,18 +122,15 @@ href="mailto:security-officer@FreeBSD.org">security officer and ties to the Computer Emergency Response Team (CERT).

-

What experts have to say . . .

- -
+

``FreeBSD ... provides what is probably the most robust and capable TCP/IP stack in existence ...''

---Michael O'Brien, SunExpert August 1996 volume 7 number 8.

-
- + &footer; ==== //depot/projects/soc2005/www/freebsd/en/layout/css/layout.css#3 (text+ko) ==== @@ -300,7 +300,7 @@ #FRONTSHORTCUTSCONTENT, #frontshortcutscontent { margin: 0; padding: 0; - padding-left: 25px; + padding-left: 15px; padding-top: 20px; } @@ -325,11 +325,11 @@ #FRONTRELEASES, #frontreleases { padding: 0; margin: 0; - margin-left: 157px; + margin-left: 162px; margin-top: 15px; padding-bottom: 50px; color: #666; - width: 150px; + width: 155px; } #FRONTRELEASESCONTENT, #frontreleasescontent { ==== //depot/projects/soc2005/www/freebsd/es/applications.sgml#3 (text+ko) ==== @@ -9,16 +9,13 @@ &header; -

Experimenta las posibilidades con FreeBSD

+

Experimenta las posibilidades con FreeBSD

-

FreeBSD puede manejar cualquier tarea que puedas esperar de una estación de trabajo UNIX, incluyendo algunas de las que no esperarías:

-
-
FreeBSD -es un verdadero sistema abierto con todo el código fuente. +

FreeBSD +es un verdadero sistema abierto con todo el código fuente.

-

No hay duda que los llamados sistemas abiertos son el requerimiento para las aplicaciones informáticas de hoy en día. Pero ningún solución comercial es más abierta que una que @@ -29,12 +26,10 @@

Con su generosa política de licencias, puedes usar FreeBSD como base para culquier tipo de aplicación tanto comercial como libre.

-
-
FreeBSD ejecuta -miles de aplicaciones. +

FreeBSD ejecuta +miles de aplicaciones.

-

Por que FreeBSD está basado en 4.4BSD, una versión estándar de UNIX en la industria, es fácil compilar y ejecutar programas. FreeBSD también incluye una extensa @@ -71,26 +66,21 @@

  • Y mucho más. Accounting, juegos de acción, bases de datos, visualización científica, vídeo conferencia, Internet Relay Chat (IRC), automatización del hogar, bbs's, escaneo de imágenes y más son todos usos reales de FreeBSD hoy. Si tienes alguna aplicación innovadora para FreeBSD, haznoslo saber para que podamos añdirla a nuestra galería.
  • -
    -
    Un -sistema operativo que colmará todas tus necesidades. +

    Un +sistema operativo que colmará todas tus necesidades.

    -

    Aunque FreeBSD es un software libre, es un software soportado por usuarios. Cualquier pregunta que tengas puede ser enviada a cientos de desarrolladores de FreeBSD y usuarios a la lista de distribución freebsd-questions@FreeBSD.ORG.

    FreeBSD tiene un completo grupo a nivel mundial de programadores y desarrolladores que se encargan de fijar los posibles bugs, añadir nuevas características y documentar el sistema. Soporte de nuevos dispositivos y opciones especiales se incluyen en el proceso de desarrollo constante, manteniendo una atención especial a los problemas que afectan a la estabilidad del sistema.

    -
    -

    Lo que dicen los expertos. . .

    +

    Lo que dicen los expertos. . .

    -

    ``FreeBSD handles [our] heavy load quite well and it is nothing short of amazing. Salutations to the FreeBSD team.''

    ---Mark Hittinger, administrator of WinNet Communications, Inc.

    -
    &footer; ==== //depot/projects/soc2005/www/freebsd/es/features.sgml#3 (text+ko) ==== @@ -9,18 +9,15 @@ &header; -

    FreeBSD ofrece diferentes características avanzadas.

    +

    FreeBSD ofrece diferentes características avanzadas.

    -

    No importa que aplicación quieras que use los recursos del sistema aprovechándolos al máximo. Las avanzadas características de FreeBSD se encargarán de ello.

    -
    -
    Un - sistema operativo completo basado en 4.4BSD. +

    Un + sistema operativo completo basado en 4.4BSD.

    -

    Las raices de FreeBSD derivan de la última release de software del Computer Systems Research Group de la Universidad de California, Berkeley. El libro The Design and Implementation of 4.4BSD Operating System, @@ -33,14 +30,12 @@ consiguiendo en cada nueva release un sistema operativo más estable, rápido y conteniendo nuevas funcionalidades creadas a demanda de los usuarios.

    -
    -
    +

    FreeBSD ofrece el más alto rendimiento, gran compatibilidad con otros sistemas operativos y una menor administración del sistema. - +

    -

    Los desarrolladores de FreeBSD se han enfrentado a algunos de los problemas más difíciles en el diseño de sistemas operativos para poder ofrecerte estas avanzadas características:

    @@ -87,18 +82,15 @@

    Naturalmente, cómo FreeBSD es un esfuerzo en constante evolución, puedes esperar nuevas características y niveles más altos de estabilidad con cada release.

    -
    -

    Lo que dicen los expertos . . .

    +

    Lo que dicen los expertos . . .

    -

    ``FreeBSD has an outline-structured visual configuration editor ... you can enter the configuration of every device the OS supports and can therefore get a successful installation on the first try almost every time. IBM, Microsoft, and others would do well to emulate FreeBSD's approach.''

    ---Brett Glass, Infoworld, April 8 1996.

    -
    &footer; ==== //depot/projects/soc2005/www/freebsd/es/includes.xsl#3 (text+ko) ==== @@ -234,7 +234,7 @@ ==== //depot/projects/soc2005/www/freebsd/es/index.xsl#3 (text+ko) ==== @@ -305,7 +305,7 @@ ==== //depot/projects/soc2005/www/freebsd/es/internet.sgml#3 (text+ko) ==== @@ -9,20 +9,16 @@ &header; -

    FreeBSD fue diseñado para Internet

    +

    FreeBSD fue diseñado para Internet

    -

    FreeBSD incluye lo que muchos consideran la implementacón de referencia de TCP/IP, el stack 4.4BSD del protocolo TCP/IP, haciendolo ideal para aplicaciones de red e Internet.

    -
    - -
    - FreeBSD soporta los protocolos - estándar TCP/IP. - -
    + +

    FreeBSD soporta los protocolos + estándar TCP/IP.

    +

    Como muchos sistemas UNIX, el sistema operativo FreeBSD permite

    @@ -63,13 +59,10 @@ para transacciones, además de SLIP y PPP bajo demanda. Es un sistema que responde a las expectativas tanto del usuario doméstico como del administrador de sistemas corporativo.

    -
    + +

    El sistema de red de FreeBSD es + rápido y estable.

    -
    - El sistema de red de FreeBSD es - rápido y estable. - -

    Si necesitas una plataforma para servicios de Internet que ofrezca el mejor rendimiento bajo fuertes cargas de trabajo, considera FreeBSD. Aquí están solo algunas de las compañías @@ -111,12 +104,9 @@

    La Colección de Ports contiene software listo para funcionar que hace más fácil la puesta en marcha de los servidores de Internet.

    -
    + +

    Alto rendimiento y seguridad.

    -
    - Alto rendimiento y seguridad. - -

    El equipo de desarrollo de FreeBSD está tan comprometido con la seguridad como con el rendimiento. FreeBSD incluye en su kernel el soporte de firewall IP, además de otros servicios como gateways e IP proxy. @@ -133,17 +123,14 @@ responsable de seguridad y el Computer Emergency Response Team (CERT).

    -

    Qué dicen los expertos . . .

    - -
    +

    ``FreeBSD ... provides what is probably the most robust and capable TCP/IP stack in existence ...''

    ---Michael O'Brien, SunExpert August 1996 volume 7 number 8.

    -
    &footer; ==== //depot/projects/soc2005/www/freebsd/fr/applications.sgml#3 (text+ko) ==== @@ -19,19 +19,14 @@ &header; -

    FreeBSD vous offre de nombreuses possibilités

    - -
    +

    FreeBSD vous offre de nombreuses possibilités

    +

    FreeBSD saura accomplir quasiment toutes les tâches que vous pouvez attendre d'une station &unix;, et bien plus encore :

    -
    + +

    FreeBSD est un véritable système + ouvert accompagné de l'intégralité de son code source.

    -
    FreeBSD est un véritable système - ouvert accompagné de l'intégralité de son code source. - - -

    Cela ne fait plus aucun doute, les systèmes ouverts sont indispensables pour les applications informatiques actuelles. Aucune solution commerciale n'est plus ouverte qu'une solution qui @@ -45,13 +40,10 @@ href="&base;/copyright/freebsd-license.html"> fondements de sa licence, vous pouvez utiliser FreeBSD comme base pour toutes vos applications libres ou commerciales.

    -
    - -
    FreeBSD est capable de faire fonctionner - des milliers d'applications. + +

    FreeBSD est capable de faire fonctionner + des milliers d'applications.

    -

    FreeBSD étant basé sur 4.4BSD, une version standard d'UNIX, il est facile de compiler et d'utiliser des programmes. FreeBSD inclu également une vaste @@ -120,13 +112,10 @@ sont autant d'utilisations possibles de FreeBSD aujourd'hui. -

    -
    FreeBSD est un système d'exploitation qui - s'adaptera à vos besoins. +

    FreeBSD est un système d'exploitation qui + s'adaptera à vos besoins.

    -

    Bien que FreeBSD soit un logiciel libre et gratuit, c'est aussi un logiciel supporté par ses utilisateurs. Toutes vos questions peuvent être posées aux centaines de développeurs et utilisateurs de FreeBSD en écrivant à la liste de diffusion électronique -

    Paroles d'expert . . .

    -
    -

    "FreeBSD gère de façon excellente [notre] forte charge réseau, c'est tout simplement incroyable. Salutations à toute l'équipe FreeBSD."

    ---Mark Hittinger, administrateur chez WinNet Communications, Inc.

    -
    &footer; ==== //depot/projects/soc2005/www/freebsd/fr/features.sgml#3 (text+ko) ==== @@ -17,20 +17,16 @@ &header; -

    FreeBSD dispose de nombreuses caractéristiques avancées.

    +

    FreeBSD dispose de nombreuses caractéristiques avancées.

    -

    Quelque soit son utilisation, vous souhaitez que votre matériel soit utilisé à son plein potentiel. Les caractéristiques sophistiquées de FreeBSD vous permettent de profiter au mieux de toute la puissance de votre machine.

    -
    - -
    Un système d'exploitation complet basé - sur 4.4BSD. - -
    + +

    Un système d'exploitation complet basé + sur 4.4BSD.

    +

    Les bases de FreeBSD proviennent des derniers développements BSD réalisés par le Groupe de Recherche sur les Systèmes Informatiques ("Computer Systems Research Group") à l'université de Berkeley en Californie. Le livre Conception et Implémentation du Système 4.4BSD ("The Design and @@ -44,14 +40,11 @@ d'exploitation 4.4BSD. Chaque nouvelle version de FreeBSD est ainsi plus stable, plus rapide et offre de nouvelles fonctionnalités attendues par les utilisateurs.

    -
    - -
    FreeBSD fournit de hautes performances, + +

    FreeBSD fournit de hautes performances, une excellente compatibilité avec d'autres systèmes d'exploitation et ne demande - qu'une faible maintenance. - -
    + qu'une faible maintenance.

    +

    Les développeurs de FreeBSD se sont attaqués à de nombreux problèmes inhérents aux systèmes d'exploitation et vous permettent de bénéficier des innovations suivantes :

    @@ -99,8 +92,6 @@ sur le support de l'ACPI (Interface de Configuration Avancée et de gestion de l'Energie) et sur des fonctionnalités de sécurité avancées comme le Contrôle d'Accès Obligatoire (MAC).

    - - &footer; ==== //depot/projects/soc2005/www/freebsd/fr/includes.xsl#3 (text+ko) ==== @@ -232,7 +232,7 @@ ==== //depot/projects/soc2005/www/freebsd/fr/index.xsl#4 (text+ko) ==== @@ -309,7 +309,7 @@ ==== //depot/projects/soc2005/www/freebsd/fr/internet.sgml#3 (text+ko) ==== @@ -17,20 +17,16 @@ &header; -

    FreeBSD a été conçu pour l'Internet

    +

    FreeBSD a été conçu pour l'Internet

    -

    FreeBSD inclus ce que beaucoup considère comme la référence en ce qui concerne l'implémentation du protocole TCP/IP, la pile TCP/IP de 4.4 BSD. Cela fait de FreeBSD le système d'exploitation idéal pour les applications réseaux et Internet.

    -
    - -
    FreeBSD supporte les protocoles - standards TCP/IP. + +

    FreeBSD supporte les protocoles + standards TCP/IP.

    -

    Comme la plupart des systèmes &unix;, FreeBSD vous permet de

    @@ -70,13 +66,10 @@ plus le SLIP et la numérotation PPP "sur demande". C'est un système d'exploitation qui conviendra aussi bien à un particulier désirant un accès performant à Internet qu'à un administrateur réseau en entreprise.

    -
    + +

    Les fonctions réseaux de FreeBSD sont stables et + rapides.

    -
    Les fonctions réseaux de FreeBSD sont stables et - rapides. - -

    Si vous avez besoin d'une plate-forme pour serveur Internet qui soit fiable et qui offre les meilleures performances quelque soit la charge réseau, FreeBSD est fait pour vous. Voici quelques entreprises utilisant FreeBSD quotidiennement :

    @@ -118,13 +111,10 @@

    La collection de ports de FreeBSD contient de nombreux logiciels prêts à l'emploi qui permettent de créer facilement votre propre serveur Internet.

    -
    + +

    Performances élevées et >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Sep 3 12:51:16 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C1E8416A421; Sat, 3 Sep 2005 12:51:15 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 7ECD716A420 for ; Sat, 3 Sep 2005 12:51:15 +0000 (GMT) (envelope-from soc-emily@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1869543D5F for ; Sat, 3 Sep 2005 12:51:07 +0000 (GMT) (envelope-from soc-emily@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j83Cp6C6055165 for ; Sat, 3 Sep 2005 12:51:06 GMT (envelope-from soc-emily@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j83Cp6HN055162 for perforce@freebsd.org; Sat, 3 Sep 2005 12:51:06 GMT (envelope-from soc-emily@freebsd.org) Date: Sat, 3 Sep 2005 12:51:06 GMT Message-Id: <200509031251.j83Cp6HN055162@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-emily@freebsd.org using -f From: soc-emily To: Perforce Change Reviews Cc: Subject: PERFORCE change 83065 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Sep 2005 12:51:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=83065 Change 83065 by soc-emily@soc-emily_beastie on 2005/09/03 12:50:13 CSS fixes. Affected files ... .. //depot/projects/soc2005/www/freebsd/de/includes.xsl#4 edit .. //depot/projects/soc2005/www/freebsd/en/layout/css/fixed_large.css#2 edit .. //depot/projects/soc2005/www/freebsd/en/layout/css/iefixes.css#2 edit .. //depot/projects/soc2005/www/freebsd/en/layout/css/layout.css#4 edit .. //depot/projects/soc2005/www/freebsd/en/layout/css/navigation.css#2 edit .. //depot/projects/soc2005/www/freebsd/es/includes.xsl#4 edit .. //depot/projects/soc2005/www/freebsd/fr/includes.xsl#4 edit .. //depot/projects/soc2005/www/freebsd/it/includes.xsl#5 edit .. //depot/projects/soc2005/www/freebsd/ja/includes.xsl#3 edit .. //depot/projects/soc2005/www/freebsd/ru/includes.xsl#3 edit .. //depot/projects/soc2005/www/freebsd/share/sgml/includes.header.xsl#5 edit Differences ... ==== //depot/projects/soc2005/www/freebsd/de/includes.xsl#4 (text+ko) ==== @@ -84,7 +84,7 @@

    - +  
    ==== //depot/projects/soc2005/www/freebsd/en/layout/css/fixed_large.css#2 (text+ko) ==== @@ -3,11 +3,5 @@ @import url("fixed.css"); body { - font-size: 93%; -} - -/*Win IE fix \*/ -* html #TOPNAVLIST, #topnavlist { height: 1%; margin-bottom: -4px; } -* html #TOPNAVLIST li, #topnavlist li { margin: 0 0.2em 0 -0.8em; } - -/*End Win IE fix*/+ font-size: 93%; +} ==== //depot/projects/soc2005/www/freebsd/en/layout/css/iefixes.css#2 (text+ko) ==== @@ -6,6 +6,14 @@ * html #TOPNAVLIST li, #topnavlist li { margin: 0 0.5em 0 -0.5em; } +* html #languagenavlist li { padding: 0 0.1em 0 0.4em; } +* html #languagenavlist li.last-child { padding: 0 0em 0 0.4em; } + +* html #searchnavlist li { padding: 0 0.4em 0 0.8em; } +* html #searchnavlist li.last-child { padding: 0 0 0 0.8em; } +* html #SEARCHNAVLIST li { padding: 0 0.4em 0 0.8em; } +* html #SEARCHNAVLIST li.last-child { padding: 0 0 0 0.8em; } + * html #SEARCH, #search { height: 1%; } * html #MIRROR, #mirror { height: 1%; } ==== //depot/projects/soc2005/www/freebsd/en/layout/css/layout.css#4 (text+ko) ==== @@ -190,6 +190,7 @@ border: 0px; padding: 0px; margin: 0px; + width: 162px; float: right; } ==== //depot/projects/soc2005/www/freebsd/en/layout/css/navigation.css#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* +/* FreeBSD.org - Navigation (and List) Styles */ @@ -87,13 +87,13 @@ } #LANGUAGENAVLIST li, #languagenavlist li { - padding: 0 0.15em 0 0.4em; + padding: 0 0.5em 0 0.2em; display: inline; border-right: 1px solid #B6B6B6; } #LANGUAGENAVLIST li.last-child, #languagenavlist li.last-child { - padding: 0 0em 0 0.4em; + padding: 0 0em 0 0.2em; border-right: 0; } @@ -124,13 +124,13 @@ } #SEARCHNAVLIST li, #searchnavlist li { - padding: 0 0.3em 0 0.6em; + padding: 0 0.6em 0 0.3em; display: inline; border-right: 1px solid #fff; } #SEARCHNAVLIST li.last-child, #searchnavlist li.last-child { - padding: 0 0 0 0.5em; + padding: 0 0 0 0.3em; border-right: 0; } ==== //depot/projects/soc2005/www/freebsd/es/includes.xsl#4 (text+ko) ==== @@ -77,7 +77,7 @@

    - +  
    ==== //depot/projects/soc2005/www/freebsd/fr/includes.xsl#4 (text+ko) ==== @@ -75,7 +75,7 @@

    - +  
    ==== //depot/projects/soc2005/www/freebsd/it/includes.xsl#5 (text+ko) ==== @@ -68,7 +68,7 @@

    - +  
    ==== //depot/projects/soc2005/www/freebsd/ja/includes.xsl#3 (text+ko) ==== @@ -61,7 +61,7 @@

    - +  
    ==== //depot/projects/soc2005/www/freebsd/ru/includes.xsl#3 (text+ko) ==== @@ -77,7 +77,7 @@

    - +  
    ==== //depot/projects/soc2005/www/freebsd/share/sgml/includes.header.xsl#5 (text+ko) ==== @@ -74,7 +74,7 @@

    - +  
    From owner-p4-projects@FreeBSD.ORG Sat Sep 3 17:16:31 2005 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9826316A421; Sat, 3 Sep 2005 17:16:30 +0000 (GMT) X-Original-To: perforce@freebsd.org 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 68E6316A41F for ; Sat, 3 Sep 2005 17:16:30 +0000 (GMT) (envelope-from soc-emily@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BEA0343D4C for ; Sat, 3 Sep 2005 17:16:29 +0000 (GMT) (envelope-from soc-emily@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j83HGT2X071891 for ; Sat, 3 Sep 2005 17:16:29 GMT (envelope-from soc-emily@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j83HGTSm071888 for perforce@freebsd.org; Sat, 3 Sep 2005 17:16:29 GMT (envelope-from soc-emily@freebsd.org) Date: Sat, 3 Sep 2005 17:16:29 GMT Message-Id: <200509031716.j83HGTSm071888@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-emily@freebsd.org using -f From: soc-emily To: Perforce Change Reviews Cc: Subject: PERFORCE change 83072 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Sep 2005 17:16:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=83072 Change 83072 by soc-emily@soc-emily_beastie on 2005/09/03 17:15:57 Various CSS and layout fixes. Affected files ... .. //depot/projects/soc2005/www/doc/Makefile#1 branch .. //depot/projects/soc2005/www/doc/README#1 branch .. //depot/projects/soc2005/www/doc/bn_BD.ISO10646-1/Makefile#1 branch .. //depot/projects/soc2005/www/doc/bn_BD.ISO10646-1/articles/Makefile#1 branch .. //depot/projects/soc2005/www/doc/bn_BD.ISO10646-1/articles/Makefile.inc#1 branch .. //depot/projects/soc2005/www/doc/bn_BD.ISO10646-1/articles/explaining-bsd/Makefile#1 branch .. //depot/projects/soc2005/www/doc/bn_BD.ISO10646-1/articles/explaining-bsd/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/bn_BD.ISO10646-1/articles/new-users/Makefile#1 branch .. //depot/projects/soc2005/www/doc/bn_BD.ISO10646-1/articles/new-users/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/Makefile#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/articles/Makefile#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/articles/Makefile.inc#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/articles/euro/Makefile#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/articles/euro/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/articles/ipsec-must/Makefile#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/articles/ipsec-must/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/articles/pxe/Makefile#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/articles/pxe/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/articles/pxe/dhcpd.conf#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/articles/pxe/install.cfg#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/articles/pxe/loader.rc#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/articles/pxe/pkgmaker.sh#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/articles/pxe/post#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/articles/pxe/pre#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/share/sgml/authors.ent#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/share/sgml/bookinfo.ent#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/share/sgml/catalog#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/share/sgml/disclaimer.sgml#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/share/sgml/freebsd.dsl#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/share/sgml/l10n.ent#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/share/sgml/legalnotice.sgml#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/share/sgml/license.sgml#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/share/sgml/mailing-lists.ent#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/share/sgml/newsgroups.ent#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/share/sgml/teams.ent#1 branch .. //depot/projects/soc2005/www/doc/da_DK.ISO8859-1/share/sgml/translators.ent#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/Makefile#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/articles/Makefile#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/articles/Makefile.inc#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/articles/contributing/Makefile#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/articles/contributing/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/articles/explaining-bsd/Makefile#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/articles/explaining-bsd/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/articles/laptop/Makefile#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/articles/laptop/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/articles/new-users/Makefile#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/articles/new-users/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/Makefile#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/Makefile.inc#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/faq/Makefile#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/faq/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/fdp-primer/Makefile#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/fdp-primer/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/fdp-primer/chapter.decl#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/fdp-primer/chapters.ent#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/fdp-primer/doc-build/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/fdp-primer/examples/appendix.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/fdp-primer/overview/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/fdp-primer/psgml-mode/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/fdp-primer/see-also/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/fdp-primer/sgml-primer/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/fdp-primer/structure/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/fdp-primer/stylesheets/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/fdp-primer/the-website/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/fdp-primer/tools/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/fdp-primer/translations/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/fdp-primer/writing-style/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/Makefile#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/appendix.decl#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/audit/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/basics/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/bibliography/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/boot/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/chapter.decl#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/chapters.ent#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/colophon.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/config/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/desktop/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/disks/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/eresources/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/firewalls/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/geom/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/install/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/introduction/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/l10n/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/linuxemu/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/mac/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/mail/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/mirrors/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/multimedia/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/network-servers/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/newsgroups.ent#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/pgpkeys/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/preface/preface.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/printing/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/security/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/serialcomms/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/txtfiles.ent#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/users/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/vinum/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/books/handbook/x11/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/flyer/Makefile#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/flyer/flyer.tex#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/share/sgml/articles.ent#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/share/sgml/bibliography.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/share/sgml/bookinfo.ent#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/share/sgml/books.ent#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/share/sgml/catalog#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/share/sgml/freebsd.dsl#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/share/sgml/glossary/freebsd-glossary.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/share/sgml/l10n.ent#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/share/sgml/legalnotice.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/share/sgml/mailing-lists.ent#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/share/sgml/mirrors-local.xsl#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/share/sgml/newsgroups.ent#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/share/sgml/teams.ent#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/share/sgml/trademarks.ent#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/share/sgml/trademarks.sgml#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/share/sgml/translators.ent#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/share/sgml/transtable-local.xsl#1 branch .. //depot/projects/soc2005/www/doc/de_DE.ISO8859-1/share/sgml/transtable.xml#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/Makefile#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/Makefile#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/Makefile.inc#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/cvs-freebsd/Makefile#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/cvs-freebsd/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/dialup-firewall/Makefile#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/dialup-firewall/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/explaining-bsd/Makefile#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/explaining-bsd/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/formatting-media/Makefile#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/formatting-media/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/freebsd-questions/Makefile#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/freebsd-questions/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/java-tomcat/Makefile#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/java-tomcat/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/laptop/Makefile#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/laptop/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/multi-os/Makefile#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/multi-os/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/new-users/Makefile#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/new-users/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/problem-reports/Makefile#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/problem-reports/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/releng-packages/Makefile#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/releng-packages/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/releng-packages/extra.css#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/releng/Makefile#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/releng/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/articles/releng/extra.css#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/share/sgml/articles.ent#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/share/sgml/bookinfo.ent#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/share/sgml/catalog#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/share/sgml/freebsd.dsl#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/share/sgml/glossary/freebsd-glossary.sgml#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/share/sgml/l10n.ent#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/share/sgml/legalnotice.sgml#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/share/sgml/mailing-lists.ent#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/share/sgml/teams.ent#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/share/sgml/trademarks.ent#1 branch .. //depot/projects/soc2005/www/doc/el_GR.ISO8859-7/share/sgml/trademarks.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/5-roadmap/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/5-roadmap/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/5-roadmap/extra.css#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/Makefile.inc#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/casestudy-argentina.com/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/casestudy-argentina.com/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/checkpoint/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/checkpoint/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/committers-guide/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/committers-guide/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/console-server/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/console-server/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/contributing/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/contributing/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/contributors/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/contributors/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/contributors/chapter.decl#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/contributors/contrib.386bsd.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/contributors/contrib.core.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/contributors/contrib.corealumni.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/contributors/contrib.develalumni.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/contributors/contrib.ent#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/contributors/contrib.staff.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/cvs-freebsd/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/cvs-freebsd/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/cvsup-advanced/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/cvsup-advanced/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/dialup-firewall/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/dialup-firewall/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/diskless-x/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/diskless-x/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/euro/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/euro/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/explaining-bsd/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/explaining-bsd/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/fbsd-from-scratch/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/fbsd-from-scratch/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/fbsd-from-scratch/stage_1.conf.default#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/fbsd-from-scratch/stage_1.sh#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/fbsd-from-scratch/stage_2.conf.default#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/fbsd-from-scratch/stage_2.sh#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/fbsd-from-scratch/stage_3.mk#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/filtering-bridges/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/filtering-bridges/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/fonts/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/fonts/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/formatting-media/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/formatting-media/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/freebsd-questions/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/freebsd-questions/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/geom-class/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/geom-class/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/hats/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/hats/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/hubs/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/hubs/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/ipsec-must/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/ipsec-must/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/java-tomcat/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/java-tomcat/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/laptop/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/laptop/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/linux-comparison/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/linux-comparison/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/mailing-list-faq/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/mailing-list-faq/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/mh/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/mh/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/multi-os/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/multi-os/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/new-users/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/new-users/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/pam/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/pam/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/pam/converse.c#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/pam/pam_unix.c#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/pam/su.c#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/portbuild/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/portbuild/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/pr-guidelines/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/pr-guidelines/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/problem-reports/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/problem-reports/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/pxe/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/pxe/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/pxe/dhcpd.conf#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/pxe/install.cfg#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/pxe/loader.rc#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/pxe/pkgmaker.sh#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/pxe/post#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/pxe/pre#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/relaydelay/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/relaydelay/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/releng-packages/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/releng-packages/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/releng-packages/extra.css#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/releng/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/releng/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/releng/extra.css#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/serial-uart/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/serial-uart/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/solid-state/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/solid-state/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/storage-devices/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/storage-devices/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/version-guide/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/version-guide/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/vinum/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/vinum/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/vm-design/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/vm-design/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/zip-drive/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/articles/zip-drive/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/Makefile.inc#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/boot/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/chapters.ent#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/dma/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/introduction/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/ipv6/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/isa/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/jail/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/kerneldebug/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/kerneldebug/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/kobj/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/l10n/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/locking/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/mac.ent#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/mac/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/newbus/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/pccard/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/pci/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/policies/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/policies/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/scsi/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/secure/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/smp/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/sockets/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/sound/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/sysinit/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/tools/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/usb/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/vm/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/arch-handbook/x86/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/bibliography/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/bibliography/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/corp-net-guide/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/corp-net-guide/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/corp-net-guide/freebsd.dsl#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/design-44bsd/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/design-44bsd/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/design-44bsd/freebsd.dsl#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/dev-model/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/dev-model/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/dev-model/chapters.ent#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/developers-handbook/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/developers-handbook/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/developers-handbook/chapters.ent#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/developers-handbook/dma/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/developers-handbook/introduction/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/developers-handbook/ipv6/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/developers-handbook/kerneldebug/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/developers-handbook/kerneldebug/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/developers-handbook/l10n/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/developers-handbook/policies/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/developers-handbook/policies/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/developers-handbook/secure/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/developers-handbook/sockets/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/developers-handbook/testing/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/developers-handbook/tools/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/developers-handbook/x86/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/faq/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/faq/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/fdp-primer/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/fdp-primer/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/fdp-primer/chapter.decl#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/fdp-primer/chapters.ent#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/fdp-primer/doc-build/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/fdp-primer/examples/appendix.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/fdp-primer/overview/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/fdp-primer/psgml-mode/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/fdp-primer/see-also/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/fdp-primer/sgml-primer/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/fdp-primer/structure/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/fdp-primer/stylesheets/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/fdp-primer/the-website/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/fdp-primer/tools/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/fdp-primer/translations/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/fdp-primer/writing-style/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/advanced-networking/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/appendix.decl#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/audit/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/audit/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/basics/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/basics/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/basics/disk-layout.kil#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/basics/example-dir1.dot#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/basics/example-dir2.dot#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/basics/example-dir3.dot#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/basics/example-dir4.dot#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/basics/example-dir5.dot#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/bibliography/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/bibliography/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/boot/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/boot/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/chapter.decl#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/chapters.ent#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/colophon.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/config/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/config/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/cutting-edge/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/desktop/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/desktop/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/disks/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/disks/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/eresources/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/eresources/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/firewalls/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/firewalls/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/geom/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/geom/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/install/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/install/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/install/disk-layout.kil#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/install/example-dir1.dot#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/install/example-dir2.dot#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/install/example-dir3.dot#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/install/example-dir4.dot#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/install/example-dir5.dot#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/introduction/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/introduction/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/kernelconfig/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/l10n/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/l10n/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/linuxemu/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/linuxemu/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/mac/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/mac/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/mail/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/mail/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/mirrors/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/multimedia/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/network-servers/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/network-servers/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/pgpkeys/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/pgpkeys/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/ports/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/ports/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/ppp-and-slip/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/preface/preface.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/printing/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/printing/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/security/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/serialcomms/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/serialcomms/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/txtfiles.ent#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/users/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/users/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/vinum/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/vinum/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/x11/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/handbook/x11/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/pmake/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/pmake/answers/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/pmake/basics/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/pmake/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/pmake/chapters.ent#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/pmake/glossary/glossary.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/pmake/gods/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/pmake/intro/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/pmake/legalnotice.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/pmake/shortcuts/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/porters-handbook/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/books/porters-handbook/freebsd.dsl#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/flyer/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/flyer/flyer.tex#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/share/mk/doc.local.mk#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/share/sgml/authors.ent#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/share/sgml/bookinfo.ent#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/share/sgml/catalog#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/share/sgml/freebsd.dsl#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/share/sgml/glossary/freebsd-glossary.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/share/sgml/l10n.ent#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/share/sgml/legalnotice.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/share/sgml/mailing-lists.ent#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/share/sgml/newsgroups.ent#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/share/sgml/teams.ent#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/share/sgml/trademarks.sgml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/slides/20050513-bsdcan-slides/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/slides/20050513-bsdcan-slides/slides.xml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/slides/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/slides/README#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/slides/common/freebsd-5.3.xml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/slides/common/freebsd-dev-model.xml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/slides/common/freebsd-linux-license.xml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/slides/common/freebsd-organization.xml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/slides/common/freebsd-recent-releases.xml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/slides/common/freebsd-release-process.xml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/slides/common/freebsd-users.xml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/slides/common/what-is-freebsd.xml#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/slides/freebsd-general/Makefile#1 branch .. //depot/projects/soc2005/www/doc/en_US.ISO8859-1/slides/freebsd-general/slides.xml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/FAQ/FAQ.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/FAQ/Makefile#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/FAQ/acknowledgments.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/FAQ/admin.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/FAQ/applications.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/FAQ/commercial.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/FAQ/hackers.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/FAQ/hardware.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/FAQ/includes.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/FAQ/install.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/FAQ/kernelconfig.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/FAQ/misc.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/FAQ/network.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/FAQ/preface.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/FAQ/serial.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/FAQ/troubleshoot.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/FAQ/x.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/Makefile#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/Makefile#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/Makefile.inc#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/contributing/Makefile#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/contributing/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/cvs-freebsd/Makefile#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/cvs-freebsd/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/dialup-firewall/Makefile#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/dialup-firewall/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/euro/Makefile#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/euro/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/explaining-bsd/Makefile#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/explaining-bsd/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/fbsd-from-scratch/Makefile#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/fbsd-from-scratch/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/fbsd-from-scratch/fase_1.sh#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/fbsd-from-scratch/fase_2.sh#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/fbsd-from-scratch/fase_3.mk#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/laptop/Makefile#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/laptop/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/mailing-list-faq/Makefile#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/mailing-list-faq/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/problem-reports/Makefile#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/problem-reports/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/releng/Makefile#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/releng/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/releng/extra.css#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/zip-drive/Makefile#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/articles/zip-drive/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/Makefile#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/Makefile.inc#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/faq/Makefile#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/faq/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/Makefile#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/appendix.decl#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/authors.ent#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/backups/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/basics/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/bibliography/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/boot/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/chapter.decl#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/chapters.ent#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/colophon.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/config/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/contrib/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/disks/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/eresources/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/hw/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/install/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/internals/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/introduction/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/kerneldebug/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/kernelopts/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/l10n/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/linuxemu/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/mail/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/mirrors/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/multimedia/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/newsgroups.ent#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/pgpkeys/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/pgpkeys/pgpkeys.ent#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/policies/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/ports/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/preface/preface.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/printing/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/quotas/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/security/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/serialcomms/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/staff/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/txtfiles.ent#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/users/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/vinum/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/books/handbook/x11/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/flyer/Makefile#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/flyer/flyer.tex#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/share/sgml/authors.ent#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/share/sgml/bookinfo.ent#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/share/sgml/catalog#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/share/sgml/es-mailing-lists.ent#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/share/sgml/freebsd.dsl#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/share/sgml/l10n.ent#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/share/sgml/legalnotice.sgml#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/share/sgml/mailing-lists.ent#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/share/sgml/newsgroups.ent#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/share/sgml/teams.ent#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/share/sgml/trademarks.ent#1 branch .. //depot/projects/soc2005/www/doc/es_ES.ISO8859-1/share/sgml/translators.ent#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/Makefile.inc#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/committers-guide/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/committers-guide/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/contributing/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/contributing/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/contributors/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/contributors/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/cvsup-advanced/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/cvsup-advanced/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/ddwg/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/ddwg/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/dialup-firewall/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/dialup-firewall/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/diskless-x/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/diskless-x/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/euro/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/euro/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/filtering-bridges/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/filtering-bridges/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/fonts/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/fonts/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/formatting-media/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/formatting-media/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/ip-aliasing/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/ip-aliasing/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/ipsec-must/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/ipsec-must/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/java-tomcat/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/java-tomcat/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/laptop/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/laptop/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/make-world/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/make-world/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/mh/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/mh/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/multi-os/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/multi-os/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/new-users/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/new-users/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/ntfs/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/ntfs/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/pam/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/pam/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/pam/converse.c#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/pam/pam_unix.c#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/pam/su.c#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/ppp/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/ppp/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/pr-guidelines/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/pr-guidelines/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/problem-reports/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/problem-reports/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/programming-tools/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/programming-tools/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/pxe/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/pxe/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/pxe/dhcpd.conf#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/pxe/install.cfg#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/pxe/loader.rc#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/pxe/pkgmaker.sh#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/pxe/post#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/pxe/pre#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/releng-packages/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/releng-packages/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/releng-packages/extra.css#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/releng/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/releng/branches.ascii#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/releng/branches.pic#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/releng/extra.css#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/zip-drive/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/articles/zip-drive/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/Makefile.inc#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/developers-handbook/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/developers-handbook/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/developers-handbook/chapters.ent#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/developers-handbook/driverbasics/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/developers-handbook/locking/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/developers-handbook/pci/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/developers-handbook/scsi/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/developers-handbook/secure/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/developers-handbook/tools/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/developers-handbook/usb/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/faq/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/faq/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/fdp-primer/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/fdp-primer/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/fdp-primer/chapters.ent#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/fdp-primer/in-progress.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/fdp-primer/overview/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/fdp-primer/psgml-mode/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/fdp-primer/see-also/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/fdp-primer/sgml-markup/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/fdp-primer/sgml-primer/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/fdp-primer/stylesheets/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/fdp-primer/the-faq/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/fdp-primer/the-handbook/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/fdp-primer/the-website/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/fdp-primer/todo.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/fdp-primer/tools/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/fdp-primer/translations/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/fdp-primer/writing-style/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/advanced-networking/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/advanced-networking/isdn-bus.eps#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/advanced-networking/isdn-twisted-pair.eps#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/advanced-networking/natd.eps#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/advanced-networking/net-routing.pic#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/appendix.decl#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/basics/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/basics/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/bibliography/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/bibliography/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/boot/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/boot/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/chapter.decl#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/chapters.ent#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/colophon.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/config/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/config/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/cutting-edge/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/desktop/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/desktop/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/disks/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/disks/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/eresources/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/eresources/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/install/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/install/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/install/disk-layout.eps#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/install/example-dir1.eps#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/install/example-dir2.eps#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/install/example-dir3.eps#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/install/example-dir4.eps#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/install/example-dir5.eps#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/introduction/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/introduction/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/kernelconfig/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/l10n/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/l10n/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/linuxemu/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/mac/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/mac/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/mail/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/mail/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/mirrors/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/mirrors/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/multimedia/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/multimedia/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/network-servers/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/network-servers/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/pgpkeys/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/pgpkeys/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/ports/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/ports/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/preface/preface.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/printing/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/security/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/serialcomms/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/users/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/users/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/vinum/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/vinum/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/x11/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/handbook/x11/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/porters-handbook/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/porters-handbook/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/porters-handbook/freebsd.dsl#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/ppp-primer/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/books/ppp-primer/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/flyer/Makefile#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/flyer/flyer.tex#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man1/builtin.1#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man1/cat.1#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man1/chkey.1#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man1/echo.1#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man1/head.1#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man1/intro.1#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man4/agp.4#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man4/amd.4#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man4/cardbus.4#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man4/man4.i386/aic.4#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man4/man4.i386/wt.4#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man4/ncr.4#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man4/sd.4#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man4/sn.4#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man4/spic.4#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man4/st.4#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man4/uscanner.4#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man5/intro.5#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man5/publickey.5#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man6/intro.6#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man7/ascii.7#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/man/man7/intro.7#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/abstract.ent#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/artheader.ent#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/authors.ent#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/bookinfo.ent#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/catalog#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/copyright.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/disclaimer.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/freebsd.dsl#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/glossary/freebsd-glossary.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/l10n.ent#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/legalnotice.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/license.sgml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/mailing-lists.ent#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/mirrors-local.xsl#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/newsgroups.ent#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/teams.ent#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/trademarks.ent#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/translators.ent#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/transtable-local.xsl#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/transtable.xml#1 branch .. //depot/projects/soc2005/www/doc/fr_FR.ISO8859-1/share/sgml/urls.ent#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/articles/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/articles/Makefile.inc#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/articles/committers-guide/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/articles/committers-guide/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/articles/euro/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/articles/euro/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/articles/explaining-bsd/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/articles/explaining-bsd/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/articles/filtering-bridges/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/articles/filtering-bridges/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/articles/multi-os/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/articles/multi-os/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/articles/new-users/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/articles/new-users/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/articles/vm-design/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/articles/vm-design/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/Makefile.inc#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/advanced-networking/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/advanced-networking/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/appendix.decl#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/audit/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/audit/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/basics/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/basics/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/bibliography/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/bibliography/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/boot/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/boot/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/chapter.decl#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/chapters.ent#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/colophon.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/config/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/config/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/cutting-edge/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/cutting-edge/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/desktop/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/desktop/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/disks/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/disks/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/eresources/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/eresources/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/firewalls/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/firewalls/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/geom/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/geom/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/install/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/install/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/introduction/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/introduction/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/kernelconfig/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/kernelconfig/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/l10n/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/l10n/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/linuxemu/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/linuxemu/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/mac/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/mac/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/mail/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/mail/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/mirrors/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/mirrors/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/multimedia/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/multimedia/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/network-servers/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/network-servers/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/pgpkeys/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/pgpkeys/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/ports/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/ports/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/ppp-and-slip/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/ppp-and-slip/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/preface/preface.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/printing/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/printing/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/security/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/security/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/serialcomms/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/serialcomms/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/txtfiles.ent#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/users/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/users/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/vinum/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/vinum/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/x11/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/handbook/x11/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/unix-introduction/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/unix-introduction/bibliography/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/unix-introduction/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/unix-introduction/chapters.ent#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/unix-introduction/command-summary/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/unix-introduction/commands/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/unix-introduction/editors/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/unix-introduction/getting-started/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/unix-introduction/glossary/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/unix-introduction/history/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/unix-introduction/preface/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/unix-introduction/shell-programming/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/unix-introduction/shells/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/unix-introduction/special-features/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/unix-introduction/structure/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/unix-introduction/system-resource/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/books/unix-introduction/text-processing/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/flyer/Makefile#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/flyer/flyer.tex#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/share/sgml/articles.ent#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/share/sgml/bookinfo.ent#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/share/sgml/books.ent#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/share/sgml/catalog#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/share/sgml/freebsd.dsl#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/share/sgml/glossary/freebsd-glossary.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/share/sgml/l10n.ent#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/share/sgml/legalnotice.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/share/sgml/mailing-lists.ent#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/share/sgml/mirrors-local.xsl#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/share/sgml/trademarks.ent#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/share/sgml/trademarks.sgml#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/share/sgml/translators.ent#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/share/sgml/transtable-local.xsl#1 branch .. //depot/projects/soc2005/www/doc/it_IT.ISO8859-15/share/sgml/transtable.xml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/Makefile#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/Makefile#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/Makefile.inc#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/contributing/Makefile#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/contributing/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/contributors/Makefile#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/contributors/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/dialup-firewall/Makefile#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/dialup-firewall/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/diskless-x/Makefile#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/diskless-x/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/fbsd-from-scratch/Makefile#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/fbsd-from-scratch/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/fbsd-from-scratch/stage_1.sh#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/fbsd-from-scratch/stage_2.sh#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/fbsd-from-scratch/stage_3.mk#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/fonts/Makefile#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/fonts/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/ipsec-must/Makefile#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/ipsec-must/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/multi-os/Makefile#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/multi-os/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/problem-reports/Makefile#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/problem-reports/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/zip-drive/Makefile#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/articles/zip-drive/article.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/Makefile#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/Makefile.inc#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/design-44bsd/Makefile#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/design-44bsd/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/design-44bsd/fig1.eps#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/design-44bsd/fig2.eps#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/design-44bsd/freebsd.dsl#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/faq/Makefile#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/faq/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/fdp-primer/Makefile#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/fdp-primer/book.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/fdp-primer/chapter.decl#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/fdp-primer/chapters.ent#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/fdp-primer/examples/appendix.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/fdp-primer/overview/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/fdp-primer/psgml-mode/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/fdp-primer/see-also/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/fdp-primer/structure/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/fdp-primer/stylesheets/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/fdp-primer/the-website/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/fdp-primer/tools/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/fdp-primer/translations/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/fdp-primer/writing-style/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/handbook/Makefile#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/handbook/advanced-networking/Makefile#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/handbook/advanced-networking/chapter.sgml#1 branch .. //depot/projects/soc2005/www/doc/ja_JP.eucJP/books/handbook/advanced-networking/isdn-bus.eps#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<<